From c421331febf986440865e017b6fbe5e9ef7577eb Mon Sep 17 00:00:00 2001 From: Tom Yu Date: Wed, 14 Aug 1996 00:01:53 +0000 Subject: * getrpcent.c: Add PROTOTYPE and conditionalize function prototypes. * xdr.h: Add PROTOTYPE and conditionalize function prototypes. * svc_auth_gssapi.c: Remove ANSI string concatenation, de-ANSI-fy function definitions. * auth_gssapi_misc.c (auth_gssapi_display_status_1): Remove ANSI string concatenation, de-ANSI-fy function definitions. * auth_gssapi.h: Add PROTOTYPE and conditionalize function prototypes. * auth_gssapi.c (auth_gssapi_create): remove ANSI-ish string concatenation, de-ANSI-fy function definitions. git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@8935 dc483132-0cff-0310-8789-dd5450dbe970 --- src/lib/rpc/ChangeLog | 19 ++++++ src/lib/rpc/auth_gssapi.c | 61 ++++++++++++----- src/lib/rpc/auth_gssapi.h | 145 ++++++++++++++++++++++++++++------------- src/lib/rpc/auth_gssapi_misc.c | 38 +++++++++-- src/lib/rpc/getrpcent.c | 17 ++++- src/lib/rpc/svc_auth_gssapi.c | 64 +++++++++++++----- src/lib/rpc/xdr.h | 83 ++++++++++++++++------- 7 files changed, 317 insertions(+), 110 deletions(-) (limited to 'src/lib') diff --git a/src/lib/rpc/ChangeLog b/src/lib/rpc/ChangeLog index 55897e8a0..3add15aaf 100644 --- a/src/lib/rpc/ChangeLog +++ b/src/lib/rpc/ChangeLog @@ -1,3 +1,22 @@ +Tue Aug 13 15:18:16 1996 Tom Yu + + * getrpcent.c: Add PROTOTYPE and conditionalize function + prototypes. + + * xdr.h: Add PROTOTYPE and conditionalize function prototypes. + + * svc_auth_gssapi.c: Remove ANSI string concatenation, de-ANSI-fy + function definitions. + + * auth_gssapi_misc.c (auth_gssapi_display_status_1): Remove ANSI + string concatenation, de-ANSI-fy function definitions. + + * auth_gssapi.h: Add PROTOTYPE and conditionalize function + prototypes. + + * auth_gssapi.c (auth_gssapi_create): remove ANSI-ish string + concatenation, de-ANSI-fy function definitions. + Thu Aug 8 15:30:01 1996 Tom Yu * configure.in, types.hin: Change search for struct rpcent yet diff --git a/src/lib/rpc/auth_gssapi.c b/src/lib/rpc/auth_gssapi.c index 0ffe96d18..fd04ec83e 100644 --- a/src/lib/rpc/auth_gssapi.c +++ b/src/lib/rpc/auth_gssapi.c @@ -4,6 +4,24 @@ * $Header$ * * $Log$ + * Revision 1.24 1996/08/14 00:01:30 tlyu + * * getrpcent.c: Add PROTOTYPE and conditionalize function + * prototypes. + * + * * xdr.h: Add PROTOTYPE and conditionalize function prototypes. + * + * * svc_auth_gssapi.c: Remove ANSI string concatenation, de-ANSI-fy + * function definitions. + * + * * auth_gssapi_misc.c (auth_gssapi_display_status_1): Remove ANSI + * string concatenation, de-ANSI-fy function definitions. + * + * * auth_gssapi.h: Add PROTOTYPE and conditionalize function + * prototypes. + * + * * auth_gssapi.c (auth_gssapi_create): remove ANSI-ish string + * concatenation, de-ANSI-fy function definitions. + * * Revision 1.23 1996/07/22 20:39:39 marc * this commit includes all the changes on the OV_9510_INTEGRATION and * OV_MERGE branches. This includes, but is not limited to, the new openvision @@ -183,7 +201,9 @@ extern struct rpc_createerr rpc_createerr; * * Effects: See design document, section XXX. */ -AUTH *auth_gssapi_create_default(CLIENT *clnt, char *service_name) +AUTH *auth_gssapi_create_default(clnt, service_name) + CLIENT *clnt; + char *service_name; { AUTH *auth; OM_uint32 gssstat, minor_stat; @@ -227,17 +247,26 @@ AUTH *auth_gssapi_create_default(CLIENT *clnt, char *service_name) * * Effects: See design document, section XXX. */ -AUTH *auth_gssapi_create(CLIENT *clnt, - OM_uint32 *gssstat, - OM_uint32 *minor_stat, - gss_cred_id_t claimant_cred_handle, - gss_name_t target_name, - gss_OID mech_type, - int req_flags, - OM_uint32 time_req, - gss_OID *actual_mech_type, - int *ret_flags, - OM_uint32 *time_rec) +AUTH *auth_gssapi_create(clnt, gssstat, minor_stat, + claimant_cred_handle, + target_name, + mech_type, + req_flags, + time_req, + actual_mech_type, + ret_flags, + time_rec) + CLIENT *clnt; + OM_uint32 *gssstat; + OM_uint32 *minor_stat; + gss_cred_id_t claimant_cred_handle; + gss_name_t target_name; + gss_OID mech_type; + int req_flags; + OM_uint32 time_req; + gss_OID *actual_mech_type; + int *ret_flags; + OM_uint32 *time_rec; { AUTH *auth, *save_auth; struct auth_gssapi_data *pdata; @@ -376,8 +405,8 @@ next_token: if (callstat == RPC_AUTHERROR && (err.re_why == AUTH_BADCRED || err.re_why == AUTH_FAILED) && call_arg.version >= 1) { - L_PRINTF(1, ("call_arg protocol " - "version %d rejected, trying %d.\n", + L_PRINTF(1, + ("call_arg protocol version %d rejected, trying %d.\n", call_arg.version, call_arg.version-1)); call_arg.version--; goto try_new_version; @@ -396,8 +425,8 @@ next_token: * understand */ if (call_arg.version > 2 && call_res.version == 1) { - L_PRINTF(1, ("Talking to Secure 1.1 server, " - "using version 1.\n")); + L_PRINTF(1, + ("Talking to Secure 1.1 server, using version 1.\n")); call_arg.version = 1; goto try_new_version; } diff --git a/src/lib/rpc/auth_gssapi.h b/src/lib/rpc/auth_gssapi.h index 9092149a5..88b7e46ce 100644 --- a/src/lib/rpc/auth_gssapi.h +++ b/src/lib/rpc/auth_gssapi.h @@ -7,6 +7,24 @@ * $Source$ * * $Log$ + * Revision 1.19 1996/08/14 00:01:34 tlyu + * * getrpcent.c: Add PROTOTYPE and conditionalize function + * prototypes. + * + * * xdr.h: Add PROTOTYPE and conditionalize function prototypes. + * + * * svc_auth_gssapi.c: Remove ANSI string concatenation, de-ANSI-fy + * function definitions. + * + * * auth_gssapi_misc.c (auth_gssapi_display_status_1): Remove ANSI + * string concatenation, de-ANSI-fy function definitions. + * + * * auth_gssapi.h: Add PROTOTYPE and conditionalize function + * prototypes. + * + * * auth_gssapi.c (auth_gssapi_create): remove ANSI-ish string + * concatenation, de-ANSI-fy function definitions. + * * Revision 1.18 1996/07/22 20:39:41 marc * this commit includes all the changes on the OV_9510_INTEGRATION and * OV_MERGE branches. This includes, but is not limited to, the new openvision @@ -69,6 +87,27 @@ #define AUTH_GSSAPI_MSG 3 #define AUTH_GSSAPI_DESTROY 4 +/* + * Yuck. Some sys/types.h files leak symbols + */ +#ifdef major +#undef major +#endif +#ifdef minor +#undef minor +#endif + +/* + * Make sure we have a definition for PROTOTYPE. + */ +#if !defined(PROTOTYPE) +#if defined(__STDC__) || defined(_MSDOS) || defined(_WIN32) || defined(__ultrix) +#define PROTOTYPE(x) x +#else +#define PROTOTYPE(x) () +#endif +#endif + typedef struct _auth_gssapi_name { char *name; gss_OID type; @@ -93,59 +132,71 @@ typedef struct _auth_gssapi_init_res { gss_buffer_desc signed_isn; } auth_gssapi_init_res; -typedef void (*auth_gssapi_log_badauth_func)(OM_uint32 major, - OM_uint32 minor, - struct sockaddr_in *raddr, - caddr_t data); +typedef void (*auth_gssapi_log_badauth_func) + PROTOTYPE((OM_uint32 major, + OM_uint32 minor, + struct sockaddr_in *raddr, + caddr_t data)); -typedef void (*auth_gssapi_log_badverf_func)(gss_name_t client, - gss_name_t server, - struct svc_req *rqst, - struct rpc_msg *msg, - caddr_t data); - -typedef void (*auth_gssapi_log_miscerr_func)(struct svc_req *rqst, - struct rpc_msg *msg, - char *error, - caddr_t data); +typedef void (*auth_gssapi_log_badverf_func) + PROTOTYPE((gss_name_t client, + gss_name_t server, + struct svc_req *rqst, + struct rpc_msg *msg, + caddr_t data)); + +typedef void (*auth_gssapi_log_miscerr_func) + PROTOTYPE((struct svc_req *rqst, + struct rpc_msg *msg, + char *error, + caddr_t data)); bool_t xdr_authgssapi_creds(); bool_t xdr_authgssapi_init_arg(); bool_t xdr_authgssapi_init_res(); -bool_t auth_gssapi_wrap_data(OM_uint32 *major, OM_uint32 *minor, - gss_ctx_id_t context, rpc_u_int32 seq_num, XDR - *out_xdrs, bool_t (*xdr_func)(), caddr_t - xdr_ptr); -bool_t auth_gssapi_unwrap_data(OM_uint32 *major, OM_uint32 *minor, - gss_ctx_id_t context, rpc_u_int32 seq_num, XDR - *in_xdrs, bool_t (*xdr_func)(), caddr_t - xdr_ptr); - -AUTH *auth_gssapi_create(CLIENT *clnt, - OM_uint32 *major_status, - OM_uint32 *minor_status, - gss_cred_id_t claimant_cred_handle, - gss_name_t target_name, - gss_OID mech_type, - int req_flags, - OM_uint32 time_req, - gss_OID *actual_mech_type, - int *ret_flags, - OM_uint32 *time_rec); - -AUTH *auth_gssapi_create_default(CLIENT *clnt, char *service_name); - -void auth_gssapi_display_status(char *msg, OM_uint32 major, - OM_uint32 minor); -bool_t _svcauth_gssapi_set_name(char *name, gss_OID name_type); - -void _svcauth_set_log_badauth_func(auth_gssapi_log_badauth_func func, - caddr_t data); -void _svcauth_set_log_badverf_func(auth_gssapi_log_badverf_func func, - caddr_t data); -void _svcauth_set_log_miscerr_func(auth_gssapi_log_miscerr_func func, - caddr_t data); +bool_t auth_gssapi_wrap_data +PROTOTYPE((OM_uint32 *major, OM_uint32 *minor, + gss_ctx_id_t context, rpc_u_int32 seq_num, XDR + *out_xdrs, bool_t (*xdr_func)(), caddr_t + xdr_ptr)); +bool_t auth_gssapi_unwrap_data +PROTOTYPE((OM_uint32 *major, OM_uint32 *minor, + gss_ctx_id_t context, rpc_u_int32 seq_num, XDR + *in_xdrs, bool_t (*xdr_func)(), caddr_t + xdr_ptr)); + +AUTH *auth_gssapi_create +PROTOTYPE((CLIENT *clnt, + OM_uint32 *major_status, + OM_uint32 *minor_status, + gss_cred_id_t claimant_cred_handle, + gss_name_t target_name, + gss_OID mech_type, + int req_flags, + OM_uint32 time_req, + gss_OID *actual_mech_type, + int *ret_flags, + OM_uint32 *time_rec)); + +AUTH *auth_gssapi_create_default +PROTOTYPE((CLIENT *clnt, char *service_name)); + +void auth_gssapi_display_status +PROTOTYPE((char *msg, OM_uint32 major, + OM_uint32 minor)); +bool_t _svcauth_gssapi_set_name +PROTOTYPE((char *name, gss_OID name_type)); + +void _svcauth_set_log_badauth_func +PROTOTYPE((auth_gssapi_log_badauth_func func, + caddr_t data)); +void _svcauth_set_log_badverf_func +PROTOTYPE((auth_gssapi_log_badverf_func func, + caddr_t data)); +void _svcauth_set_log_miscerr_func +PROTOTYPE((auth_gssapi_log_miscerr_func func, + caddr_t data)); #define GSS_COPY_BUFFER(dest, src) { \ (dest).length = (src).length; \ diff --git a/src/lib/rpc/auth_gssapi_misc.c b/src/lib/rpc/auth_gssapi_misc.c index bd7b6e5a3..b1e78b968 100644 --- a/src/lib/rpc/auth_gssapi_misc.c +++ b/src/lib/rpc/auth_gssapi_misc.c @@ -4,6 +4,24 @@ * $Header$ * * $Log$ + * Revision 1.15 1996/08/14 00:01:37 tlyu + * * getrpcent.c: Add PROTOTYPE and conditionalize function + * prototypes. + * + * * xdr.h: Add PROTOTYPE and conditionalize function prototypes. + * + * * svc_auth_gssapi.c: Remove ANSI string concatenation, de-ANSI-fy + * function definitions. + * + * * auth_gssapi_misc.c (auth_gssapi_display_status_1): Remove ANSI + * string concatenation, de-ANSI-fy function definitions. + * + * * auth_gssapi.h: Add PROTOTYPE and conditionalize function + * prototypes. + * + * * auth_gssapi.c (auth_gssapi_create): remove ANSI-ish string + * concatenation, de-ANSI-fy function definitions. + * * Revision 1.14 1996/07/22 20:39:44 marc * this commit includes all the changes on the OV_9510_INTEGRATION and * OV_MERGE branches. This includes, but is not limited to, the new openvision @@ -109,7 +127,8 @@ int misc_debug_gssapi = DEBUG_GSSAPI; #define AUTH_GSSAPI_DISPLAY_STATUS(args) #endif -static void auth_gssapi_display_status_1(char *, OM_uint32, int, int); +static void auth_gssapi_display_status_1 + PROTOTYPE((char *, OM_uint32, int, int)); bool_t xdr_gss_buf(xdrs, buf) XDR *xdrs; @@ -216,14 +235,20 @@ bool_t auth_gssapi_unseal_seq(context, in_buf, seq_num) return TRUE; } -void auth_gssapi_display_status(char *msg, OM_uint32 major, OM_uint32 minor) +void auth_gssapi_display_status(msg, major, minor) + char *msg; + OM_uint32 major; + OM_uint32 minor; { auth_gssapi_display_status_1(msg, major, GSS_C_GSS_CODE, 0); auth_gssapi_display_status_1(msg, minor, GSS_C_MECH_CODE, 0); } -static void auth_gssapi_display_status_1(char *m, OM_uint32 code, int type, - int rec) +static void auth_gssapi_display_status_1(m, code, type, rec) + char *m; + OM_uint32 code; + int type; + int rec; { OM_uint32 gssstat, minor_stat; gss_buffer_desc msg; @@ -240,8 +265,9 @@ static void auth_gssapi_display_status_1(char *m, OM_uint32 code, int type, auth_gssapi_display_status_1(m, minor_stat, GSS_C_MECH_CODE, 1); } else - fprintf(stderr,"GSS-API authentication error %s: " - "recursive failure!\n", msg); + fprintf(stderr, + "GSS-API authentication error %s: recursive failure!\n", + msg); return; } diff --git a/src/lib/rpc/getrpcent.c b/src/lib/rpc/getrpcent.c index d70196041..d30f276f3 100644 --- a/src/lib/rpc/getrpcent.c +++ b/src/lib/rpc/getrpcent.c @@ -58,8 +58,21 @@ static char sccsid[] = "@(#)getrpcent.c 1.9 87/08/11 Copyr 1984 Sun Micro"; #define ENDRPCENT_TYPE int #endif -SETRPCENT_TYPE setrpcent(int); -ENDRPCENT_TYPE endrpcent(void); +/* + * Make sure we have a definition for PROTOTYPE. + */ +#if !defined(PROTOTYPE) +#if defined(__STDC__) || defined(_MSDOS) || defined(_WIN32) || defined(__ultrix) +#define PROTOTYPE(x) x +#else +#define PROTOTYPE(x) () +#endif +#endif + +SETRPCENT_TYPE setrpcent +PROTOTYPE((int)); +ENDRPCENT_TYPE endrpcent +PROTOTYPE((void)); /* * Internet version. diff --git a/src/lib/rpc/svc_auth_gssapi.c b/src/lib/rpc/svc_auth_gssapi.c index dbfefdbeb..b65996abc 100644 --- a/src/lib/rpc/svc_auth_gssapi.c +++ b/src/lib/rpc/svc_auth_gssapi.c @@ -5,6 +5,24 @@ * $Source$ * * $Log$ + * Revision 1.39 1996/08/14 00:01:48 tlyu + * * getrpcent.c: Add PROTOTYPE and conditionalize function + * prototypes. + * + * * xdr.h: Add PROTOTYPE and conditionalize function prototypes. + * + * * svc_auth_gssapi.c: Remove ANSI string concatenation, de-ANSI-fy + * function definitions. + * + * * auth_gssapi_misc.c (auth_gssapi_display_status_1): Remove ANSI + * string concatenation, de-ANSI-fy function definitions. + * + * * auth_gssapi.h: Add PROTOTYPE and conditionalize function + * prototypes. + * + * * auth_gssapi.c (auth_gssapi_create): remove ANSI-ish string + * concatenation, de-ANSI-fy function definitions. + * * Revision 1.38 1996/07/30 23:25:37 tlyu * * svc_auth_gssapi.c: #include before (to * get sys/types.h. @@ -231,11 +249,15 @@ typedef struct _svc_auth_gssapi_data { static bool_t svc_auth_gssapi_wrap(); static bool_t svc_auth_gssapi_unwrap(); static svc_auth_gssapi_data *create_client(); -static svc_auth_gssapi_data *get_client(gss_buffer_t client_handle); -static void destroy_client(svc_auth_gssapi_data *client_data); +static svc_auth_gssapi_data *get_client +PROTOTYPE((gss_buffer_t client_handle)); +static void destroy_client +PROTOTYPE((svc_auth_gssapi_data *client_data)); static void clean_client(), cleanup(); -static void client_expire(svc_auth_gssapi_data *client_data, rpc_u_int32 exp); -static void dump_db(char *msg); +static void client_expire +PROTOTYPE((svc_auth_gssapi_data *client_data, rpc_u_int32 exp)); +static void dump_db +PROTOTYPE((char *msg)); struct svc_auth_ops svc_auth_gssapi_ops = { svc_auth_gssapi_wrap, @@ -320,9 +342,8 @@ enum auth_stat _svcauth_gssapi(rqst, msg, no_dispatch) } XDR_DESTROY(&xdrs); - PRINTF(("svcauth_gssapi: got credentials, version %d, " - "client_handle len %d\n", creds.version, - creds.client_handle.length)); + PRINTF(("svcauth_gssapi: got credentials, version %d, client_handle len %d\n", + creds.version, creds.client_handle.length)); if (creds.version != 2) { PRINTF(("svcauth_gssapi: bad credential version\n")); @@ -861,7 +882,9 @@ static svc_auth_gssapi_data *create_client() * would break the rep invariant. Now the database is an unsorted * linked list, so it doesn't matter. */ -static void client_expire(svc_auth_gssapi_data *client_data, rpc_u_int32 exp) +static void client_expire(client_data, exp) + svc_auth_gssapi_data *client_data; + rpc_u_int32 exp; { client_data->expiration = exp; } @@ -882,7 +905,8 @@ static void client_expire(svc_auth_gssapi_data *client_data, rpc_u_int32 exp) * matches the contents of client_handle, or returns NULL if none was * found. */ -static svc_auth_gssapi_data *get_client(gss_buffer_t client_handle) +static svc_auth_gssapi_data *get_client(client_handle) + gss_buffer_t client_handle; { client_list *c; rpc_u_int32 handle; @@ -917,7 +941,8 @@ static svc_auth_gssapi_data *get_client(gss_buffer_t client_handle) * client_data's entry in the database is destroyed. client_data is * freed. */ -static void destroy_client(svc_auth_gssapi_data *client_data) +static void destroy_client(client_data) + svc_auth_gssapi_data *client_data; { OM_uint32 gssstat, minor_stat; gss_buffer_desc out_buf; @@ -978,7 +1003,8 @@ done: #endif } -static void dump_db(char *msg) +static void dump_db(msg) + char *msg; { svc_auth_gssapi_data *client_data; client_list *c; @@ -1032,7 +1058,9 @@ done: * * See functional specifications. */ -bool_t _svcauth_gssapi_set_names(auth_gssapi_name *names, int num) +bool_t _svcauth_gssapi_set_names(names, num) + auth_gssapi_name *names; + int num; { OM_uint32 gssstat, minor_stat; gss_buffer_desc in_buf; @@ -1097,7 +1125,9 @@ fail: * See functional specifications. */ void _svcauth_gssapi_set_log_badauth_func - (auth_gssapi_log_badauth_func func, caddr_t data) + (func, data) + auth_gssapi_log_badauth_func func; + caddr_t data; { log_badauth = func; log_badauth_data = data; @@ -1112,7 +1142,9 @@ void _svcauth_gssapi_set_log_badauth_func * See functional specifications. */ void _svcauth_gssapi_set_log_badverf_func - (auth_gssapi_log_badverf_func func, caddr_t data) + (func, data) + auth_gssapi_log_badverf_func func; + caddr_t data; { log_badverf = func; log_badverf_data = data; @@ -1127,7 +1159,9 @@ void _svcauth_gssapi_set_log_badverf_func * See functional specifications. */ void _svcauth_gssapi_set_log_miscerr_func - (auth_gssapi_log_miscerr_func func, caddr_t data) + (func, data) + auth_gssapi_log_miscerr_func func; + caddr_t data; { log_miscerr = func; log_miscerr_data = data; diff --git a/src/lib/rpc/xdr.h b/src/lib/rpc/xdr.h index 9f0819b61..fbc5fc2f1 100644 --- a/src/lib/rpc/xdr.h +++ b/src/lib/rpc/xdr.h @@ -38,6 +38,17 @@ #ifndef __XDR_HEADER__ #define __XDR_HEADER__ +/* + * Make sure we have a definition for PROTOTYPE. + */ +#if !defined(PROTOTYPE) +#if defined(__STDC__) || defined(_MSDOS) || defined(_WIN32) || defined(__ultrix) +#define PROTOTYPE(x) x +#else +#define PROTOTYPE(x) () +#endif +#endif + /* * XDR provides a conventional way for converting between C data * types and an external bit-string representation. Library supplied @@ -222,27 +233,48 @@ struct xdr_discrim { * These are the "generic" xdr routines. */ extern bool_t xdr_void(); -extern bool_t xdr_int(XDR *, int *); -extern bool_t xdr_u_int(XDR *, unsigned int *); -extern bool_t xdr_long(XDR *, long *); -extern bool_t xdr_u_long(XDR *, unsigned long *); -extern bool_t xdr_short(XDR *, short *); -extern bool_t xdr_u_short(XDR *, unsigned short *); -extern bool_t xdr_bool(XDR *, bool_t *); -extern bool_t xdr_enum(XDR *, enum_t *); -extern bool_t xdr_array(XDR *, caddr_t *, unsigned int*, unsigned int, unsigned int, xdrproc_t); -extern bool_t xdr_bytes(XDR *, char **, unsigned int *, unsigned int); -extern bool_t xdr_opaque(XDR *, caddr_t, unsigned int); -extern bool_t xdr_string(XDR *, char **, unsigned int); -extern bool_t xdr_union(XDR *, enum_t *, char *, struct xdr_discrim *, xdrproc_t); -extern bool_t xdr_char(XDR *, char *); -extern bool_t xdr_u_char(XDR *, char *); -extern bool_t xdr_vector(XDR *, char *, unsigned int, unsigned int, xdrproc_t); -extern bool_t xdr_float(XDR *, float *); -extern bool_t xdr_double(XDR *, double *); -extern bool_t xdr_reference(XDR *, caddr_t *, unsigned int, xdrproc_t); -extern bool_t xdr_pointer(XDR *, char **, unsigned int, xdrproc_t); -extern bool_t xdr_wrapstring(XDR *, char **); +extern bool_t xdr_int +PROTOTYPE((XDR *, int *)); +extern bool_t xdr_u_int +PROTOTYPE((XDR *, unsigned int *)); +extern bool_t xdr_long +PROTOTYPE((XDR *, long *)); +extern bool_t xdr_u_long +PROTOTYPE((XDR *, unsigned long *)); +extern bool_t xdr_short +PROTOTYPE((XDR *, short *)); +extern bool_t xdr_u_short +PROTOTYPE((XDR *, unsigned short *)); +extern bool_t xdr_bool +PROTOTYPE((XDR *, bool_t *)); +extern bool_t xdr_enum +PROTOTYPE((XDR *, enum_t *)); +extern bool_t xdr_array +PROTOTYPE((XDR *, caddr_t *, unsigned int*, unsigned int, unsigned int, xdrproc_t)); +extern bool_t xdr_bytes +PROTOTYPE((XDR *, char **, unsigned int *, unsigned int)); +extern bool_t xdr_opaque +PROTOTYPE((XDR *, caddr_t, unsigned int)); +extern bool_t xdr_string +PROTOTYPE((XDR *, char **, unsigned int)); +extern bool_t xdr_union +PROTOTYPE((XDR *, enum_t *, char *, struct xdr_discrim *, xdrproc_t)); +extern bool_t xdr_char +PROTOTYPE((XDR *, char *)); +extern bool_t xdr_u_char +PROTOTYPE((XDR *, char *)); +extern bool_t xdr_vector +PROTOTYPE((XDR *, char *, unsigned int, unsigned int, xdrproc_t)); +extern bool_t xdr_float +PROTOTYPE((XDR *, float *)); +extern bool_t xdr_double +PROTOTYPE((XDR *, double *)); +extern bool_t xdr_reference +PROTOTYPE((XDR *, caddr_t *, unsigned int, xdrproc_t)); +extern bool_t xdr_pointer +PROTOTYPE((XDR *, char **, unsigned int, xdrproc_t)); +extern bool_t xdr_wrapstring +PROTOTYPE((XDR *, char **)); /* * Common opaque bytes objects used by many rpc protocols; @@ -254,10 +286,13 @@ struct netobj { char *n_bytes; }; typedef struct netobj netobj; -extern bool_t xdr_netobj(XDR *, struct netobj *); +extern bool_t xdr_netobj +PROTOTYPE((XDR *, struct netobj *)); -extern bool_t xdr_int32(XDR *, rpc_int32 *); -extern bool_t xdr_u_int32(XDR *, rpc_u_int32 *); +extern bool_t xdr_int32 +PROTOTYPE((XDR *, rpc_int32 *)); +extern bool_t xdr_u_int32 +PROTOTYPE((XDR *, rpc_u_int32 *)); /* * These are the public routines for the various implementations of -- cgit