diff options
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> |