Browse Source

remove RPC implementation

The included RPC implementation is ipv4 only.
Other C library projects have either deprecated the internal
RPC implementation (GNU C Library) or never implemented such
functionality (musl C Library). The latest rpcbind release (0.2.4)
checks for libtirpc and does not allow to be build with uClibc-ng
RPC without patching. The common use case for RPC nowadays is to
use rpcbind together with nfs-utils to provide NFS server or client
support to a system.

The included RPC implementation does create issues with duplicate
symbol failures when statically compiling with RPC enabled.
Waldemar Brodkorb 4 years ago
parent
commit
a1a8064169
77 changed files with 1 additions and 15332 deletions
  1. 1 5
      Makefile.in
  2. 0 30
      extra/Configs/Config.in
  3. 0 5
      include/netdb.h
  4. 0 3
      include/protocols/timed.h
  5. 0 225
      include/rpc/auth.h
  6. 0 115
      include/rpc/auth_des.h
  7. 0 91
      include/rpc/auth_unix.h
  8. 0 433
      include/rpc/clnt.h
  9. 0 97
      include/rpc/des_crypt.h
  10. 0 346
      include/rpc/key_prot.h
  11. 0 79
      include/rpc/netdb.h
  12. 0 101
      include/rpc/pmap_clnt.h
  13. 0 110
      include/rpc/pmap_prot.h
  14. 0 71
      include/rpc/pmap_rmt.h
  15. 0 101
      include/rpc/rpc.h
  16. 0 72
      include/rpc/rpc_des.h
  17. 0 226
      include/rpc/rpc_msg.h
  18. 0 330
      include/rpc/svc.h
  19. 0 55
      include/rpc/svc_auth.h
  20. 0 95
      include/rpc/types.h
  21. 0 405
      include/rpc/xdr.h
  22. 0 2
      libc/inet/Makefile.in
  23. 0 33
      libc/inet/rpc/.indent.pro
  24. 0 13
      libc/inet/rpc/Makefile
  25. 0 42
      libc/inet/rpc/Makefile.in
  26. 0 140
      libc/inet/rpc/auth_none.c
  27. 0 323
      libc/inet/rpc/auth_unix.c
  28. 0 67
      libc/inet/rpc/authunix_prot.c
  29. 0 87
      libc/inet/rpc/bindresvport.c
  30. 0 176
      libc/inet/rpc/clnt_generic.c
  31. 0 411
      libc/inet/rpc/clnt_perror.c
  32. 0 247
      libc/inet/rpc/clnt_raw.c
  33. 0 161
      libc/inet/rpc/clnt_simple.c
  34. 0 518
      libc/inet/rpc/clnt_tcp.c
  35. 0 600
      libc/inet/rpc/clnt_udp.c
  36. 0 586
      libc/inet/rpc/clnt_unix.c
  37. 0 53
      libc/inet/rpc/create_xid.c
  38. 0 45
      libc/inet/rpc/errqueue.h
  39. 0 109
      libc/inet/rpc/get_myaddress.c
  40. 0 345
      libc/inet/rpc/getrpcent.c
  41. 0 75
      libc/inet/rpc/getrpcport.c
  42. 0 84
      libc/inet/rpc/pm_getmaps.c
  43. 0 106
      libc/inet/rpc/pm_getport.c
  44. 0 173
      libc/inet/rpc/pmap_clnt.c
  45. 0 56
      libc/inet/rpc/pmap_prot.c
  46. 0 117
      libc/inet/rpc/pmap_prot2.c
  47. 0 404
      libc/inet/rpc/pmap_rmt.c
  48. 0 692
      libc/inet/rpc/rcmd.c
  49. 0 193
      libc/inet/rpc/rexec.c
  50. 0 205
      libc/inet/rpc/rpc_cmsg.c
  51. 0 47
      libc/inet/rpc/rpc_commondata.c
  52. 0 52
      libc/inet/rpc/rpc_dtablesize.c
  53. 0 55
      libc/inet/rpc/rpc_private.h
  54. 0 282
      libc/inet/rpc/rpc_prot.c
  55. 0 163
      libc/inet/rpc/rpc_thread.c
  56. 0 149
      libc/inet/rpc/rtime.c
  57. 0 323
      libc/inet/rpc/ruserpass.c
  58. 0 64
      libc/inet/rpc/sa_len.c
  59. 0 505
      libc/inet/rpc/svc.c
  60. 0 124
      libc/inet/rpc/svc_auth.c
  61. 0 156
      libc/inet/rpc/svc_authux.c
  62. 0 164
      libc/inet/rpc/svc_raw.c
  63. 0 87
      libc/inet/rpc/svc_run.c
  64. 0 177
      libc/inet/rpc/svc_simple.c
  65. 0 407
      libc/inet/rpc/svc_tcp.c
  66. 0 567
      libc/inet/rpc/svc_udp.c
  67. 0 517
      libc/inet/rpc/svc_unix.c
  68. 0 726
      libc/inet/rpc/xdr.c
  69. 0 156
      libc/inet/rpc/xdr_array.c
  70. 0 131
      libc/inet/rpc/xdr_float.c
  71. 0 204
      libc/inet/rpc/xdr_intXX_t.c
  72. 0 235
      libc/inet/rpc/xdr_mem.c
  73. 0 628
      libc/inet/rpc/xdr_rec.c
  74. 0 131
      libc/inet/rpc/xdr_reference.c
  75. 0 184
      libc/inet/rpc/xdr_stdio.c
  76. 0 10
      libpthread/linuxthreads/cancel.c
  77. 0 30
      libpthread/linuxthreads/specific.c

+ 1 - 5
Makefile.in

@@ -254,10 +254,7 @@ HEADERS_RM- := \
 	bits/stackinfo.h \
 	atomic.h \
 	bits/atomic.h \
-	tls.h \
-	rpc/des_crypt.h \
-	rpc/key_prot.h \
-	rpc/rpc_des.h
+	tls.h
 ifeq ($(UCLIBC_STRICT_HEADERS),y)
 HEADERS_RM- += sgtty.h
 endif
@@ -288,7 +285,6 @@ HEADERS_RM-$(UCLIBC_HAS_REALTIME)            += mqueue.h bits/mqueue.h sched.h \
 	bits/sched.h \
 	semaphore.h
 HEADERS_RM-$(UCLIBC_HAS_REGEX)               += regex.h regexp.h
-HEADERS_RM-$(UCLIBC_HAS_RPC)                 += rpc
 HEADERS_RM-$(UCLIBC_HAS_SHADOW)              += shadow.h
 HEADERS_RM-$(UCLIBC_HAS_SOCKET)              += sys/socket.h bits/socket.h sys/socketvar.h bits/socket_type.h
 HEADERS_RM-$(UCLIBC_HAS_SYSLOG)              += syslog.h sys/syslog.h bits/syslog*.h

+ 0 - 30
extra/Configs/Config.in

@@ -1250,36 +1250,6 @@ config UCLIBC_HAS_IPV6
 
 	  Most people should answer N.
 
-config UCLIBC_HAS_RPC
-	bool "Remote Procedure Call (RPC) support"
-	# RPC+socket-ipvX doesn't currently work.
-	depends on UCLIBC_HAS_IPV4 || UCLIBC_HAS_IPV6
-	help
-	  If you want to include RPC support, enable this.  RPC is rarely used
-	  for anything except for the NFS filesystem.  Unless you plan to use
-	  NFS, you can probably leave this set to N and save some space.
-
-	  If you need to use NFS then you should answer Y.
-
-config UCLIBC_HAS_FULL_RPC
-	bool "Full RPC support"
-	depends on UCLIBC_HAS_RPC
-	default y if !HAVE_SHARED
-	help
-	  Normally we enable just enough RPC support for things like rshd and
-	  nfs mounts to work.  If you find you need the rest of the RPC stuff,
-	  then enable this option.  Most people can safely answer N.
-
-config UCLIBC_HAS_REENTRANT_RPC
-	bool "Reentrant RPC support"
-	depends on UCLIBC_HAS_RPC
-	default y if !HAVE_SHARED
-	help
-	  Most packages utilize the normal (non-reentrant) RPC functions, but
-	  some (like exportfs from nfs-utils) need these reentrant versions.
-
-	  Most people can safely answer N.
-
 config UCLIBC_USE_NETLINK
 	bool "Use netlink to query interfaces"
 	depends on UCLIBC_HAS_SOCKET

+ 0 - 5
include/netdb.h

@@ -26,11 +26,6 @@
 
 #include <netinet/in.h>
 #include <stdint.h>
-#if defined __USE_MISC && defined __UCLIBC_HAS_RPC__
-/* This is necessary to make this include file properly replace the
-   Sun version.  */
-# include <rpc/netdb.h>
-#endif
 
 #ifdef __USE_GNU
 # define __need_sigevent_t

+ 0 - 3
include/protocols/timed.h

@@ -33,9 +33,6 @@
 #define	_PROTOCOLS_TIMED_H 1
 
 #include <features.h>
-#ifdef __UCLIBC_HAS_RPC__
-#include <rpc/types.h>
-#endif
 
 /*
  * Time Synchronization Protocol

+ 0 - 225
include/rpc/auth.h

@@ -1,225 +0,0 @@
-/* @(#)auth.h	2.3 88/08/07 4.0 RPCSRC; from 1.17 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
- * media and as a part of the software program in whole or part.  Users
- * 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
- */
-
-/*
- * auth.h, Authentication interface.
- *
- * Copyright (C) 1984, Sun Microsystems, Inc.
- *
- * The data structures are completely opaque to the client.  The client
- * is required to pass a AUTH * to routines that create rpc
- * "sessions".
- */
-
-#ifndef _RPC_AUTH_H
-
-#define _RPC_AUTH_H	1
-#include <features.h>
-#include <rpc/xdr.h>
-
-__BEGIN_DECLS
-
-#define MAX_AUTH_BYTES	400
-#define MAXNETNAMELEN	255	/* maximum length of network user's name */
-
-/*
- * Status returned from authentication check
- */
-enum auth_stat {
-	AUTH_OK=0,
-	/*
-	 * failed at remote end
-	 */
-	AUTH_BADCRED=1,			/* bogus credentials (seal broken) */
-	AUTH_REJECTEDCRED=2,		/* client should begin new session */
-	AUTH_BADVERF=3,			/* bogus verifier (seal broken) */
-	AUTH_REJECTEDVERF=4,		/* verifier expired or was replayed */
-	AUTH_TOOWEAK=5,			/* rejected due to security reasons */
-	/*
-	 * failed locally
-	*/
-	AUTH_INVALIDRESP=6,		/* bogus response verifier */
-	AUTH_FAILED=7			/* some unknown reason */
-};
-
-union des_block {
-	struct {
-		u_int32_t high;
-		u_int32_t low;
-	} key;
-	char c[8];
-};
-typedef union des_block des_block;
-extern bool_t xdr_des_block (XDR *__xdrs, des_block *__blkp) __THROW;
-
-/*
- * Authentication info.  Opaque to client.
- */
-struct opaque_auth {
-	enum_t	oa_flavor;		/* flavor of auth */
-	caddr_t	oa_base;		/* address of more auth stuff */
-	u_int	oa_length;		/* not to exceed MAX_AUTH_BYTES */
-};
-
-/*
- * Auth handle, interface to client side authenticators.
- */
-typedef struct AUTH AUTH;
-struct AUTH {
-  struct opaque_auth ah_cred;
-  struct opaque_auth ah_verf;
-  union des_block ah_key;
-  /* not sure whether non-const-ness is a part of the spec... if it is,
-   * enclose "const" in #ifdef _LIBC / #endif
-   * to make it effective only for libc compile */
-  const
-  struct auth_ops {
-    void (*ah_nextverf) (AUTH *);
-    int  (*ah_marshal) (AUTH *, XDR *);		/* nextverf & serialize */
-    int  (*ah_validate) (AUTH *, struct opaque_auth *);
-						/* validate verifier */
-    int  (*ah_refresh) (AUTH *);		/* refresh credentials */
-    void (*ah_destroy) (AUTH *);		/* destroy this structure */
-  } *ah_ops;
-  caddr_t ah_private;
-};
-
-
-/*
- * Authentication ops.
- * The ops and the auth handle provide the interface to the authenticators.
- *
- * AUTH	*auth;
- * XDR	*xdrs;
- * struct opaque_auth verf;
- */
-#define AUTH_NEXTVERF(auth)		\
-		((*((auth)->ah_ops->ah_nextverf))(auth))
-#define auth_nextverf(auth)		\
-		((*((auth)->ah_ops->ah_nextverf))(auth))
-
-#define AUTH_MARSHALL(auth, xdrs)	\
-		((*((auth)->ah_ops->ah_marshal))(auth, xdrs))
-#define auth_marshall(auth, xdrs)	\
-		((*((auth)->ah_ops->ah_marshal))(auth, xdrs))
-
-#define AUTH_VALIDATE(auth, verfp)	\
-		((*((auth)->ah_ops->ah_validate))((auth), verfp))
-#define auth_validate(auth, verfp)	\
-		((*((auth)->ah_ops->ah_validate))((auth), verfp))
-
-#define AUTH_REFRESH(auth)		\
-		((*((auth)->ah_ops->ah_refresh))(auth))
-#define auth_refresh(auth)		\
-		((*((auth)->ah_ops->ah_refresh))(auth))
-
-#define AUTH_DESTROY(auth)		\
-		((*((auth)->ah_ops->ah_destroy))(auth))
-#define auth_destroy(auth)		\
-		((*((auth)->ah_ops->ah_destroy))(auth))
-
-
-extern struct opaque_auth _null_auth;
-
-
-/*
- * These are the various implementations of client side authenticators.
- */
-
-/*
- * Unix style authentication
- * AUTH *authunix_create(machname, uid, gid, len, aup_gids)
- *	char *machname;
- *	int uid;
- *	int gid;
- *	int len;
- *	int *aup_gids;
- */
-extern AUTH *authunix_create (char *__machname, __uid_t __uid, __gid_t __gid,
-			      int __len, __gid_t *__aup_gids);
-libc_hidden_proto(authunix_create)
-extern AUTH *authunix_create_default (void);
-libc_hidden_proto(authunix_create_default)
-extern AUTH *authnone_create (void) __THROW;
-libc_hidden_proto(authnone_create)
-#if 0
-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;
-#endif
-
-
-#define AUTH_NONE	0		/* no authentication */
-#define	AUTH_NULL	0		/* backward compatibility */
-#define	AUTH_SYS	1		/* unix style (uid, gids) */
-#define	AUTH_UNIX	AUTH_SYS
-#define	AUTH_SHORT	2		/* short hand unix style */
-#define AUTH_DES	3		/* des style (encrypted timestamps) */
-#define AUTH_DH		AUTH_DES	/* Diffie-Hellman (this is DES) */
-#define AUTH_KERB       4               /* kerberos style */
-
-#if 0
-/*
- *  Netname manipulating functions
- *
- */
-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 (char *, des_block *);
-extern int key_decryptsession_pk (char *, netobj *, des_block *);
-extern int key_encryptsession (char *, des_block *);
-extern int key_encryptsession_pk (char *, netobj *, des_block *);
-extern int key_gendes (des_block *);
-extern int key_setsecret (char *);
-extern int key_secretkey_is_set (void);
-extern int key_get_conv (char *, des_block *);
-#endif
-
-/*
- * XDR an opaque authentication struct.
- */
-extern bool_t xdr_opaque_auth (XDR *, struct opaque_auth *) __THROW;
-libc_hidden_proto(xdr_opaque_auth)
-
-__END_DECLS
-
-#endif /* rpc/auth.h */

+ 0 - 115
include/rpc/auth_des.h

@@ -1,115 +0,0 @@
-/* Copyright (C) 1996, 1997, 1998, 1999 Free Software Foundation, Inc.
-   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 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
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, see
-   <http://www.gnu.org/licenses/>.  */
-
-#ifndef _RPC_AUTH_DES_H
-#define _RPC_AUTH_DES_H	1
-
-#include <sys/cdefs.h>
-#include <rpc/auth.h>
-
-__BEGIN_DECLS
-
-#if 0
-/* There are two kinds of "names": fullnames and nicknames */
-enum authdes_namekind
-  {
-    ADN_FULLNAME,
-    ADN_NICKNAME
-  };
-
-/* A fullname contains the network name of the client,
-   a conversation key and the window */
-struct authdes_fullname
-  {
-    char *name;		/* network name of client, up to MAXNETNAMELEN */
-    des_block key;	/* conversation key */
-    uint32_t window;	/* associated window */
-  };
-
-/* A credential */
-struct authdes_cred
-  {
-    enum authdes_namekind adc_namekind;
-    struct authdes_fullname adc_fullname;
-    uint32_t adc_nickname;
-  };
-#endif
-
-/* A timeval replacement for !32bit platforms */
-struct rpc_timeval
-  {
-    uint32_t tv_sec;            /* Seconds.  */
-    uint32_t tv_usec;           /* Microseconds.  */
-  };
-
-#if 0
-/* A des authentication verifier */
-struct authdes_verf
-  {
-    union
-      {
-	struct rpc_timeval adv_ctime;	/* clear time */
-	des_block adv_xtime;		/* crypt time */
-      }
-    adv_time_u;
-    uint32_t adv_int_u;
-  };
-
-/* des authentication verifier: client variety
-
-   adv_timestamp is the current time.
-   adv_winverf is the credential window + 1.
-   Both are encrypted using the conversation key. */
-#define adv_timestamp  adv_time_u.adv_ctime
-#define adv_xtimestamp adv_time_u.adv_xtime
-#define adv_winverf    adv_int_u
-
-/* des authentication verifier: server variety
-
-   adv_timeverf is the client's timestamp + client's window
-   adv_nickname is the server's nickname for the client.
-   adv_timeverf is encrypted using the conversation key. */
-#define adv_timeverf   adv_time_u.adv_ctime
-#define adv_xtimeverf  adv_time_u.adv_xtime
-#define adv_nickname   adv_int_u
-
-/* Map a des credential into a unix cred. */
-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 (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 (const char *__name, char *__key,
-			 const char *__passwd) __THROW;
-#endif
-
-extern int rtime (struct sockaddr_in *__addrp, struct rpc_timeval *__timep,
-		  struct rpc_timeval *__timeout) __THROW;
-
-__END_DECLS
-
-
-#endif /* rpc/auth_des.h */

+ 0 - 91
include/rpc/auth_unix.h

@@ -1,91 +0,0 @@
-/* @(#)auth_unix.h	2.2 88/07/29 4.0 RPCSRC; from 1.8 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
- * media and as a part of the software program in whole or part.  Users
- * 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
- */
-/*      @(#)auth_unix.h 1.5 86/07/16 SMI      */
-
-/*
- * auth_unix.h, Protocol for UNIX style authentication parameters for RPC
- *
- * Copyright (C) 1984, Sun Microsystems, Inc.
- */
-
-/*
- * The system is very weak.  The client uses no encryption for  it
- * credentials and only sends null verifiers.  The server sends backs
- * null verifiers or optionally a verifier that suggests a new short hand
- * for the credentials.
- */
-
-#ifndef _RPC_AUTH_UNIX_H
-#define _RPC_AUTH_UNIX_H	1
-
-#include <features.h>
-#include <sys/types.h>
-#include <rpc/types.h>
-#include <rpc/auth.h>
-#include <rpc/xdr.h>
-
-__BEGIN_DECLS
-
-/* The machine name is part of a credential; it may not exceed 255 bytes */
-#define MAX_MACHINE_NAME 255
-
-/* gids compose part of a credential; there may not be more than 16 of them */
-#define NGRPS 16
-
-/*
- * Unix style credentials.
- */
-struct authunix_parms
-  {
-    u_long aup_time;
-    char *aup_machname;
-    __uid_t aup_uid;
-    __gid_t aup_gid;
-    u_int aup_len;
-    __gid_t *aup_gids;
-  };
-
-extern bool_t xdr_authunix_parms (XDR *__xdrs, struct authunix_parms *__p)
-     __THROW;
-libc_hidden_proto(xdr_authunix_parms)
-
-/*
- * If a response verifier has flavor AUTH_SHORT,
- * then the body of the response verifier encapsulates the following structure;
- * again it is serialized in the obvious fashion.
- */
-struct short_hand_verf
-  {
-    struct opaque_auth new_cred;
-  };
-
-__END_DECLS
-
-#endif /* rpc/auth_unix.h */

+ 0 - 433
include/rpc/clnt.h

@@ -1,433 +0,0 @@
-/* @(#)clnt.h	2.1 88/07/29 4.0 RPCSRC; from 1.31 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
- * media and as a part of the software program in whole or part.  Users
- * 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
- */
-
-/*
- * clnt.h - Client side remote procedure call interface.
- *
- * Copyright (C) 1984, Sun Microsystems, Inc.
- */
-
-#ifndef _RPC_CLNT_H
-#define _RPC_CLNT_H	1
-
-#include <features.h>
-#include <sys/types.h>
-#include <rpc/types.h>
-#include <rpc/auth.h>
-#include <sys/un.h>
-
-__BEGIN_DECLS
-
-/*
- * Rpc calls return an enum clnt_stat.  This should be looked at more,
- * since each implementation is required to live with this (implementation
- * independent) list of errors.
- */
-enum clnt_stat {
-	RPC_SUCCESS=0,			/* call succeeded */
-	/*
-	 * local errors
-	 */
-	RPC_CANTENCODEARGS=1,		/* can't encode arguments */
-	RPC_CANTDECODERES=2,		/* can't decode results */
-	RPC_CANTSEND=3,			/* failure in sending call */
-	RPC_CANTRECV=4,			/* failure in receiving result */
-	RPC_TIMEDOUT=5,			/* call timed out */
-	/*
-	 * remote errors
-	 */
-	RPC_VERSMISMATCH=6,		/* rpc versions not compatible */
-	RPC_AUTHERROR=7,		/* authentication error */
-	RPC_PROGUNAVAIL=8,		/* program not available */
-	RPC_PROGVERSMISMATCH=9,		/* program version mismatched */
-	RPC_PROCUNAVAIL=10,		/* procedure unavailable */
-	RPC_CANTDECODEARGS=11,		/* decode arguments error */
-	RPC_SYSTEMERROR=12,		/* generic "other problem" */
-	RPC_NOBROADCAST = 21,		/* Broadcasting not supported */
-	/*
-	 * callrpc & clnt_create errors
-	 */
-	RPC_UNKNOWNHOST=13,		/* unknown host name */
-	RPC_UNKNOWNPROTO=17,		/* unknown protocol */
-	RPC_UNKNOWNADDR = 19,		/* Remote address unknown */
-
-	/*
-	 * rpcbind errors
-	 */
-	RPC_RPCBFAILURE=14,		/* portmapper failed in its call */
-#define RPC_PMAPFAILURE RPC_RPCBFAILURE
-	RPC_PROGNOTREGISTERED=15,	/* remote program is not registered */
-	RPC_N2AXLATEFAILURE = 22,	/* Name to addr translation failed */
-	/*
-	 * unspecified error
-	 */
-	RPC_FAILED=16,
-	RPC_INTR=18,
-	RPC_TLIERROR=20,
-	RPC_UDERROR=23,
-        /*
-         * asynchronous errors
-         */
-        RPC_INPROGRESS = 24,
-        RPC_STALERACHANDLE = 25
-};
-
-
-/*
- * Error info.
- */
-struct rpc_err {
-  enum clnt_stat re_status;
-  union {
-    int RE_errno;		/* related system error */
-    enum auth_stat RE_why;	/* why the auth error occurred */
-    struct {
-      u_long low;		/* lowest verion supported */
-      u_long high;		/* highest verion supported */
-    } RE_vers;
-    struct {			/* maybe meaningful if RPC_FAILED */
-      long s1;
-      long s2;
-    } RE_lb;			/* life boot & debugging only */
-  } ru;
-#define	re_errno	ru.RE_errno
-#define	re_why		ru.RE_why
-#define	re_vers		ru.RE_vers
-#define	re_lb		ru.RE_lb
-};
-
-
-/*
- * Client rpc handle.
- * Created by individual implementations, see e.g. rpc_udp.c.
- * Client is responsible for initializing auth, see e.g. auth_none.c.
- */
-typedef struct CLIENT CLIENT;
-struct CLIENT {
-  AUTH	*cl_auth;		 /* authenticator */
-  /* not sure whether non-const-ness is a part of the spec... if it is,
-   * enclose "const" in #ifdef _LIBC / #endif
-   * to make it effective only for libc compile */
-  const
-  struct clnt_ops {
-    enum clnt_stat (*cl_call) (CLIENT *, u_long, xdrproc_t, caddr_t, xdrproc_t,
-			       caddr_t, struct timeval);
-			       	/* call remote procedure */
-    void (*cl_abort) (void);	/* abort a call */
-    void (*cl_geterr) (CLIENT *, struct rpc_err *);
-				/* get specific error code */
-    bool_t (*cl_freeres) (CLIENT *, xdrproc_t, caddr_t);
-				/* frees results */
-    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 */
-};
-
-
-/*
- * client side rpc interface ops
- *
- * Parameter types are:
- *
- */
-
-/*
- * enum clnt_stat
- * CLNT_CALL(rh, proc, xargs, argsp, xres, resp, timeout)
- * 	CLIENT *rh;
- *	u_long proc;
- *	xdrproc_t xargs;
- *	caddr_t argsp;
- *	xdrproc_t xres;
- *	caddr_t resp;
- *	struct timeval timeout;
- */
-#define	CLNT_CALL(rh, proc, xargs, argsp, xres, resp, secs)	\
-	((*(rh)->cl_ops->cl_call)(rh, proc, xargs, argsp, xres, resp, secs))
-#define	clnt_call(rh, proc, xargs, argsp, xres, resp, secs)	\
-	((*(rh)->cl_ops->cl_call)(rh, proc, xargs, argsp, xres, resp, secs))
-
-/*
- * void
- * CLNT_ABORT(rh);
- * 	CLIENT *rh;
- */
-#define	CLNT_ABORT(rh)	((*(rh)->cl_ops->cl_abort)(rh))
-#define	clnt_abort(rh)	((*(rh)->cl_ops->cl_abort)(rh))
-
-/*
- * struct rpc_err
- * CLNT_GETERR(rh);
- * 	CLIENT *rh;
- */
-#define	CLNT_GETERR(rh,errp)	((*(rh)->cl_ops->cl_geterr)(rh, errp))
-#define	clnt_geterr(rh,errp)	((*(rh)->cl_ops->cl_geterr)(rh, errp))
-
-
-/*
- * bool_t
- * CLNT_FREERES(rh, xres, resp);
- * 	CLIENT *rh;
- *	xdrproc_t xres;
- *	caddr_t resp;
- */
-#define	CLNT_FREERES(rh,xres,resp) ((*(rh)->cl_ops->cl_freeres)(rh,xres,resp))
-#define	clnt_freeres(rh,xres,resp) ((*(rh)->cl_ops->cl_freeres)(rh,xres,resp))
-
-/*
- * bool_t
- * CLNT_CONTROL(cl, request, info)
- *      CLIENT *cl;
- *      u_int request;
- *      char *info;
- */
-#define	CLNT_CONTROL(cl,rq,in) ((*(cl)->cl_ops->cl_control)(cl,rq,in))
-#define	clnt_control(cl,rq,in) ((*(cl)->cl_ops->cl_control)(cl,rq,in))
-
-/*
- * control operations that apply to all transports
- *
- * Note: options marked XXX are no-ops in this implementation of RPC.
- * The are present in TI-RPC but can't be implemented here since they
- * depend on the presence of STREAMS/TLI, which we don't have.
- */
-#define CLSET_TIMEOUT        1    /* set timeout (timeval) */
-#define CLGET_TIMEOUT        2    /* get timeout (timeval) */
-#define CLGET_SERVER_ADDR    3    /* get server's address (sockaddr) */
-#define CLGET_FD             6    /* get connections file descriptor */
-#define CLGET_SVC_ADDR       7    /* get server's address (netbuf)      XXX */
-#define CLSET_FD_CLOSE       8    /* close fd while clnt_destroy */
-#define CLSET_FD_NCLOSE      9    /* Do not close fd while clnt_destroy*/
-#define CLGET_XID            10   /* Get xid */
-#define CLSET_XID            11   /* Set xid */
-#define CLGET_VERS           12   /* Get version number */
-#define CLSET_VERS           13   /* Set version number */
-#define CLGET_PROG           14   /* Get program number */
-#define CLSET_PROG           15   /* Set program number */
-#define CLSET_SVC_ADDR       16   /* get server's address (netbuf)      XXX */
-#define CLSET_PUSH_TIMOD     17   /* push timod if not already present  XXX */
-#define CLSET_POP_TIMOD      18   /* pop timod                          XXX */
-/*
- * Connectionless only control operations
- */
-#define CLSET_RETRY_TIMEOUT	4	/* set retry timeout (timeval) */
-#define CLGET_RETRY_TIMEOUT	5	/* get retry timeout (timeval) */
-
-/*
- * void
- * CLNT_DESTROY(rh);
- * 	CLIENT *rh;
- */
-#define	CLNT_DESTROY(rh)	((*(rh)->cl_ops->cl_destroy)(rh))
-#define	clnt_destroy(rh)	((*(rh)->cl_ops->cl_destroy)(rh))
-
-
-/*
- * RPCTEST is a test program which is accessible on every rpc
- * transport/port.  It is used for testing, performance evaluation,
- * and network administration.
- */
-
-#define RPCTEST_PROGRAM		((u_long)1)
-#define RPCTEST_VERSION		((u_long)1)
-#define RPCTEST_NULL_PROC	((u_long)2)
-#define RPCTEST_NULL_BATCH_PROC	((u_long)3)
-
-/*
- * By convention, procedure 0 takes null arguments and returns them
- */
-
-#define NULLPROC ((u_long)0)
-
-/*
- * Below are the client handle creation routines for the various
- * implementations of client side rpc.  They can return NULL if a
- * creation failure occurs.
- */
-
-/*
- * Memory based rpc (for speed check and testing)
- * CLIENT *
- * clntraw_create(prog, vers)
- *	u_long prog;
- *	u_long vers;
- */
-extern CLIENT *clntraw_create (const u_long __prog, const u_long __vers)
-     __THROW;
-
-
-/*
- * Generic client creation routine. Supported protocols are "udp", "tcp" and
- * "unix"
- * CLIENT *
- * clnt_create(host, prog, vers, prot)
- *	char *host; 	-- hostname
- *	u_long prog;	-- program number
- *	u_ong vers;	-- version number
- *	char *prot;	-- protocol
- */
-extern CLIENT *clnt_create (const char *__host, const u_long __prog,
-			    const u_long __vers, const char *__prot)
-     __THROW;
-
-
-/*
- * TCP based rpc
- * CLIENT *
- * clnttcp_create(raddr, prog, vers, sockp, sendsz, recvsz)
- *	struct sockaddr_in *raddr;
- *	u_long prog;
- *	u_long version;
- *	register 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;
-libc_hidden_proto(clnttcp_create)
-
-/*
- * UDP based rpc.
- * CLIENT *
- * clntudp_create(raddr, program, version, wait, sockp)
- *	struct sockaddr_in *raddr;
- *	u_long program;
- *	u_long version;
- *	struct timeval wait_resend;
- *	int *sockp;
- *
- * Same as above, but you specify max packet sizes.
- * CLIENT *
- * clntudp_bufcreate(raddr, program, version, wait, sockp, sendsz, recvsz)
- *	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;
-libc_hidden_proto(clntudp_create)
-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;
-libc_hidden_proto(clntudp_bufcreate)
-
-
-/*
- * AF_UNIX based rpc
- * CLIENT *
- * clntunix_create(raddr, prog, vers, sockp, sendsz, recvsz)
- *      struct sockaddr_un *raddr;
- *      u_long prog;
- *      u_long version;
- *      register 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;
-libc_hidden_proto(clntunix_create)
-
-
-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;
-libc_hidden_proto(_rpc_dtablesize)
-
-/*
- * Print why creation failed
- */
-extern void clnt_pcreateerror (const char *__msg);	/* stderr */
-extern char *clnt_spcreateerror(const char *__msg) __THROW;	/* string */
-libc_hidden_proto(clnt_spcreateerror)
-
-/*
- * Like clnt_perror(), but is more verbose in its output
- */
-extern void clnt_perrno (enum clnt_stat __num);		/* stderr */
-
-/*
- * Print an English error message, given the client error code
- */
-extern void clnt_perror (CLIENT *__clnt, const char *__msg);
-							/* stderr */
-libc_hidden_proto(clnt_perror)
-extern char *clnt_sperror (CLIENT *__clnt, const char *__msg) __THROW;
-							/* string */
-libc_hidden_proto(clnt_sperror)
-
-
-/*
- * If a creation fails, the following allows the user to figure out why.
- */
-struct rpc_createerr {
-	enum clnt_stat cf_stat;
-	struct rpc_err cf_error; /* useful when cf_stat == RPC_PMAPFAILURE */
-};
-
-extern struct rpc_createerr rpc_createerr;
-
-
-
-/*
- * Copy error message to buffer.
- */
-extern char *clnt_sperrno (enum clnt_stat __num) __THROW;	/* string */
-libc_hidden_proto(clnt_sperrno)
-
-/*
- * get the port number on the host for the rpc program,version and 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 (struct sockaddr_in *) __THROW;
-
-#define UDPMSGSIZE	8800	/* rpc imposed limit on udp msg size */
-#define RPCSMALLMSGSIZE	400	/* a more reasonable packet size */
-
-__END_DECLS
-
-#endif /* rpc/clnt.h */

+ 0 - 97
include/rpc/des_crypt.h

@@ -1,97 +0,0 @@
-/*
- * @(#)des_crypt.h	2.1 88/08/11 4.0 RPCSRC;	from 1.4 88/02/08 (C) 1986 SMI
- *
- * des_crypt.h, des library routine interface
- * Copyright (C) 1986, Sun Microsystems, Inc.
- */
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part.  Users
- * 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
- */
-
-#ifndef __DES_CRYPT_H__
-#define __DES_CRYPT_H__ 1
-
-#include <features.h>
-
-__BEGIN_DECLS
-
-#define DES_MAXDATA 8192	/* max bytes encrypted in one call */
-#define DES_DIRMASK (1 << 0)
-#define DES_ENCRYPT (0*DES_DIRMASK)	/* Encrypt */
-#define DES_DECRYPT (1*DES_DIRMASK)	/* Decrypt */
-
-
-#define DES_DEVMASK (1 << 1)
-#define	DES_HW (0*DES_DEVMASK)	/* Use hardware device */
-#define DES_SW (1*DES_DEVMASK)	/* Use software device */
-
-
-#define DESERR_NONE 0	/* succeeded */
-#define DESERR_NOHWDEVICE 1	/* succeeded, but hw device not available */
-#define DESERR_HWERROR 2	/* failed, hardware/driver error */
-#define DESERR_BADPARAM 3	/* failed, bad parameter to call */
-
-#define DES_FAILED(err) \
-	((err) > DESERR_NOHWDEVICE)
-
-/*
- * cbc_crypt()
- * ecb_crypt()
- *
- * Encrypt (or decrypt) len bytes of a buffer buf.
- * The length must be a multiple of eight.
- * The key should have odd parity in the low bit of each byte.
- * ivec is the input vector, and is updated to the new one (cbc only).
- * The mode is created by oring together the appropriate parameters.
- * DESERR_NOHWDEVICE is returned if DES_HW was specified but
- * there was no hardware to do it on (the data will still be
- * encrypted though, in software).
- */
-
-
-/*
- * Cipher Block Chaining mode
- */
-extern int cbc_crypt (char *__key, char *__buf, unsigned __len,
-		      unsigned __mode, char *__ivec) __THROW;
-
-/*
- * Electronic Code Book 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 (char *__key) __THROW;
-
-__END_DECLS
-
-#endif

+ 0 - 346
include/rpc/key_prot.h

@@ -1,346 +0,0 @@
-/*
- * Please do not edit this file.
- * It was generated using rpcgen.
- */
-
-#ifndef _KEY_PROT_H_RPCGEN
-#define _KEY_PROT_H_RPCGEN
-
-#include <rpc/rpc.h>
-
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part.  Users
- * 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
- */
-#if 0
-#pragma ident	"@(#)key_prot.x	1.7	94/04/29 SMI"
-#endif
-/* Copyright (c)  1990, 1991 Sun Microsystems, Inc. */
-
-/*
- * Compiled from key_prot.x using rpcgen.
- * DO NOT EDIT THIS FILE!
- * This is NOT source code!
- */
-#define PROOT 3
-#define HEXMODULUS "d4a0ba0250b6fd2ec626e7efd637df76c716e22d0944b88b"
-#define HEXKEYBYTES 48
-#define KEYSIZE 192
-#define KEYBYTES 24
-#define KEYCHECKSUMSIZE 16
-
-enum keystatus {
-	KEY_SUCCESS = 0,
-	KEY_NOSECRET = 1,
-	KEY_UNKNOWN = 2,
-	KEY_SYSTEMERR = 3,
-};
-typedef enum keystatus keystatus;
-#ifdef __cplusplus
-extern "C" bool_t xdr_keystatus(XDR *, keystatus*);
-#elif __STDC__
-extern  bool_t xdr_keystatus(XDR *, keystatus*);
-#else /* Old Style C */
-bool_t xdr_keystatus();
-#endif /* Old Style C */
-
-
-typedef char keybuf[HEXKEYBYTES];
-#ifdef __cplusplus
-extern "C" bool_t xdr_keybuf(XDR *, keybuf);
-#elif __STDC__
-extern  bool_t xdr_keybuf(XDR *, keybuf);
-#else /* Old Style C */
-bool_t xdr_keybuf();
-#endif /* Old Style C */
-
-
-typedef char *netnamestr;
-#ifdef __cplusplus
-extern "C" bool_t xdr_netnamestr(XDR *, netnamestr*);
-#elif __STDC__
-extern  bool_t xdr_netnamestr(XDR *, netnamestr*);
-#else /* Old Style C */
-bool_t xdr_netnamestr();
-#endif /* Old Style C */
-
-
-struct cryptkeyarg {
-	netnamestr remotename;
-	des_block deskey;
-};
-typedef struct cryptkeyarg cryptkeyarg;
-#ifdef __cplusplus
-extern "C" bool_t xdr_cryptkeyarg(XDR *, cryptkeyarg*);
-#elif __STDC__
-extern  bool_t xdr_cryptkeyarg(XDR *, cryptkeyarg*);
-#else /* Old Style C */
-bool_t xdr_cryptkeyarg();
-#endif /* Old Style C */
-
-
-struct cryptkeyarg2 {
-	netnamestr remotename;
-	netobj remotekey;
-	des_block deskey;
-};
-typedef struct cryptkeyarg2 cryptkeyarg2;
-#ifdef __cplusplus
-extern "C" bool_t xdr_cryptkeyarg2(XDR *, cryptkeyarg2*);
-#elif __STDC__
-extern  bool_t xdr_cryptkeyarg2(XDR *, cryptkeyarg2*);
-#else /* Old Style C */
-bool_t xdr_cryptkeyarg2();
-#endif /* Old Style C */
-
-
-struct cryptkeyres {
-	keystatus status;
-	union {
-		des_block deskey;
-	} cryptkeyres_u;
-};
-typedef struct cryptkeyres cryptkeyres;
-#ifdef __cplusplus
-extern "C" bool_t xdr_cryptkeyres(XDR *, cryptkeyres*);
-#elif __STDC__
-extern  bool_t xdr_cryptkeyres(XDR *, cryptkeyres*);
-#else /* Old Style C */
-bool_t xdr_cryptkeyres();
-#endif /* Old Style C */
-
-#define MAXGIDS 16
-
-struct unixcred {
-	u_int uid;
-	u_int gid;
-	struct {
-		u_int gids_len;
-		u_int *gids_val;
-	} gids;
-};
-typedef struct unixcred unixcred;
-#ifdef __cplusplus
-extern "C" bool_t xdr_unixcred(XDR *, unixcred*);
-#elif __STDC__
-extern  bool_t xdr_unixcred(XDR *, unixcred*);
-#else /* Old Style C */
-bool_t xdr_unixcred();
-#endif /* Old Style C */
-
-
-struct getcredres {
-	keystatus status;
-	union {
-		unixcred cred;
-	} getcredres_u;
-};
-typedef struct getcredres getcredres;
-#ifdef __cplusplus
-extern "C" bool_t xdr_getcredres(XDR *, getcredres*);
-#elif __STDC__
-extern  bool_t xdr_getcredres(XDR *, getcredres*);
-#else /* Old Style C */
-bool_t xdr_getcredres();
-#endif /* Old Style C */
-
-
-struct key_netstarg {
-	keybuf st_priv_key;
-	keybuf st_pub_key;
-	netnamestr st_netname;
-};
-typedef struct key_netstarg key_netstarg;
-#ifdef __cplusplus
-extern "C" bool_t xdr_key_netstarg(XDR *, key_netstarg*);
-#elif __STDC__
-extern  bool_t xdr_key_netstarg(XDR *, key_netstarg*);
-#else /* Old Style C */
-bool_t xdr_key_netstarg();
-#endif /* Old Style C */
-
-
-struct key_netstres {
-	keystatus status;
-	union {
-		key_netstarg knet;
-	} key_netstres_u;
-};
-typedef struct key_netstres key_netstres;
-#ifdef __cplusplus
-extern "C" bool_t xdr_key_netstres(XDR *, key_netstres*);
-#elif __STDC__
-extern  bool_t xdr_key_netstres(XDR *, key_netstres*);
-#else /* Old Style C */
-bool_t xdr_key_netstres();
-#endif /* Old Style C */
-
-
-#ifndef opaque
-#define opaque char
-#endif
-
-
-#define KEY_PROG ((u_long)100029)
-#define KEY_VERS ((u_long)1)
-
-#ifdef __cplusplus
-#define KEY_SET ((u_long)1)
-extern "C" keystatus * key_set_1(opaque *, CLIENT *);
-extern "C" keystatus * key_set_1_svc(opaque *, struct svc_req *);
-#define KEY_ENCRYPT ((u_long)2)
-extern "C" cryptkeyres * key_encrypt_1(cryptkeyarg *, CLIENT *);
-extern "C" cryptkeyres * key_encrypt_1_svc(cryptkeyarg *, struct svc_req *);
-#define KEY_DECRYPT ((u_long)3)
-extern "C" cryptkeyres * key_decrypt_1(cryptkeyarg *, CLIENT *);
-extern "C" cryptkeyres * key_decrypt_1_svc(cryptkeyarg *, struct svc_req *);
-#define KEY_GEN ((u_long)4)
-extern "C" des_block * key_gen_1(void *, CLIENT *);
-extern "C" des_block * key_gen_1_svc(void *, struct svc_req *);
-#define KEY_GETCRED ((u_long)5)
-extern "C" getcredres * key_getcred_1(netnamestr *, CLIENT *);
-extern "C" getcredres * key_getcred_1_svc(netnamestr *, struct svc_req *);
-
-#elif __STDC__
-#define KEY_SET ((u_long)1)
-extern  keystatus * key_set_1(opaque *, CLIENT *);
-extern  keystatus * key_set_1_svc(opaque *, struct svc_req *);
-#define KEY_ENCRYPT ((u_long)2)
-extern  cryptkeyres * key_encrypt_1(cryptkeyarg *, CLIENT *);
-extern  cryptkeyres * key_encrypt_1_svc(cryptkeyarg *, struct svc_req *);
-#define KEY_DECRYPT ((u_long)3)
-extern  cryptkeyres * key_decrypt_1(cryptkeyarg *, CLIENT *);
-extern  cryptkeyres * key_decrypt_1_svc(cryptkeyarg *, struct svc_req *);
-#define KEY_GEN ((u_long)4)
-extern  des_block * key_gen_1(void *, CLIENT *);
-extern  des_block * key_gen_1_svc(void *, struct svc_req *);
-#define KEY_GETCRED ((u_long)5)
-extern  getcredres * key_getcred_1(netnamestr *, CLIENT *);
-extern  getcredres * key_getcred_1_svc(netnamestr *, struct svc_req *);
-
-#else /* Old Style C */
-#define KEY_SET ((u_long)1)
-extern  keystatus * key_set_1();
-extern  keystatus * key_set_1_svc();
-#define KEY_ENCRYPT ((u_long)2)
-extern  cryptkeyres * key_encrypt_1();
-extern  cryptkeyres * key_encrypt_1_svc();
-#define KEY_DECRYPT ((u_long)3)
-extern  cryptkeyres * key_decrypt_1();
-extern  cryptkeyres * key_decrypt_1_svc();
-#define KEY_GEN ((u_long)4)
-extern  des_block * key_gen_1();
-extern  des_block * key_gen_1_svc();
-#define KEY_GETCRED ((u_long)5)
-extern  getcredres * key_getcred_1();
-extern  getcredres * key_getcred_1_svc();
-#endif /* Old Style C */
-#define KEY_VERS2 ((u_long)2)
-
-#ifdef __cplusplus
-extern "C" keystatus * key_set_2(opaque *, CLIENT *);
-extern "C" keystatus * key_set_2_svc(opaque *, struct svc_req *);
-extern "C" cryptkeyres * key_encrypt_2(cryptkeyarg *, CLIENT *);
-extern "C" cryptkeyres * key_encrypt_2_svc(cryptkeyarg *, struct svc_req *);
-extern "C" cryptkeyres * key_decrypt_2(cryptkeyarg *, CLIENT *);
-extern "C" cryptkeyres * key_decrypt_2_svc(cryptkeyarg *, struct svc_req *);
-extern "C" des_block * key_gen_2(void *, CLIENT *);
-extern "C" des_block * key_gen_2_svc(void *, struct svc_req *);
-extern "C" getcredres * key_getcred_2(netnamestr *, CLIENT *);
-extern "C" getcredres * key_getcred_2_svc(netnamestr *, struct svc_req *);
-#define KEY_ENCRYPT_PK ((u_long)6)
-extern "C" cryptkeyres * key_encrypt_pk_2(cryptkeyarg2 *, CLIENT *);
-extern "C" cryptkeyres * key_encrypt_pk_2_svc(cryptkeyarg2 *, struct svc_req *);
-#define KEY_DECRYPT_PK ((u_long)7)
-extern "C" cryptkeyres * key_decrypt_pk_2(cryptkeyarg2 *, CLIENT *);
-extern "C" cryptkeyres * key_decrypt_pk_2_svc(cryptkeyarg2 *, struct svc_req *);
-#define KEY_NET_PUT ((u_long)8)
-extern "C" keystatus * key_net_put_2(key_netstarg *, CLIENT *);
-extern "C" keystatus * key_net_put_2_svc(key_netstarg *, struct svc_req *);
-#define KEY_NET_GET ((u_long)9)
-extern "C" key_netstres * key_net_get_2(void *, CLIENT *);
-extern "C" key_netstres * key_net_get_2_svc(void *, struct svc_req *);
-#define KEY_GET_CONV ((u_long)10)
-extern "C" cryptkeyres * key_get_conv_2(opaque *, CLIENT *);
-extern "C" cryptkeyres * key_get_conv_2_svc(opaque *, struct svc_req *);
-
-#elif __STDC__
-extern  keystatus * key_set_2(opaque *, CLIENT *);
-extern  keystatus * key_set_2_svc(opaque *, struct svc_req *);
-extern  cryptkeyres * key_encrypt_2(cryptkeyarg *, CLIENT *);
-extern  cryptkeyres * key_encrypt_2_svc(cryptkeyarg *, struct svc_req *);
-extern  cryptkeyres * key_decrypt_2(cryptkeyarg *, CLIENT *);
-extern  cryptkeyres * key_decrypt_2_svc(cryptkeyarg *, struct svc_req *);
-extern  des_block * key_gen_2(void *, CLIENT *);
-extern  des_block * key_gen_2_svc(void *, struct svc_req *);
-extern  getcredres * key_getcred_2(netnamestr *, CLIENT *);
-extern  getcredres * key_getcred_2_svc(netnamestr *, struct svc_req *);
-#define KEY_ENCRYPT_PK ((u_long)6)
-extern  cryptkeyres * key_encrypt_pk_2(cryptkeyarg2 *, CLIENT *);
-extern  cryptkeyres * key_encrypt_pk_2_svc(cryptkeyarg2 *, struct svc_req *);
-#define KEY_DECRYPT_PK ((u_long)7)
-extern  cryptkeyres * key_decrypt_pk_2(cryptkeyarg2 *, CLIENT *);
-extern  cryptkeyres * key_decrypt_pk_2_svc(cryptkeyarg2 *, struct svc_req *);
-#define KEY_NET_PUT ((u_long)8)
-extern  keystatus * key_net_put_2(key_netstarg *, CLIENT *);
-extern  keystatus * key_net_put_2_svc(key_netstarg *, struct svc_req *);
-#define KEY_NET_GET ((u_long)9)
-extern  key_netstres * key_net_get_2(void *, CLIENT *);
-extern  key_netstres * key_net_get_2_svc(void *, struct svc_req *);
-#define KEY_GET_CONV ((u_long)10)
-extern  cryptkeyres * key_get_conv_2(opaque *, CLIENT *);
-extern  cryptkeyres * key_get_conv_2_svc(opaque *, struct svc_req *);
-
-#else /* Old Style C */
-extern  keystatus * key_set_2();
-extern  keystatus * key_set_2_svc();
-extern  cryptkeyres * key_encrypt_2();
-extern  cryptkeyres * key_encrypt_2_svc();
-extern  cryptkeyres * key_decrypt_2();
-extern  cryptkeyres * key_decrypt_2_svc();
-extern  des_block * key_gen_2();
-extern  des_block * key_gen_2_svc();
-extern  getcredres * key_getcred_2();
-extern  getcredres * key_getcred_2_svc();
-#define KEY_ENCRYPT_PK ((u_long)6)
-extern  cryptkeyres * key_encrypt_pk_2();
-extern  cryptkeyres * key_encrypt_pk_2_svc();
-#define KEY_DECRYPT_PK ((u_long)7)
-extern  cryptkeyres * key_decrypt_pk_2();
-extern  cryptkeyres * key_decrypt_pk_2_svc();
-#define KEY_NET_PUT ((u_long)8)
-extern  keystatus * key_net_put_2();
-extern  keystatus * key_net_put_2_svc();
-#define KEY_NET_GET ((u_long)9)
-extern  key_netstres * key_net_get_2();
-extern  key_netstres * key_net_get_2_svc();
-#define KEY_GET_CONV ((u_long)10)
-extern  cryptkeyres * key_get_conv_2();
-extern  cryptkeyres * key_get_conv_2_svc();
-#endif /* Old Style C */
-
-#endif /* !_KEY_PROT_H_RPCGEN */

+ 0 - 79
include/rpc/netdb.h

@@ -1,79 +0,0 @@
-/* @(#)netdb.h	2.1 88/07/29 3.9 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
- * media and as a part of the software program in whole or part.  Users
- * 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
- */
-/*	@(#)rpc.h 1.8 87/07/24 SMI	*/
-
-/* Cleaned up for GNU C library roland@gnu.ai.mit.edu:
-   added multiple inclusion protection and use of <sys/cdefs.h>.
-   In GNU this file is #include'd by <netdb.h>.  */
-
-#ifndef _RPC_NETDB_H
-#define _RPC_NETDB_H	1
-
-#include <features.h>
-
-#define __need_size_t
-#include <stddef.h>
-
-__BEGIN_DECLS
-
-struct rpcent
-{
-  char *r_name;		/* Name of server for this rpc program.  */
-  char **r_aliases;	/* Alias list.  */
-  int r_number;		/* RPC program number.  */
-};
-
-extern void setrpcent (int __stayopen) __THROW;
-libc_hidden_proto(setrpcent)
-extern void endrpcent (void) __THROW;
-libc_hidden_proto(endrpcent)
-extern struct rpcent *getrpcbyname (const char *__name) __THROW;
-libc_hidden_proto(getrpcbyname)
-extern struct rpcent *getrpcbynumber (int __number) __THROW;
-libc_hidden_proto(getrpcbynumber)
-extern struct rpcent *getrpcent (void) __THROW;
-libc_hidden_proto(getrpcent)
-
-#if defined __USE_MISC && defined __UCLIBC_HAS_REENTRANT_RPC__
-extern int getrpcbyname_r (const char *__name, struct rpcent *__result_buf,
-			   char *__buffer, size_t __buflen,
-			   struct rpcent **__result) __THROW;
-
-extern int getrpcbynumber_r (int __number, struct rpcent *__result_buf,
-			     char *__buffer, size_t __buflen,
-			     struct rpcent **__result) __THROW;
-
-extern int getrpcent_r (struct rpcent *__result_buf, char *__buffer,
-			size_t __buflen, struct rpcent **__result) __THROW;
-#endif
-
-__END_DECLS
-
-#endif /* rpc/netdb.h */

+ 0 - 101
include/rpc/pmap_clnt.h

@@ -1,101 +0,0 @@
-/* @(#)pmap_clnt.h	2.1 88/07/29 4.0 RPCSRC; from 1.11 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
- * media and as a part of the software program in whole or part.  Users
- * 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
- */
-
-/*
- * pmap_clnt.h
- * Supplies C routines to get to portmap services.
- *
- * Copyright (C) 1984, Sun Microsystems, Inc.
- */
-
-#ifndef _RPC_PMAP_CLNT_H
-#define _RPC_PMAP_CLNT_H	1
-
-#include <features.h>
-#include <rpc/types.h>
-#include <rpc/xdr.h>
-#include <rpc/clnt.h>
-
-__BEGIN_DECLS
-
-typedef bool_t (*resultproc_t) (caddr_t resp, struct sockaddr_in *raddr);
-
-/*
- * Usage:
- *	success = pmap_set(program, version, protocol, port);
- *	success = pmap_unset(program, version);
- *	port = pmap_getport(address, program, version, protocol);
- *	head = pmap_getmaps(address);
- *	clnt_stat = pmap_rmtcall(address, program, version, procedure,
- *		xdrargs, argsp, xdrres, resp, tout, port_ptr)
- *		(works for udp only.)
- * 	clnt_stat = clnt_broadcast(program, version, procedure,
- *		xdrargs, argsp,	xdrres, resp, eachresult)
- *		(like pmap_rmtcall, except the call is broadcasted to all
- *		locally connected nets.  For each valid response received,
- *		the procedure eachresult is called.  Its form is:
- *	done = eachresult(resp, raddr)
- *		bool_t done;
- *		caddr_t resp;
- *		struct sockaddr_in raddr;
- *		where resp points to the results of the call and raddr is the
- *		address if the responder to the broadcast.
- */
-
-extern bool_t pmap_set (const u_long __program, const u_long __vers,
-			int __protocol, u_short __port) __THROW;
-libc_hidden_proto(pmap_set)
-extern bool_t pmap_unset (const u_long __program, const u_long __vers)
-     __THROW;
-libc_hidden_proto(pmap_unset)
-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;
-libc_hidden_proto(pmap_getport)
-
-__END_DECLS
-
-#endif /* rpc/pmap_clnt.h */

+ 0 - 110
include/rpc/pmap_prot.h

@@ -1,110 +0,0 @@
-/* @(#)pmap_prot.h	2.1 88/07/29 4.0 RPCSRC; from 1.14 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
- * media and as a part of the software program in whole or part.  Users
- * 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
- */
-
-/*
- * pmap_prot.h
- * Protocol for the local binder service, or pmap.
- *
- * Copyright (C) 1984, Sun Microsystems, Inc.
- */
-
-#ifndef _RPC_PMAP_PROT_H
-#define _RPC_PMAP_PROT_H	1
-
-#include <features.h>
-
-#include <rpc/xdr.h>
-
-__BEGIN_DECLS
-
-/* The following procedures are supported by the protocol:
- *
- * PMAPPROC_NULL() returns ()
- * 	takes nothing, returns nothing
- *
- * PMAPPROC_SET(struct pmap) returns (bool_t)
- * 	TRUE is success, FALSE is failure.  Registers the tuple
- *	[prog, vers, prot, port].
- *
- * PMAPPROC_UNSET(struct pmap) returns (bool_t)
- *	TRUE is success, FALSE is failure.  Un-registers pair
- *	[prog, vers].  prot and port are ignored.
- *
- * PMAPPROC_GETPORT(struct pmap) returns (long unsigned).
- *	0 is failure.  Otherwise returns the port number where the pair
- *	[prog, vers] is registered.  It may lie!
- *
- * PMAPPROC_DUMP() RETURNS (struct pmaplist *)
- *
- * PMAPPROC_CALLIT(unsigned, unsigned, unsigned, string<>)
- * 	RETURNS (port, string<>);
- * usage: encapsulatedresults = PMAPPROC_CALLIT(prog, vers, proc, encapsulatedargs);
- * 	Calls the procedure on the local machine.  If it is not registered,
- *	this procedure is quite; ie it does not return error information!!!
- *	This procedure only is supported on rpc/udp and calls via
- *	rpc/udp.  This routine only passes null authentication parameters.
- *	This file has no interface to xdr routines for PMAPPROC_CALLIT.
- *
- * The service supports remote procedure calls on udp/ip or tcp/ip socket 111.
- */
-
-#define PMAPPORT		((u_short)111)
-#define PMAPPROG		((u_long)100000)
-#define PMAPVERS		((u_long)2)
-#define PMAPVERS_PROTO		((u_long)2)
-#define PMAPVERS_ORIG		((u_long)1)
-#define PMAPPROC_NULL		((u_long)0)
-#define PMAPPROC_SET		((u_long)1)
-#define PMAPPROC_UNSET		((u_long)2)
-#define PMAPPROC_GETPORT	((u_long)3)
-#define PMAPPROC_DUMP		((u_long)4)
-#define PMAPPROC_CALLIT		((u_long)5)
-
-struct pmap {
-	long unsigned pm_prog;
-	long unsigned pm_vers;
-	long unsigned pm_prot;
-	long unsigned pm_port;
-};
-
-extern bool_t xdr_pmap (XDR *__xdrs, struct pmap *__regs) __THROW;
-libc_hidden_proto(xdr_pmap)
-
-struct pmaplist {
-	struct pmap	pml_map;
-	struct pmaplist *pml_next;
-};
-
-extern bool_t xdr_pmaplist (XDR *__xdrs, struct pmaplist **__rp) __THROW;
-libc_hidden_proto(xdr_pmaplist)
-
-__END_DECLS
-
-#endif /* rpc/pmap_prot.h */

+ 0 - 71
include/rpc/pmap_rmt.h

@@ -1,71 +0,0 @@
-/* @(#)pmap_rmt.h	2.1 88/07/29 4.0 RPCSRC; from 1.2 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
- * media and as a part of the software program in whole or part.  Users
- * 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
- */
-
-/*
- * Structures and XDR routines for parameters to and replies from
- * the portmapper remote-call-service.
- *
- * Copyright (C) 1986, Sun Microsystems, Inc.
- */
-
-#ifndef _RPC_PMAP_RMT_H
-#define _RPC_PMAP_RMT_H	1
-
-#include <features.h>
-#include <sys/types.h>
-#include <rpc/types.h>
-#include <rpc/xdr.h>
-
-__BEGIN_DECLS
-
-struct rmtcallargs {
-	u_long prog, vers, proc, arglen;
-	caddr_t args_ptr;
-	xdrproc_t xdr_args;
-};
-
-extern bool_t xdr_rmtcall_args (XDR *__xdrs, struct rmtcallargs *__crp)
-     __THROW;
-libc_hidden_proto(xdr_rmtcall_args)
-
-
-struct rmtcallres {
-	u_long *port_ptr;
-	u_long resultslen;
-	caddr_t results_ptr;
-	xdrproc_t xdr_results;
-};
-
-extern bool_t xdr_rmtcallres (XDR *__xdrs, struct rmtcallres *__crp) __THROW;
-libc_hidden_proto(xdr_rmtcallres)
-
-__END_DECLS
-
-#endif /* rpc/pmap_rmt.h */

+ 0 - 101
include/rpc/rpc.h

@@ -1,101 +0,0 @@
-/* @(#)rpc.h	2.3 88/08/10 4.0 RPCSRC; from 1.9 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
- * media and as a part of the software program in whole or part.  Users
- * 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
- */
-
-/*
- * rpc.h, Just includes the billions of rpc header files necessary to
- * do remote procedure calling.
- *
- * Copyright (C) 1984, Sun Microsystems, Inc.
- */
-
-#ifndef _RPC_RPC_H
-#define _RPC_RPC_H 1
-
-#include <rpc/types.h>		/* some typedefs */
-#include <netinet/in.h>
-
-/* external data representation interfaces */
-#include <rpc/xdr.h>		/* generic (de)serializer */
-
-/* Client side only authentication */
-#include <rpc/auth.h>		/* generic authenticator (client side) */
-
-/* Client side (mostly) remote procedure call */
-#include <rpc/clnt.h>		/* generic rpc stuff */
-
-/* semi-private protocol headers */
-#include <rpc/rpc_msg.h>	/* protocol for rpc messages */
-#include <rpc/auth_unix.h>	/* protocol for unix style cred */
-#include <rpc/auth_des.h>	/* protocol for des style cred */
-
-/* Server side only remote procedure callee */
-#include <rpc/svc.h>		/* service manager and multiplexer */
-#include <rpc/svc_auth.h>	/* service side authenticator */
-
-/*
- * COMMENT OUT THE NEXT INCLUDE IF RUNNING ON SUN OS OR ON A VERSION
- * OF UNIX BASED ON NFSSRC.  These systems will already have the structures
- * 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 */
-
-__BEGIN_DECLS
-
-/* Global variables, protected for multi-threaded applications.  */
-extern fd_set *__rpc_thread_svc_fdset (void) __attribute__ ((__const__));
-libc_hidden_proto(__rpc_thread_svc_fdset)
-#define svc_fdset (*__rpc_thread_svc_fdset ())
-
-extern struct rpc_createerr *__rpc_thread_createerr (void)
-     __attribute__ ((__const__));
-libc_hidden_proto(__rpc_thread_createerr)
-#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__));
-libc_hidden_proto(__rpc_thread_svc_pollfd)
-#define svc_pollfd (*__rpc_thread_svc_pollfd ())
-
-extern int *__rpc_thread_svc_max_pollfd (void) __attribute__ ((__const__));
-libc_hidden_proto(__rpc_thread_svc_max_pollfd)
-#define svc_max_pollfd (*__rpc_thread_svc_max_pollfd ())
-
-__END_DECLS
-
-#endif /* rpc/rpc.h */

+ 0 - 72
include/rpc/rpc_des.h

@@ -1,72 +0,0 @@
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part.  Users
- * 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
- */
-/*
- * Generic DES driver interface
- * Keep this file hardware independent!
- * Copyright (c) 1986 by Sun Microsystems, Inc.
- */
-
-#ifndef _DES_H
-#define _DES_H
-
-#include <sys/types.h>
-
-#define DES_MAXLEN 	65536	/* maximum # of bytes to encrypt  */
-#define DES_QUICKLEN	16	/* maximum # of bytes to encrypt quickly */
-
-enum desdir
-  {
-    ENCRYPT, DECRYPT
-  };
-enum desmode
-  {
-    CBC, ECB
-  };
-
-/*
- * parameters to ioctl call
- */
-struct desparams
-  {
-    u_char des_key[8];		/* key (with low bit parity) */
-    enum desdir des_dir;	/* direction */
-    enum desmode des_mode;	/* mode */
-    u_char des_ivec[8];		/* input vector */
-    unsigned des_len;		/* number of bytes to crypt */
-    union
-      {
-	u_char UDES_data[DES_QUICKLEN];
-	u_char *UDES_buf;
-      }
-    UDES;
-#define des_data UDES.UDES_data	/* direct data here if quick */
-#define des_buf	UDES.UDES_buf	/* otherwise, pointer to data */
-  };
-
-#endif

+ 0 - 226
include/rpc/rpc_msg.h

@@ -1,226 +0,0 @@
-/* @(#)rpc_msg.h	2.1 88/07/29 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
- * media and as a part of the software program in whole or part.  Users
- * 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
- */
-/*      @(#)rpc_msg.h 1.7 86/07/16 SMI      */
-
-#ifndef _RPC_MSG_H
-#define _RPC_MSG_H 1
-
-#include <sys/cdefs.h>
-
-#include <rpc/xdr.h>
-#include <rpc/clnt.h>
-
-/*
- * rpc_msg.h
- * rpc message definition
- *
- * Copyright (C) 1984, Sun Microsystems, Inc.
- */
-
-#define RPC_MSG_VERSION		((u_long) 2)
-#define RPC_SERVICE_PORT	((u_short) 2048)
-
-__BEGIN_DECLS
-
-/*
- * Bottom up definition of an rpc message.
- * NOTE: call and reply use the same overall struct but
- * different parts of unions within it.
- */
-
-enum msg_type {
-	CALL=0,
-	REPLY=1
-};
-
-enum reply_stat {
-	MSG_ACCEPTED=0,
-	MSG_DENIED=1
-};
-
-enum accept_stat {
-	SUCCESS=0,
-	PROG_UNAVAIL=1,
-	PROG_MISMATCH=2,
-	PROC_UNAVAIL=3,
-	GARBAGE_ARGS=4,
-	SYSTEM_ERR=5
-};
-
-enum reject_stat {
-	RPC_MISMATCH=0,
-	AUTH_ERROR=1
-};
-
-/*
- * Reply part of an rpc exchange
- */
-
-/*
- * Reply to an rpc request that was accepted by the server.
- * Note: there could be an error even though the request was
- * accepted.
- */
-struct accepted_reply {
-	struct opaque_auth	ar_verf;
-	enum accept_stat	ar_stat;
-	union {
-		struct {
-			u_long	low;
-			u_long	high;
-		} AR_versions;
-		struct {
-			caddr_t	where;
-			xdrproc_t proc;
-		} AR_results;
-		/* and many other null cases */
-	} ru;
-#define	ar_results	ru.AR_results
-#define	ar_vers		ru.AR_versions
-};
-
-/*
- * Reply to an rpc request that was rejected by the server.
- */
-struct rejected_reply {
-	enum reject_stat rj_stat;
-	union {
-		struct {
-			u_long low;
-			u_long high;
-		} RJ_versions;
-		enum auth_stat RJ_why;  /* why authentication did not work */
-	} ru;
-#define	rj_vers	ru.RJ_versions
-#define	rj_why	ru.RJ_why
-};
-
-/*
- * Body of a reply to an rpc request.
- */
-struct reply_body {
-	enum reply_stat rp_stat;
-	union {
-		struct accepted_reply RP_ar;
-		struct rejected_reply RP_dr;
-	} ru;
-#define	rp_acpt	ru.RP_ar
-#define	rp_rjct	ru.RP_dr
-};
-
-/*
- * Body of an rpc request call.
- */
-struct call_body {
-	u_long cb_rpcvers;	/* must be equal to two */
-	u_long cb_prog;
-	u_long cb_vers;
-	u_long cb_proc;
-	struct opaque_auth cb_cred;
-	struct opaque_auth cb_verf; /* protocol specific - provided by client */
-};
-
-/*
- * The rpc message
- */
-struct rpc_msg {
-	u_long			rm_xid;
-	enum msg_type		rm_direction;
-	union {
-		struct call_body RM_cmb;
-		struct reply_body RM_rmb;
-	} ru;
-#define	rm_call		ru.RM_cmb
-#define	rm_reply	ru.RM_rmb
-};
-#define	acpted_rply	ru.RM_rmb.ru.RP_ar
-#define	rjcted_rply	ru.RM_rmb.ru.RP_dr
-
-
-/*
- * XDR routine to handle a rpc message.
- * xdr_callmsg(xdrs, cmsg)
- * 	XDR *xdrs;
- * 	struct rpc_msg *cmsg;
- */
-extern bool_t	xdr_callmsg (XDR *__xdrs, struct rpc_msg *__cmsg) __THROW;
-libc_hidden_proto(xdr_callmsg)
-
-/*
- * XDR routine to pre-serialize the static part of a rpc message.
- * xdr_callhdr(xdrs, cmsg)
- * 	XDR *xdrs;
- * 	struct rpc_msg *cmsg;
- */
-extern bool_t	xdr_callhdr (XDR *__xdrs, struct rpc_msg *__cmsg) __THROW;
-libc_hidden_proto(xdr_callhdr)
-
-/*
- * XDR routine to handle a rpc reply.
- * xdr_replymsg(xdrs, rmsg)
- * 	XDR *xdrs;
- * 	struct rpc_msg *rmsg;
- */
-extern bool_t	xdr_replymsg (XDR *__xdrs, struct rpc_msg *__rmsg) __THROW;
-libc_hidden_proto(xdr_replymsg)
-
-/*
- * Fills in the error part of a reply message.
- * _seterr_reply(msg, error)
- * 	struct rpc_msg *msg;
- * 	struct rpc_err *error;
- */
-extern void	_seterr_reply (struct rpc_msg *__msg, struct rpc_err *__error)
-     __THROW;
-libc_hidden_proto(_seterr_reply)
-
-#ifdef __UCLIBC__
-/*
- * XDR routine to handle an accepted rpc reply.
- * xdr_accepted_reply(xdrs, rej)
- * 	XDR *xdrs;
- * 	struct accepted_reply *rej;
- */
-extern bool_t	xdr_accepted_reply(XDR *__xdrs, struct accepted_reply *__ar);
-libc_hidden_proto(xdr_accepted_reply)
-
-/*
- * XDR routine to handle a rejected rpc reply.
- * xdr_rejected_reply(xdrs, rej)
- * 	XDR *xdrs;
- * 	struct rejected_reply *rej;
- */
-extern bool_t	xdr_rejected_reply(XDR *__xdrs, struct rejected_reply *__rr);
-libc_hidden_proto(xdr_rejected_reply)
-#endif
-
-__END_DECLS
-
-#endif /* rpc/rpc_msg.h */

+ 0 - 330
include/rpc/svc.h

@@ -1,330 +0,0 @@
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part.  Users
- * 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
- */
-
-/*
- * svc.h, Server-side remote procedure call interface.
- *
- * Copyright (C) 1984, Sun Microsystems, Inc.
- */
-
-#ifndef _RPC_SVC_H
-#define _RPC_SVC_H 1
-
-#include <features.h>
-#include <rpc/rpc_msg.h>
-
-__BEGIN_DECLS
-
-/*
- * This interface must manage two items concerning remote procedure calling:
- *
- * 1) An arbitrary number of transport connections upon which rpc requests
- * are received.  The two most notable transports are TCP and UDP;  they are
- * created and registered by routines in svc_tcp.c and svc_udp.c, respectively;
- * they in turn call xprt_register and xprt_unregister.
- *
- * 2) An arbitrary number of locally registered services.  Services are
- * described by the following four data: program number, version number,
- * "service dispatch" function, a transport handle, and a boolean that
- * indicates whether or not the exported program should be registered with a
- * local binder service;  if true the program's number and version and the
- * port number from the transport handle are registered with the binder.
- * These data are registered with the rpc svc system via svc_register.
- *
- * A service's dispatch function is called whenever an rpc request comes in
- * on a transport.  The request's program and version numbers must match
- * those of the registered service.  The dispatch function is passed two
- * parameters, struct svc_req * and SVCXPRT *, defined below.
- */
-
-enum xprt_stat {
-	XPRT_DIED,
-	XPRT_MOREREQS,
-	XPRT_IDLE
-};
-
-/*
- * Server side transport handle
- */
-typedef struct SVCXPRT SVCXPRT;
-struct SVCXPRT {
-  int xp_sock;
-  u_short xp_port;		/* associated port number */
-  const struct xp_ops {
-    bool_t	(*xp_recv) (SVCXPRT *__xprt, struct rpc_msg *__msg);
-				/* receive incoming requests */
-    enum xprt_stat (*xp_stat) (SVCXPRT *__xprt);
-				/* get transport status */
-    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) (SVCXPRT *__xprt, xdrproc_t __xdr_args,
-				caddr_t args_ptr);
-				/* free mem allocated for args */
-    void	(*xp_destroy) (SVCXPRT *__xprt);
-				/* destroy this struct */
-  } *xp_ops;
-  int		xp_addrlen;	 /* length of remote address */
-  struct sockaddr_in xp_raddr;	 /* remote address */
-  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 */
-};
-
-/*
- *  Approved way of getting address of caller
- */
-#define svc_getcaller(x) (&(x)->xp_raddr)
-
-/*
- * Operations defined on an SVCXPRT handle
- *
- * SVCXPRT		*xprt;
- * struct rpc_msg	*msg;
- * xdrproc_t		 xargs;
- * caddr_t		 argsp;
- */
-#define SVC_RECV(xprt, msg)				\
-	(*(xprt)->xp_ops->xp_recv)((xprt), (msg))
-#define svc_recv(xprt, msg)				\
-	(*(xprt)->xp_ops->xp_recv)((xprt), (msg))
-
-#define SVC_STAT(xprt)					\
-	(*(xprt)->xp_ops->xp_stat)(xprt)
-#define svc_stat(xprt)					\
-	(*(xprt)->xp_ops->xp_stat)(xprt)
-
-#define SVC_GETARGS(xprt, xargs, argsp)			\
-	(*(xprt)->xp_ops->xp_getargs)((xprt), (xargs), (argsp))
-#define svc_getargs(xprt, xargs, argsp)			\
-	(*(xprt)->xp_ops->xp_getargs)((xprt), (xargs), (argsp))
-
-#define SVC_REPLY(xprt, msg)				\
-	(*(xprt)->xp_ops->xp_reply) ((xprt), (msg))
-#define svc_reply(xprt, msg)				\
-	(*(xprt)->xp_ops->xp_reply) ((xprt), (msg))
-
-#define SVC_FREEARGS(xprt, xargs, argsp)		\
-	(*(xprt)->xp_ops->xp_freeargs)((xprt), (xargs), (argsp))
-#define svc_freeargs(xprt, xargs, argsp)		\
-	(*(xprt)->xp_ops->xp_freeargs)((xprt), (xargs), (argsp))
-
-#define SVC_DESTROY(xprt)				\
-	(*(xprt)->xp_ops->xp_destroy)(xprt)
-#define svc_destroy(xprt)				\
-	(*(xprt)->xp_ops->xp_destroy)(xprt)
-
-
-/*
- * Service request
- */
-struct svc_req {
-  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) (struct svc_req*, SVCXPRT*);
-#endif
-
-/*
- * Service registration
- *
- * svc_register(xprt, prog, vers, dispatch, protocol)
- *	SVCXPRT *xprt;
- *	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 (SVCXPRT *__xprt, rpcprog_t __prog,
-			    rpcvers_t __vers, __dispatch_fn_t __dispatch,
-			    rpcprot_t __protocol) __THROW;
-libc_hidden_proto(svc_register)
-
-/*
- * Service un-registration
- *
- * svc_unregister(prog, vers)
- *	rpcprog_t prog;
- *	rpcvers_t vers;
- */
-extern void svc_unregister (rpcprog_t __prog, rpcvers_t __vers) __THROW;
-libc_hidden_proto(svc_unregister)
-
-/*
- * Transport registration.
- *
- * xprt_register(xprt)
- *	SVCXPRT *xprt;
- */
-extern void xprt_register (SVCXPRT *__xprt) __THROW;
-libc_hidden_proto(xprt_register)
-
-/*
- * Transport un-register
- *
- * xprt_unregister(xprt)
- *	SVCXPRT *xprt;
- */
-extern void xprt_unregister (SVCXPRT *__xprt) __THROW;
-libc_hidden_proto(xprt_unregister)
-
-/*
- * When the service routine is called, it must first check to see if it
- * knows about the procedure;  if not, it should call svcerr_noproc
- * and return.  If so, it should deserialize its arguments via
- * SVC_GETARGS (defined above).  If the deserialization does not work,
- * svcerr_decode should be called followed by a return.  Successful
- * decoding of the arguments should be followed the execution of the
- * procedure's code and a call to svc_sendreply.
- *
- * Also, if the service refuses to execute the procedure due to too-
- * weak authentication parameters, svcerr_weakauth should be called.
- * Note: do not confuse access-control failure with weak authentication!
- *
- * NB: In pure implementations of rpc, the caller always waits for a reply
- * msg.  This message is sent when svc_sendreply is called.
- * Therefore pure service implementations should always call
- * svc_sendreply even if the function logically returns void;  use
- * xdr.h - xdr_void for the xdr routine.  HOWEVER, tcp based rpc allows
- * for the abuse of pure rpc via batched calling or pipelining.  In the
- * case of a batched call, svc_sendreply should NOT be called since
- * this would send a return message, which is what batching tries to avoid.
- * It is the service/protocol writer's responsibility to know which calls are
- * batched and which are not.  Warning: responding to batch calls may
- * deadlock the caller and server processes!
- */
-
-extern bool_t	svc_sendreply (SVCXPRT *xprt, xdrproc_t __xdr_results,
-			       caddr_t __xdr_location) __THROW;
-libc_hidden_proto(svc_sendreply)
-
-extern void	svcerr_decode (SVCXPRT *__xprt) __THROW;
-libc_hidden_proto(svcerr_decode)
-
-extern void	svcerr_weakauth (SVCXPRT *__xprt) __THROW;
-
-extern void	svcerr_noproc (SVCXPRT *__xprt) __THROW;
-
-extern void	svcerr_progvers (SVCXPRT *__xprt, rpcvers_t __low_vers,
-				 rpcvers_t __high_vers) __THROW;
-libc_hidden_proto(svcerr_progvers)
-
-extern void	svcerr_auth (SVCXPRT *__xprt, enum auth_stat __why) __THROW;
-libc_hidden_proto(svcerr_auth)
-
-extern void	svcerr_noprog (SVCXPRT *__xprt) __THROW;
-libc_hidden_proto(svcerr_noprog)
-
-extern void	svcerr_systemerr (SVCXPRT *__xprt) __THROW;
-
-/*
- * Lowest level dispatching -OR- who owns this process anyway.
- * Somebody has to wait for incoming requests and then call the correct
- * service routine.  The routine svc_run does infinite waiting; i.e.,
- * svc_run never returns.
- * Since another (coexistent) package may wish to selectively wait for
- * incoming calls or other events outside of the rpc architecture, the
- * routine svc_getreq is provided.  It must be passed readfds, the
- * "in-place" results of a select system call (see select, section 2).
- */
-
-/*
- * Global keeper of rpc service descriptors in use
- * dynamic; must be inspected before each call to select
- */
-
-extern struct pollfd *svc_pollfd;
-extern int svc_max_pollfd;
-extern fd_set svc_fdset;
-#define svc_fds svc_fdset.fds_bits[0]	/* compatibility */
-
-/*
- * a small program implemented by the svc_rpc implementation itself;
- * also see clnt.h for protocol numbers.
- */
-extern void svc_getreq (int __rdfds) __THROW;
-libc_hidden_proto(svc_getreq)
-extern void svc_getreq_common (const int __fd) __THROW;
-libc_hidden_proto(svc_getreq_common)
-extern void svc_getreqset (fd_set *__readfds) __THROW;
-libc_hidden_proto(svc_getreqset)
-extern void svc_getreq_poll (struct pollfd *, const int) __THROW;
-libc_hidden_proto(svc_getreq_poll)
-extern void svc_exit (void) __THROW;
-extern void svc_run (void) __THROW;
-
-/*
- * Socket to use on svcxxx_create call to get default socket
- */
-#define	RPC_ANYSOCK	-1
-
-/*
- * These are the existing service side transport implementations
- */
-
-/*
- * Memory based rpc for testing and timing.
- */
-extern SVCXPRT *svcraw_create (void) __THROW;
-
-/*
- * Udp based rpc.
- */
-extern SVCXPRT *svcudp_create (int __sock) __THROW;
-libc_hidden_proto(svcudp_create)
-extern SVCXPRT *svcudp_bufcreate (int __sock, u_int __sendsz, u_int __recvsz)
-     __THROW;
-libc_hidden_proto(svcudp_bufcreate)
-
-/*
- * Tcp based rpc.
- */
-extern SVCXPRT *svctcp_create (int __sock, u_int __sendsize, u_int __recvsize)
-     __THROW;
-
-
-/*
- * Unix based rpc.
- */
-extern SVCXPRT *svcunix_create (int __sock, u_int __sendsize, u_int __recvsize,
-				char *__path) __THROW;
-
-
-__END_DECLS
-
-#endif /* rpc/svc.h */

+ 0 - 55
include/rpc/svc_auth.h

@@ -1,55 +0,0 @@
-/* @(#)svc_auth.h	2.1 88/07/29 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
- * media and as a part of the software program in whole or part.  Users
- * 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
- */
-/*      @(#)svc_auth.h 1.6 86/07/16 SMI      */
-
-/*
- * svc_auth.h, Service side of rpc authentication.
- *
- * Copyright (C) 1984, Sun Microsystems, Inc.
- */
-
-#ifndef _RPC_SVC_AUTH_H
-#define _RPC_SVC_AUTH_H	1
-
-#include <features.h>
-#include <rpc/svc.h>
-
-__BEGIN_DECLS
-
-/*
- * Server side authenticator
- */
-extern enum auth_stat _authenticate (struct svc_req *__rqst,
-				     struct rpc_msg *__msg) __THROW;
-libc_hidden_proto(_authenticate)
-
-__END_DECLS
-
-#endif /* rpc/svc_auth.h */

+ 0 - 95
include/rpc/types.h

@@ -1,95 +0,0 @@
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part.  Users
- * 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
- */
-/* fixincludes should not add extern "C" to this file */
-/*
- * Rpc additions to <sys/types.h>
- */
-#ifndef _RPC_TYPES_H
-#define _RPC_TYPES_H 1
-
-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
-
-#ifndef FALSE
-#      define  FALSE   (0)
-#endif
-
-#ifndef TRUE
-#      define  TRUE    (1)
-#endif
-
-#ifndef NULL
-#      define  NULL 0
-#endif
-
-#include <stdlib.h>		/* For malloc decl.  */
-#define mem_alloc(bsize)	malloc(bsize)
-#define mem_free(ptr, bsize)	free(ptr)
-
-#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>
-
-#include <netinet/in.h>
-
-#ifndef INADDR_LOOPBACK
-#define       INADDR_LOOPBACK         (u_long)0x7F000001
-#endif
-#ifndef MAXHOSTNAMELEN
-#define        MAXHOSTNAMELEN  64
-#endif
-
-#endif /* rpc/types.h */

+ 0 - 405
include/rpc/xdr.h

@@ -1,405 +0,0 @@
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part.  Users
- * 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
- */
-
-/*
- * xdr.h, External Data Representation Serialization Routines.
- *
- * Copyright (C) 1984, Sun Microsystems, Inc.
- */
-
-#ifndef _RPC_XDR_H
-#define _RPC_XDR_H 1
-
-#include <features.h>
-#include <sys/types.h>
-#include <rpc/types.h>
-
-/* We need FILE.  */
-#include <stdio.h>
-
-__BEGIN_DECLS
-
-/*
- * 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
- * routines and utility routines defined here are used to help implement
- * a type encode/decode routine for each user-defined type.
- *
- * Each data type provides a single procedure which takes two arguments:
- *
- *      bool_t
- *      xdrproc(xdrs, argresp)
- *              XDR *xdrs;
- *              <type> *argresp;
- *
- * xdrs is an instance of a XDR handle, to which or from which the data
- * type is to be converted.  argresp is a pointer to the structure to be
- * converted.  The XDR handle contains an operation field which indicates
- * which of the operations (ENCODE, DECODE * or FREE) is to be performed.
- *
- * XDR_DECODE may allocate space if the pointer argresp is null.  This
- * data can be freed with the XDR_FREE operation.
- *
- * We write only one procedure per data type to make it easy
- * to keep the encode and decode procedures for a data type consistent.
- * In many cases the same code performs all operations on a user defined type,
- * because all the hard work is done in the component type routines.
- * decode as a series of calls on the nested data types.
- */
-
-/*
- * Xdr operations.  XDR_ENCODE causes the type to be encoded into the
- * stream.  XDR_DECODE causes the type to be extracted from the stream.
- * XDR_FREE can be used to release the space allocated by an XDR_DECODE
- * request.
- */
-enum xdr_op {
-  XDR_ENCODE = 0,
-  XDR_DECODE = 1,
-  XDR_FREE = 2
-};
-
-/*
- * This is the number of bytes per unit of external data.
- */
-#define BYTES_PER_XDR_UNIT	(4)
-/*
- * This only works if the above is a power of 2.  But it's defined to be
- * 4 by the appropriate RFCs.  So it will work.  And it's normally quicker
- * than the old routine.
- */
-#if 1
-#define RNDUP(x)  (((x) + BYTES_PER_XDR_UNIT - 1) & ~(BYTES_PER_XDR_UNIT - 1))
-#else /* this is the old routine */
-#define RNDUP(x)  ((((x) + BYTES_PER_XDR_UNIT - 1) / BYTES_PER_XDR_UNIT) \
-		    * BYTES_PER_XDR_UNIT)
-#endif
-
-/*
- * The XDR handle.
- * Contains operation which is being applied to the stream,
- * an operations vector for the particular implementation (e.g. see xdr_mem.c),
- * and two private fields for the use of the particular implementation.
- */
-typedef struct XDR XDR;
-struct XDR
-  {
-    enum xdr_op x_op;		/* operation; fast additional param */
-    /* not sure whether non-const-ness is a part of the spec... if it is,
-     * enclose "const" in #ifdef _LIBC / #endif
-     * to make it effective only for libc compile */
-    const
-    struct xdr_ops
-      {
-	bool_t (*x_getlong) (XDR *__xdrs, long *__lp);
-	/* get a long from underlying stream */
-	bool_t (*x_putlong) (XDR *__xdrs, const long *__lp);
-	/* put a long to " */
-	bool_t (*x_getbytes) (XDR *__xdrs, caddr_t __addr, u_int __len);
-	/* get some bytes from " */
-	bool_t (*x_putbytes) (XDR *__xdrs, const char *__addr, u_int __len);
-	/* put some bytes to " */
-	u_int (*x_getpostn) (const XDR *__xdrs);
-	/* returns bytes off from beginning */
-	bool_t (*x_setpostn) (XDR *__xdrs, u_int __pos);
-	/* lets you reposition the stream */
-	int32_t *(*x_inline) (XDR *__xdrs, u_int __len);
-	/* buf quick ptr to buffered data */
-	void (*x_destroy) (XDR *__xdrs);
-	/* free privates of this xdr_stream */
-	bool_t (*x_getint32) (XDR *__xdrs, int32_t *__ip);
-	/* get a int from underlying stream */
-	bool_t (*x_putint32) (XDR *__xdrs, const int32_t *__ip);
-	/* put a int to " */
-      }
-     *x_ops;
-    caddr_t x_public;		/* users' data */
-    caddr_t x_private;		/* pointer to private data */
-    caddr_t x_base;		/* private used for position info */
-    u_int x_handy;		/* extra private word */
-  };
-
-/*
- * A xdrproc_t exists for each data type which is to be encoded or decoded.
- *
- * The second argument to the xdrproc_t is a pointer to an opaque pointer.
- * The opaque pointer generally points to a structure of the data type
- * to be decoded.  If this pointer is 0, then the type routines should
- * allocate dynamic storage of the appropriate size and return it.
- * bool_t       (*xdrproc_t)(XDR *, caddr_t *);
- */
-typedef bool_t (*xdrproc_t) (XDR *, void *,...);
-
-
-/*
- * Operations defined on a XDR handle
- *
- * XDR          *xdrs;
- * int32_t      *int32p;
- * long         *longp;
- * caddr_t       addr;
- * u_int         len;
- * u_int         pos;
- */
-#define XDR_GETINT32(xdrs, int32p)                      \
-        (*(xdrs)->x_ops->x_getint32)(xdrs, int32p)
-#define xdr_getint32(xdrs, int32p)                      \
-        (*(xdrs)->x_ops->x_getint32)(xdrs, int32p)
-
-#define XDR_PUTINT32(xdrs, int32p)                      \
-        (*(xdrs)->x_ops->x_putint32)(xdrs, int32p)
-#define xdr_putint32(xdrs, int32p)                      \
-        (*(xdrs)->x_ops->x_putint32)(xdrs, int32p)
-
-#define XDR_GETLONG(xdrs, longp)			\
-	(*(xdrs)->x_ops->x_getlong)(xdrs, longp)
-#define xdr_getlong(xdrs, longp)			\
-	(*(xdrs)->x_ops->x_getlong)(xdrs, longp)
-
-#define XDR_PUTLONG(xdrs, longp)			\
-	(*(xdrs)->x_ops->x_putlong)(xdrs, longp)
-#define xdr_putlong(xdrs, longp)			\
-	(*(xdrs)->x_ops->x_putlong)(xdrs, longp)
-
-#define XDR_GETBYTES(xdrs, addr, len)			\
-	(*(xdrs)->x_ops->x_getbytes)(xdrs, addr, len)
-#define xdr_getbytes(xdrs, addr, len)			\
-	(*(xdrs)->x_ops->x_getbytes)(xdrs, addr, len)
-
-#define XDR_PUTBYTES(xdrs, addr, len)			\
-	(*(xdrs)->x_ops->x_putbytes)(xdrs, addr, len)
-#define xdr_putbytes(xdrs, addr, len)			\
-	(*(xdrs)->x_ops->x_putbytes)(xdrs, addr, len)
-
-#define XDR_GETPOS(xdrs)				\
-	(*(xdrs)->x_ops->x_getpostn)(xdrs)
-#define xdr_getpos(xdrs)				\
-	(*(xdrs)->x_ops->x_getpostn)(xdrs)
-
-#define XDR_SETPOS(xdrs, pos)				\
-	(*(xdrs)->x_ops->x_setpostn)(xdrs, pos)
-#define xdr_setpos(xdrs, pos)				\