diff options
Diffstat (limited to 'include/rpc')
-rw-r--r-- | include/rpc/auth.h | 61 | ||||
-rw-r--r-- | include/rpc/auth_des.h | 33 | ||||
-rw-r--r-- | include/rpc/auth_unix.h | 4 | ||||
-rw-r--r-- | include/rpc/clnt.h | 84 | ||||
-rw-r--r-- | include/rpc/des_crypt.h | 24 | ||||
-rw-r--r-- | include/rpc/netdb.h | 26 | ||||
-rw-r--r-- | include/rpc/pmap_clnt.h | 50 | ||||
-rw-r--r-- | include/rpc/pmap_prot.h | 4 | ||||
-rw-r--r-- | include/rpc/pmap_rmt.h | 5 | ||||
-rw-r--r-- | include/rpc/rpc.h | 31 | ||||
-rw-r--r-- | include/rpc/rpc_msg.h | 10 | ||||
-rw-r--r-- | include/rpc/svc.h | 111 | ||||
-rw-r--r-- | include/rpc/svc_auth.h | 4 | ||||
-rw-r--r-- | include/rpc/types.h | 26 | ||||
-rw-r--r-- | include/rpc/xdr.h | 136 |
15 files changed, 325 insertions, 284 deletions
diff --git a/include/rpc/auth.h b/include/rpc/auth.h index e0e1e5f67..661295766 100644 --- a/include/rpc/auth.h +++ b/include/rpc/auth.h @@ -77,7 +77,7 @@ union des_block { char c[8]; }; typedef union des_block des_block; -extern bool_t xdr_des_block __P ((XDR *__xdrs, des_block *__blkp)); +extern bool_t xdr_des_block (XDR *__xdrs, des_block *__blkp) __THROW; /* * Authentication info. Opaque to client. @@ -97,12 +97,12 @@ struct AUTH { struct opaque_auth ah_verf; union des_block ah_key; struct auth_ops { - void (*ah_nextverf) __PMT ((AUTH *)); - int (*ah_marshal) __PMT ((AUTH *, XDR *)); /* nextverf & serialize */ - int (*ah_validate) __PMT ((AUTH *, struct opaque_auth *)); + void (*ah_nextverf) (AUTH *); + int (*ah_marshal) (AUTH *, XDR *); /* nextverf & serialize */ + int (*ah_validate) (AUTH *, struct opaque_auth *); /* validate verifier */ - int (*ah_refresh) __PMT ((AUTH *)); /* refresh credentials */ - void (*ah_destroy) __PMT ((AUTH *)); /* destroy this structure */ + int (*ah_refresh) (AUTH *); /* refresh credentials */ + void (*ah_destroy) (AUTH *); /* destroy this structure */ } *ah_ops; caddr_t ah_private; }; @@ -158,16 +158,15 @@ extern struct opaque_auth _null_auth; * int len; * int *aup_gids; */ -extern AUTH *authunix_create __P ((char *__machname, __uid_t __uid, - __gid_t __gid, int __len, - __gid_t *__aup_gids)); -extern AUTH *authunix_create_default __P ((void)); -extern AUTH *authnone_create __P ((void)); -extern AUTH *authdes_create __P ((const char *__servername, u_int __window, - struct sockaddr *__syncaddr, - des_block *__ckey)); -extern AUTH *authdes_pk_create __P ((const char *, netobj *, u_int, - struct sockaddr *, des_block *)); +extern AUTH *authunix_create (char *__machname, __uid_t __uid, __gid_t __gid, + int __len, __gid_t *__aup_gids) __THROW; +extern AUTH *authunix_create_default (void) __THROW; +extern AUTH *authnone_create (void) __THROW; +extern AUTH *authdes_create (const char *__servername, u_int __window, + struct sockaddr *__syncaddr, des_block *__ckey) + __THROW; +extern AUTH *authdes_pk_create (const char *, netobj *, u_int, + struct sockaddr *, des_block *) __THROW; #define AUTH_NONE 0 /* no authentication */ @@ -183,31 +182,31 @@ extern AUTH *authdes_pk_create __P ((const char *, netobj *, u_int, * Netname manipulating functions * */ -extern int getnetname __P ((char *)); -extern int host2netname __P ((char *, __const char *, __const char *)); -extern int user2netname __P ((char *, __const uid_t, __const char *)); -extern int netname2user __P ((__const char *, uid_t *, gid_t *, int *, - gid_t *)); -extern int netname2host __P ((__const char *, char *, __const int)); +extern int getnetname (char *) __THROW; +extern int host2netname (char *, __const char *, __const char *) __THROW; +extern int user2netname (char *, __const uid_t, __const char *) __THROW; +extern int netname2user (__const char *, uid_t *, gid_t *, int *, gid_t *) + __THROW; +extern int netname2host (__const char *, char *, __const int) __THROW; /* * * These routines interface to the keyserv daemon * */ -extern int key_decryptsession __P ((char *, des_block *)); -extern int key_decryptsession_pk __P ((char *, netobj *, des_block *)); -extern int key_encryptsession __P ((char *, des_block *)); -extern int key_encryptsession_pk __P ((char *, netobj *, des_block *)); -extern int key_gendes __P ((des_block *)); -extern int key_setsecret __P ((char *)); -extern int key_secretkey_is_set __P ((void)); -extern int key_get_conv __P ((char *, des_block *)); +extern int key_decryptsession (char *, des_block *) __THROW; +extern int key_decryptsession_pk (char *, netobj *, des_block *) __THROW; +extern int key_encryptsession (char *, des_block *) __THROW; +extern int key_encryptsession_pk (char *, netobj *, des_block *) __THROW; +extern int key_gendes (des_block *) __THROW; +extern int key_setsecret (char *) __THROW; +extern int key_secretkey_is_set (void) __THROW; +extern int key_get_conv (char *, des_block *) __THROW; /* * XDR an opaque authentication struct. */ -extern bool_t xdr_opaque_auth __P ((XDR *, struct opaque_auth *)); +extern bool_t xdr_opaque_auth (XDR *, struct opaque_auth *) __THROW; __END_DECLS diff --git a/include/rpc/auth_des.h b/include/rpc/auth_des.h index b94bafb67..12ada8404 100644 --- a/include/rpc/auth_des.h +++ b/include/rpc/auth_des.h @@ -2,19 +2,19 @@ This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public License as - published by the Free Software Foundation; either version 2 of the - License, or (at your option) any later version. + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. The GNU C Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. + Lesser General Public License for more details. - You should have received a copy of the GNU Library General Public - License along with the GNU C Library; see the file COPYING.LIB. If not, - write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, - Boston, MA 02111-1307, USA. */ + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, write to the Free + Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + 02111-1307 USA. */ #ifndef _RPC_AUTH_DES_H #define _RPC_AUTH_DES_H 1 @@ -86,26 +86,25 @@ struct authdes_verf #define adv_nickname adv_int_u /* Map a des credential into a unix cred. */ -extern int authdes_getucred __P ((__const struct authdes_cred * __adc, - uid_t * __uid, gid_t * __gid, - short *__grouplen, gid_t * __groups)); +extern int authdes_getucred (__const struct authdes_cred * __adc, + uid_t * __uid, gid_t * __gid, + short *__grouplen, gid_t * __groups) __THROW; /* Get the public key for NAME and place it in KEY. NAME can only be up to MAXNETNAMELEN bytes long and the destination buffer KEY should have HEXKEYBYTES + 1 bytes long to fit all characters from the key. */ -extern int getpublickey __P ((__const char *__name, char *__key)); +extern int getpublickey (__const char *__name, char *__key) __THROW; /* Get the secret key for NAME and place it in KEY. PASSWD is used to decrypt the encrypted key stored in the database. NAME can only be up to MAXNETNAMELEN bytes long and the destination buffer KEY should have HEXKEYBYTES + 1 bytes long to fit all characters from the key. */ -extern int getsecretkey __P ((__const char *__name, char *__key, - __const char *__passwd)); +extern int getsecretkey (__const char *__name, char *__key, + __const char *__passwd) __THROW; -extern int rtime __P ((struct sockaddr_in *__addrp, - struct rpc_timeval *__timep, - struct rpc_timeval *__timeout)); +extern int rtime (struct sockaddr_in *__addrp, struct rpc_timeval *__timep, + struct rpc_timeval *__timeout) __THROW; __END_DECLS diff --git a/include/rpc/auth_unix.h b/include/rpc/auth_unix.h index ed3b9322c..424661d9c 100644 --- a/include/rpc/auth_unix.h +++ b/include/rpc/auth_unix.h @@ -72,8 +72,8 @@ struct authunix_parms __gid_t *aup_gids; }; -extern bool_t xdr_authunix_parms __P ((XDR *__xdrs, - struct authunix_parms *__p)); +extern bool_t xdr_authunix_parms (XDR *__xdrs, struct authunix_parms *__p) + __THROW; /* * If a response verifier has flavor AUTH_SHORT, diff --git a/include/rpc/clnt.h b/include/rpc/clnt.h index b3852927a..a19fc773b 100644 --- a/include/rpc/clnt.h +++ b/include/rpc/clnt.h @@ -133,17 +133,16 @@ typedef struct CLIENT CLIENT; struct CLIENT { AUTH *cl_auth; /* authenticator */ struct clnt_ops { - enum clnt_stat (*cl_call) __PMT ((CLIENT *, u_long, xdrproc_t, - caddr_t, xdrproc_t, - caddr_t, struct timeval)); + enum clnt_stat (*cl_call) (CLIENT *, u_long, xdrproc_t, caddr_t, xdrproc_t, + caddr_t, struct timeval); /* call remote procedure */ - void (*cl_abort) __PMT ((void)); /* abort a call */ - void (*cl_geterr) __PMT ((CLIENT *, struct rpc_err *)); + void (*cl_abort) (void); /* abort a call */ + void (*cl_geterr) (CLIENT *, struct rpc_err *); /* get specific error code */ - bool_t (*cl_freeres) __PMT ((CLIENT *, xdrproc_t, caddr_t)); + bool_t (*cl_freeres) (CLIENT *, xdrproc_t, caddr_t); /* frees results */ - void (*cl_destroy) __PMT ((CLIENT *)); /* destroy this structure */ - bool_t (*cl_control) __PMT ((CLIENT *, int, char *)); + void (*cl_destroy) (CLIENT *); /* destroy this structure */ + bool_t (*cl_control) (CLIENT *, int, char *); /* the ioctl() of rpc */ } *cl_ops; caddr_t cl_private; /* private stuff */ @@ -278,8 +277,8 @@ struct CLIENT { * u_long prog; * u_long vers; */ -extern CLIENT *clntraw_create __P ((__const u_long __prog, - __const u_long __vers)); +extern CLIENT *clntraw_create (__const u_long __prog, __const u_long __vers) + __THROW; /* @@ -292,8 +291,9 @@ extern CLIENT *clntraw_create __P ((__const u_long __prog, * u_ong vers; -- version number * char *prot; -- protocol */ -extern CLIENT *clnt_create __P ((__const char *__host, __const u_long __prog, - __const u_long __vers, __const char *__prot)); +extern CLIENT *clnt_create (__const char *__host, __const u_long __prog, + __const u_long __vers, __const char *__prot) + __THROW; /* @@ -307,10 +307,9 @@ extern CLIENT *clnt_create __P ((__const char *__host, __const u_long __prog, * u_int sendsz; * u_int recvsz; */ -extern CLIENT *clnttcp_create __P ((struct sockaddr_in *__raddr, - u_long __prog, u_long __version, - int *__sockp, u_int __sendsz, - u_int __recvsz)); +extern CLIENT *clnttcp_create (struct sockaddr_in *__raddr, u_long __prog, + u_long __version, int *__sockp, u_int __sendsz, + u_int __recvsz) __THROW; /* * UDP based rpc. @@ -333,15 +332,15 @@ extern CLIENT *clnttcp_create __P ((struct sockaddr_in *__raddr, * u_int sendsz; * u_int recvsz; */ -extern CLIENT *clntudp_create __P ((struct sockaddr_in *__raddr, - u_long __program, u_long __version, - struct timeval __wait_resend, - int *__sockp)); -extern CLIENT *clntudp_bufcreate __P ((struct sockaddr_in *__raddr, - u_long __program, u_long __version, - struct timeval __wait_resend, - int *__sockp, u_int __sendsz, - u_int __recvsz)); +extern CLIENT *clntudp_create (struct sockaddr_in *__raddr, u_long __program, + u_long __version, struct timeval __wait_resend, + int *__sockp) __THROW; +extern CLIENT *clntudp_bufcreate (struct sockaddr_in *__raddr, + u_long __program, u_long __version, + struct timeval __wait_resend, int *__sockp, + u_int __sendsz, u_int __recvsz) __THROW; + + /* @@ -355,35 +354,34 @@ extern CLIENT *clntudp_bufcreate __P ((struct sockaddr_in *__raddr, * u_int sendsz; * u_int recvsz; */ -extern CLIENT *clntunix_create __P ((struct sockaddr_un *__raddr, - u_long __program, u_long __version, - int *__sockp, u_int __sendsz, - u_int __recvsz)); +extern CLIENT *clntunix_create (struct sockaddr_un *__raddr, u_long __program, + u_long __version, int *__sockp, + u_int __sendsz, u_int __recvsz) __THROW; -extern int callrpc __P ((__const char *__host, __const u_long __prognum, - __const u_long __versnum, __const u_long __procnum, - __const xdrproc_t __inproc, __const char *__in, - __const xdrproc_t __outproc, char *__out)); -extern int _rpc_dtablesize __P ((void)); +extern int callrpc (__const char *__host, __const u_long __prognum, + __const u_long __versnum, __const u_long __procnum, + __const xdrproc_t __inproc, __const char *__in, + __const xdrproc_t __outproc, char *__out) __THROW; +extern int _rpc_dtablesize (void) __THROW; /* * Print why creation failed */ -extern void clnt_pcreateerror __P ((__const char *__msg)); /* stderr */ -extern char *clnt_spcreateerror __P ((__const char *__msg)); /* string */ +extern void clnt_pcreateerror (__const char *__msg) __THROW; /* stderr */ +extern char *clnt_spcreateerror(__const char *__msg) __THROW; /* string */ /* * Like clnt_perror(), but is more verbose in its output */ -extern void clnt_perrno __P ((enum clnt_stat __num)); /* stderr */ +extern void clnt_perrno (enum clnt_stat __num) __THROW; /* stderr */ /* * Print an English error message, given the client error code */ -extern void clnt_perror __P ((CLIENT *__clnt, __const char *__msg)); +extern void clnt_perror (CLIENT *__clnt, __const char *__msg) __THROW; /* stderr */ -extern char *clnt_sperror __P ((CLIENT *__clnt, __const char *__msg)); +extern char *clnt_sperror (CLIENT *__clnt, __const char *__msg) __THROW; /* string */ /* @@ -401,19 +399,19 @@ extern struct rpc_createerr rpc_createerr; /* * Copy error message to buffer. */ -extern char *clnt_sperrno __P ((enum clnt_stat __num)); /* string */ +extern char *clnt_sperrno (enum clnt_stat __num) __THROW; /* string */ /* * get the port number on the host for the rpc program,version and proto */ -extern int getrpcport __P ((__const char * __host, u_long __prognum, - u_long __versnum, u_int proto)); +extern int getrpcport (__const char * __host, u_long __prognum, + u_long __versnum, u_int proto) __THROW; /* * get the local host's IP address without consulting * name service library functions */ -extern void get_myaddress __P ((struct sockaddr_in *)); +extern void get_myaddress (struct sockaddr_in *) __THROW; #define UDPMSGSIZE 8800 /* rpc imposed limit on udp msg size */ #define RPCSMALLMSGSIZE 400 /* a more reasonable packet size */ diff --git a/include/rpc/des_crypt.h b/include/rpc/des_crypt.h index e20cc3824..6a65887d3 100644 --- a/include/rpc/des_crypt.h +++ b/include/rpc/des_crypt.h @@ -11,23 +11,23 @@ * may copy or modify Sun RPC without charge, but are not authorized * to license or distribute it to anyone else except as part of a product or * program developed by the user. - * + * * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - * + * * Sun RPC is provided with no support and without any obligation on the * part of Sun Microsystems, Inc. to assist in its use, correction, * modification or enhancement. - * + * * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC * OR ANY PART THEREOF. - * + * * In no event will Sun Microsystems, Inc. be liable for any lost revenue * or profits or other special, indirect and consequential damages, even if * Sun has been advised of the possibility of such damages. - * + * * Sun Microsystems, Inc. * 2550 Garcia Avenue * Mountain View, California 94043 @@ -47,7 +47,7 @@ __BEGIN_DECLS #define DES_DEVMASK (1 << 1) -#define DES_HW (0*DES_DEVMASK) /* Use hardware device */ +#define DES_HW (0*DES_DEVMASK) /* Use hardware device */ #define DES_SW (1*DES_DEVMASK) /* Use software device */ @@ -77,20 +77,20 @@ __BEGIN_DECLS /* * Cipher Block Chaining mode */ -extern int cbc_crypt __P ((char *__key, char *__buf, unsigned __len, - unsigned __mode, char *__ivec)); +extern int cbc_crypt (char *__key, char *__buf, unsigned __len, + unsigned __mode, char *__ivec) __THROW; /* * Electronic Code Book mode */ -extern int ecb_crypt __P ((char *__key, char *__buf, unsigned __len, - unsigned __mode)); +extern int ecb_crypt (char *__key, char *__buf, unsigned __len, + unsigned __mode) __THROW; -/* +/* * Set des parity for a key. * DES parity is odd and in the low bit of each byte */ -extern void des_setparity __P ((char *__key)); +extern void des_setparity (char *__key) __THROW; __END_DECLS diff --git a/include/rpc/netdb.h b/include/rpc/netdb.h index 6b820c84d..539d8c326 100644 --- a/include/rpc/netdb.h +++ b/include/rpc/netdb.h @@ -50,23 +50,23 @@ struct rpcent int r_number; /* RPC program number. */ }; -extern void setrpcent __P ((int _stayopen)); -extern void endrpcent __P ((void)); -extern struct rpcent *getrpcbyname __P ((__const char *__name)); -extern struct rpcent *getrpcbynumber __P ((int __number)); -extern struct rpcent *getrpcent __P ((void)); +extern void setrpcent (int __stayopen) __THROW; +extern void endrpcent (void) __THROW; +extern struct rpcent *getrpcbyname (__const char *__name) __THROW; +extern struct rpcent *getrpcbynumber (int __number) __THROW; +extern struct rpcent *getrpcent (void) __THROW; #ifdef __USE_MISC -extern int getrpcbyname_r __P ((__const char *__name, - struct rpcent *__result_buf, char *__buffer, - size_t __buflen, struct rpcent **__result)); +extern int getrpcbyname_r (__const char *__name, struct rpcent *__result_buf, + char *__buffer, size_t __buflen, + struct rpcent **__result) __THROW; -extern int getrpcbynumber_r __P ((int __number, struct rpcent *__result_buf, - char *__buffer, size_t __buflen, - struct rpcent **__result)); +extern int getrpcbynumber_r (int __number, struct rpcent *__result_buf, + char *__buffer, size_t __buflen, + struct rpcent **__result) __THROW; -extern int getrpcent_r __P ((struct rpcent *__result_buf, char *__buffer, - size_t __buflen, struct rpcent **__result)); +extern int getrpcent_r (struct rpcent *__result_buf, char *__buffer, + size_t __buflen, struct rpcent **__result) __THROW; #endif __END_DECLS diff --git a/include/rpc/pmap_clnt.h b/include/rpc/pmap_clnt.h index d9800d400..1b1c45291 100644 --- a/include/rpc/pmap_clnt.h +++ b/include/rpc/pmap_clnt.h @@ -45,8 +45,7 @@ __BEGIN_DECLS -typedef bool_t (*resultproc_t) __PMT ((caddr_t resp, - struct sockaddr_in *raddr)); +typedef bool_t (*resultproc_t) (caddr_t resp, struct sockaddr_in *raddr); /* * Usage: @@ -70,30 +69,29 @@ typedef bool_t (*resultproc_t) __PMT ((caddr_t resp, * address if the responder to the broadcast. */ -extern bool_t pmap_set __P ((__const u_long __program, __const u_long __vers, - int __protocol, u_short __port)); -extern bool_t pmap_unset __P ((__const u_long __program, __const u_long __vers)); -extern struct pmaplist *pmap_getmaps __P ((struct sockaddr_in *__address)); -extern enum clnt_stat pmap_rmtcall __P ((struct sockaddr_in *__addr, - __const u_long __prog, - __const u_long __vers, - __const u_long __proc, - xdrproc_t __xdrargs, - caddr_t __argsp, xdrproc_t __xdrres, - caddr_t __resp, struct timeval __tout, - u_long *__port_ptr)); -extern enum clnt_stat clnt_broadcast __P ((__const u_long __prog, - __const u_long __vers, - __const u_long __proc, - xdrproc_t __xargs, - caddr_t __argsp, - xdrproc_t __xresults, - caddr_t __resultsp, - resultproc_t __eachresult)); -extern u_short pmap_getport __P ((struct sockaddr_in *__address, - __const u_long __program, - __const u_long __version, - u_int __protocol)); +extern bool_t pmap_set (__const u_long __program, __const u_long __vers, + int __protocol, u_short __port) __THROW; +extern bool_t pmap_unset (__const u_long __program, __const u_long __vers) + __THROW; +extern struct pmaplist *pmap_getmaps (struct sockaddr_in *__address) __THROW; +extern enum clnt_stat pmap_rmtcall (struct sockaddr_in *__addr, + __const u_long __prog, + __const u_long __vers, + __const u_long __proc, + xdrproc_t __xdrargs, + caddr_t __argsp, xdrproc_t __xdrres, + caddr_t __resp, struct timeval __tout, + u_long *__port_ptr) __THROW; +extern enum clnt_stat clnt_broadcast (__const u_long __prog, + __const u_long __vers, + __const u_long __proc, xdrproc_t __xargs, + caddr_t __argsp, xdrproc_t __xresults, + caddr_t __resultsp, + resultproc_t __eachresult) __THROW; +extern u_short pmap_getport (struct sockaddr_in *__address, + __const u_long __program, + __const u_long __version, u_int __protocol) + __THROW; __END_DECLS diff --git a/include/rpc/pmap_prot.h b/include/rpc/pmap_prot.h index 52185d319..cd64e36de 100644 --- a/include/rpc/pmap_prot.h +++ b/include/rpc/pmap_prot.h @@ -94,14 +94,14 @@ struct pmap { long unsigned pm_port; }; -extern bool_t xdr_pmap __P ((XDR *__xdrs, struct pmap *__regs)); +extern bool_t xdr_pmap (XDR *__xdrs, struct pmap *__regs) __THROW; struct pmaplist { struct pmap pml_map; struct pmaplist *pml_next; }; -extern bool_t xdr_pmaplist __P ((XDR *__xdrs, struct pmaplist **__rp)); +extern bool_t xdr_pmaplist (XDR *__xdrs, struct pmaplist **__rp) __THROW; __END_DECLS diff --git a/include/rpc/pmap_rmt.h b/include/rpc/pmap_rmt.h index bb35ad63e..7a38b5f5f 100644 --- a/include/rpc/pmap_rmt.h +++ b/include/rpc/pmap_rmt.h @@ -51,7 +51,8 @@ struct rmtcallargs { xdrproc_t xdr_args; }; -extern bool_t xdr_rmtcall_args __P ((XDR *__xdrs, struct rmtcallargs *__crp)); +extern bool_t xdr_rmtcall_args (XDR *__xdrs, struct rmtcallargs *__crp) + __THROW; struct rmtcallres { u_long *port_ptr; @@ -60,7 +61,7 @@ struct rmtcallres { xdrproc_t xdr_results; }; -extern bool_t xdr_rmtcallres __P ((XDR *__xdrs, struct rmtcallres *__crp)); +extern bool_t xdr_rmtcallres (XDR *__xdrs, struct rmtcallres *__crp) __THROW; __END_DECLS diff --git a/include/rpc/rpc.h b/include/rpc/rpc.h index 74e529d82..e7799ccb1 100644 --- a/include/rpc/rpc.h +++ b/include/rpc/rpc.h @@ -65,6 +65,35 @@ * defined by <rpc/netdb.h> included in <netdb.h>. */ /* routines for parsing /etc/rpc */ -//#include <rpc/netdb.h> /* structures and routines to parse /etc/rpc */ +#include <rpc/netdb.h> /* structures and routines to parse /etc/rpc */ + +__BEGIN_DECLS + +#if 0 +/* Global variables, protected for multi-threaded applications. */ +extern fd_set *__rpc_thread_svc_fdset (void) __attribute__ ((__const__)); +#define svc_fdset (*__rpc_thread_svc_fdset ()) + +extern struct rpc_createerr *__rpc_thread_createerr (void) + __attribute__ ((__const__)); +#define get_rpc_createerr() (*__rpc_thread_createerr ()) +/* The people who "engineered" RPC should bee punished for naming the + data structure and the variable the same. We cannot always define the + macro 'rpc_createerr' because this would prevent people from defining + object of type 'struct rpc_createerr'. So we leave it up to the user + to select transparent replacement also of this variable. */ +#ifdef _RPC_MT_VARS +# define rpc_createerr (*__rpc_thread_createerr ()) +#endif + +extern struct pollfd **__rpc_thread_svc_pollfd (void) + __attribute__ ((__const__)); +#define svc_pollfd (*__rpc_thread_svc_pollfd ()) + +extern int *__rpc_thread_svc_max_pollfd (void) __attribute__ ((__const__)); +#define svc_max_pollfd (*__rpc_thread_svc_max_pollfd ()) +#endif + +__END_DECLS #endif /* rpc/rpc.h */ diff --git a/include/rpc/rpc_msg.h b/include/rpc/rpc_msg.h index e2908ac9c..636d60ea9 100644 --- a/include/rpc/rpc_msg.h +++ b/include/rpc/rpc_msg.h @@ -170,7 +170,7 @@ struct rpc_msg { * XDR *xdrs; * struct rpc_msg *cmsg; */ -extern bool_t xdr_callmsg __P ((XDR *__xdrs, struct rpc_msg *__cmsg)); +extern bool_t xdr_callmsg (XDR *__xdrs, struct rpc_msg *__cmsg) __THROW; /* * XDR routine to pre-serialize the static part of a rpc message. @@ -178,7 +178,7 @@ extern bool_t xdr_callmsg __P ((XDR *__xdrs, struct rpc_msg *__cmsg)); * XDR *xdrs; * struct rpc_msg *cmsg; */ -extern bool_t xdr_callhdr __P ((XDR *__xdrs, struct rpc_msg *__cmsg)); +extern bool_t xdr_callhdr (XDR *__xdrs, struct rpc_msg *__cmsg) __THROW; /* * XDR routine to handle a rpc reply. @@ -186,7 +186,7 @@ extern bool_t xdr_callhdr __P ((XDR *__xdrs, struct rpc_msg *__cmsg)); * XDR *xdrs; * struct rpc_msg *rmsg; */ -extern bool_t xdr_replymsg __P ((XDR *__xdrs, struct rpc_msg *__rmsg)); +extern bool_t xdr_replymsg (XDR *__xdrs, struct rpc_msg *__rmsg) __THROW; /* * Fills in the error part of a reply message. @@ -194,8 +194,8 @@ extern bool_t xdr_replymsg __P ((XDR *__xdrs, struct rpc_msg *__rmsg)); * struct rpc_msg *msg; * struct rpc_err *error; */ -extern void _seterr_reply __P ((struct rpc_msg *__msg, - struct rpc_err *__error)); +extern void _seterr_reply (struct rpc_msg *__msg, struct rpc_err *__error) + __THROW; __END_DECLS diff --git a/include/rpc/svc.h b/include/rpc/svc.h index 4ac2a5cdf..3ffca50bd 100644 --- a/include/rpc/svc.h +++ b/include/rpc/svc.h @@ -1,4 +1,3 @@ -/* @(#)svc.h 2.2 88/07/29 4.0 RPCSRC; from 1.20 88/02/08 SMI */ /* * Sun RPC is a product of Sun Microsystems, Inc. and is provided for * unrestricted use provided that this legend is included on all tape @@ -78,18 +77,18 @@ struct SVCXPRT { int xp_sock; u_short xp_port; /* associated port number */ const struct xp_ops { - bool_t (*xp_recv) __PMT ((SVCXPRT *__xprt, struct rpc_msg *__msg)); + bool_t (*xp_recv) (SVCXPRT *__xprt, struct rpc_msg *__msg); /* receive incoming requests */ - enum xprt_stat (*xp_stat) __PMT ((SVCXPRT *__xprt)); + enum xprt_stat (*xp_stat) (SVCXPRT *__xprt); /* get transport status */ - bool_t (*xp_getargs) __PMT ((SVCXPRT *__xprt, xdrproc_t __xdr_args, - caddr_t args_ptr)); /* get arguments */ - bool_t (*xp_reply) __PMT ((SVCXPRT *__xprt, struct rpc_msg *__msg)); + bool_t (*xp_getargs) (SVCXPRT *__xprt, xdrproc_t __xdr_args, + caddr_t args_ptr); /* get arguments */ + bool_t (*xp_reply) (SVCXPRT *__xprt, struct rpc_msg *__msg); /* send reply */ - bool_t (*xp_freeargs) __PMT ((SVCXPRT *__xprt, xdrproc_t __xdr_args, - caddr_t args_ptr)); + bool_t (*xp_freeargs) (SVCXPRT *__xprt, xdrproc_t __xdr_args, + caddr_t args_ptr); /* free mem allocated for args */ - void (*xp_destroy) __PMT ((SVCXPRT *__xprt)); + void (*xp_destroy) (SVCXPRT *__xprt); /* destroy this struct */ } *xp_ops; int xp_addrlen; /* length of remote address */ @@ -97,6 +96,7 @@ struct SVCXPRT { struct opaque_auth xp_verf; /* raw response verifier */ caddr_t xp_p1; /* private */ caddr_t xp_p2; /* private */ + char xp_pad [256]; /* padding, internal use */ }; /* @@ -147,17 +147,17 @@ struct SVCXPRT { * Service request */ struct svc_req { - u_long rq_prog; /* service program number */ - u_long rq_vers; /* service protocol version */ - u_long rq_proc; /* the desired procedure */ - struct opaque_auth rq_cred; /* raw creds from the wire */ - caddr_t rq_clntcred; /* read only cooked cred */ - SVCXPRT *rq_xprt; /* associated transport */ + rpcprog_t rq_prog; /* service program number */ + rpcvers_t rq_vers; /* service protocol version */ + rpcproc_t rq_proc; /* the desired procedure */ + struct opaque_auth rq_cred; /* raw creds from the wire */ + caddr_t rq_clntcred; /* read only cooked cred */ + SVCXPRT *rq_xprt; /* associated transport */ }; #ifndef __DISPATCH_FN_T #define __DISPATCH_FN_T -typedef void (*__dispatch_fn_t) __PMT ((struct svc_req*, SVCXPRT*)); +typedef void (*__dispatch_fn_t) (struct svc_req*, SVCXPRT*); #endif /* @@ -165,23 +165,23 @@ typedef void (*__dispatch_fn_t) __PMT ((struct svc_req*, SVCXPRT*)); * * svc_register(xprt, prog, vers, dispatch, protocol) * SVCXPRT *xprt; - * u_long prog; - * u_long vers; - * void (*dispatch)(); - * u_long protocol; like TCP or UDP, zero means do not register + * rpcprog_t prog; + * rpcvers_t vers; + * void (*dispatch)(struct svc_req*, SVCXPRT*); + * rpcprot_t protocol; like TCP or UDP, zero means do not register */ -extern bool_t svc_register __P ((SVCXPRT *__xprt, u_long __prog, - u_long __vers, __dispatch_fn_t __dispatch, - u_long __protocol)); +extern bool_t svc_register (SVCXPRT *__xprt, rpcprog_t __prog, + rpcvers_t __vers, __dispatch_fn_t __dispatch, + rpcprot_t __protocol) __THROW; /* * Service un-registration * * svc_unregister(prog, vers) - * u_long prog; - * u_long vers; + * rpcprog_t prog; + * rpcvers_t vers; */ -extern void svc_unregister __P ((u_long __prog, u_long __vers)); +extern void svc_unregister (rpcprog_t __prog, rpcvers_t __vers) __THROW; /* * Transport registration. @@ -189,7 +189,7 @@ extern void svc_unregister __P ((u_long __prog, u_long __vers)); * xprt_register(xprt) * SVCXPRT *xprt; */ -extern void xprt_register __P ((SVCXPRT *__xprt)); +extern void xprt_register (SVCXPRT *__xprt) __THROW; /* * Transport un-register @@ -197,9 +197,7 @@ extern void xprt_register __P ((SVCXPRT *__xprt)); * xprt_unregister(xprt) * SVCXPRT *xprt; */ -extern void xprt_unregister __P ((SVCXPRT *__xprt)); - - +extern void xprt_unregister (SVCXPRT *__xprt) __THROW; /* @@ -228,23 +226,23 @@ extern void xprt_unregister __P ((SVCXPRT *__xprt)); * deadlock the caller and server processes! */ -extern bool_t svc_sendreply __P ((SVCXPRT *xprt, xdrproc_t __xdr_results, - caddr_t __xdr_location)); +extern bool_t svc_sendreply (SVCXPRT *xprt, xdrproc_t __xdr_results, + caddr_t __xdr_location) __THROW; -extern void svcerr_decode __P ((SVCXPRT *__xprt)); +extern void svcerr_decode (SVCXPRT *__xprt) __THROW; -extern void svcerr_weakauth __P ((SVCXPRT *__xprt)); +extern void svcerr_weakauth (SVCXPRT *__xprt) __THROW; -extern void svcerr_noproc __P ((SVCXPRT *__xprt)); +extern void svcerr_noproc (SVCXPRT *__xprt) __THROW; -extern void svcerr_progvers __P ((SVCXPRT *__xprt, u_long __low_vers, - u_long __high_vers)); +extern void svcerr_progvers (SVCXPRT *__xprt, rpcvers_t __low_vers, + rpcvers_t __high_vers) __THROW; -extern void svcerr_auth __P ((SVCXPRT *__xprt, enum auth_stat __why)); +extern void svcerr_auth (SVCXPRT *__xprt, enum auth_stat __why) __THROW; -extern void svcerr_noprog __P ((SVCXPRT *__xprt)); +extern void svcerr_noprog (SVCXPRT *__xprt) __THROW; -extern void svcerr_systemerr __P ((SVCXPRT *__xprt)); +extern void svcerr_systemerr (SVCXPRT *__xprt) __THROW; /* * Lowest level dispatching -OR- who owns this process anyway. @@ -261,21 +259,22 @@ extern void svcerr_systemerr __P ((SVCXPRT *__xprt)); * Global keeper of rpc service descriptors in use * dynamic; must be inspected before each call to select */ -#ifdef FD_SETSIZE + +extern struct pollfd *svc_pollfd; +extern int svc_max_pollfd; extern fd_set svc_fdset; #define svc_fds svc_fdset.fds_bits[0] /* compatibility */ -#else -extern int svc_fds; -#endif /* def FD_SETSIZE */ /* * a small program implemented by the svc_rpc implementation itself; * also see clnt.h for protocol numbers. */ -extern void svc_getreq __P ((int __rdfds)); -extern void svc_getreqset __P ((fd_set *__readfds)); -extern void svc_exit __P ((void)); -extern void svc_run __P ((void)); +extern void svc_getreq (int __rdfds) __THROW; +extern void svc_getreq_common (const int __fd) __THROW; +extern void svc_getreqset (fd_set *__readfds) __THROW; +extern void svc_getreq_poll (struct pollfd *, const int) __THROW; +extern void svc_exit (void) __THROW; +extern void svc_run (void) __THROW; /* * Socket to use on svcxxx_create call to get default socket @@ -289,27 +288,27 @@ extern void svc_run __P ((void)); /* * Memory based rpc for testing and timing. */ -extern SVCXPRT *svcraw_create __P ((void)); +extern SVCXPRT *svcraw_create (void) __THROW; /* * Udp based rpc. */ -extern SVCXPRT *svcudp_create __P ((int __sock)); -extern SVCXPRT *svcudp_bufcreate __P ((int __sock, u_int __sendsz, - u_int __recvsz)); +extern SVCXPRT *svcudp_create (int __sock) __THROW; +extern SVCXPRT *svcudp_bufcreate (int __sock, u_int __sendsz, u_int __recvsz) + __THROW; /* * Tcp based rpc. */ -extern SVCXPRT *svctcp_create __P ((int __sock, u_int __sendsize, - u_int __recvsize)); +extern SVCXPRT *svctcp_create (int __sock, u_int __sendsize, u_int __recvsize) + __THROW; /* * Unix based rpc. */ -extern SVCXPRT *svcunix_create __P ((int __sock, u_int __sendsize, - u_int __recvsize, char *__path)); +extern SVCXPRT *svcunix_create (int __sock, u_int __sendsize, u_int __recvsize, + char *__path) __THROW; __END_DECLS diff --git a/include/rpc/svc_auth.h b/include/rpc/svc_auth.h index ad08b71c7..1c1a7156a 100644 --- a/include/rpc/svc_auth.h +++ b/include/rpc/svc_auth.h @@ -46,8 +46,8 @@ __BEGIN_DECLS /* * Server side authenticator */ -extern enum auth_stat _authenticate __P ((struct svc_req *__rqst, - struct rpc_msg *__msg)); +extern enum auth_stat _authenticate (struct svc_req *__rqst, + struct rpc_msg *__msg) __THROW; __END_DECLS diff --git a/include/rpc/types.h b/include/rpc/types.h index 61ea3c19f..8eff8e718 100644 --- a/include/rpc/types.h +++ b/include/rpc/types.h @@ -1,4 +1,3 @@ -/* @(#)types.h 2.3 88/08/15 4.0 RPCSRC */ /* * Sun RPC is a product of Sun Microsystems, Inc. and is provided for * unrestricted use provided that this legend is included on all tape @@ -27,8 +26,6 @@ * 2550 Garcia Avenue * Mountain View, California 94043 */ -/* @(#)types.h 1.18 87/07/24 SMI */ - /* fixincludes should not add extern "C" to this file */ /* * Rpc additions to <sys/types.h> @@ -38,6 +35,12 @@ typedef int bool_t; typedef int enum_t; +/* This needs to be changed to uint32_t in the future */ +typedef unsigned long rpcprog_t; +typedef unsigned long rpcvers_t; +typedef unsigned long rpcproc_t; +typedef unsigned long rpcprot_t; +typedef unsigned long rpcport_t; #define __dontcare__ -1 @@ -60,6 +63,23 @@ typedef int enum_t; #ifndef makedev /* ie, we haven't already included it */ #include <sys/types.h> #endif + +#ifndef __u_char_defined +typedef __u_char u_char; +typedef __u_short u_short; +typedef __u_int u_int; +typedef __u_long u_long; +typedef __quad_t quad_t; +typedef __u_quad_t u_quad_t; +typedef __fsid_t fsid_t; +# define __u_char_defined +#endif +#ifndef __daddr_t_defined +typedef __daddr_t daddr_t; +typedef __caddr_t caddr_t; +# define __daddr_t_defined +#endif + #include <sys/time.h> #include <sys/param.h> diff --git a/include/rpc/xdr.h b/include/rpc/xdr.h index 91dbcc3da..0b703445a 100644 --- a/include/rpc/xdr.h +++ b/include/rpc/xdr.h @@ -114,27 +114,25 @@ struct XDR enum xdr_op x_op; /* operation; fast additional param */ struct xdr_ops { - bool_t (*x_getlong) __PMT ((XDR *__xdrs, long *__lp)); + bool_t (*x_getlong) (XDR *__xdrs, long *__lp); /* get a long from underlying stream */ - bool_t (*x_putlong) __PMT ((XDR *__xdrs, __const long *__lp)); + bool_t (*x_putlong) (XDR *__xdrs, __const long *__lp); /* put a long to " */ - bool_t (*x_getbytes) __PMT ((XDR *__xdrs, caddr_t __addr, - u_int __len)); + bool_t (*x_getbytes) (XDR *__xdrs, caddr_t __addr, u_int __len); /* get some bytes from " */ - bool_t (*x_putbytes) __PMT ((XDR *__xdrs, __const char *__addr, - u_int __len)); + bool_t (*x_putbytes) (XDR *__xdrs, __const char *__addr, u_int __len); /* put some bytes to " */ - u_int (*x_getpostn) __PMT ((__const XDR *__xdrs)); + u_int (*x_getpostn) (__const XDR *__xdrs); /* returns bytes off from beginning */ - bool_t (*x_setpostn) __PMT ((XDR *__xdrs, u_int pos)); + bool_t (*x_setpostn) (XDR *__xdrs, u_int __pos); /* lets you reposition the stream */ - int32_t *(*x_inline) __PMT ((XDR *__xdrs, int len)); + int32_t *(*x_inline) (XDR *__xdrs, int __len); /* buf quick ptr to buffered data */ - void (*x_destroy) __PMT ((XDR *__xdrs)); + void (*x_destroy) (XDR *__xdrs); /* free privates of this xdr_stream */ - bool_t (*x_getint32) __PMT ((XDR *__xdrs, int32_t *__ip)); + bool_t (*x_getint32) (XDR *__xdrs, int32_t *__ip); /* get a int from underlying stream */ - bool_t (*x_putint32) __PMT ((XDR *__xdrs, __const int32_t *__ip)); + bool_t (*x_putint32) (XDR *__xdrs, __const int32_t *__ip); /* put a int to " */ } *x_ops; @@ -153,7 +151,7 @@ struct XDR * allocate dynamic storage of the appropriate size and return it. * bool_t (*xdrproc_t)(XDR *, caddr_t *); */ -typedef bool_t (*xdrproc_t) __PMT ((XDR *, void *,...)); +typedef bool_t (*xdrproc_t) (XDR *, void *,...); /* @@ -288,49 +286,49 @@ struct xdr_discrim * know whether the call is a read or a write to the passed parameter * also, the XDR structure is always updated by some of these calls. */ -extern bool_t xdr_void __P ((void)); -extern bool_t xdr_short __P ((XDR *__xdrs, short *__sp)); -extern bool_t xdr_u_short __P ((XDR *__xdrs, u_short *__usp)); -extern bool_t xdr_int __P ((XDR *__xdrs, int *__ip)); -extern bool_t xdr_u_int __P ((XDR *__xdrs, u_int *__up)); -extern bool_t xdr_long __P ((XDR *__xdrs, long *__lp)); -extern bool_t xdr_u_long __P ((XDR *__xdrs, u_long *__ulp)); -extern bool_t xdr_hyper __P ((XDR *__xdrs, quad_t *__llp)); -extern bool_t xdr_u_hyper __P ((XDR *__xdrs, u_quad_t *__ullp)); -extern bool_t xdr_longlong_t __P ((XDR *__xdrs, quad_t *__llp)); -extern bool_t xdr_u_longlong_t __P ((XDR *__xdrs, u_quad_t *__ullp)); -extern bool_t xdr_int8_t __P ((XDR *__xdrs, int8_t *__ip)); -extern bool_t xdr_uint8_t __P ((XDR *__xdrs, uint8_t *__up)); -extern bool_t xdr_int16_t __P ((XDR *__xdrs, int16_t *__ip)); -extern bool_t xdr_uint16_t __P ((XDR *__xdrs, uint16_t *__up)); -extern bool_t xdr_int32_t __P ((XDR *__xdrs, int32_t *__ip)); -extern bool_t xdr_uint32_t __P ((XDR *__xdrs, uint32_t *__up)); -extern bool_t xdr_int64_t __P ((XDR *__xdrs, int64_t *__ip)); -extern bool_t xdr_uint64_t __P ((XDR *__xdrs, uint64_t *__up)); -extern bool_t xdr_bool __P ((XDR *__xdrs, bool_t *__bp)); -extern bool_t xdr_enum __P ((XDR *__xdrs, enum_t *__ep)); -extern bool_t xdr_array __P ((XDR * _xdrs, caddr_t *__addrp, u_int *__sizep, - u_int __maxsize, u_int __elsize, - xdrproc_t __elproc)); -extern bool_t xdr_bytes __P ((XDR *__xdrs, char **__cpp, u_int *__sizep, - u_int __maxsize)); -extern bool_t xdr_opaque __P ((XDR *__xdrs, caddr_t __cp, u_int __cnt)); -extern bool_t xdr_string __P ((XDR *__xdrs, char **__cpp, u_int __maxsize)); -extern bool_t xdr_union __P ((XDR *__xdrs, enum_t *__dscmp, char *__unp, - __const struct xdr_discrim *__choices, - xdrproc_t dfault)); -extern bool_t xdr_char __P ((XDR *__xdrs, char *__cp)); -extern bool_t xdr_u_char __P ((XDR *__xdrs, u_char *__cp)); -extern bool_t xdr_vector __P ((XDR *__xdrs, char *__basep, u_int __nelem, - u_int __elemsize, xdrproc_t __xdr_elem)); -extern bool_t xdr_float __P ((XDR *__xdrs, float *__fp)); -extern bool_t xdr_double __P ((XDR *__xdrs, double *__dp)); -extern bool_t xdr_reference __P ((XDR *__xdrs, caddr_t *__xpp, u_int __size, - xdrproc_t __proc)); -extern bool_t xdr_pointer __P ((XDR *__xdrs, char **__objpp, - u_int __obj_size, xdrproc_t __xdr_obj)); -extern bool_t xdr_wrapstring __P ((XDR *__xdrs, char **__cpp)); -extern u_long xdr_sizeof __P ((xdrproc_t, void *)); +extern bool_t xdr_void (void) __THROW; +extern bool_t xdr_short (XDR *__xdrs, short *__sp) __THROW; +extern bool_t xdr_u_short (XDR *__xdrs, u_short *__usp) __THROW; +extern bool_t xdr_int (XDR *__xdrs, int *__ip) __THROW; +extern bool_t xdr_u_int (XDR *__xdrs, u_int *__up) __THROW; +extern bool_t xdr_long (XDR *__xdrs, long *__lp) __THROW; +extern bool_t xdr_u_long (XDR *__xdrs, u_long *__ulp) __THROW; +extern bool_t xdr_hyper (XDR *__xdrs, quad_t *__llp) __THROW; +extern bool_t xdr_u_hyper (XDR *__xdrs, u_quad_t *__ullp) __THROW; +extern bool_t xdr_longlong_t (XDR *__xdrs, quad_t *__llp) __THROW; +extern bool_t xdr_u_longlong_t (XDR *__xdrs, u_quad_t *__ullp) __THROW; +extern bool_t xdr_int8_t (XDR *__xdrs, int8_t *__ip) __THROW; +extern bool_t xdr_uint8_t (XDR *__xdrs, uint8_t *__up) __THROW; +extern bool_t xdr_int16_t (XDR *__xdrs, int16_t *__ip) __THROW; +extern bool_t xdr_uint16_t (XDR *__xdrs, uint16_t *__up) __THROW; +extern bool_t xdr_int32_t (XDR *__xdrs, int32_t *__ip) __THROW; +extern bool_t xdr_uint32_t (XDR *__xdrs, uint32_t *__up) __THROW; +extern bool_t xdr_int64_t (XDR *__xdrs, int64_t *__ip) __THROW; +extern bool_t xdr_uint64_t (XDR *__xdrs, uint64_t *__up) __THROW; +extern bool_t xdr_bool (XDR *__xdrs, bool_t *__bp) __THROW; +extern bool_t xdr_enum (XDR *__xdrs, enum_t *__ep) __THROW; +extern bool_t xdr_array (XDR * _xdrs, caddr_t *__addrp, u_int *__sizep, + u_int __maxsize, u_int __elsize, xdrproc_t __elproc) + __THROW; +extern bool_t xdr_bytes (XDR *__xdrs, char **__cpp, u_int *__sizep, + u_int __maxsize) __THROW; +extern bool_t xdr_opaque (XDR *__xdrs, caddr_t __cp, u_int __cnt) __THROW; +extern bool_t xdr_string (XDR *__xdrs, char **__cpp, u_int __maxsize) __THROW; +extern bool_t xdr_union (XDR *__xdrs, enum_t *__dscmp, char *__unp, + __const struct xdr_discrim *__choices, + xdrproc_t dfault) __THROW; +extern bool_t xdr_char (XDR *__xdrs, char *__cp) __THROW; +extern bool_t xdr_u_char (XDR *__xdrs, u_char *__cp) __THROW; +extern bool_t xdr_vector (XDR *__xdrs, char *__basep, u_int __nelem, + u_int __elemsize, xdrproc_t __xdr_elem) __THROW; +extern bool_t xdr_float (XDR *__xdrs, float *__fp) __THROW; +extern bool_t xdr_double (XDR *__xdrs, double *__dp) __THROW; +extern bool_t xdr_reference (XDR *__xdrs, caddr_t *__xpp, u_int __size, + xdrproc_t __proc) __THROW; +extern bool_t xdr_pointer (XDR *__xdrs, char **__objpp, + u_int __obj_size, xdrproc_t __xdr_obj) __THROW; +extern bool_t xdr_wrapstring (XDR *__xdrs, char **__cpp) __THROW; +extern u_long xdr_sizeof (xdrproc_t, void *) __THROW; /* * Common opaque bytes objects used by many rpc protocols; @@ -343,7 +341,7 @@ struct netobj char *n_bytes; }; typedef struct netobj netobj; -extern bool_t xdr_netobj __P ((XDR *__xdrs, struct netobj *__np)); +extern bool_t xdr_netobj (XDR *__xdrs, struct netobj *__np) __THROW; /* * These are the public routines for the various implementations of @@ -351,30 +349,30 @@ extern bool_t xdr_netobj __P ((XDR *__xdrs, struct netobj *__np)); */ /* XDR using memory buffers */ -extern void xdrmem_create __P ((XDR *__xdrs, __const caddr_t __addr, - u_int __size, enum xdr_op __xop)); +extern void xdrmem_create (XDR *__xdrs, __const caddr_t __addr, + u_int __size, enum xdr_op __xop) __THROW; /* XDR using stdio library */ -extern void xdrstdio_create __P ((XDR *__xdrs, FILE *__file, - enum xdr_op __xop)); +extern void xdrstdio_create (XDR *__xdrs, FILE *__file, enum xdr_op __xop) + __THROW; /* XDR pseudo records for tcp */ -extern void xdrrec_create __P ((XDR *__xdrs, u_int __sendsize, - u_int __recvsize, caddr_t __tcp_handle, - int (*__readit) (char *, char *, int), - int (*__writeit) (char *, char *, int))); +extern void xdrrec_create (XDR *__xdrs, u_int __sendsize, + u_int __recvsize, caddr_t __tcp_handle, + int (*__readit) (char *, char *, int), + int (*__writeit) (char *, char *, int)) __THROW; /* make end of xdr record */ -extern bool_t xdrrec_endofrecord __P ((XDR *__xdrs, bool_t __sendnow)); +extern bool_t xdrrec_endofrecord (XDR *__xdrs, bool_t __sendnow) __THROW; /* move to beginning of next record */ -extern bool_t xdrrec_skiprecord __P ((XDR *__xdrs)); +extern bool_t xdrrec_skiprecord (XDR *__xdrs) __THROW; /* true if no more input */ -extern bool_t xdrrec_eof __P ((XDR *__xdrs)); +extern bool_t xdrrec_eof (XDR *__xdrs) __THROW; /* free memory buffers for xdr */ -extern void xdr_free __P ((xdrproc_t __proc, char *__objp)); +extern void xdr_free (xdrproc_t __proc, char *__objp) __THROW; __END_DECLS |