mirror of
https://git.rtems.org/rtems-libbsd/
synced 2025-05-17 23:12:09 +08:00
librpc: Use libc versions of .h files
This commit is contained in:
parent
cd450d239d
commit
f01bc1f420
@ -9,6 +9,7 @@ CFLAGS += -I $(INSTALL_BASE)/include
|
|||||||
CFLAGS += -w
|
CFLAGS += -w
|
||||||
CFLAGS += -I include
|
CFLAGS += -I include
|
||||||
CFLAGS += -std=gnu99
|
CFLAGS += -std=gnu99
|
||||||
|
CFLAGS += -D_RTEMS_RPC_INTERNAL_
|
||||||
CFLAGS += -MT $@ -MD -MP -MF $(basename $@).d
|
CFLAGS += -MT $@ -MD -MP -MF $(basename $@).d
|
||||||
|
|
||||||
C_FILES =
|
C_FILES =
|
||||||
|
@ -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 */
|
|
@ -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 */
|
|
@ -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 */
|
|
@ -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 */
|
|
@ -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 */
|
|
@ -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 */
|
|
@ -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 */
|
|
@ -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 */
|
|
@ -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 */
|
|
@ -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 */
|
|
@ -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 */
|
|
Loading…
x
Reference in New Issue
Block a user