Main Page | Modules | Class List | Directories | File List | Class Members | File Members | Related Pages

rpc.h

Go to the documentation of this file.
00001 /*  $Id$ */
00002 /*      $OpenBSD: rpc.h,v 1.7 1998/12/20 23:43:18 millert Exp $ */
00003 /*      $NetBSD: rpc.h,v 1.5 1994/12/04 01:15:30 cgd Exp $      */
00004 
00005 /*
00006  * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
00007  * unrestricted use provided that this legend is included on all tape
00008  * media and as a part of the software program in whole or part.  Users
00009  * may copy or modify Sun RPC without charge, but are not authorized
00010  * to license or distribute it to anyone else except as part of a product or
00011  * program developed by the user.
00012  * 
00013  * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
00014  * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
00015  * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
00016  * 
00017  * Sun RPC is provided with no support and without any obligation on the
00018  * part of Sun Microsystems, Inc. to assist in its use, correction,
00019  * modification or enhancement.
00020  *
00021  * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
00022  * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
00023  * OR ANY PART THEREOF.
00024  *
00025  * In no event will Sun Microsystems, Inc. be liable for any lost revenue
00026  * or profits or other special, indirect and consequential damages, even if
00027  * Sun has been advised of the possibility of such damages.
00028  *
00029  * Sun Microsystems, Inc.
00030  * 2550 Garcia Avenue
00031  * Mountain View, California  94043
00032  *
00033  *      from: @(#)rpc.h 1.9 88/02/08 SMI 
00034  *      @(#)rpc.h       2.4 89/07/11 4.0 RPCSRC
00035  */
00036 
00037 /*
00038  * rpc.h, Just includes the billions of rpc header files necessary to
00039  * do remote procedure calling.
00040  *
00041  * Copyright (C) 1984, Sun Microsystems, Inc.
00042  */
00043 #ifndef _RPC_RPC_H
00044 #define _RPC_RPC_H
00045 
00046 #include <rpc/types.h>          /* some typedefs */
00047 /* #include <netinet/in.h> */
00048 
00049 /* external data representation interfaces */
00050 #include <rpc/xdr.h>            /* generic (de)serializer */
00051 
00052 /* Client side only authentication */
00053 #include <rpc/auth.h>           /* generic authenticator (client side) */
00054 
00055 /* Client side (mostly) remote procedure call */
00056 #include <rpc/clnt.h>           /* generic rpc stuff */
00057 
00058 /* Client side (mostly) pmap functions */
00059 #include <rpc/pmap_clnt.h>      /* generic pmap stuff */
00060 
00061 /* semi-private protocol headers */
00062 #include <rpc/rpc_msg.h>        /* protocol for rpc messages */
00063 #include <rpc/auth_unix.h>      /* protocol for unix style cred */
00064 /*
00065  *  Uncomment-out the next line if you are building the rpc library with    
00066  *  DES Authentication (see the README file in the secure_rpc/ directory).
00067  */
00068 #ifdef notdef
00069 #include <rpc/auth_des.h>       /* protocol for des style cred */
00070 #endif
00071 
00072 /* Server side only remote procedure callee */
00073 #include <rpc/svc.h>            /* service manager and multiplexer */
00074 #include <rpc/svc_auth.h>       /* service side authenticator */
00075 
00076 /*
00077  * COMMENT OUT THE NEXT INCLUDE (or add to the #ifndef) IF RUNNING ON
00078  * A VERSION OF UNIX THAT USES SUN'S NFS SOURCE.  These systems will
00079  * already have the structures defined by <rpc/netdb.h> included in <netdb.h>.
00080  */
00081 /* routines for parsing /etc/rpc */
00082 
00083 struct rpcent {
00084       char    *r_name;        /* name of server for this rpc program */
00085       char    **r_aliases;    /* alias list */
00086       int     r_number;       /* rpc program number */
00087 };
00088 
00089 __BEGIN_DECLS
00090 extern struct rpcent *getrpcbyname      __P((char *));
00091 extern struct rpcent *getrpcbynumber    __P((int));
00092 extern struct rpcent *getrpcent         __P((void));
00093 extern void setrpcent __P((int));
00094 extern void endrpcent __P((void));
00095 
00096 extern int get_myaddress __P((struct sockaddr_in *));
00097 extern int registerrpc __P((int, int, int, char *(*) __P((char [UDPMSGSIZE])),
00098         xdrproc_t, xdrproc_t));
00099 extern int callrpc __P((char *, int, int, int, xdrproc_t, char *,
00100         xdrproc_t , char *));
00101 extern int getrpcport __P((char *, int, int, int));
00102 
00103 extern bool_t xdr_opaque_auth __P((XDR *, struct opaque_auth *));
00104 __END_DECLS
00105 
00106 #endif /* !_RPC_RPC_H */

Generated on Sun May 14 14:51:20 2006 by  doxygen 1.4.2