* getrpcent.c: Add PROTOTYPE and conditionalize function
authorTom Yu <tlyu@mit.edu>
Wed, 14 Aug 1996 00:01:53 +0000 (00:01 +0000)
committerTom Yu <tlyu@mit.edu>
Wed, 14 Aug 1996 00:01:53 +0000 (00:01 +0000)
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
src/lib/rpc/auth_gssapi.c
src/lib/rpc/auth_gssapi.h
src/lib/rpc/auth_gssapi_misc.c
src/lib/rpc/getrpcent.c
src/lib/rpc/svc_auth_gssapi.c
src/lib/rpc/xdr.h

index 55897e8a0d90a424280f1803e683657c1e9f97f4..3add15aaf24aed1e42bbd7e54a66a8c944857034 100644 (file)
@@ -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
index 0ffe96d1884239c91ec430ff7e9fde547fe93b1a..fd04ec83efa5f66af4f63550b4d4b03c7d039d25 100644 (file)
@@ -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;
               }
index 9092149a55f0a3e9f820c47021dd1199a75ec01e..88b7e46ce506f609f3fa1fb3bca978102d70520a 100644 (file)
@@ -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
 #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; \
index bd7b6e5a3f9405e9a3b313eb4f0febe45d3c023e..b1e78b968f4c443c43166fef939d6f7a69c618a3 100644 (file)
@@ -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;
          }
          
index d701960412f701c9460d296edb1c3cae0ed7ec65..d30f276f3f58ab33cb9b759181abd01aab426c89 100644 (file)
@@ -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.
index dbfefdbeb428aadd7d999d95ccbfd6adf5ed22e3..b65996abc2fa18a196fb6e7258c0eddab775ac47 100644 (file)
@@ -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;
index 9f0819b61abd761daab9aceab9c1f4928840cc6c..fbc5fc2f1a7e40b44be1d372f85222bc3b2fd2fa 100644 (file)
 #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