[rtems-libbsd commit] librpc: Use libc versions of .h files

Joel Sherrill joel at rtems.org
Fri Aug 24 20:11:08 UTC 2012


Module:    rtems-libbsd
Branch:    master
Commit:    f01bc1f420be5c898aeac39f20e76ccacebd2fc0
Changeset: http://git.rtems.org/rtems-libbsd/commit/?id=f01bc1f420be5c898aeac39f20e76ccacebd2fc0

Author:    Joel Sherrill <joel.sherrill at oarcorp.com>
Date:      Sun Aug  5 19:12:48 2012 -0500

librpc: Use libc versions of .h files

---

 services/librpc/Makefile                |    1 +
 services/librpc/include/rpc/auth_unix.h |   85 ---------
 services/librpc/include/rpc/clnt_soc.h  |  109 -----------
 services/librpc/include/rpc/clnt_stat.h |   84 ---------
 services/librpc/include/rpc/pmap_clnt.h |   89 ---------
 services/librpc/include/rpc/pmap_prot.h |  105 -----------
 services/librpc/include/rpc/rpc_msg.h   |  205 --------------------
 services/librpc/include/rpc/rpcent.h    |   71 -------
 services/librpc/include/rpc/svc_auth.h  |   58 ------
 services/librpc/include/rpc/svc_soc.h   |  125 ------------
 services/librpc/include/rpc/types.h     |   68 -------
 services/librpc/include/rpc/xdr.h       |  312 -------------------------------
 12 files changed, 1 insertions(+), 1311 deletions(-)

diff --git a/services/librpc/Makefile b/services/librpc/Makefile
index 5311260..e3a0f8c 100644
--- a/services/librpc/Makefile
+++ b/services/librpc/Makefile
@@ -9,6 +9,7 @@ CFLAGS += -I $(INSTALL_BASE)/include
 CFLAGS += -w 
 CFLAGS += -I include 
 CFLAGS += -std=gnu99
+CFLAGS += -D_RTEMS_RPC_INTERNAL_
 CFLAGS += -MT $@ -MD -MP -MF $(basename $@).d
 
 C_FILES =
diff --git a/services/librpc/include/rpc/auth_unix.h b/services/librpc/include/rpc/auth_unix.h
deleted file mode 100644
index f822f3d..0000000
--- a/services/librpc/include/rpc/auth_unix.h
+++ /dev/null
@@ -1,85 +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, MERCHANTABILITY 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
- *
- *	from: @(#)auth_unix.h 1.8 88/02/08 SMI
- *	from: @(#)auth_unix.h	2.2 88/07/29 4.0 RPCSRC
- * $FreeBSD: src/include/rpc/auth_unix.h,v 1.10 1999/08/27 23:45:03 peter Exp $
- */
-
-/*
- * 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
-#include <sys/cdefs.h>
-#include <rpc/auth.h> /* opaque_auth */
-
-/* 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;
-	int	 aup_uid;
-	int	 aup_gid;
-	u_int	 aup_len;
-	int	*aup_gids;
-};
-
-#define authsys_parms authunix_parms
-
-__BEGIN_DECLS
-extern bool_t xdr_authunix_parms(XDR *, struct authunix_parms *);
-__END_DECLS
-
-/*
- * 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;
-};
-
-#endif /* !_RPC_AUTH_UNIX_H */
diff --git a/services/librpc/include/rpc/clnt_soc.h b/services/librpc/include/rpc/clnt_soc.h
deleted file mode 100644
index 9aa99b8..0000000
--- a/services/librpc/include/rpc/clnt_soc.h
+++ /dev/null
@@ -1,109 +0,0 @@
-/*	$NetBSD: clnt_soc.h,v 1.1 2000/06/02 22:57:55 fvdl Exp $	*/
-/*	$FreeBSD: src/include/rpc/clnt_soc.h,v 1.2 2002/03/23 17:24:55 imp Exp $ */
-
-/*
- * 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
- */
-/*
- * Copyright (c) 1984 - 1991 by Sun Microsystems, Inc.
- */
-
-/*
- * clnt.h - Client side remote procedure call interface.
- */
-
-#ifndef _RPC_CLNT_SOC_H
-#define _RPC_CLNT_SOC_H
-
-#include <time.h>
-
-/* derived from clnt_soc.h 1.3 88/12/17 SMI     */
-
-/*
- * All the following declarations are only for backward compatibility
- * with TS-RPC.
- */
-
-#include <sys/cdefs.h>
-#include <rpc/clnt.h>
-
-#define UDPMSGSIZE      8800    /* rpc imposed limit on udp msg size */  
-
-/*
- * 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;
- */
-__BEGIN_DECLS
-extern CLIENT *clnttcp_create(struct sockaddr_in *, u_long, u_long, int *,
-				u_int, u_int);
-__END_DECLS
-
-/*
- * Raw (memory) rpc.
- */
-__BEGIN_DECLS
-extern CLIENT *clntraw_create(u_long, u_long);
-__END_DECLS
-
-
-/*
- * UDP based rpc.
- * CLIENT *
- * clntudp_create(raddr, program, version, wait, sockp)
- *	struct sockaddr_in *raddr;
- *	u_long program;
- *	u_long version;
- *	struct timeval wait;
- *	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;
- *	int *sockp;
- *	u_int sendsz;
- *	u_int recvsz;
- */
-__BEGIN_DECLS
-extern CLIENT *clntudp_create(struct sockaddr_in *, u_long, u_long,
-				     struct timeval, int *);
-extern CLIENT *clntudp_bufcreate(struct sockaddr_in *, u_long, u_long,
-				     struct timeval, int *, u_int, u_int);
-__END_DECLS
-
-#endif /* _RPC_CLNT_SOC_H */
diff --git a/services/librpc/include/rpc/clnt_stat.h b/services/librpc/include/rpc/clnt_stat.h
deleted file mode 100644
index 2c68745..0000000
--- a/services/librpc/include/rpc/clnt_stat.h
+++ /dev/null
@@ -1,84 +0,0 @@
-/*	$FreeBSD: src/include/rpc/clnt_stat.h,v 1.2 2001/03/20 08:20:50 alfred Exp $ */
-/*
- * Copyright (c) 1986 - 1991, 1994, 1996, 1997 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * clnt_stat.h - Client side remote procedure call enum
- *
- */
-
-#ifndef	_RPC_CLNT_STAT_H
-#define	_RPC_CLNT_STAT_H
-
-/* #pragma ident	"@(#)clnt_stat.h	1.2	97/04/28 SMI" */
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-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 */
-	RPC_INTR = 18,			/* call interrupted */
-	RPC_UDERROR = 23,			/* recv got uderr indication */
-	/*
-	 * 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_call & clnt_create errors
-	 */
-	RPC_UNKNOWNHOST = 13,		/* unknown host name */
-	RPC_UNKNOWNPROTO = 17,		/* unknown protocol */
-	RPC_UNKNOWNADDR = 19,		/* Remote address unknown */
-	RPC_NOBROADCAST = 21,		/* Broadcasting not supported */
-
-	/*
-	 * rpcbind errors
-	 */
-	RPC_RPCBFAILURE = 14,		/* the pmapper failed in its call */
-#define	RPC_PMAPFAILURE RPC_RPCBFAILURE
-	RPC_PROGNOTREGISTERED = 15,	/* remote program is not registered */
-	RPC_N2AXLATEFAILURE = 22,
-	/* Name to address translation failed */
-	/*
-	 * Misc error in the TLI library
-	 */
-	RPC_TLIERROR = 20,
-	/*
-	 * unspecified error
-	 */
-	RPC_FAILED = 16,
-	/*
-	 * asynchronous errors
-	 */
-	RPC_INPROGRESS = 24,
-	RPC_STALERACHANDLE = 25,
-	RPC_CANTCONNECT = 26,		/* couldn't make connection (cots) */
-	RPC_XPRTFAILED = 27,		/* received discon from remote (cots) */
-	RPC_CANTCREATESTREAM = 28,	/* can't push rpc module (cots) */
-	_CLNT_STAT = 0xffffffff
-};
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif	/* !_RPC_CLNT_STAT_H */
diff --git a/services/librpc/include/rpc/pmap_clnt.h b/services/librpc/include/rpc/pmap_clnt.h
deleted file mode 100644
index 86fff6b..0000000
--- a/services/librpc/include/rpc/pmap_clnt.h
+++ /dev/null
@@ -1,89 +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, MERCHANTABILITY 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
- *
- *	from: @(#)pmap_clnt.h 1.11 88/02/08 SMI
- *	from: @(#)pmap_clnt.h	2.1 88/07/29 4.0 RPCSRC
- * $FreeBSD: src/include/rpc/pmap_clnt.h,v 1.11 1999/08/27 23:45:04 peter Exp $
- */
-
-/*
- * pmap_clnt.h
- * Supplies C routines to get to portmap services.
- *
- * Copyright (C) 1984, Sun Microsystems, Inc.
- */
-
-/*
- * 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.
- */
-
-#ifndef _RPC_PMAPCLNT_H
-#define _RPC_PMAPCLNT_H
-
-#include <sys/cdefs.h>
-#include <netinet/in.h> /* struct sockaddr_in */
-#include <rpc/types.h>
-#include <rpc/xdr.h> /* xdrproc_t */
-
-__BEGIN_DECLS
-extern bool_t		pmap_set	(u_long, u_long, int, int);
-extern bool_t		pmap_unset	(u_long, u_long);
-extern struct pmaplist	*pmap_getmaps	(struct sockaddr_in *);
-extern enum clnt_stat	pmap_rmtcall	(struct sockaddr_in *,
-					     u_long, u_long, u_long,
-					     xdrproc_t, caddr_t,
-					     xdrproc_t, caddr_t,
-					     struct timeval, u_long *);
-extern enum clnt_stat	clnt_broadcast	(u_long, u_long, u_long,
-					     xdrproc_t, char *,
-					     xdrproc_t, char *,
-					     bool_t (*) (caddr_t,
-						 struct sockaddr_in *));
-extern u_short		pmap_getport	(struct sockaddr_in *,
-					     u_long, u_long, u_int);
-__END_DECLS
-
-#endif /* !_RPC_PMAPCLNT_H */
diff --git a/services/librpc/include/rpc/pmap_prot.h b/services/librpc/include/rpc/pmap_prot.h
deleted file mode 100644
index 14720e8..0000000
--- a/services/librpc/include/rpc/pmap_prot.h
+++ /dev/null
@@ -1,105 +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, MERCHANTABILITY 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
- *
- *	from: @(#)pmap_prot.h 1.14 88/02/08 SMI
- *	from: @(#)pmap_prot.h	2.1 88/07/29 4.0 RPCSRC
- * $FreeBSD: src/include/rpc/pmap_prot.h,v 1.10 1999/08/27 23:45:04 peter Exp $
- */
-
-/*
- * pmap_prot.h
- * Protocol for the local binder service, or pmap.
- *
- * Copyright (C) 1984, Sun Microsystems, Inc.
- *
- * 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.
- */
-
-#ifndef _RPC_PMAPPROT_H
-#define _RPC_PMAPPROT_H
-#include <sys/cdefs.h>
-#include <rpc/xdr.h>
-
-#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;
-};
-
-struct pmaplist {
-	struct pmap	pml_map;
-	struct pmaplist *pml_next;
-};
-
-__BEGIN_DECLS
-extern bool_t xdr_pmap		(XDR *, struct pmap *);
-extern bool_t xdr_pmaplist	(XDR *, struct pmaplist **);
-__END_DECLS
-
-#endif /* !_RPC_PMAPPROT_H */
diff --git a/services/librpc/include/rpc/rpc_msg.h b/services/librpc/include/rpc/rpc_msg.h
deleted file mode 100644
index 63a1f36..0000000
--- a/services/librpc/include/rpc/rpc_msg.h
+++ /dev/null
@@ -1,205 +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, MERCHANTABILITY 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
- *
- *	from: @(#)rpc_msg.h 1.7 86/07/16 SMI
- *	from: @(#)rpc_msg.h	2.1 88/07/29 4.0 RPCSRC
- * $FreeBSD: src/include/rpc/rpc_msg.h,v 1.15 2003/01/01 18:48:42 schweikh Exp $
- */
-
-/*
- * rpc_msg.h
- * rpc message definition
- *
- * Copyright (C) 1984, Sun Microsystems, Inc.
- */
-
-#ifndef _RPC_RPC_MSG_H
-#define _RPC_RPC_MSG_H
-
-#include <rpc/types.h>
-#include <rpc/xdr.h> /* xdrproc_t */
-#include <rpc/auth.h> /* opaque_auth */
-
-struct rpc_err; /* forward */
-
-#define RPC_MSG_VERSION		((u_int32_t) 2)
-#define RPC_SERVICE_PORT	((u_short) 2048)
-
-/*
- * Bottom up definition of an rpc message.
- * NOTE: call and reply use the same overall stuct but
- * different parts of unions within it.
- */
-
-enum msg_type {
-	CALL=0,
-	REPLY=1,
-	_MSG_TYPE = 0xffffffff
-};
-
-enum reply_stat {
-	MSG_ACCEPTED=0,
-	MSG_DENIED=1,
-	_REPLY_STAT = 0xffffffff
-};
-
-enum accept_stat {
-	SUCCESS=0,
-	PROG_UNAVAIL=1,
-	PROG_MISMATCH=2,
-	PROC_UNAVAIL=3,
-	GARBAGE_ARGS=4,
-	SYSTEM_ERR=5,
-	_ACCEPT_STAT = 0xffffffff
-};
-
-enum reject_stat {
-	RPC_MISMATCH=0,
-	AUTH_ERROR=1,
-	_REJECT_STAT = 0xffffffff
-};
-
-/*
- * 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 {
-			rpcvers_t low;
-			rpcvers_t 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 {
-			rpcvers_t low;
-			rpcvers_t 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 {
-	rpcvers_t cb_rpcvers;	/* must be equal to two */
-	rpcprog_t cb_prog;
-	rpcvers_t cb_vers;
-	rpcproc_t cb_proc;
-	struct opaque_auth cb_cred;
-	struct opaque_auth cb_verf; /* protocol specific - provided by client */
-};
-
-/*
- * The rpc message
- */
-struct rpc_msg {
-	u_int32_t		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
-
-__BEGIN_DECLS
-/*
- * XDR routine to handle a rpc message.
- * xdr_callmsg(xdrs, cmsg)
- * 	XDR *xdrs;
- * 	struct rpc_msg *cmsg;
- */
-extern bool_t	xdr_callmsg(XDR *, struct rpc_msg *);
-
-/*
- * 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 *, struct rpc_msg *);
-
-/*
- * XDR routine to handle a rpc reply.
- * xdr_replymsg(xdrs, rmsg)
- * 	XDR *xdrs;
- * 	struct rpc_msg *rmsg;
- */
-extern bool_t	xdr_replymsg(XDR *, struct rpc_msg *);
-
-/*
- * 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 *, struct rpc_err *);
-__END_DECLS
-
-#endif /* !_RPC_RPC_MSG_H */
diff --git a/services/librpc/include/rpc/rpcent.h b/services/librpc/include/rpc/rpcent.h
deleted file mode 100644
index 1cf4161..0000000
--- a/services/librpc/include/rpc/rpcent.h
+++ /dev/null
@@ -1,71 +0,0 @@
-/*	$NetBSD: rpcent.h,v 1.1 2000/06/02 22:57:56 fvdl Exp $	*/
-/*	$FreeBSD: src/include/rpc/rpcent.h,v 1.2 2002/03/23 17:24:55 imp Exp $ */
-
-/*
- * 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
- */
-/*
- * Copyright (c) 1986 - 1991 by Sun Microsystems, Inc.
- */
-
-/*
- * rpcent.h,
- * For converting rpc program numbers to names etc.
- *
- */
-
-#ifndef _RPC_RPCENT_H
-#define _RPC_RPCENT_H
-
-#include <sys/cdefs.h>
-
-/*	#pragma ident "@(#)rpcent.h   1.13    94/04/25 SMI"	*/
-/*      @(#)rpcent.h 1.1 88/12/06 SMI   */
-
-
-struct rpcent {
-      char    *r_name;        /* name of server for this rpc program */
-      char    **r_aliases;    /* alias list */
-      int     r_number;       /* rpc program number */
-};
-
-__BEGIN_DECLS
-extern struct rpcent *getrpcbyname_r(const char *, struct rpcent *,
-				     char *, int);
-extern struct rpcent *getrpcbynumber_r(int, struct rpcent *, char *, int);
-extern struct rpcent *getrpcent_r(struct rpcent *, char *, int);
-
-/* Old interfaces that return a pointer to a static area;  MT-unsafe */
-extern struct rpcent *getrpcbyname(char *);
-extern struct rpcent *getrpcbynumber(int);
-extern struct rpcent *getrpcent(void);
-extern void setrpcent(int);
-extern void endrpcent(void);
-__END_DECLS
-
-#endif /* !_RPC_CENT_H */
diff --git a/services/librpc/include/rpc/svc_auth.h b/services/librpc/include/rpc/svc_auth.h
deleted file mode 100644
index 846752c..0000000
--- a/services/librpc/include/rpc/svc_auth.h
+++ /dev/null
@@ -1,58 +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, MERCHANTABILITY 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
- *
- *	from: @(#)svc_auth.h 1.6 86/07/16 SMI
- *	from: @(#)svc_auth.h	2.1 88/07/29 4.0 RPCSRC
- * $FreeBSD: src/include/rpc/svc_auth.h,v 1.12 1999/08/27 23:45:05 peter Exp $
- */
-
-/*
- * svc_auth.h, Service side of rpc authentication.
- *
- * Copyright (C) 1984, Sun Microsystems, Inc.
- */
-
-#ifndef _RPC_SVCAUTH_H
-#define _RPC_SVCAUTH_H
-
-#include <sys/cdefs.h>
-
-struct rpc_msg;
-struct svc_req;
-
-/*
- * Server side authenticator
- */
-__BEGIN_DECLS
-extern enum auth_stat _authenticate (struct svc_req *, struct rpc_msg *);
-extern int svc_auth_reg (int, enum auth_stat (*)(struct svc_req *,
-						     struct rpc_msg *));
-extern enum auth_stat _svcauth_des (struct svc_req *, struct rpc_msg *);
-__END_DECLS
-
-#endif /* !_RPC_SVCAUTH_H */
diff --git a/services/librpc/include/rpc/svc_soc.h b/services/librpc/include/rpc/svc_soc.h
deleted file mode 100644
index 5b36fb4..0000000
--- a/services/librpc/include/rpc/svc_soc.h
+++ /dev/null
@@ -1,125 +0,0 @@
-/*	$NetBSD: svc_soc.h,v 1.1 2000/06/02 22:57:57 fvdl Exp $	*/
-/*	$FreeBSD: src/include/rpc/svc_soc.h,v 1.2 2002/03/23 17:24:55 imp Exp $ */
-
-/*
- * 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
- */
-/*
- * Copyright (c) 1986 - 1991 by Sun Microsystems, Inc.
- */
-
-/*
- * svc.h, Server-side remote procedure call interface.
- */
-
-#ifndef _RPC_SVC_SOC_H
-#define _RPC_SVC_SOC_H
-#include <sys/cdefs.h>
-#include <rpc/types.h>
-#include <rpc/svc.h> /* SVCXPRT */
-
-/* #pragma ident   "@(#)svc_soc.h  1.11    94/04/25 SMI" */
-/*      svc_soc.h 1.8 89/05/01 SMI      */
-
-/*
- * All the following declarations are only for backward compatibility
- * with TS-RPC
- */
-
-/*
- *  Approved way of getting address of caller
- */
-#define svc_getcaller(x) (&(x)->xp_raddr)
-
-/*
- * Service registration
- *
- * svc_register(xprt, prog, vers, dispatch, protocol)
- *	SVCXPRT *xprt;
- *	u_long prog;
- *	u_long vers;
- *	void (*dispatch)();
- *	int protocol;    like TCP or UDP, zero means do not register 
- */
-__BEGIN_DECLS
-extern bool_t	svc_register(SVCXPRT *, u_long, u_long,
-		    void (*)(struct svc_req *, SVCXPRT *), int);
-__END_DECLS
-
-/*
- * Service un-registration
- *
- * svc_unregister(prog, vers)
- *	u_long prog;
- *	u_long vers;
- */
-__BEGIN_DECLS
-extern void	svc_unregister(u_long, u_long);
-__END_DECLS
-
-
-/*
- * Memory based rpc for testing and timing.
- */
-__BEGIN_DECLS
-extern SVCXPRT *svcraw_create(void);
-__END_DECLS
-
-
-/*
- * Udp based rpc.
- */
-__BEGIN_DECLS
-extern SVCXPRT *svcudp_create(int);
-extern SVCXPRT *svcudp_bufcreate(int, u_int, u_int);
-__END_DECLS
-
-
-/*
- * Tcp based rpc.
- */
-__BEGIN_DECLS
-extern SVCXPRT *svctcp_create(int, u_int, u_int);
-__END_DECLS
-
-/*
- * Fd based rpc.
- */
-__BEGIN_DECLS
-extern SVCXPRT *svcfd_create(int, u_int, u_int);
-__END_DECLS
-
-/*
- * AF_UNIX socket based rpc.
- */
-__BEGIN_DECLS
-extern SVCXPRT *svcunix_create (int, u_int, u_int, char *);
-extern SVCXPRT *svcunixfd_create (int, u_int, u_int);
-__END_DECLS
-
-#endif /* !_RPC_SVC_SOC_H */
diff --git a/services/librpc/include/rpc/types.h b/services/librpc/include/rpc/types.h
deleted file mode 100644
index 05375d3..0000000
--- a/services/librpc/include/rpc/types.h
+++ /dev/null
@@ -1,68 +0,0 @@
-/*	$NetBSD: types.h,v 1.13 2000/06/13 01:02:44 thorpej Exp $	*/
-
-/*
- * 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, MERCHANTABILITY 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
- *
- *	from: @(#)types.h 1.18 87/07/24 SMI
- *	from: @(#)types.h	2.3 88/08/15 4.0 RPCSRC
- * $FreeBSD: src/include/rpc/types.h,v 1.11 2003/12/07 21:10:06 marcel Exp $
- */
-
-/*
- * Rpc additions to <sys/types.h>
- */
-#ifndef _RPC_TYPES_H
-#define _RPC_TYPES_H
-
-#include <stdint.h>
-
-typedef int32_t bool_t;
-typedef int32_t enum_t;
-
-typedef uint32_t rpcprog_t;
-typedef uint32_t rpcvers_t;
-typedef uint32_t rpcproc_t;
-typedef uint32_t rpcprot_t;
-typedef uint32_t rpcport_t;
-typedef  int32_t rpc_inline_t;
- 
-#define __dontcare__	-1
-
-#ifndef FALSE
-#	define FALSE	(0)
-#endif
-#ifndef TRUE
-#	define TRUE	(1)
-#endif
-
-#define mem_alloc(bsize)	malloc(bsize)
-#define mem_free(ptr, bsize)	free(ptr)
-
-#include <sys/time.h>
-
-#endif /* !_RPC_TYPES_H */
diff --git a/services/librpc/include/rpc/xdr.h b/services/librpc/include/rpc/xdr.h
deleted file mode 100644
index 30f2bcc..0000000
--- a/services/librpc/include/rpc/xdr.h
+++ /dev/null
@@ -1,312 +0,0 @@
-/*	$NetBSD: xdr.h,v 1.19 2000/07/17 05:00:45 matt Exp $	*/
-
-/*
- * 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, MERCHANTABILITY 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
- *
- *	from: @(#)xdr.h 1.19 87/04/22 SMI
- *	from: @(#)xdr.h	2.2 88/07/29 4.0 RPCSRC
- * $FreeBSD: src/include/rpc/xdr.h,v 1.23 2003/03/07 13:19:40 nectar Exp $
- */
-
-/*
- * xdr.h, External Data Representation Serialization Routines.
- *
- * Copyright (C) 1984, Sun Microsystems, Inc.
- */
-
-#ifndef _RPC_XDR_H
-#define _RPC_XDR_H
-
-#include <sys/cdefs.h>
-
-#include <rpc/types.h>
-
-/*
- * 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)
-#define RNDUP(x)  ((((x) + BYTES_PER_XDR_UNIT - 1) / BYTES_PER_XDR_UNIT) \
-		    * BYTES_PER_XDR_UNIT)
-
-/*
- * 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 __rpc_xdr {
-	enum xdr_op	x_op;		/* operation; fast additional param */
-	const struct xdr_ops {
-		/* get a long from underlying stream */
-		bool_t	(*x_getlong)(struct __rpc_xdr *, long *);
-		/* put a long to " */
-		bool_t	(*x_putlong)(struct __rpc_xdr *, const long *);
-		/* get some bytes from " */
-		bool_t	(*x_getbytes)(struct __rpc_xdr *, char *, u_int);
-		/* put some bytes to " */
-		bool_t	(*x_putbytes)(struct __rpc_xdr *, const char *, u_int);
-		/* returns bytes off from beginning */
-		u_int	(*x_getpostn)(struct __rpc_xdr *);
-		/* lets you reposition the stream */
-		bool_t  (*x_setpostn)(struct __rpc_xdr *, u_int);
-		/* buf quick ptr to buffered data */
-		int32_t *(*x_inline)(struct __rpc_xdr *, u_int);
-		/* free privates of this xdr_stream */
-		void	(*x_destroy)(struct __rpc_xdr *);
-	} *x_ops;
-	char *	 	x_public;	/* users' data */
-	void *		x_private;	/* pointer to private data */
-	char *	 	x_base;		/* private used for position info */
-	u_int		x_handy;	/* extra private word */
-} XDR;
-
-/*
- * 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.
- */
-typedef	bool_t (*xdrproc_t) (XDR *, void *, ...);
-
-/*
- * Operations defined on a XDR handle
- *
- * XDR		*xdrs;
- * long		*longp;
- * caddr_t	 addr;
- * u_int	 len;
- * u_int	 pos;
- */
-#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)				\
-	(*(xdrs)->x_ops->x_setpostn)(xdrs, pos)
-
-#define	XDR_INLINE(xdrs, len)				\
-	(*(xdrs)->x_ops->x_inline)(xdrs, len)
-#define	xdr_inline(xdrs, len)				\
-	(*(xdrs)->x_ops->x_inline)(xdrs, len)
-
-#define	XDR_DESTROY(xdrs)				\
-	if ((xdrs)->x_ops->x_destroy) 			\
-		(*(xdrs)->x_ops->x_destroy)(xdrs)
-#define	xdr_destroy(xdrs)				\
-	if ((xdrs)->x_ops->x_destroy) 			\
-		(*(xdrs)->x_ops->x_destroy)(xdrs)
-
-/*
- * Support struct for discriminated unions.
- * You create an array of xdrdiscrim structures, terminated with
- * an entry with a null procedure pointer.  The xdr_union routine gets
- * the discriminant value and then searches the array of structures
- * for a matching value.  If a match is found the associated xdr routine
- * is called to handle that part of the union.  If there is
- * no match, then a default routine may be called.
- * If there is no match and no default routine it is an error.
- */
-#define NULL_xdrproc_t ((xdrproc_t)0)
-struct xdr_discrim {
-	int	value;
-	xdrproc_t proc;
-};
-
-/*
- * In-line routines for fast encode/decode of primitive data types.
- * Caveat emptor: these use single memory cycles to get the
- * data from the underlying buffer, and will fail to operate
- * properly if the data is not aligned.  The standard way to use these
- * is to say:
- *	if ((buf = XDR_INLINE(xdrs, count)) == NULL)
- *		return (FALSE);
- *	<<< macro calls >>>
- * where ``count'' is the number of bytes of data occupied
- * by the primitive data types.
- *
- * N.B. and frozen for all time: each data type here uses 4 bytes
- * of external representation.
- */
-#define IXDR_GET_LONG(buf)		((long)ntohl((u_long)*(buf)++))
-#define IXDR_PUT_LONG(buf, v)		(*(buf)++ = (long)htonl((u_long)v))
-
-#define IXDR_GET_BOOL(buf)		((bool_t)IXDR_GET_LONG(buf))
-#define IXDR_GET_ENUM(buf, t)		((t)IXDR_GET_LONG(buf))
-#define IXDR_GET_U_LONG(buf)		((u_long)IXDR_GET_LONG(buf))
-#define IXDR_GET_SHORT(buf)		((short)IXDR_GET_LONG(buf))
-#define IXDR_GET_U_SHORT(buf)		((u_short)IXDR_GET_LONG(buf))
-
-#define IXDR_PUT_BOOL(buf, v)		IXDR_PUT_LONG((buf), ((long)(v)))
-#define IXDR_PUT_ENUM(buf, v)		IXDR_PUT_LONG((buf), ((long)(v)))
-#define IXDR_PUT_U_LONG(buf, v)		IXDR_PUT_LONG((buf), ((long)(v)))
-#define IXDR_PUT_SHORT(buf, v)		IXDR_PUT_LONG((buf), ((long)(v)))
-#define IXDR_PUT_U_SHORT(buf, v)	IXDR_PUT_LONG((buf), ((long)(v)))
-
-/*
- * These are the "generic" xdr routines.
- */
-__BEGIN_DECLS
-extern bool_t	xdr_void(void);
-extern bool_t	xdr_int(XDR *, int *);
-extern bool_t	xdr_u_int(XDR *, u_int *);
-extern bool_t	xdr_long(XDR *, long *);
-extern bool_t	xdr_u_long(XDR *, u_long *);
-extern bool_t	xdr_short(XDR *, short *);
-extern bool_t	xdr_u_short(XDR *, u_short *);
-extern bool_t	xdr_int16_t(XDR *, int16_t *);
-extern bool_t	xdr_u_int16_t(XDR *, u_int16_t *);
-extern bool_t	xdr_int32_t(XDR *, int32_t *);
-extern bool_t	xdr_u_int32_t(XDR *, u_int32_t *);
-extern bool_t	xdr_int64_t(XDR *, int64_t *);
-extern bool_t	xdr_u_int64_t(XDR *, u_int64_t *);
-extern bool_t	xdr_bool(XDR *, bool_t *);
-extern bool_t	xdr_enum(XDR *, enum_t *);
-extern bool_t	xdr_array(XDR *, char **, u_int *, u_int, u_int, xdrproc_t);
-extern bool_t	xdr_bytes(XDR *, char **, u_int *, u_int);
-extern bool_t	xdr_opaque(XDR *, caddr_t, u_int);
-extern bool_t	xdr_string(XDR *, char **, u_int);
-extern bool_t	xdr_union(XDR *, enum_t *, char *, const struct xdr_discrim *, xdrproc_t);
-extern unsigned long	xdr_sizeof (xdrproc_t, void *);
-extern bool_t	xdr_char(XDR *, char *);
-extern bool_t	xdr_u_char(XDR *, u_char *);
-extern bool_t	xdr_vector(XDR *, char *, u_int, u_int, xdrproc_t);
-extern bool_t	xdr_float(XDR *, float *);
-extern bool_t	xdr_double(XDR *, double *);
-extern bool_t	xdr_reference(XDR *, caddr_t *, u_int, xdrproc_t);
-extern bool_t	xdr_pointer(XDR *, caddr_t *, u_int, xdrproc_t);
-extern bool_t	xdr_wrapstring(XDR *, char **);
-extern void	xdr_free(xdrproc_t, char *);
-__END_DECLS
-
-/*
- * Common opaque bytes objects used by many rpc protocols;
- * declared here due to commonality.
- */
-#define MAX_NETOBJ_SZ 1024
-struct netobj {
-	u_int	n_len;
-	char	*n_bytes;
-};
-typedef struct netobj netobj;
-extern bool_t   xdr_netobj(XDR *, struct netobj *);
-
-/*
- * These are the public routines for the various implementations of
- * xdr streams.
- */
-__BEGIN_DECLS
-/* XDR using memory buffers */
-extern void   xdrmem_create(XDR *, char *, u_int, enum xdr_op);
-
-/* XDR using stdio library */
-#ifdef _STDIO_H_
-extern void   xdrstdio_create(XDR *, FILE *, enum xdr_op);
-#endif
-
-/* XDR pseudo records for tcp */
-extern void   xdrrec_create(XDR *, u_int, u_int, char *,
-				int (*) (caddr_t, caddr_t, int),
-				int (*) (caddr_t, caddr_t, int));
-
-/* make end of xdr record */
-extern bool_t xdrrec_endofrecord(XDR *, bool_t);
-
-/* move to beginning of next record */
-extern bool_t xdrrec_skiprecord(XDR *);
-
-/* true if no more input */
-extern bool_t xdrrec_eof(XDR *);
-__END_DECLS
-
-#endif /* !_RPC_XDR_H */




More information about the vc mailing list