#include <rpc/rpc.h>void
auth_destroy(AUTH *auth);
AUTH *
authnone_create(void);
AUTH *
authunix_create(char *host, int uid, int gid, int len, int *aup_gids);
AUTH *
authunix_create_default(void);
int
callrpc(char *host, u_long prognum, u_long versnum, u_long procnum, xdrproc_t inproc, char *in, xdrproc_t outproc, char *out);
enum clnt_stat
clnt_broadcast(u_long prognum, u_long versnum, u_long procnum, xdrproc_t inproc, char *in, xdrproc_t outproc, char *out, resultproc_t eachresult);
enum clnt_stat
clnt_call(CLIENT *clnt, u_long procnum, xdrproc_t inproc, char *in, xdrproc_t outproc, char *out, struct timeval tout);
int
clnt_destroy(CLIENT *clnt);
CLIENT *
clnt_create(char *host, u_long prog, u_long vers, char *proto);
bool_t
clnt_control(CLIENT *cl, u_int req, char *info);
int
clnt_freeres(CLIENT *clnt, xdrproc_t outproc, char *out);
void
clnt_geterr(CLIENT *clnt, struct rpc_err errp);
void
clnt_pcreateerror(char *s);
void
clnt_perrno(enum clnt_stat stat);
int
clnt_perror(CLIENT *clnt, char *s);
char *
clnt_spcreateerror(const char *s);
char *
clnt_sperrno(enum clnt_stat stat);
char *
clnt_sperror(CLIENT *rpch, char *s);
CLIENT *
clntraw_create(u_long prognum, u_long versnum);
CLIENT *
clnttcp_create(struct sockaddr_in *addr, u_long prognum, u_long versnum, int *sockp, u_int sendsz, u_int recvsz);
CLIENT *
clntudp_create(struct sockaddr_in *addr, u_long prognum, u_long versnum, struct timeval wait, int *sockp);
CLIENT *
clntudp_bufcreate(struct sockaddr_in *addr, u_long prognum, u_long versnum, struct timeval wait, int *sockp, unsigned int sendsize, unsigned int recosize);
int
get_myaddress(struct sockaddr_in *addr);
struct pmaplist *
pmap_getmaps(struct sockaddr_in *addr);
u_short
pmap_getport(struct sockaddr_in *addr, u_long prognum, u_long versnum, u_long protocol);
enum clnt_stat
pmap_rmtcall(struct sockaddr_in *addr, u_long prognum, u_long versnum, u_long procnum, xdrproc_t inproc, char *in, xdrpoc_t outproc, char *out, struct timeval tout, u_long *portp);
int
pmap_set(u_long prognum, u_long versnum, int protocol, int port);
int
pmap_unset(u_long prognum, u_long versnum);
int
registerrpc(u_long prognum, u_long versnum, u_long procnum, char *(*procname)(), xdrproc_t inproc, xdrproc_t outproc);
struct rpc_createerr rpc_createerr;
int
svc_destroy(SVCXPRT *xprt);
fd_set svc_fdset;
int svc_fds;
int
svc_freeargs(SVCXPRT *xprt, xdrproc_t inproc, char *in);
int
svc_getargs(SVCXPRT *xprt, xdrproc_t inproc, char *in);
struct sockaddr_in *
svc_getcaller(SVCXPRT *xprt);
int
svc_getreqset(fd_set *rdfds);
int
svc_getreq(int rdfds);
struct netbuf *
svc_getrpccaller(SVCXPRT *xprt);
int
svc_register(SVCXPRT *xprt, u_long prognum, u_long versnum, void (*dispatch)(), u_long protocol);
int
svc_run(void);
int
svc_sendreply(SVCXPRT *xprt, xdrproc_t outproc, char *out);
void
svc_unregister(u_long prognum, u_long versnum);
void
svcerr_auth(SVCXPRT *xprt, enum auth_stat why);
void
svcerr_decode(SVCXPRT *xprt);
void
svcerr_noproc(SVCXPRT *xprt);
void
svcerr_noprog(SVCXPRT *xprt);
void
svcerr_progvers(SVCXPRT *xprt);
void
svcerr_systemerr(SVCXPRT *xprt);
void
svcerr_weakauth(SVCXPRT *xprt);
SVCXPRT *
svcraw_create(void);
SVCXPRT *
svctcp_create(int sock, u_int send_buf_size, u_int recv_buf_size);
SVCXPRT *
svcfd_create(int fd, u_int sendsize, u_int recvsize);
SVCXPRT *
svcudp_bufcreate(int sock, u_int sendsize, u_int recosize);
SVCXPRT *
svcudp_create(int sock);
int
xdr_accepted_reply(XDR *xdrs, struct accepted_reply *ar);
int
xdr_authunix_parms(XDR *xdrs, struct authunix_parms *aupp);
void
xdr_callhdr(XDR *xdrs, struct rpc_msg *chdr);
int
xdr_callmsg(XDR *xdrs, struct rpc_msg *cmsg);
int
xdr_opaque_auth(XDR *xdrs, struct opaque_auth *ap);
int
xdr_pmap(XDR *xdrs, struct pmap *regs);
int
xdr_pmaplist(XDR *xdrs, struct pmaplist **rp);
int
xdr_rejected_reply(XDR *xdrs, struct rejected_reply *rr);
int
xdr_replymsg(XDR *xdrs, struct rpc_msg *rmsg);
void
xprt_register(SVCXPRT *xprt);
void
xprt_unregister(SVCXPRT *xprt);