aboutsummaryrefslogtreecommitdiff
path: root/src/lib/rpc
diff options
context:
space:
mode:
authorTom Yu <tlyu@mit.edu>1996-08-14 00:01:53 +0000
committerTom Yu <tlyu@mit.edu>1996-08-14 00:01:53 +0000
commitc421331febf986440865e017b6fbe5e9ef7577eb (patch)
treeb864c2c79d5930b39ffe3b80ede9d7b515c42c05 /src/lib/rpc
parentbb24f3beb3494b673a0ee187ea5225c21656357e (diff)
downloadkrb5-c421331febf986440865e017b6fbe5e9ef7577eb.zip
krb5-c421331febf986440865e017b6fbe5e9ef7577eb.tar.gz
krb5-c421331febf986440865e017b6fbe5e9ef7577eb.tar.bz2
* 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
Diffstat (limited to 'src/lib/rpc')
-rw-r--r--src/lib/rpc/ChangeLog19
-rw-r--r--src/lib/rpc/auth_gssapi.c61
-rw-r--r--src/lib/rpc/auth_gssapi.h145
-rw-r--r--src/lib/rpc/auth_gssapi_misc.c38
-rw-r--r--src/lib/rpc/getrpcent.c17
-rw-r--r--src/lib/rpc/svc_auth_gssapi.c64
-rw-r--r--src/lib/rpc/xdr.h83
7 files changed, 317 insertions, 110 deletions
diff --git a/src/lib/rpc/ChangeLog b/src/lib/rpc/ChangeLog
index 55897e8..3add15a 100644
--- a/src/lib/rpc/ChangeLog
+++ b/src/lib/rpc/ChangeLog
@@ -1,3 +1,22 @@
+Tue Aug 13 15:18:16 1996 Tom Yu <tlyu@mit.edu>
+
+ * 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 <tlyu@voltage-multiplier.mit.edu>
* 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 0ffe96d..fd04ec8 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 9092149..88b7e46 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 bd7b6e5..b1e78b9 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 d701960..d30f276 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 dbfefdb..b65996a 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 <rpc/rpc.h> before <sys/stat.h> (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 9f0819b..fbc5fc2 100644
--- a/src/lib/rpc/xdr.h
+++ b/src/lib/rpc/xdr.h
@@ -39,6 +39,17 @@
#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
* routines provide for the conversion on built-in C data types. These
@@ -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