Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 10:01:04

0001 /* @(#)rpc.h    2.3 88/08/10 4.0 RPCSRC; from 1.9 88/02/08 SMI */
0002 /*
0003  * Copyright (c) 2010, Oracle America, Inc.
0004  *
0005  * All rights reserved.
0006  *
0007  * Redistribution and use in source and binary forms, with or without
0008  * modification, are permitted provided that the following conditions are met:
0009  *
0010  *     * Redistributions of source code must retain the above copyright
0011  *       notice, this list of conditions and the following disclaimer.
0012  *
0013  *     * Redistributions in binary form must reproduce the above copyright
0014  *       notice, this list of conditions and the following disclaimer in
0015  *       the documentation and/or other materials provided with the
0016  *       distribution.
0017  *
0018  *     * Neither the name of the "Oracle America, Inc." nor the names of
0019  *       its contributors may be used to endorse or promote products
0020  *       derived from this software without specific prior written permission.
0021  *
0022  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
0023  * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
0024  * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
0025  * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
0026  * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
0027  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
0028  * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
0029  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
0030  * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
0031  * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
0032  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
0033  */
0034 
0035 /*
0036  * rpc.h, Just includes the billions of rpc header files necessary to
0037  * do remote procedure calling.
0038  */
0039 #ifndef GSSRPC_RPC_H
0040 #define GSSRPC_RPC_H
0041 
0042 #include <gssrpc/types.h>       /* some typedefs */
0043 #include <netinet/in.h>
0044 
0045 /* external data representation interfaces */
0046 #include <gssrpc/xdr.h>     /* generic (de)serializer */
0047 
0048 /* Client side only authentication */
0049 #include <gssrpc/auth.h>        /* generic authenticator (client side) */
0050 
0051 /* Client side (mostly) remote procedure call */
0052 #include <gssrpc/clnt.h>        /* generic rpc stuff */
0053 
0054 /* semi-private protocol headers */
0055 #include <gssrpc/rpc_msg.h> /* protocol for rpc messages */
0056 #include <gssrpc/auth_unix.h>   /* protocol for unix style cred */
0057 #include <gssrpc/auth_gss.h>    /* RPCSEC_GSS */
0058 
0059 /* Server side only remote procedure callee */
0060 #include <gssrpc/svc_auth.h>    /* service side authenticator */
0061 #include <gssrpc/svc.h>     /* service manager and multiplexer */
0062 
0063 /*
0064  * get the local host's IP address without consulting
0065  * name service library functions
0066  */
0067 GSSRPC__BEGIN_DECLS
0068 extern int get_myaddress(struct sockaddr_in *);
0069 extern int bindresvport(int, struct sockaddr_in *);
0070 extern int bindresvport_sa(int, struct sockaddr *);
0071 extern int callrpc(char *, rpcprog_t, rpcvers_t, rpcproc_t, xdrproc_t,
0072            char *, xdrproc_t , char *);
0073 extern int getrpcport(char *, rpcprog_t, rpcvers_t, rpcprot_t);
0074 extern int gssrpc__rpc_dtablesize(void);
0075 GSSRPC__END_DECLS
0076 
0077 #endif /* !defined(GSSRPC_RPC_H) */