xref: /freebsd/include/rpc/svc_soc.h (revision 8360efbd6c932013ffdb2f83d2f2de4278febb5e)
18360efbdSAlfred Perlstein /*	$NetBSD: svc_soc.h,v 1.1 2000/06/02 22:57:57 fvdl Exp $	*/
28360efbdSAlfred Perlstein /*	$FreeBSD$ */
38360efbdSAlfred Perlstein 
48360efbdSAlfred Perlstein /*
58360efbdSAlfred Perlstein  * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
68360efbdSAlfred Perlstein  * unrestricted use provided that this legend is included on all tape
78360efbdSAlfred Perlstein  * media and as a part of the software program in whole or part.  Users
88360efbdSAlfred Perlstein  * may copy or modify Sun RPC without charge, but are not authorized
98360efbdSAlfred Perlstein  * to license or distribute it to anyone else except as part of a product or
108360efbdSAlfred Perlstein  * program developed by the user.
118360efbdSAlfred Perlstein  *
128360efbdSAlfred Perlstein  * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
138360efbdSAlfred Perlstein  * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
148360efbdSAlfred Perlstein  * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
158360efbdSAlfred Perlstein  *
168360efbdSAlfred Perlstein  * Sun RPC is provided with no support and without any obligation on the
178360efbdSAlfred Perlstein  * part of Sun Microsystems, Inc. to assist in its use, correction,
188360efbdSAlfred Perlstein  * modification or enhancement.
198360efbdSAlfred Perlstein  *
208360efbdSAlfred Perlstein  * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
218360efbdSAlfred Perlstein  * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
228360efbdSAlfred Perlstein  * OR ANY PART THEREOF.
238360efbdSAlfred Perlstein  *
248360efbdSAlfred Perlstein  * In no event will Sun Microsystems, Inc. be liable for any lost revenue
258360efbdSAlfred Perlstein  * or profits or other special, indirect and consequential damages, even if
268360efbdSAlfred Perlstein  * Sun has been advised of the possibility of such damages.
278360efbdSAlfred Perlstein  *
288360efbdSAlfred Perlstein  * Sun Microsystems, Inc.
298360efbdSAlfred Perlstein  * 2550 Garcia Avenue
308360efbdSAlfred Perlstein  * Mountain View, California  94043
318360efbdSAlfred Perlstein  */
328360efbdSAlfred Perlstein /*
338360efbdSAlfred Perlstein  * Copyright (c) 1986 - 1991 by Sun Microsystems, Inc.
348360efbdSAlfred Perlstein  */
358360efbdSAlfred Perlstein 
368360efbdSAlfred Perlstein /*
378360efbdSAlfred Perlstein  * svc.h, Server-side remote procedure call interface.
388360efbdSAlfred Perlstein  */
398360efbdSAlfred Perlstein 
408360efbdSAlfred Perlstein #ifndef _RPC_SVC_SOC_H
418360efbdSAlfred Perlstein #define _RPC_SVC_SOC_H
428360efbdSAlfred Perlstein #include <sys/cdefs.h>
438360efbdSAlfred Perlstein 
448360efbdSAlfred Perlstein /* #pragma ident   "@(#)svc_soc.h  1.11    94/04/25 SMI" */
458360efbdSAlfred Perlstein /*      svc_soc.h 1.8 89/05/01 SMI      */
468360efbdSAlfred Perlstein 
478360efbdSAlfred Perlstein /*
488360efbdSAlfred Perlstein  * All the following declarations are only for backward compatibility
498360efbdSAlfred Perlstein  * with TS-RPC
508360efbdSAlfred Perlstein  */
518360efbdSAlfred Perlstein 
528360efbdSAlfred Perlstein /*
538360efbdSAlfred Perlstein  *  Approved way of getting address of caller
548360efbdSAlfred Perlstein  */
558360efbdSAlfred Perlstein #define svc_getcaller(x) (&(x)->xp_raddr)
568360efbdSAlfred Perlstein 
578360efbdSAlfred Perlstein /*
588360efbdSAlfred Perlstein  * Service registration
598360efbdSAlfred Perlstein  *
608360efbdSAlfred Perlstein  * svc_register(xprt, prog, vers, dispatch, protocol)
618360efbdSAlfred Perlstein  *	SVCXPRT *xprt;
628360efbdSAlfred Perlstein  *	u_long prog;
638360efbdSAlfred Perlstein  *	u_long vers;
648360efbdSAlfred Perlstein  *	void (*dispatch)();
658360efbdSAlfred Perlstein  *	int protocol;    like TCP or UDP, zero means do not register
668360efbdSAlfred Perlstein  */
678360efbdSAlfred Perlstein __BEGIN_DECLS
688360efbdSAlfred Perlstein extern bool_t	svc_register __P((SVCXPRT *, u_long, u_long,
698360efbdSAlfred Perlstein 		    void (*) __P((struct svc_req *, SVCXPRT *)), int));
708360efbdSAlfred Perlstein __END_DECLS
718360efbdSAlfred Perlstein 
728360efbdSAlfred Perlstein /*
738360efbdSAlfred Perlstein  * Service un-registration
748360efbdSAlfred Perlstein  *
758360efbdSAlfred Perlstein  * svc_unregister(prog, vers)
768360efbdSAlfred Perlstein  *	u_long prog;
778360efbdSAlfred Perlstein  *	u_long vers;
788360efbdSAlfred Perlstein  */
798360efbdSAlfred Perlstein __BEGIN_DECLS
808360efbdSAlfred Perlstein extern void	svc_unregister __P((u_long, u_long));
818360efbdSAlfred Perlstein __END_DECLS
828360efbdSAlfred Perlstein 
838360efbdSAlfred Perlstein 
848360efbdSAlfred Perlstein /*
858360efbdSAlfred Perlstein  * Memory based rpc for testing and timing.
868360efbdSAlfred Perlstein  */
878360efbdSAlfred Perlstein __BEGIN_DECLS
888360efbdSAlfred Perlstein extern SVCXPRT *svcraw_create __P((void));
898360efbdSAlfred Perlstein __END_DECLS
908360efbdSAlfred Perlstein 
918360efbdSAlfred Perlstein 
928360efbdSAlfred Perlstein /*
938360efbdSAlfred Perlstein  * Udp based rpc.
948360efbdSAlfred Perlstein  */
958360efbdSAlfred Perlstein __BEGIN_DECLS
968360efbdSAlfred Perlstein extern SVCXPRT *svcudp_create __P((int));
978360efbdSAlfred Perlstein extern SVCXPRT *svcudp_bufcreate __P((int, u_int, u_int));
988360efbdSAlfred Perlstein extern int svcudp_enablecache __P((SVCXPRT *, u_long));
998360efbdSAlfred Perlstein __END_DECLS
1008360efbdSAlfred Perlstein 
1018360efbdSAlfred Perlstein 
1028360efbdSAlfred Perlstein /*
1038360efbdSAlfred Perlstein  * Tcp based rpc.
1048360efbdSAlfred Perlstein  */
1058360efbdSAlfred Perlstein __BEGIN_DECLS
1068360efbdSAlfred Perlstein extern SVCXPRT *svctcp_create __P((int, u_int, u_int));
1078360efbdSAlfred Perlstein __END_DECLS
1088360efbdSAlfred Perlstein 
1098360efbdSAlfred Perlstein /*
1108360efbdSAlfred Perlstein  * Fd based rpc.
1118360efbdSAlfred Perlstein  */
1128360efbdSAlfred Perlstein __BEGIN_DECLS
1138360efbdSAlfred Perlstein extern SVCXPRT *svcfd_create __P((int, u_int, u_int));
1148360efbdSAlfred Perlstein __END_DECLS
1158360efbdSAlfred Perlstein 
1168360efbdSAlfred Perlstein #endif /* !_RPC_SVC_SOC_H */
117