| 1 | /*	$NetBSD: svc_soc.h,v 1.4 2016/01/23 02:34:09 dholland Exp $	*/ | 
| 2 |  | 
| 3 | /* | 
| 4 |  * Sun RPC is a product of Sun Microsystems, Inc. and is provided for | 
| 5 |  * unrestricted use provided that this legend is included on all tape | 
| 6 |  * media and as a part of the software program in whole or part.  Users | 
| 7 |  * may copy or modify Sun RPC without charge, but are not authorized | 
| 8 |  * to license or distribute it to anyone else except as part of a product or | 
| 9 |  * program developed by the user. | 
| 10 |  *  | 
| 11 |  * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE | 
| 12 |  * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR | 
| 13 |  * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. | 
| 14 |  *  | 
| 15 |  * Sun RPC is provided with no support and without any obligation on the | 
| 16 |  * part of Sun Microsystems, Inc. to assist in its use, correction, | 
| 17 |  * modification or enhancement. | 
| 18 |  *  | 
| 19 |  * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE | 
| 20 |  * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC | 
| 21 |  * OR ANY PART THEREOF. | 
| 22 |  *  | 
| 23 |  * In no event will Sun Microsystems, Inc. be liable for any lost revenue | 
| 24 |  * or profits or other special, indirect and consequential damages, even if | 
| 25 |  * Sun has been advised of the possibility of such damages. | 
| 26 |  *  | 
| 27 |  * Sun Microsystems, Inc. | 
| 28 |  * 2550 Garcia Avenue | 
| 29 |  * Mountain View, California  94043 | 
| 30 |  */ | 
| 31 | /* | 
| 32 |  * Copyright (c) 1986 - 1991 by Sun Microsystems, Inc. | 
| 33 |  */ | 
| 34 |  | 
| 35 | /* | 
| 36 |  * svc.h, Server-side remote procedure call interface. | 
| 37 |  */ | 
| 38 |  | 
| 39 | #ifndef _RPC_SVC_SOC_H | 
| 40 | #define _RPC_SVC_SOC_H | 
| 41 | #include <sys/cdefs.h> | 
| 42 |  | 
| 43 | /* #pragma ident   "@(#)svc_soc.h  1.11    94/04/25 SMI" */ | 
| 44 | /*      svc_soc.h 1.8 89/05/01 SMI      */ | 
| 45 |  | 
| 46 | /* | 
| 47 |  * All the following declarations are only for backward compatibility | 
| 48 |  * with TS-RPC | 
| 49 |  */ | 
| 50 |  | 
| 51 | /* | 
| 52 |  *  Approved way of getting address of caller | 
| 53 |  */ | 
| 54 | #define svc_getcaller(x) (&(x)->xp_raddr) | 
| 55 |  | 
| 56 | /* | 
| 57 |  * Service registration | 
| 58 |  * | 
| 59 |  * svc_register(xprt, prog, vers, dispatch, protocol) | 
| 60 |  *	SVCXPRT *xprt; | 
| 61 |  *	unsigned long prog; | 
| 62 |  *	unsigned long vers; | 
| 63 |  *	void (*dispatch)(); | 
| 64 |  *	int protocol;    like TCP or UDP, zero means do not register  | 
| 65 |  */ | 
| 66 | __BEGIN_DECLS | 
| 67 | extern bool_t	svc_register(SVCXPRT *, unsigned long, unsigned long, | 
| 68 | 		    void (*)(struct svc_req *, SVCXPRT *), int); | 
| 69 | __END_DECLS | 
| 70 |  | 
| 71 | /* | 
| 72 |  * Service un-registration | 
| 73 |  * | 
| 74 |  * svc_unregister(prog, vers) | 
| 75 |  *	unsigned long prog; | 
| 76 |  *	unsigned long vers; | 
| 77 |  */ | 
| 78 | __BEGIN_DECLS | 
| 79 | extern void	svc_unregister(unsigned long, unsigned long); | 
| 80 | __END_DECLS | 
| 81 |  | 
| 82 |  | 
| 83 | /* | 
| 84 |  * Memory based rpc for testing and timing. | 
| 85 |  */ | 
| 86 | __BEGIN_DECLS | 
| 87 | extern SVCXPRT *svcraw_create(void); | 
| 88 | __END_DECLS | 
| 89 |  | 
| 90 |  | 
| 91 | /* | 
| 92 |  * Udp based rpc. | 
| 93 |  */ | 
| 94 | __BEGIN_DECLS | 
| 95 | extern SVCXPRT *svcudp_create(int); | 
| 96 | extern SVCXPRT *svcudp_bufcreate(int, unsigned int, unsigned int); | 
| 97 | extern int svcudp_enablecache(SVCXPRT *, unsigned long); | 
| 98 | __END_DECLS | 
| 99 |  | 
| 100 |  | 
| 101 | /* | 
| 102 |  * Tcp based rpc. | 
| 103 |  */ | 
| 104 | __BEGIN_DECLS | 
| 105 | extern SVCXPRT *svctcp_create(int, unsigned int, unsigned int); | 
| 106 | __END_DECLS | 
| 107 |  | 
| 108 | /* | 
| 109 |  * Fd based rpc. | 
| 110 |  */ | 
| 111 | __BEGIN_DECLS | 
| 112 | extern SVCXPRT *svcfd_create(int, unsigned int, unsigned int); | 
| 113 | __END_DECLS | 
| 114 |  | 
| 115 | #endif /* !_RPC_SVC_SOC_H */ | 
| 116 |  |