rpc.h revision 1.14
11.14Sperry/* $NetBSD: rpc.h,v 1.14 2005/02/03 04:39:32 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.13Sfvdl#include <rpc/rpcb_clnt.h> /* rpcbind interface functions */ 761.1Sderaadt 771.13Sfvdl#include <rpc/rpcent.h> 781.1Sderaadt 791.2Sbrezak__BEGIN_DECLS 801.14Sperryextern int get_myaddress(struct sockaddr_in *); 811.14Sperryextern int bindresvport(int, struct sockaddr_in *); 821.14Sperryextern int registerrpc(int, int, int, char *(*)(char [UDPMSGSIZE]), 831.14Sperry xdrproc_t, xdrproc_t); 841.14Sperryextern int callrpc(char *, int, int, int, xdrproc_t, char *, 851.14Sperry xdrproc_t , char *); 861.14Sperryextern int getrpcport(char *, int, int, int); 871.12Sitojun 881.14Sperrychar *taddr2uaddr(const struct netconfig *, const struct netbuf *); 891.14Sperrystruct netbuf *uaddr2taddr(const struct netconfig *, const char *); 901.13Sfvdl 911.12Sitojunstruct sockaddr; 921.14Sperryextern int bindresvport_sa(int, struct sockaddr *); 931.13Sfvdl__END_DECLS 941.13Sfvdl 951.13Sfvdl/* 961.13Sfvdl * The following are not exported interfaces, they are for internal library 971.13Sfvdl * and rpcbind use only. Do not use, they may change without notice. 981.13Sfvdl */ 991.13Sfvdl__BEGIN_DECLS 1001.14Sperryint __rpc_nconf2fd(const struct netconfig *); 1011.14Sperryint __rpc_nconf2sockinfo(const struct netconfig *, 1021.14Sperry struct __rpc_sockinfo *); 1031.14Sperryint __rpc_fd2sockinfo(int, struct __rpc_sockinfo *); 1041.14Sperryu_int __rpc_get_t_size(int, int, int); 1051.2Sbrezak__END_DECLS 1061.1Sderaadt 1071.9Sperry#endif /* !_RPC_RPC_H_ */ 108