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