summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--freebsd-userspace/rtems/include/rpc.h (renamed from freebsd-userspace/include/rpc/rpc.h)0
-rw-r--r--freebsd-userspace/rtems/include/rpc/clnt.h (renamed from freebsd-userspace/include/rpc/clnt.h)0
-rw-r--r--rtemsbsd/freebsd/machine/rtems-bsd-config.h3
-rw-r--r--services/Makefile5
-rw-r--r--services/librpc/Makefile1
-rw-r--r--services/librpc/include/rpc/auth.h262
-rw-r--r--services/librpc/include/rpc/auth_unix.h85
-rw-r--r--services/librpc/include/rpc/clnt.h310
-rw-r--r--services/librpc/include/rpc/clnt_soc.h109
-rw-r--r--services/librpc/include/rpc/clnt_stat.h84
-rw-r--r--services/librpc/include/rpc/pmap_clnt.h89
-rw-r--r--services/librpc/include/rpc/pmap_prot.h105
-rw-r--r--services/librpc/include/rpc/rpc.h116
-rw-r--r--services/librpc/include/rpc/rpc_com.h5
-rw-r--r--services/librpc/include/rpc/rpc_msg.h205
-rw-r--r--services/librpc/include/rpc/rpcent.h71
-rw-r--r--services/librpc/include/rpc/svc.h296
-rw-r--r--services/librpc/include/rpc/svc_auth.h58
-rw-r--r--services/librpc/include/rpc/svc_soc.h125
-rw-r--r--services/librpc/include/rpc/types.h68
-rw-r--r--services/librpc/include/rpc/xdr.h312
-rw-r--r--services/librpc/src/rpc/auth_none.c2
-rw-r--r--services/librpc/src/rpc/auth_unix.c1
-rw-r--r--services/librpc/src/rpc/authunix_prot.c1
-rw-r--r--services/librpc/src/rpc/bindresvport.c1
-rw-r--r--services/librpc/src/rpc/clnt_generic.c2
-rw-r--r--services/librpc/src/rpc/clnt_perror.c4
-rw-r--r--services/librpc/src/rpc/clnt_raw.c6
-rw-r--r--services/librpc/src/rpc/clnt_simple.c10
-rw-r--r--services/librpc/src/rpc/clnt_tcp.c6
-rw-r--r--services/librpc/src/rpc/clnt_udp.c6
-rw-r--r--services/librpc/src/rpc/get_myaddress.c8
-rw-r--r--services/librpc/src/rpc/getrpcent.c1
-rw-r--r--services/librpc/src/rpc/getrpcport.c1
-rw-r--r--services/librpc/src/rpc/netname.c9
-rw-r--r--services/librpc/src/rpc/netnamer.c1
-rw-r--r--services/librpc/src/rpc/pmap_clnt.c1
-rw-r--r--services/librpc/src/rpc/pmap_getmaps.c8
-rw-r--r--services/librpc/src/rpc/pmap_getport.c8
-rw-r--r--services/librpc/src/rpc/pmap_prot.c1
-rw-r--r--services/librpc/src/rpc/pmap_prot2.c5
-rw-r--r--services/librpc/src/rpc/pmap_rmt.c7
-rw-r--r--services/librpc/src/rpc/rpc.34
-rw-r--r--services/librpc/src/rpc/rpc_callmsg.c1
-rw-r--r--services/librpc/src/rpc/rpc_commondata.c5
-rw-r--r--services/librpc/src/rpc/rpc_dtablesize.c1
-rw-r--r--services/librpc/src/rpc/rpc_prot.c1
-rw-r--r--services/librpc/src/rpc/rpcdname.c5
-rw-r--r--services/librpc/src/rpc/rtems_portmapper.c1
-rw-r--r--services/librpc/src/rpc/rtems_rpc.c5
-rw-r--r--services/librpc/src/rpc/rtime.c1
-rw-r--r--services/librpc/src/rpc/svc.c9
-rw-r--r--services/librpc/src/rpc/svc_auth.c5
-rw-r--r--services/librpc/src/rpc/svc_auth_unix.c1
-rw-r--r--services/librpc/src/rpc/svc_raw.c7
-rw-r--r--services/librpc/src/rpc/svc_run.c4
-rw-r--r--services/librpc/src/rpc/svc_simple.c4
-rw-r--r--services/librpc/src/rpc/svc_tcp.c18
-rw-r--r--services/librpc/src/rpc/svc_udp.c13
-rw-r--r--services/librpc/src/xdr/xdr.c3
-rw-r--r--services/librpc/src/xdr/xdr_array.c1
-rw-r--r--services/librpc/src/xdr/xdr_float.c1
-rw-r--r--services/librpc/src/xdr/xdr_mem.c1
-rw-r--r--services/librpc/src/xdr/xdr_rec.c9
-rw-r--r--services/librpc/src/xdr/xdr_reference.c1
-rw-r--r--services/librpc/src/xdr/xdr_sizeof.c1
-rw-r--r--services/librpc/src/xdr/xdr_stdio.c1
67 files changed, 166 insertions, 2335 deletions
diff --git a/freebsd-userspace/include/rpc/rpc.h b/freebsd-userspace/rtems/include/rpc.h
index 725b542a..725b542a 100644
--- a/freebsd-userspace/include/rpc/rpc.h
+++ b/freebsd-userspace/rtems/include/rpc.h
diff --git a/freebsd-userspace/include/rpc/clnt.h b/freebsd-userspace/rtems/include/rpc/clnt.h
index 1c85a4a7..1c85a4a7 100644
--- a/freebsd-userspace/include/rpc/clnt.h
+++ b/freebsd-userspace/rtems/include/rpc/clnt.h
diff --git a/rtemsbsd/freebsd/machine/rtems-bsd-config.h b/rtemsbsd/freebsd/machine/rtems-bsd-config.h
index 735a8051..d8353baa 100644
--- a/rtemsbsd/freebsd/machine/rtems-bsd-config.h
+++ b/rtemsbsd/freebsd/machine/rtems-bsd-config.h
@@ -28,6 +28,9 @@
#define __FreeBSD__ 1
#define __BSD_VISIBLE 1
+/* XXX hack so /opt.../machine/param.h can disable MSIZE and use this one */
+#define __NEW_RTEMS_BSD__
+
/* Disable procedure call definitions */
#undef __P
#undef __strong_reference
diff --git a/services/Makefile b/services/Makefile
index d25f00d6..14a065ad 100644
--- a/services/Makefile
+++ b/services/Makefile
@@ -8,6 +8,11 @@ include $(RTEMS_MAKEFILE_PATH)/Makefile.inc
include $(RTEMS_CUSTOM)
include $(RTEMS_SHARE)/make/directory.cfg
+# servers
SUBDIRS = mghttpd
SUBDIRS += telnetd
SUBDIRS += ftpd
+# client services
+SUBDIRS += ftpfs
+SUBDIRS += librpc
+# SUBDIRS += nfsclient
diff --git a/services/librpc/Makefile b/services/librpc/Makefile
index 5311260e..e3a0f8ce 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.h b/services/librpc/include/rpc/auth.h
deleted file mode 100644
index 13432bd5..00000000
--- a/services/librpc/include/rpc/auth.h
+++ /dev/null
@@ -1,262 +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.h 1.17 88/02/08 SMI
- * from: @(#)auth.h 2.3 88/08/07 4.0 RPCSRC
- * $FreeBSD: src/include/rpc/auth.h,v 1.15 1999/08/27 23:45:02 peter Exp $
- */
-
-/*
- * 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
-#include <sys/cdefs.h>
-#include <sys/socket.h>
-#include <rpc/xdr.h>
-
-#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 */
- _AUTH_STAT = 0xffffffff
-};
-
-union des_block {
- struct {
- u_int32_t high;
- u_int32_t low;
- } key;
- char c[8];
-};
-typedef union des_block des_block;
-__BEGIN_DECLS
-extern bool_t xdr_des_block (XDR *, des_block *);
-__END_DECLS
-
-/*
- * 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 */
-};
-__BEGIN_DECLS
-bool_t xdr_opaque_auth (XDR *xdrs, struct opaque_auth *ap);
-__END_DECLS
-
-
-/*
- * Auth handle, interface to client side authenticators.
- */
-typedef struct __rpc_auth {
- struct opaque_auth ah_cred;
- struct opaque_auth ah_verf;
- union des_block ah_key;
- struct auth_ops {
- void (*ah_nextverf) (struct __rpc_auth *);
- /* nextverf & serialize */
- int (*ah_marshal) (struct __rpc_auth *, XDR *);
- /* validate verifier */
- int (*ah_validate) (struct __rpc_auth *,
- struct opaque_auth *);
- /* refresh credentials */
- int (*ah_refresh) (struct __rpc_auth *);
- /* destroy this structure */
- void (*ah_destroy) (struct __rpc_auth *);
- } *ah_ops;
- caddr_t ah_private;
-} AUTH;
-
-
-/*
- * 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;
- */
-__BEGIN_DECLS
-struct sockaddr_in;
-extern AUTH *authunix_create (char *, int, int, int, int *);
-extern AUTH *authunix_create_default (void);
-extern AUTH *authnone_create (void);
-__END_DECLS
-
-/* Forward compatibility with TI-RPC */
-#define authsys_create authunix_create
-#define authsys_create_default authunix_create_default
-
-/*
- * DES style authentication
- * AUTH *authdes_create(servername, window, timehost, ckey)
- * char *servername; - network name of server
- * u_int window; - time to live
- * struct sockaddr *timehost; - optional hostname to sync with
- * des_block *ckey; - optional conversation key to use
- */
-__BEGIN_DECLS
-extern AUTH *authdes_create ( char *, u_int, struct sockaddr *, des_block * );
-#ifdef NOTYET
-/*
- * TI-RPC supports this call, but it requires the inclusion of
- * NIS+-specific headers which would require the inclusion of other
- * headers which would result in a tangled mess. For now, the NIS+
- * code prototypes this routine internally.
- */
-extern AUTH *authdes_pk_create ( char *, netobj *, u_int,
- struct sockaddr *, des_block *,
- nis_server * );
-#endif
-__END_DECLS
-
-/*
- * Netname manipulation routines.
- */
-__BEGIN_DECLS
-extern int netname2user ( char *, uid_t *, gid_t *, int *, gid_t *);
-extern int netname2host ( char *, char *, int );
-extern int getnetname ( char * );
-extern int user2netname ( char *, uid_t, char * );
-extern int host2netname ( char *, char *, char * );
-extern void passwd2des ( char *, char * );
-__END_DECLS
-
-/*
- * Keyserv interface routines.
- * XXX Should not be here.
- */
-#ifndef HEXKEYBYTES
-#define HEXKEYBYTES 48
-#endif
-typedef char kbuf[HEXKEYBYTES];
-typedef char *namestr;
-
-struct netstarg {
- kbuf st_priv_key;
- kbuf st_pub_key;
- namestr st_netname;
-};
-
-__BEGIN_DECLS
-extern int key_decryptsession ( const char *, des_block * );
-extern int key_decryptsession_pk ( char *, netobj *, des_block * );
-extern int key_encryptsession ( const char *, des_block * );
-extern int key_encryptsession_pk ( char *, netobj *, des_block * );
-extern int key_gendes ( des_block * );
-extern int key_setsecret ( const char * );
-extern int key_secretkey_is_set ( void );
-extern int key_setnet ( struct netstarg * );
-extern int key_get_conv ( char *, des_block * );
-__END_DECLS
-
-/*
- * Publickey routines.
- */
-__BEGIN_DECLS
-extern int getpublickey ( char *, char * );
-extern int getpublicandprivatekey ( char *, char * );
-extern int getsecretkey ( char *, char *, char * );
-__END_DECLS
-
-
-#define AUTH_NONE 0 /* no authentication */
-#define AUTH_NULL 0 /* backward compatibility */
-#define AUTH_UNIX 1 /* unix style (uid, gids) */
-#define AUTH_SYS 1 /* forward compatibility */
-#define AUTH_SHORT 2 /* short hand unix style */
-#define AUTH_DES 3 /* des style (encrypted timestamps) */
-
-#endif /* !_RPC_AUTH_H */
diff --git a/services/librpc/include/rpc/auth_unix.h b/services/librpc/include/rpc/auth_unix.h
deleted file mode 100644
index f822f3dd..00000000
--- 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.h b/services/librpc/include/rpc/clnt.h
deleted file mode 100644
index 3042abe1..00000000
--- a/services/librpc/include/rpc/clnt.h
+++ /dev/null
@@ -1,310 +0,0 @@
-/* $NetBSD: clnt.h,v 1.14 2000/06/02 22:57:55 fvdl Exp $ */
-
-/*
- * The contents of this file are subject to the Sun Standards
- * License Version 1.0 the (the "License";) You may not use
- * this file except in compliance with the License. You may
- * obtain a copy of the License at lib/libc/rpc/LICENSE
- *
- * Software distributed under the License is distributed on
- * an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either
- * express or implied. See the License for the specific
- * language governing rights and limitations under the License.
- *
- * The Original Code is Copyright 1998 by Sun Microsystems, Inc
- *
- * The Initial Developer of the Original Code is: Sun
- * Microsystems, Inc.
- *
- * All Rights Reserved.
- *
- * 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: @(#)clnt.h 1.31 94/04/29 SMI
- * from: @(#)clnt.h 2.1 88/07/29 4.0 RPCSRC
- * $FreeBSD: src/include/rpc/clnt.h,v 1.21 2003/01/24 01:47:55 fjoe Exp $
- */
-
-/*
- * clnt.h - Client side remote procedure call interface.
- *
- * Copyright (c) 1986-1991,1994-1999 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-
-#ifndef _RPC_CLNT_H_
-#define _RPC_CLNT_H_
-#include <rpc/clnt_stat.h>
-#include <sys/cdefs.h>
-#include <sys/un.h>
-#include <rpc/auth.h> /* auth_stat */
-
-/*
- * 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 {
- rpcvers_t low; /* lowest version supported */
- rpcvers_t high; /* highest version supported */
- } RE_vers;
- struct { /* maybe meaningful if RPC_FAILED */
- int32_t s1;
- int32_t 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
- * Client is responsible for initializing auth, see e.g. auth_none.c.
- */
-typedef struct __rpc_client {
- AUTH *cl_auth; /* authenticator */
- struct clnt_ops {
- /* call remote procedure */
- enum clnt_stat (*cl_call)(struct __rpc_client *,
- rpcproc_t, xdrproc_t, void *, xdrproc_t,
- void *, struct timeval);
- /* abort a call */
- void (*cl_abort)(void);
- /* get specific error code */
- void (*cl_geterr)(struct __rpc_client *,
- struct rpc_err *);
- /* frees results */
- bool_t (*cl_freeres)(struct __rpc_client *,
- xdrproc_t, void *);
- /* destroy this structure */
- void (*cl_destroy)(struct __rpc_client *);
- /* the ioctl() of rpc */
- bool_t (*cl_control)(struct __rpc_client *, int,
- char *);
- } *cl_ops;
- void *cl_private; /* private stuff */
-} CLIENT;
-
-#define RPCSMALLMSGSIZE 400 /* a more reasonable packet size */
-
-/*
- * client side rpc interface ops
- *
- * Parameter types are:
- *
- */
-
-/*
- * enum clnt_stat
- * CLNT_CALL(rh, proc, xargs, argsp, xres, resp, timeout)
- * CLIENT *rh;
- * rpcproc_t proc;
- * xdrproc_t xargs;
- * void *argsp;
- * xdrproc_t xres;
- * void *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;
- * void *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 udp, tcp and unix 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) */
-#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) */
-
-/*
- * Operations which GSSAPI needs. (Bletch.)
- */
-#define CLGET_LOCAL_ADDR 19 /* get local addr (sockaddr) */
-
-
-/*
- * 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 ((rpcprog_t)1)
-#define RPCTEST_VERSION ((rpcvers_t)1)
-#define RPCTEST_NULL_PROC ((rpcproc_t)2)
-#define RPCTEST_NULL_BATCH_PROC ((rpcproc_t)3)
-
-/*
- * By convention, procedure 0 takes null arguments and returns them
- */
-
-#define NULLPROC ((rpcproc_t)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.
- */
-
-/*
- * Generic client creation routine. Supported protocols are "udp", "tcp"
- * and "unix".
- */
-__BEGIN_DECLS
-extern CLIENT *clnt_create(const char *, const rpcprog_t, const rpcvers_t,
- const char *);
-__END_DECLS
-
-/*
- * Added for compatibility to old rpc 4.0. Obsoleted by clnt_vc_create().
- */
-__BEGIN_DECLS
-extern CLIENT *clntunix_create(struct sockaddr_un *,
- u_long, u_long, int *, u_int, u_int);
-__END_DECLS
-
-
-/*
- * Print why creation failed
- */
-__BEGIN_DECLS
-extern void clnt_pcreateerror(const char *); /* stderr */
-extern char *clnt_spcreateerror(const char *); /* string */
-__END_DECLS
-
-/*
- * Like clnt_perror(), but is more verbose in its output
- */
-__BEGIN_DECLS
-extern void clnt_perrno(enum clnt_stat); /* stderr */
-extern char *clnt_sperrno(enum clnt_stat); /* string */
-__END_DECLS
-
-/*
- * Print an English error message, given the client error code
- */
-__BEGIN_DECLS
-extern void clnt_perror(CLIENT *, const char *); /* stderr */
-extern char *clnt_sperror(CLIENT *, const char *); /* string */
-__END_DECLS
-
-
-/*
- * 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;
-
-/* For backward compatibility */
-#include <rpc/clnt_soc.h>
-
-#endif /* !_RPC_CLNT_H_ */
diff --git a/services/librpc/include/rpc/clnt_soc.h b/services/librpc/include/rpc/clnt_soc.h
deleted file mode 100644
index 9aa99b88..00000000
--- 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 2c687454..00000000
--- 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 86fff6be..00000000
--- 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 14720e8c..00000000
--- 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.h b/services/librpc/include/rpc/rpc.h
deleted file mode 100644
index 95df0859..00000000
--- a/services/librpc/include/rpc/rpc.h
+++ /dev/null
@@ -1,116 +0,0 @@
-/* $NetBSD: rpc.h,v 1.13 2000/06/02 22:57:56 fvdl 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: @(#)rpc.h 1.9 88/02/08 SMI
- * from: @(#)rpc.h 2.4 89/07/11 4.0 RPCSRC
- * $FreeBSD: src/include/rpc/rpc.h,v 1.17 2002/03/23 17:24:55 imp Exp $
- */
-
-/*
- * 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
-
-#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 */
-
-/* Server side only remote procedure callee */
-#include <rpc/svc.h> /* service manager and multiplexer */
-#include <rpc/svc_auth.h> /* service side authenticator */
-
-#include <rpc/rpcent.h>
-
-__BEGIN_DECLS
-extern int get_myaddress(struct sockaddr_in *);
-extern int bindresvport(int, struct sockaddr_in *);
-extern int bindresvport_sa(int, struct sockaddr *);
-__END_DECLS
-
-int rtems_rpc_task_init (void);
-int rtems_rpc_start_portmapper (int priority);
-
-#ifdef _RTEMS_RPC_INTERNAL_
-/*
- * Multi-threaded support
- * Group all global and static variables into a single spot.
- * This area will be allocated on a per-task basis
- */
-struct _rtems_rpc_task_variables {
- int svc_svc_maxfd;
- fd_set svc_svc_fdset;
- SVCXPRT ** svc_xports;
- int svc_xportssize;
- int svc__svc_fdsetsize;
- fd_set *svc__svc_fdset;
- struct svc_callout *svc_svc_head;
-
- char *clnt_perror_buf;
-
- struct clnt_raw_private *clnt_raw_private;
-
- void *call_rpc_private;
-
- struct call_rpc_private *svc_raw_private;
-
- struct prog_lst *svc_simple_proglst;
- struct prog_lst *svc_simple_pl;
- SVCXPRT *svc_simple_transp;
-
- char *rpcdname_default_domain;
-
- struct authsvc *svc_auths_Auths;
-};
-extern struct _rtems_rpc_task_variables *rtems_rpc_task_variables;
-
-#define svc_maxfd (rtems_rpc_task_variables->svc_svc_maxfd)
-#define svc_fdset (rtems_rpc_task_variables->svc_svc_fdset)
-#define __svc_fdsetsize (rtems_rpc_task_variables->svc__svc_fdsetsize)
-#define __svc_fdset (rtems_rpc_task_variables->svc__svc_fdset)
-
-#endif /* _RTEMS_RPC_INTERNAL_ */
-
-#endif /* !_RPC_RPC_H */
diff --git a/services/librpc/include/rpc/rpc_com.h b/services/librpc/include/rpc/rpc_com.h
index 9a1ce453..ac35a049 100644
--- a/services/librpc/include/rpc/rpc_com.h
+++ b/services/librpc/include/rpc/rpc_com.h
@@ -56,7 +56,10 @@
__BEGIN_DECLS
extern u_int __rpc_get_a_size(int);
-extern u_int __rpc_get_t_size(int, long);
+#ifndef __rtems__
+ /* XXX defined in old.. in new rpc.h as internal */
+ extern u_int __rpc_get_t_size(int, long);
+#endif
extern int __rpc_dtbsize(void);
extern int _rpc_dtablesize(void);
extern int _rpc_get_default_domain(char **);
diff --git a/services/librpc/include/rpc/rpc_msg.h b/services/librpc/include/rpc/rpc_msg.h
deleted file mode 100644
index 63a1f360..00000000
--- 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 1cf4161b..00000000
--- 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.h b/services/librpc/include/rpc/svc.h
deleted file mode 100644
index 0ef3b8c2..00000000
--- a/services/librpc/include/rpc/svc.h
+++ /dev/null
@@ -1,296 +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.h 1.35 88/12/17 SMI
- * from: @(#)svc.h 1.27 94/04/25 SMI
- * $FreeBSD: src/include/rpc/svc.h,v 1.24 2003/06/15 10:32:01 mbr Exp $
- */
-
-/*
- * svc.h, Server-side remote procedure call interface.
- *
- * Copyright (C) 1986-1993 by Sun Microsystems, Inc.
- */
-
-#ifndef _RPC_SVC_H
-#define _RPC_SVC_H
-
-#include <sys/cdefs.h>
-#include <rpc/types.h>
-#include <rpc/xdr.h> /* xdrproc_t */
-#include <sys/socket.h> /* socklen_t */
-#include <netinet/in.h> /* struct sockaddr_in */
-#include <rpc/auth.h> /* auth_stat */
-
-/*
- * 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,
- _XPRT_STAT = 0xffffffff
-};
-
-struct rpc_msg;
-
-/*
- * Server side transport handle
- */
-typedef struct __rpc_svcxprt {
- int xp_sock;
- u_short xp_port; /* associated port number */
- struct xp_ops {
- /* receive incoming requests */
- bool_t (*xp_recv)(struct __rpc_svcxprt *, struct rpc_msg *);
- /* get transport status */
- enum xprt_stat (*xp_stat)(struct __rpc_svcxprt *);
- /* get arguments */
- bool_t (*xp_getargs)(struct __rpc_svcxprt *, xdrproc_t,
- caddr_t args_ptr);
- /* send reply */
- bool_t (*xp_reply)(struct __rpc_svcxprt *, struct rpc_msg *);
- /* free mem allocated for args */
- bool_t (*xp_freeargs)(struct __rpc_svcxprt *, xdrproc_t,
- caddr_t args_ptr);
- /* destroy this struct */
- void (*xp_destroy)(struct __rpc_svcxprt *);
- } *xp_ops;
- socklen_t xp_addrlen; /* length of remote address */
- struct sockaddr_in xp_raddr; /* remote addr. (backward ABI compat) */
- struct opaque_auth xp_verf; /* raw response verifier */
- void *xp_p1; /* private: for use by svc ops */
- void *xp_p2; /* private: for use by svc ops */
-} SVCXPRT;
-
-/*
- * Service request
- */
-struct svc_req {
- u_int32_t rq_prog; /* service program number */
- u_int32_t rq_vers; /* service protocol version */
- u_int32_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 */
-};
-
-
-/*
- * 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)
-
-/*
- * Transport registration.
- *
- * xprt_register(xprt)
- * SVCXPRT *xprt;
- */
-__BEGIN_DECLS
-extern void xprt_register(SVCXPRT *);
-__END_DECLS
-
-/*
- * Transport un-register
- *
- * xprt_unregister(xprt)
- * SVCXPRT *xprt;
- */
-__BEGIN_DECLS
-extern void xprt_unregister(SVCXPRT *);
-__END_DECLS
-
-
-/*
- * 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!
- */
-
-__BEGIN_DECLS
-extern bool_t svc_sendreply(SVCXPRT *, xdrproc_t, void *);
-extern void svcerr_decode(SVCXPRT *);
-extern void svcerr_weakauth(SVCXPRT *);
-extern void svcerr_noproc(SVCXPRT *);
-extern void svcerr_progvers(SVCXPRT *, rpcvers_t, rpcvers_t);
-extern void svcerr_auth(SVCXPRT *, enum auth_stat);
-extern void svcerr_noprog(SVCXPRT *);
-extern void svcerr_systemerr(SVCXPRT *);
-__END_DECLS
-
-/*
- * 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 (co-existant) 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 int svc_maxfd;
-extern fd_set svc_fdset;
-#define svc_fds svc_fdset.fds_bits[0] /* compatibility */
-
-#ifndef _KERNEL
-/*
- * a small program implemented by the svc_rpc implementation itself;
- * also see clnt.h for protocol numbers.
- */
-__BEGIN_DECLS
-extern void rpctest_service(void);
-__END_DECLS
-#endif
-
-__BEGIN_DECLS
-extern void svc_getreq(int);
-extern void svc_getreqset(fd_set *);
-extern void svc_getreqset2(fd_set *, int); /* XXX: nonstd, undoc */
-extern void svc_run(void);
-__END_DECLS
-
-/*
- * Socket to use on svcxxx_create call to get default socket
- */
-#define RPC_ANYSOCK -1
-#define RPC_ANYFD RPC_ANYSOCK
-
-/*
- * These are the existing service side transport implementations
- */
-
-__BEGIN_DECLS
-/*
- * Transport independent svc_create routine.
- */
-
-/*
- * Connectionless and connectionful create routines
- */
-
-extern SVCXPRT *svc_vc_create(const int, const u_int, const u_int);
-/*
- * const int fd; -- open connection end point
- * const u_int sendsize; -- max send size
- * const u_int recvsize; -- max recv size
- */
-
-/*
- * Added for compatibility to old rpc 4.0. Obsoleted by svc_vc_create().
- */
-extern SVCXPRT *svcunix_create(int, u_int, u_int, char *);
-
-/*
- * Added for compatibility to old rpc 4.0. Obsoleted by svc_fd_create().
- */
-extern SVCXPRT *svcunixfd_create(int, u_int, u_int);
-__END_DECLS
-
-
-/* for backward compatibility */
-#include <rpc/svc_soc.h>
-
-#endif /* !_RPC_SVC_H */
diff --git a/services/librpc/include/rpc/svc_auth.h b/services/librpc/include/rpc/svc_auth.h
deleted file mode 100644
index 846752c2..00000000
--- 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 5b36fb46..00000000
--- 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 05375d32..00000000
--- 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 30f2bccc..00000000
--- 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 */
diff --git a/services/librpc/src/rpc/auth_none.c b/services/librpc/src/rpc/auth_none.c
index 48b3741d..1718caa2 100644
--- a/services/librpc/src/rpc/auth_none.c
+++ b/services/librpc/src/rpc/auth_none.c
@@ -45,7 +45,7 @@ static char *rcsid = "$FreeBSD: src/lib/libc/rpc/auth_none.c,v 1.9 1999/08/28 00
#include "config.h"
#endif
-#include <stdlib.h>
+#include <freebsd/bsd.h>
#include <rpc/types.h>
#include <rpc/xdr.h>
#include <rpc/auth.h>
diff --git a/services/librpc/src/rpc/auth_unix.c b/services/librpc/src/rpc/auth_unix.c
index 67d3962b..ca7f74b6 100644
--- a/services/librpc/src/rpc/auth_unix.c
+++ b/services/librpc/src/rpc/auth_unix.c
@@ -49,6 +49,7 @@ static char *rcsid = "$FreeBSD: src/lib/libc/rpc/auth_unix.c,v 1.12 1999/12/29 0
#include "config.h"
#endif
+#include <freebsd/bsd.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
diff --git a/services/librpc/src/rpc/authunix_prot.c b/services/librpc/src/rpc/authunix_prot.c
index 84acf46c..f8a05ae0 100644
--- a/services/librpc/src/rpc/authunix_prot.c
+++ b/services/librpc/src/rpc/authunix_prot.c
@@ -45,6 +45,7 @@ static char *rcsid = "$FreeBSD: src/lib/libc/rpc/authunix_prot.c,v 1.6 1999/08/2
#include "config.h"
#endif
+#include <freebsd/bsd.h>
#include <rpc/types.h>
#include <rpc/xdr.h>
#include <rpc/auth.h>
diff --git a/services/librpc/src/rpc/bindresvport.c b/services/librpc/src/rpc/bindresvport.c
index 849d664f..87b1becb 100644
--- a/services/librpc/src/rpc/bindresvport.c
+++ b/services/librpc/src/rpc/bindresvport.c
@@ -46,6 +46,7 @@ static char *rcsid = "$FreeBSD: src/lib/libc/rpc/bindresvport.c,v 1.12 2000/01/2
#include "config.h"
#endif
+#include <freebsd/bsd.h>
#include <sys/types.h>
#include <sys/socket.h>
diff --git a/services/librpc/src/rpc/clnt_generic.c b/services/librpc/src/rpc/clnt_generic.c
index 232af02c..67433c61 100644
--- a/services/librpc/src/rpc/clnt_generic.c
+++ b/services/librpc/src/rpc/clnt_generic.c
@@ -40,6 +40,8 @@ static char *rcsid = "$FreeBSD: src/lib/libc/rpc/clnt_generic.c,v 1.9 1999/08/28
#include "config.h"
#endif
+#include <freebsd/bsd.h>
+#include <rpc/rpc.h>
#include <rpc/rpc.h>
#include <sys/socket.h>
#include <sys/errno.h>
diff --git a/services/librpc/src/rpc/clnt_perror.c b/services/librpc/src/rpc/clnt_perror.c
index 1d2cfc0b..dad3bfa3 100644
--- a/services/librpc/src/rpc/clnt_perror.c
+++ b/services/librpc/src/rpc/clnt_perror.c
@@ -44,6 +44,7 @@ static char *rcsid = "$FreeBSD: src/lib/libc/rpc/clnt_perror.c,v 1.11 1999/08/28
#include "config.h"
#endif
+#include <freebsd/bsd.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
@@ -51,6 +52,9 @@ static char *rcsid = "$FreeBSD: src/lib/libc/rpc/clnt_perror.c,v 1.11 1999/08/28
#include <rpc/types.h>
#include <rpc/auth.h>
#include <rpc/clnt.h>
+#ifdef __rtems__
+#include <rpc/rpc_rtems.h>
+#endif
static char *auth_errmsg(enum auth_stat stat);
#define CLNT_PERROR_BUFLEN 256
diff --git a/services/librpc/src/rpc/clnt_raw.c b/services/librpc/src/rpc/clnt_raw.c
index c522cecc..c4c313e0 100644
--- a/services/librpc/src/rpc/clnt_raw.c
+++ b/services/librpc/src/rpc/clnt_raw.c
@@ -48,9 +48,13 @@ static char *rcsid = "$FreeBSD: src/lib/libc/rpc/clnt_raw.c,v 1.10 1999/08/28 00
#include "config.h"
#endif
+#include <freebsd/bsd.h>
#include <rpc/rpc.h>
#include <stdlib.h>
#include <stdio.h>
+#ifdef __rtems__
+#include <rpc/rpc_rtems.h>
+#endif
#define MCALL_MSG_SIZE 24
@@ -189,7 +193,7 @@ call_again:
}
} /* end successful completion */
else {
- if (AUTH_REFRESH(h->cl_auth))
+ if (AUTH_REFRESH(h->cl_auth, &msg))
goto call_again;
} /* end of unsuccessful completion */
diff --git a/services/librpc/src/rpc/clnt_simple.c b/services/librpc/src/rpc/clnt_simple.c
index 3cf17b43..c619f852 100644
--- a/services/librpc/src/rpc/clnt_simple.c
+++ b/services/librpc/src/rpc/clnt_simple.c
@@ -44,6 +44,7 @@ static char *rcsid = "$FreeBSD: src/lib/libc/rpc/clnt_simple.c,v 1.12 2000/01/27
#include "config.h"
#endif
+#include <freebsd/bsd.h>
#include <sys/param.h>
#include <stdio.h>
#include <stdlib.h>
@@ -52,6 +53,9 @@ static char *rcsid = "$FreeBSD: src/lib/libc/rpc/clnt_simple.c,v 1.12 2000/01/27
#include <rpc/rpc.h>
#include <sys/socket.h>
#include <netdb.h>
+#ifdef __rtems__
+#include <rpc/rpc_rtems.h>
+#endif
struct call_rpc_private {
CLIENT *client;
@@ -63,10 +67,10 @@ struct call_rpc_private {
int
callrpc(
- char *host,
+ const char *host,
int prognum, int versnum, int procnum,
- xdrproc_t inproc, char *in,
- xdrproc_t outproc, char *out )
+ xdrproc_t inproc, void *in,
+ xdrproc_t outproc, void *out )
{
register struct call_rpc_private *crp = callrpc_private;
struct sockaddr_in server_addr;
diff --git a/services/librpc/src/rpc/clnt_tcp.c b/services/librpc/src/rpc/clnt_tcp.c
index f53edae6..a08b20fd 100644
--- a/services/librpc/src/rpc/clnt_tcp.c
+++ b/services/librpc/src/rpc/clnt_tcp.c
@@ -56,6 +56,7 @@ static char *rcsid = "$FreeBSD: src/lib/libc/rpc/clnt_tcp.c,v 1.14 2000/01/27 23
#include "config.h"
#endif
+#include <freebsd/bsd.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
@@ -330,7 +331,7 @@ call_again:
} /* end successful completion */
else {
/* maybe our credentials need to be refreshed ... */
- if (refreshes-- && AUTH_REFRESH(h->cl_auth))
+ if (refreshes-- && AUTH_REFRESH(h->cl_auth, &reply_msg))
goto call_again;
} /* end of unsuccessful completion */
return (ct->ct_error.re_status);
@@ -470,11 +471,14 @@ clnttcp_control(
= htonl(*(u_int32_t *)info);
break;
+#ifndef __rtems__
+ /* XXX defined in old.. not new */
case CLGET_LOCAL_ADDR:
len = sizeof(struct sockaddr);
if (getsockname(ct->ct_sock, (struct sockaddr *)info, &len) <0)
return(FALSE);
break;
+#endif
case CLGET_RETRY_TIMEOUT:
case CLSET_RETRY_TIMEOUT:
diff --git a/services/librpc/src/rpc/clnt_udp.c b/services/librpc/src/rpc/clnt_udp.c
index 369da95f..6640baa8 100644
--- a/services/librpc/src/rpc/clnt_udp.c
+++ b/services/librpc/src/rpc/clnt_udp.c
@@ -43,6 +43,7 @@ static char *rcsid = "$FreeBSD: src/lib/libc/rpc/clnt_udp.c,v 1.15 2000/01/27 23
#include "config.h"
#endif
+#include <freebsd/bsd.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
@@ -388,7 +389,7 @@ send_again:
} /* end successful completion */
else {
/* maybe our credentials need to be refreshed ... */
- if (nrefreshes > 0 && AUTH_REFRESH(cl->cl_auth)) {
+ if (nrefreshes > 0 && AUTH_REFRESH(cl->cl_auth, &reply_msg)) {
nrefreshes--;
goto call_again;
}
@@ -549,11 +550,14 @@ clntudp_control(
*(u_long *)(cu->cu_outbuf + 3 * BYTES_PER_XDR_UNIT)
= htonl(*(u_long *)info);
break;
+#ifndef __rtems__
+ /* XXX defined in old.. not new */
case CLGET_LOCAL_ADDR:
len = sizeof(struct sockaddr);
if (getsockname(cu->cu_sock, (struct sockaddr *)info, &len) <0)
return(FALSE);
break;
+#endif
case CLGET_SVC_ADDR:
case CLSET_SVC_ADDR:
case CLSET_PUSH_TIMOD:
diff --git a/services/librpc/src/rpc/get_myaddress.c b/services/librpc/src/rpc/get_myaddress.c
index 0804c85e..26caee37 100644
--- a/services/librpc/src/rpc/get_myaddress.c
+++ b/services/librpc/src/rpc/get_myaddress.c
@@ -44,13 +44,19 @@ static char *rcsid = "$FreeBSD: src/lib/libc/rpc/get_myaddress.c,v 1.17 2000/01/
#include "config.h"
#endif
+#include <freebsd/bsd.h>
#include <rpc/types.h>
#include <rpc/xdr.h>
#include <rpc/pmap_prot.h>
#include <sys/socket.h>
#include <stdio.h>
#include <unistd.h>
-#include <sys/mbuf.h>
+#ifndef __rtems__
+ /* XXX old.. not new */
+ #include <sys/mbuf.h>
+#else
+ #include <freebsd/sys/mbuf.h>
+#endif
#include <net/if.h>
#include <sys/ioctl.h>
#include <netinet/in.h>
diff --git a/services/librpc/src/rpc/getrpcent.c b/services/librpc/src/rpc/getrpcent.c
index fdd0f88e..7a85d4b6 100644
--- a/services/librpc/src/rpc/getrpcent.c
+++ b/services/librpc/src/rpc/getrpcent.c
@@ -41,6 +41,7 @@ static char *rcsid = "$FreeBSD: src/lib/libc/rpc/getrpcent.c,v 1.10 1999/08/28 0
#include "config.h"
#endif
+#include <freebsd/bsd.h>
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
diff --git a/services/librpc/src/rpc/getrpcport.c b/services/librpc/src/rpc/getrpcport.c
index f783bac2..942f2c29 100644
--- a/services/librpc/src/rpc/getrpcport.c
+++ b/services/librpc/src/rpc/getrpcport.c
@@ -41,6 +41,7 @@ static char *rcsid = "$FreeBSD: src/lib/libc/rpc/getrpcport.c,v 1.10 1999/08/28
#include "config.h"
#endif
+#include <freebsd/bsd.h>
#include <stdio.h>
#include <string.h>
#include <rpc/rpc.h>
diff --git a/services/librpc/src/rpc/netname.c b/services/librpc/src/rpc/netname.c
index e75ef737..7b768eb2 100644
--- a/services/librpc/src/rpc/netname.c
+++ b/services/librpc/src/rpc/netname.c
@@ -43,6 +43,7 @@ static char sccsid[] = "@(#)netname.c 1.8 91/03/11 Copyr 1986 Sun Micro";
#include "config.h"
#endif
+#include <freebsd/bsd.h>
#include <sys/param.h>
#include <rpc/rpc.h>
#include <rpc/rpc_com.h>
@@ -88,8 +89,8 @@ getnetname(char name[MAXNETNAMELEN+1])
int
user2netname(
char netname[MAXNETNAMELEN + 1],
- uid_t uid,
- char *domain)
+ const uid_t uid,
+ const char *domain)
{
char *dfltdom;
@@ -115,8 +116,8 @@ user2netname(
int
host2netname(
char netname[MAXNETNAMELEN + 1],
- char *host,
- char *domain)
+ const char *host,
+ const char *domain)
{
char *dfltdom;
char hostname[MAXHOSTNAMELEN+1];
diff --git a/services/librpc/src/rpc/netnamer.c b/services/librpc/src/rpc/netnamer.c
index aa9397e0..9e87d21f 100644
--- a/services/librpc/src/rpc/netnamer.c
+++ b/services/librpc/src/rpc/netnamer.c
@@ -40,6 +40,7 @@ static char sccsid[] = "@(#)netnamer.c 1.13 91/03/11 Copyr 1986 Sun Micro";
#include "config.h"
#endif
+#include <freebsd/bsd.h>
#include <sys/param.h>
#include <rpc/rpc.h>
#include <rpc/rpc_com.h>
diff --git a/services/librpc/src/rpc/pmap_clnt.c b/services/librpc/src/rpc/pmap_clnt.c
index 7c02867e..b63349c7 100644
--- a/services/librpc/src/rpc/pmap_clnt.c
+++ b/services/librpc/src/rpc/pmap_clnt.c
@@ -44,6 +44,7 @@ static char *rcsid = "$FreeBSD: src/lib/libc/rpc/pmap_clnt.c,v 1.11 2000/01/27 2
#include "config.h"
#endif
+#include <freebsd/bsd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
diff --git a/services/librpc/src/rpc/pmap_getmaps.c b/services/librpc/src/rpc/pmap_getmaps.c
index b284b572..3c682ab3 100644
--- a/services/librpc/src/rpc/pmap_getmaps.c
+++ b/services/librpc/src/rpc/pmap_getmaps.c
@@ -45,6 +45,7 @@ static char *rcsid = "$FreeBSD: src/lib/libc/rpc/pmap_getmaps.c,v 1.11 2000/01/2
#include "config.h"
#endif
+#include <freebsd/bsd.h>
#include <rpc/rpc.h>
#include <rpc/pmap_prot.h>
#include <rpc/pmap_clnt.h>
@@ -53,7 +54,12 @@ static char *rcsid = "$FreeBSD: src/lib/libc/rpc/pmap_getmaps.c,v 1.11 2000/01/2
#include <stdio.h>
#include <unistd.h>
#include <errno.h>
-#include <sys/mbuf.h>
+#ifndef __rtems__
+ /* XXX fix for new location */
+ #include <sys/mbuf.h>
+#else
+ #include <freebsd/sys/mbuf.h>
+#endif
#include <net/if.h>
#include <sys/ioctl.h>
#define NAMELEN 255
diff --git a/services/librpc/src/rpc/pmap_getport.c b/services/librpc/src/rpc/pmap_getport.c
index c75b4d54..8bece3f4 100644
--- a/services/librpc/src/rpc/pmap_getport.c
+++ b/services/librpc/src/rpc/pmap_getport.c
@@ -44,11 +44,17 @@ static char *rcsid = "$FreeBSD: src/lib/libc/rpc/pmap_getport.c,v 1.10 2000/01/2
#include "config.h"
#endif
+#include <freebsd/bsd.h>
#include <rpc/rpc.h>
#include <rpc/pmap_prot.h>
#include <rpc/pmap_clnt.h>
#include <sys/socket.h>
-#include <sys/mbuf.h>
+#ifndef __rtems__
+ /* XXX fix for new location */
+ #include <sys/mbuf.h>
+#else
+ #include <freebsd/sys/mbuf.h>
+#endif
#include <net/if.h>
#include <unistd.h>
diff --git a/services/librpc/src/rpc/pmap_prot.c b/services/librpc/src/rpc/pmap_prot.c
index 30aedce4..f7bb9e7c 100644
--- a/services/librpc/src/rpc/pmap_prot.c
+++ b/services/librpc/src/rpc/pmap_prot.c
@@ -44,6 +44,7 @@ static char *rcsid = "$FreeBSD: src/lib/libc/rpc/pmap_prot.c,v 1.6 1999/08/28 00
#include "config.h"
#endif
+#include <freebsd/bsd.h>
#include <rpc/types.h>
#include <rpc/xdr.h>
#include <rpc/pmap_prot.h>
diff --git a/services/librpc/src/rpc/pmap_prot2.c b/services/librpc/src/rpc/pmap_prot2.c
index 208c8a41..e3f98419 100644
--- a/services/librpc/src/rpc/pmap_prot2.c
+++ b/services/librpc/src/rpc/pmap_prot2.c
@@ -44,6 +44,11 @@ static char *rcsid = "$FreeBSD: src/lib/libc/rpc/pmap_prot2.c,v 1.7 1999/08/28 0
#include "config.h"
#endif
+#include <freebsd/bsd.h>
+#ifndef __rtems__
+ /* XXX not needed in old.. */
+ #include <sys/types.h>
+#endif
#include <rpc/types.h>
#include <rpc/xdr.h>
#include <rpc/pmap_prot.h>
diff --git a/services/librpc/src/rpc/pmap_rmt.c b/services/librpc/src/rpc/pmap_rmt.c
index 1ab72b2f..b9c59af1 100644
--- a/services/librpc/src/rpc/pmap_rmt.c
+++ b/services/librpc/src/rpc/pmap_rmt.c
@@ -248,7 +248,10 @@ getbroadcastnets(
return (i);
}
+#ifndef __rtems__
+/* XXX now defined in rpc/clnt.h */
typedef bool_t (*resultproc_t)(caddr_t, struct sockaddr_in *);
+#endif
enum clnt_stat
clnt_broadcast(
@@ -256,9 +259,9 @@ clnt_broadcast(
u_long vers, /* version number */
u_long proc, /* procedure number */
xdrproc_t xargs, /* xdr routine for args */
- caddr_t argsp, /* pointer to args */
+ void * argsp, /* pointer to args */
xdrproc_t xresults, /* xdr routine for results */
- caddr_t resultsp, /* pointer to results */
+ void * resultsp, /* pointer to results */
resultproc_t eachresult /* call with each result obtained */ )
{
enum clnt_stat stat = RPC_SUCCESS; /* to avoid warning */
diff --git a/services/librpc/src/rpc/rpc.3 b/services/librpc/src/rpc/rpc.3
index f40b6438..ab517471 100644
--- a/services/librpc/src/rpc/rpc.3
+++ b/services/librpc/src/rpc/rpc.3
@@ -1450,7 +1450,7 @@ If the socket is not bound to a local
.SM TCP
port, then this routine binds it to an arbitrary port. Upon
completion,
-\fB\%xprt\->xp_sock\fR
+\fB\%xprt\->xp_fd\fR
is the transport's socket descriptor, and
\fB\%xprt\->xp_port\fR
is the transport's port number.
@@ -1515,7 +1515,7 @@ If the socket is not bound to a local
port, then this routine binds it to an arbitrary port.
Upon
completion,
-\fB\%xprt\->xp_sock\fR
+\fB\%xprt\->xp_fd\fR
is the transport's socket descriptor, and
\fB\%xprt\->xp_port\fR
is the transport's port number.
diff --git a/services/librpc/src/rpc/rpc_callmsg.c b/services/librpc/src/rpc/rpc_callmsg.c
index b44ebb4a..2594cc35 100644
--- a/services/librpc/src/rpc/rpc_callmsg.c
+++ b/services/librpc/src/rpc/rpc_callmsg.c
@@ -44,6 +44,7 @@ static char *rcsid = "$FreeBSD: src/lib/libc/rpc/rpc_callmsg.c,v 1.9 1999/08/28
#include "config.h"
#endif
+#include <freebsd/bsd.h>
#include <sys/param.h>
#include <stdlib.h>
#include <string.h>
diff --git a/services/librpc/src/rpc/rpc_commondata.c b/services/librpc/src/rpc/rpc_commondata.c
index ad225684..39777cf6 100644
--- a/services/librpc/src/rpc/rpc_commondata.c
+++ b/services/librpc/src/rpc/rpc_commondata.c
@@ -36,7 +36,12 @@ static char *rcsid = "$FreeBSD: src/lib/libc/rpc/rpc_commondata.c,v 1.7 1999/08/
#include "config.h"
#endif
+#include <freebsd/bsd.h>
#include <rpc/rpc.h>
+#ifdef __rtems__
+ #include <rpc/clnt.h>
+#endif
+
/*
* This file should only contain common data (global data) that is exported
* by public interfaces
diff --git a/services/librpc/src/rpc/rpc_dtablesize.c b/services/librpc/src/rpc/rpc_dtablesize.c
index 65f29531..858dd924 100644
--- a/services/librpc/src/rpc/rpc_dtablesize.c
+++ b/services/librpc/src/rpc/rpc_dtablesize.c
@@ -37,6 +37,7 @@ static char *rcsid = "$FreeBSD: src/lib/libc/rpc/rpc_dtablesize.c,v 1.10 1999/08
#include "config.h"
#endif
+#include <freebsd/bsd.h>
#include <sys/types.h>
#include <unistd.h>
diff --git a/services/librpc/src/rpc/rpc_prot.c b/services/librpc/src/rpc/rpc_prot.c
index 0718c9a9..4e533339 100644
--- a/services/librpc/src/rpc/rpc_prot.c
+++ b/services/librpc/src/rpc/rpc_prot.c
@@ -50,6 +50,7 @@ static char *rcsid = "$FreeBSD: src/lib/libc/rpc/rpc_prot.c,v 1.8 1999/08/28 00:
#include "config.h"
#endif
+#include <freebsd/bsd.h>
#include <assert.h>
#include <sys/param.h>
diff --git a/services/librpc/src/rpc/rpcdname.c b/services/librpc/src/rpc/rpcdname.c
index 6482a744..1f01ca5d 100644
--- a/services/librpc/src/rpc/rpcdname.c
+++ b/services/librpc/src/rpc/rpcdname.c
@@ -40,10 +40,15 @@ static char sccsid[] = "@(#)rpcdname.c 1.7 91/03/11 Copyr 1989 Sun Micro";
#include "config.h"
#endif
+#include <freebsd/bsd.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <rpc/rpc.h>
+#ifdef __rtems__
+ /* XXX in rpc.h in old .. not new */
+ #include <rpc/rpc_rtems.h>
+#endif
int getdomainname(char *, size_t);
diff --git a/services/librpc/src/rpc/rtems_portmapper.c b/services/librpc/src/rpc/rtems_portmapper.c
index 9d327b5d..a3f11d7b 100644
--- a/services/librpc/src/rpc/rtems_portmapper.c
+++ b/services/librpc/src/rpc/rtems_portmapper.c
@@ -31,6 +31,7 @@
#include "config.h"
#endif
+#include <freebsd/bsd.h>
#include <rpc/rpc.h>
#include <rpc/pmap_prot.h>
#include <stdio.h>
diff --git a/services/librpc/src/rpc/rtems_rpc.c b/services/librpc/src/rpc/rtems_rpc.c
index 5d31f12d..38b22f97 100644
--- a/services/librpc/src/rpc/rtems_rpc.c
+++ b/services/librpc/src/rpc/rtems_rpc.c
@@ -6,9 +6,14 @@
#include "config.h"
#endif
+#include <freebsd/bsd.h>
#include <rpc/rpc.h>
#include <rtems.h>
#include <stdlib.h>
+#ifdef __rtems__
+ /* XXX in rpc.h in old .. not new */
+ #include <rpc/rpc_rtems.h>
+#endif
/*
* RPC variables for single-thread
diff --git a/services/librpc/src/rpc/rtime.c b/services/librpc/src/rpc/rtime.c
index af63d5b8..e4059ba2 100644
--- a/services/librpc/src/rpc/rtime.c
+++ b/services/librpc/src/rpc/rtime.c
@@ -46,6 +46,7 @@
#include "config.h"
#endif
+#include <freebsd/bsd.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
diff --git a/services/librpc/src/rpc/svc.c b/services/librpc/src/rpc/svc.c
index 9cc5cf38..47843968 100644
--- a/services/librpc/src/rpc/svc.c
+++ b/services/librpc/src/rpc/svc.c
@@ -47,6 +47,7 @@ static char *rcsid = "$FreeBSD: src/lib/libc/rpc/svc.c,v 1.14 1999/08/28 00:00:4
#include "config.h"
#endif
+#include <freebsd/bsd.h>
#include <string.h>
#ifdef HAVE_STRINGS_H
#include <strings.h> /* for ffs */
@@ -55,6 +56,10 @@ static char *rcsid = "$FreeBSD: src/lib/libc/rpc/svc.c,v 1.14 1999/08/28 00:00:4
#include <sys/errno.h>
#include <rpc/rpc.h>
#include <rpc/pmap_clnt.h>
+#ifdef __rtems__
+ /* XXX in rpc.h in old .. not new */
+ #include <rpc/rpc_rtems.h>
+#endif
#define xports (rtems_rpc_task_variables->svc_xports)
#define xportssize (rtems_rpc_task_variables->svc_xportssize)
@@ -90,7 +95,7 @@ void
xprt_register(
SVCXPRT *xprt )
{
- register int sock = xprt->xp_sock;
+ register int sock = xprt->xp_fd;
if (sock + 1 > __svc_fdsetsize) {
int bytes = sizeof (fd_set);
@@ -136,7 +141,7 @@ void
xprt_unregister(
SVCXPRT *xprt )
{
- register int sock = xprt->xp_sock;
+ register int sock = xprt->xp_fd;
if (xports[sock] == xprt) {
xports[sock] = (SVCXPRT *)0;
diff --git a/services/librpc/src/rpc/svc_auth.c b/services/librpc/src/rpc/svc_auth.c
index b498a9c0..b15c1b72 100644
--- a/services/librpc/src/rpc/svc_auth.c
+++ b/services/librpc/src/rpc/svc_auth.c
@@ -50,6 +50,7 @@ static const char rcsid[] =
#include "config.h"
#endif
+#include <freebsd/bsd.h>
#ifdef _KERNEL
#include <sys/param.h>
#include <rpc/types.h>
@@ -64,6 +65,10 @@ static const char rcsid[] =
#include <rpc/rpc.h>
#endif
#include <sys/types.h>
+#ifdef __rtems__
+ /* XXX in rpc.h in old .. not new */
+ #include <rpc/rpc_rtems.h>
+#endif
/*
* svcauthsw is the bdevsw of server side authentication.
diff --git a/services/librpc/src/rpc/svc_auth_unix.c b/services/librpc/src/rpc/svc_auth_unix.c
index ce395998..56b4027a 100644
--- a/services/librpc/src/rpc/svc_auth_unix.c
+++ b/services/librpc/src/rpc/svc_auth_unix.c
@@ -48,6 +48,7 @@ static char *rcsid = "$FreeBSD: src/lib/libc/rpc/svc_auth_unix.c,v 1.8 1999/08/2
#include "config.h"
#endif
+#include <freebsd/bsd.h>
#include <stdio.h>
#include <string.h>
#include <rpc/rpc.h>
diff --git a/services/librpc/src/rpc/svc_raw.c b/services/librpc/src/rpc/svc_raw.c
index 4685370e..bbdfc807 100644
--- a/services/librpc/src/rpc/svc_raw.c
+++ b/services/librpc/src/rpc/svc_raw.c
@@ -46,8 +46,13 @@ static char *rcsid = "$FreeBSD: src/lib/libc/rpc/svc_raw.c,v 1.7 1999/08/28 00:0
#include "config.h"
#endif
+#include <freebsd/bsd.h>
#include <rpc/rpc.h>
#include <stdlib.h>
+#ifdef __rtems__
+ /* XXX in rpc.h in old .. not new */
+ #include <rpc/rpc_rtems.h>
+#endif
/*
* This is the "network" that we will be moving data over
@@ -86,7 +91,7 @@ svcraw_create(void)
if (srp == 0)
return (0);
}
- srp->server.xp_sock = 0;
+ srp->server.xp_fd = 0;
srp->server.xp_port = 0;
srp->server.xp_ops = &server_ops;
srp->server.xp_verf.oa_base = srp->verf_body;
diff --git a/services/librpc/src/rpc/svc_run.c b/services/librpc/src/rpc/svc_run.c
index 963aa0d8..9b672760 100644
--- a/services/librpc/src/rpc/svc_run.c
+++ b/services/librpc/src/rpc/svc_run.c
@@ -42,6 +42,7 @@ static char *rcsid = "$FreeBSD: src/lib/libc/rpc/svc_run.c,v 1.10 1999/08/28 00:
#include "config.h"
#endif
+#include <freebsd/bsd.h>
#include <rpc/rpc.h>
#include <stdio.h>
#include <sys/errno.h>
@@ -51,6 +52,9 @@ static char *rcsid = "$FreeBSD: src/lib/libc/rpc/svc_run.c,v 1.10 1999/08/28 00:
#include <stdlib.h>
#include <string.h>
#include <sys/select.h>
+#ifdef __rtems__
+#include <rpc/rpc_rtems.h>
+#endif
void
svc_run(void)
diff --git a/services/librpc/src/rpc/svc_simple.c b/services/librpc/src/rpc/svc_simple.c
index 30f213db..3a4024d1 100644
--- a/services/librpc/src/rpc/svc_simple.c
+++ b/services/librpc/src/rpc/svc_simple.c
@@ -44,6 +44,7 @@ static char *rcsid = "$FreeBSD: src/lib/libc/rpc/svc_simple.c,v 1.9 1999/08/28 0
#include "config.h"
#endif
+#include <freebsd/bsd.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
@@ -54,6 +55,9 @@ static char *rcsid = "$FreeBSD: src/lib/libc/rpc/svc_simple.c,v 1.9 1999/08/28 0
#include <netdb.h>
#include <inttypes.h> /* for PRIxx printf formats */
+#ifdef __rtems__
+#include <rpc/rpc_rtems.h>
+#endif
struct prog_lst {
char *(*p_progname)(char *);
diff --git a/services/librpc/src/rpc/svc_tcp.c b/services/librpc/src/rpc/svc_tcp.c
index 0f87080b..ca2a84bc 100644
--- a/services/librpc/src/rpc/svc_tcp.c
+++ b/services/librpc/src/rpc/svc_tcp.c
@@ -47,6 +47,7 @@ static char *rcsid = "$FreeBSD: src/lib/libc/rpc/svc_tcp.c,v 1.18 2000/01/27 23:
#include "config.h"
#endif
+#include <freebsd/bsd.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
@@ -56,6 +57,9 @@ static char *rcsid = "$FreeBSD: src/lib/libc/rpc/svc_tcp.c,v 1.18 2000/01/27 23:
#include <sys/ioctl.h>
#include <errno.h>
#include <sys/select.h>
+#ifdef __rtems__
+#include <rpc/rpc_rtems.h>
+#endif
/*
* Ops vector for TCP/IP based rpc service handle
@@ -119,7 +123,7 @@ struct tcp_conn { /* kept in xprt->xp_p1 */
* If the socket, sock is not bound to a port then svctcp_create
* binds it to an arbitrary port. The routine then starts a tcp
* listener on the socket's associated port. In any (successful) case,
- * xprt->xp_sock is the registered socket number and xprt->xp_port is the
+ * xprt->xp_fd is the registered socket number and xprt->xp_port is the
* associated port number.
*
* Since tcp streams do buffered io similar to stdio, the caller can specify
@@ -184,7 +188,7 @@ svctcp_create(
xprt->xp_verf = _null_auth;
xprt->xp_ops = &svctcp_rendezvous_op;
xprt->xp_port = ntohs(addr.sin_port);
- xprt->xp_sock = sock;
+ xprt->xp_fd = sock;
xprt_register(xprt);
return (xprt);
}
@@ -233,7 +237,7 @@ makefd_xprt(
xprt->xp_addrlen = 0;
xprt->xp_ops = &svctcp_op; /* truely deals with calls */
xprt->xp_port = 0; /* this is a connection, not a rendezvouser */
- xprt->xp_sock = fd;
+ xprt->xp_fd = fd;
xprt_register(xprt);
done:
return (xprt);
@@ -253,7 +257,7 @@ rendezvous_request(
r = (struct tcp_rendezvous *)xprt->xp_p1;
again:
len = sizeof(struct sockaddr_in);
- if ((sock = accept(xprt->xp_sock, (struct sockaddr *)&addr,
+ if ((sock = accept(xprt->xp_fd, (struct sockaddr *)&addr,
&len)) < 0) {
if (errno == EINTR)
goto again;
@@ -297,7 +301,7 @@ svctcp_destroy(
register struct tcp_conn *cd = (struct tcp_conn *)xprt->xp_p1;
xprt_unregister(xprt);
- (void)_RPC_close(xprt->xp_sock);
+ (void)_RPC_close(xprt->xp_fd);
if (xprt->xp_port != 0) {
/* a rendezvouser socket */
xprt->xp_port = 0;
@@ -334,7 +338,7 @@ readtcp(
int len)
{
SVCXPRT *xprt = (SVCXPRT*) _xprt;
- register int sock = xprt->xp_sock;
+ register int sock = xprt->xp_fd;
struct timeval start, delta, tv;
struct timeval tmp1, tmp2;
fd_set *fds;
@@ -406,7 +410,7 @@ writetcp(
register int i, cnt;
for (cnt = len; cnt > 0; cnt -= i, buf += i) {
- if ((i = _RPC_write(xprt->xp_sock, buf, cnt)) < 0) {
+ if ((i = _RPC_write(xprt->xp_fd, buf, cnt)) < 0) {
((struct tcp_conn *)(xprt->xp_p1))->strm_stat =
XPRT_DIED;
return (-1);
diff --git a/services/librpc/src/rpc/svc_udp.c b/services/librpc/src/rpc/svc_udp.c
index 8b7e1677..8b765ebc 100644
--- a/services/librpc/src/rpc/svc_udp.c
+++ b/services/librpc/src/rpc/svc_udp.c
@@ -45,6 +45,7 @@ static char *rcsid = "$FreeBSD: src/lib/libc/rpc/svc_udp.c,v 1.13 2000/01/27 23:
#include "config.h"
#endif
+#include <freebsd/bsd.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
@@ -93,7 +94,7 @@ struct svcudp_data {
* If sock<0 then a socket is created, else sock is used.
* If the socket, sock is not bound to a port then svcudp_create
* binds it to an arbitrary port. In any (successful) case,
- * xprt->xp_sock is the registered socket number and xprt->xp_port is the
+ * xprt->xp_fd is the registered socket number and xprt->xp_port is the
* associated port number.
* Once *xprt is initialized, it is registered as a transporter;
* see (svc.h, xprt_register).
@@ -153,7 +154,7 @@ svcudp_bufcreate(
xprt->xp_verf.oa_base = su->su_verfbody;
xprt->xp_ops = &svcudp_op;
xprt->xp_port = ntohs(addr.sin_port);
- xprt->xp_sock = sock;
+ xprt->xp_fd = sock;
xprt_register(xprt);
return (xprt);
}
@@ -187,7 +188,7 @@ svcudp_recv(
again:
xprt->xp_addrlen = sizeof(struct sockaddr_in);
- rlen = recvfrom(xprt->xp_sock, rpc_buffer(xprt), (int) su->su_iosz,
+ rlen = recvfrom(xprt->xp_fd, rpc_buffer(xprt), (int) su->su_iosz,
0, (struct sockaddr *)&(xprt->xp_raddr), &(xprt->xp_addrlen));
if (rlen == -1 && errno == EINTR)
goto again;
@@ -200,7 +201,7 @@ svcudp_recv(
su->su_xid = msg->rm_xid;
if (su->su_cache != NULL) {
if (cache_get(xprt, msg, &reply, &replylen)) {
- (void) sendto(xprt->xp_sock, reply, (int) replylen, 0,
+ (void) sendto(xprt->xp_fd, reply, (int) replylen, 0,
(struct sockaddr *) &xprt->xp_raddr, xprt->xp_addrlen);
return (TRUE);
}
@@ -223,7 +224,7 @@ svcudp_reply(
msg->rm_xid = su->su_xid;
if (xdr_replymsg(xdrs, msg)) {
slen = (int)XDR_GETPOS(xdrs);
- if (sendto(xprt->xp_sock, rpc_buffer(xprt), slen, 0,
+ if (sendto(xprt->xp_fd, rpc_buffer(xprt), slen, 0,
(struct sockaddr *)&(xprt->xp_raddr), xprt->xp_addrlen)
== slen) {
stat = TRUE;
@@ -264,7 +265,7 @@ svcudp_destroy(
register struct svcudp_data *su = su_data(xprt);
xprt_unregister(xprt);
- (void)_RPC_close(xprt->xp_sock);
+ (void)_RPC_close(xprt->xp_fd);
XDR_DESTROY(&(su->su_xdrs));
mem_free(rpc_buffer(xprt), su->su_iosz);
mem_free((caddr_t)su, sizeof(struct svcudp_data));
diff --git a/services/librpc/src/xdr/xdr.c b/services/librpc/src/xdr/xdr.c
index 80c29bbf..59ec3556 100644
--- a/services/librpc/src/xdr/xdr.c
+++ b/services/librpc/src/xdr/xdr.c
@@ -47,6 +47,7 @@ static char *rcsid = "$FreeBSD: src/lib/libc/xdr/xdr.c,v 1.9 1999/08/28 00:02:55
#include "config.h"
#endif
+#include <freebsd/bsd.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
@@ -77,7 +78,7 @@ static const char xdr_zero[BYTES_PER_XDR_UNIT] = { 0, 0, 0, 0 };
void
xdr_free(
xdrproc_t proc,
- char *objp)
+ void *objp)
{
XDR x;
diff --git a/services/librpc/src/xdr/xdr_array.c b/services/librpc/src/xdr/xdr_array.c
index 190dc3cf..f9065ee0 100644
--- a/services/librpc/src/xdr/xdr_array.c
+++ b/services/librpc/src/xdr/xdr_array.c
@@ -46,6 +46,7 @@ static char *rcsid = "$FreeBSD: src/lib/libc/xdr/xdr_array.c,v 1.8 1999/08/28 00
#include "config.h"
#endif
+#include <freebsd/bsd.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
diff --git a/services/librpc/src/xdr/xdr_float.c b/services/librpc/src/xdr/xdr_float.c
index 2517072c..8eeaf7b9 100644
--- a/services/librpc/src/xdr/xdr_float.c
+++ b/services/librpc/src/xdr/xdr_float.c
@@ -47,6 +47,7 @@ static char *rcsid = "$FreeBSD: src/lib/libc/xdr/xdr_float.c,v 1.7 1999/08/28 00
#include "config.h"
#endif
+#include <freebsd/bsd.h>
#include <stdio.h>
#include <sys/types.h>
#include <sys/param.h>
diff --git a/services/librpc/src/xdr/xdr_mem.c b/services/librpc/src/xdr/xdr_mem.c
index 5b30419d..b4cf070d 100644
--- a/services/librpc/src/xdr/xdr_mem.c
+++ b/services/librpc/src/xdr/xdr_mem.c
@@ -48,6 +48,7 @@ static char *rcsid = "$FreeBSD: src/lib/libc/xdr/xdr_mem.c,v 1.8 1999/08/28 00:0
#include "config.h"
#endif
+#include <freebsd/bsd.h>
#include <string.h>
#include <rpc/types.h>
#include <rpc/xdr.h>
diff --git a/services/librpc/src/xdr/xdr_rec.c b/services/librpc/src/xdr/xdr_rec.c
index 7e47527d..5b4d5b9d 100644
--- a/services/librpc/src/xdr/xdr_rec.c
+++ b/services/librpc/src/xdr/xdr_rec.c
@@ -53,6 +53,7 @@ static char *rcsid = "$FreeBSD: src/lib/libc/xdr/xdr_rec.c,v 1.12 2000/01/19 06:
#include "config.h"
#endif
+#include <freebsd/bsd.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
@@ -145,9 +146,9 @@ xdrrec_create(
XDR *xdrs,
u_int sendsize,
u_int recvsize,
- caddr_t tcp_handle,
- int (*readit)(char*, char*, int), /* like read, but pass it a tcp_handle, not sock */
- int (*writeit)(char*, char*, int) /* like write, but pass it a tcp_handle, not sock */
+ void *tcp_handle,
+ int (*readit)(void*, void*, int), /* like read, but pass it a tcp_handle, not sock */
+ int (*writeit)(void*, void*, int) /* like write, but pass it a tcp_handle, not sock */
)
{
RECSTREAM *rstrm =
@@ -466,7 +467,7 @@ xdrrec_eof(
bool_t
xdrrec_endofrecord(
XDR *xdrs,
- bool_t sendnow)
+ int sendnow)
{
RECSTREAM *rstrm = (RECSTREAM *)(xdrs->x_private);
u_long len; /* fragment length */
diff --git a/services/librpc/src/xdr/xdr_reference.c b/services/librpc/src/xdr/xdr_reference.c
index a2a6ee51..86fcf290 100644
--- a/services/librpc/src/xdr/xdr_reference.c
+++ b/services/librpc/src/xdr/xdr_reference.c
@@ -46,6 +46,7 @@ static char *rcsid = "$FreeBSD: src/lib/libc/xdr/xdr_reference.c,v 1.8 1999/08/2
#include "config.h"
#endif
+#include <freebsd/bsd.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
diff --git a/services/librpc/src/xdr/xdr_sizeof.c b/services/librpc/src/xdr/xdr_sizeof.c
index 72a7ff97..12241ea5 100644
--- a/services/librpc/src/xdr/xdr_sizeof.c
+++ b/services/librpc/src/xdr/xdr_sizeof.c
@@ -39,6 +39,7 @@
#include "config.h"
#endif
+#include <freebsd/bsd.h>
#include <rpc/types.h>
#include <rpc/xdr.h>
#include <sys/types.h>
diff --git a/services/librpc/src/xdr/xdr_stdio.c b/services/librpc/src/xdr/xdr_stdio.c
index ca67941e..d1191210 100644
--- a/services/librpc/src/xdr/xdr_stdio.c
+++ b/services/librpc/src/xdr/xdr_stdio.c
@@ -47,6 +47,7 @@ static char *rcsid = "$FreeBSD: src/lib/libc/xdr/xdr_stdio.c,v 1.7 1999/08/28 00
#include "config.h"
#endif
+#include <freebsd/bsd.h>
#include <rpc/types.h>
#include <stdio.h>
#include <rpc/xdr.h>