rpc.h revision 1.9
11.9Sperry/* $NetBSD: rpc.h,v 1.9 1998/02/10 00:44:41 perry Exp $ */ 21.4Scgd 31.1Sderaadt/* 41.1Sderaadt * Sun RPC is a product of Sun Microsystems, Inc. and is provided for 51.1Sderaadt * unrestricted use provided that this legend is included on all tape 61.1Sderaadt * media and as a part of the software program in whole or part. Users 71.1Sderaadt * may copy or modify Sun RPC without charge, but are not authorized 81.1Sderaadt * to license or distribute it to anyone else except as part of a product or 91.1Sderaadt * program developed by the user. 101.1Sderaadt * 111.1Sderaadt * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE 121.1Sderaadt * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR 131.1Sderaadt * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. 141.1Sderaadt * 151.1Sderaadt * Sun RPC is provided with no support and without any obligation on the 161.1Sderaadt * part of Sun Microsystems, Inc. to assist in its use, correction, 171.1Sderaadt * modification or enhancement. 181.1Sderaadt * 191.1Sderaadt * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE 201.1Sderaadt * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC 211.1Sderaadt * OR ANY PART THEREOF. 221.1Sderaadt * 231.1Sderaadt * In no event will Sun Microsystems, Inc. be liable for any lost revenue 241.1Sderaadt * or profits or other special, indirect and consequential damages, even if 251.1Sderaadt * Sun has been advised of the possibility of such damages. 261.1Sderaadt * 271.1Sderaadt * Sun Microsystems, Inc. 281.1Sderaadt * 2550 Garcia Avenue 291.1Sderaadt * Mountain View, California 94043 301.3Smycroft * 311.3Smycroft * from: @(#)rpc.h 1.9 88/02/08 SMI 321.4Scgd * @(#)rpc.h 2.4 89/07/11 4.0 RPCSRC 331.1Sderaadt */ 341.1Sderaadt 351.1Sderaadt/* 361.1Sderaadt * rpc.h, Just includes the billions of rpc header files necessary to 371.1Sderaadt * do remote procedure calling. 381.1Sderaadt * 391.1Sderaadt * Copyright (C) 1984, Sun Microsystems, Inc. 401.1Sderaadt */ 411.9Sperry#ifndef _RPC_RPC_H_ 421.9Sperry#define _RPC_RPC_H_ 431.1Sderaadt 441.1Sderaadt#include <rpc/types.h> /* some typedefs */ 451.1Sderaadt#include <netinet/in.h> 461.1Sderaadt 471.1Sderaadt/* external data representation interfaces */ 481.1Sderaadt#include <rpc/xdr.h> /* generic (de)serializer */ 491.1Sderaadt 501.1Sderaadt/* Client side only authentication */ 511.1Sderaadt#include <rpc/auth.h> /* generic authenticator (client side) */ 521.1Sderaadt 531.1Sderaadt/* Client side (mostly) remote procedure call */ 541.1Sderaadt#include <rpc/clnt.h> /* generic rpc stuff */ 551.1Sderaadt 561.1Sderaadt/* semi-private protocol headers */ 571.1Sderaadt#include <rpc/rpc_msg.h> /* protocol for rpc messages */ 581.1Sderaadt#include <rpc/auth_unix.h> /* protocol for unix style cred */ 591.1Sderaadt/* 601.1Sderaadt * Uncomment-out the next line if you are building the rpc library with 611.1Sderaadt * DES Authentication (see the README file in the secure_rpc/ directory). 621.1Sderaadt */ 631.5Scgd#ifdef notdef 641.5Scgd#include <rpc/auth_des.h> /* protocol for des style cred */ 651.5Scgd#endif 661.1Sderaadt 671.1Sderaadt/* Server side only remote procedure callee */ 681.1Sderaadt#include <rpc/svc.h> /* service manager and multiplexer */ 691.1Sderaadt#include <rpc/svc_auth.h> /* service side authenticator */ 701.7Slukem 711.7Slukem/* Portmapper client, server, and protocol headers */ 721.7Slukem#include <rpc/pmap_clnt.h> 731.7Slukem#include <rpc/pmap_prot.h> 741.1Sderaadt 751.1Sderaadt/* 761.1Sderaadt * COMMENT OUT THE NEXT INCLUDE (or add to the #ifndef) IF RUNNING ON 771.1Sderaadt * A VERSION OF UNIX THAT USES SUN'S NFS SOURCE. These systems will 781.1Sderaadt * already have the structures defined by <rpc/netdb.h> included in <netdb.h>. 791.1Sderaadt */ 801.1Sderaadt/* routines for parsing /etc/rpc */ 811.1Sderaadt 821.1Sderaadtstruct rpcent { 831.1Sderaadt char *r_name; /* name of server for this rpc program */ 841.1Sderaadt char **r_aliases; /* alias list */ 851.1Sderaadt int r_number; /* rpc program number */ 861.1Sderaadt}; 871.1Sderaadt 881.2Sbrezak__BEGIN_DECLS 891.2Sbrezakextern struct rpcent *getrpcbyname __P((char *)); 901.2Sbrezakextern struct rpcent *getrpcbynumber __P((int)); 911.2Sbrezakextern struct rpcent *getrpcent __P((void)); 921.2Sbrezakextern void setrpcent __P((int)); 931.2Sbrezakextern void endrpcent __P((void)); 941.6Schristosextern int get_myaddress __P((struct sockaddr_in *)); 951.6Schristosextern int bindresvport __P((int, struct sockaddr_in *)); 961.6Schristosextern int registerrpc __P((int, int, int, char *(*) __P((char [UDPMSGSIZE])), 971.6Schristos xdrproc_t, xdrproc_t)); 981.6Schristosextern int callrpc __P((char *, int, int, int, xdrproc_t, char *, 991.6Schristos xdrproc_t , char *)); 1001.6Schristosextern int getrpcport __P((char *, int, int, int)); 1011.2Sbrezak__END_DECLS 1021.1Sderaadt 1031.9Sperry#endif /* !_RPC_RPC_H_ */ 104