RPC_CLNT_CALLS(3) | Library Functions Manual | RPC_CLNT_CALLS(3) |
enum clnt_stat
clnt_call(CLIENT *clnt, const rpcproc_t procnum, const xdrproc_t inproc, const char *in, const xdrproc_t outproc, caddr_t out, const struct timeval tout);
bool_t
clnt_freeres(CLIENT *clnt, const xdrproc_t outproc, caddr_t out);
void
clnt_geterr(const CLIENT * clnt, struct rpc_err * errp);
void
clnt_perrno(const enum clnt_stat stat);
void
clnt_perror(const CLIENT * clnt, const char *s);
char *
clnt_sperrno(const enum clnt_stat stat);
char *
clnt_sperror(const CLIENT *clnt, const char * s);
enum clnt_stat
rpc_broadcast(const rpcprog_t prognum, const rpcvers_t versnum, const rpcproc_t procnum, const xdrproc_t inproc, const char *in, const xdrproc_t outproc, caddr_t out, const resultproc_t eachresult, const char *nettype);
enum clnt_stat
rpc_broadcast_exp(rpcprog_t prognum, const rpcvers_t versnum, const rpcproc_t procnum, const xdrproc_t xargs, caddr_t argsp, const xdrproc_t xresults, caddr_t resultsp, const int inittime, const int waittime, const resultproc_t eachresult, const char * nettype);
enum clnt_stat
rpc_call(const char *host, const rpcprog_t prognum, const rpcvers_t versnum, const rpcproc_t procnum, const xdrproc_t inproc, const char *in, const xdrproc_t outproc, char *out, const char *nettype);
The clnt_call(), rpc_call(), and rpc_broadcast() routines handle the client side of the procedure call. The remaining routines deal with error handling in the case of errors.
Some of the routines take a CLIENT handle as one of the parameters. A CLIENT handle can be created by an RPC creation routine such as clnt_create() (see rpc_clnt_create(3)).
These routines are safe for use in multithreaded applications. CLIENT handles can be shared between threads, however in this implementation requests by different threads are serialized (that is, the first request will receive its results before the second request is sent).
December 4, 2005 | NetBSD 6.1 |