rpcb_rmtcall(3) library routines for RPC bind service

Other Alias

rpcb_getmaps, rpcb_getaddr, rpcb_gettime, rpcb_set, rpcb_unset

SYNOPSIS

In rpc/rpc.h Ft rpcblist * Fn rpcb_getmaps const struct netconfig *netconf const char *host Ft bool_t Fn rpcb_getaddr const rpcprog_t prognum const rpcvers_t versnum const struct netconfig *netconf struct netbuf *svcaddr const char *host Ft bool_t Fn rpcb_gettime const char *host time_t * timep Ft enum clnt_stat Fn rpcb_rmtcall const struct netconfig *netconf const char *host const rpcprog_t prognum, const rpcvers_t versnum const rpcproc_t procnum, const xdrproc_t inproc const caddr_t in const xdrproc_t outproc const caddr_t out const struct timeval tout, const struct netbuf *svcaddr Ft bool_t Fn rpcb_set const rpcprog_t prognum const rpcvers_t versnum const struct netconfig *netconf const struct netbuf *svcaddr Ft bool_t Fn rpcb_unset const rpcprog_t prognum const rpcvers_t versnum const struct netconfig *netconf

DESCRIPTION

These routines allow client C programs to make procedure calls to the RPC binder service. (see rpcbind(8)) maintains a list of mappings between programs and their universal addresses.

Routines

Fn rpcb_getmaps
An interface to the rpcbind service, which returns a list of the current RPC program-to-address mappings on Fa host . It uses the transport specified through Fa netconf to contact the remote rpcbind service on Fa host . This routine will return NULL if the remote rpcbind could not be contacted.
Fn rpcb_getaddr
An interface to the rpcbind service, which finds the address of the service on Fa host that is registered with program number Fa prognum , version Fa versnum , and speaks the transport protocol associated with Fa netconf . The address found is returned in Fa svcaddr . The Fa svcaddr argument should be preallocated. This routine returns TRUE if it succeeds. A return value of FALSE means that the mapping does not exist or that the RPC system failed to contact the remote rpcbind service. In the latter case, the global variable rpc_createerr (see rpc_clnt_create3) contains the RPC status.
Fn rpcb_gettime
This routine returns the time on Fa host in Fa timep . If Fa host is NULL Fn rpcb_gettime returns the time on its own machine. This routine returns TRUE if it succeeds, FALSE if it fails. The Fn rpcb_gettime function can be used to synchronize the time between the client and the remote server.
Fn rpcb_rmtcall
An interface to the rpcbind service, which instructs rpcbind on Fa host to make an RPC call on your behalf to a procedure on that host. The Fn netconfig structure should correspond to a connectionless transport. The Fa svcaddr argument will be modified to the server's address if the procedure succeeds (see Fn rpc_call and Fn clnt_call in rpc_clnt_calls3 for the definitions of other arguments).

This procedure should normally be used for a ``ping'' and nothing else. This routine allows programs to do lookup and call, all in one step.

Note: Even if the server is not running Fn rpcb_rmtcall does not return any error messages to the caller. In such a case, the caller times out.

Note: Fn rpcb_rmtcall is only available for connectionless transports.

Fn rpcb_set
An interface to the rpcbind service, which establishes a mapping between the triple Bq Fa prognum , versnum , netconf->nc_netid and Fa svcaddr on the machine's rpcbind service. The value of Fa nc_netid must correspond to a network identifier that is defined by the netconfig database. This routine returns TRUE if it succeeds, FALSE otherwise. (See also Fn svc_reg in rpc_svc_calls3.) If there already exists such an entry with rpcbind, Fn rpcb_set will fail.
Fn rpcb_unset
An interface to the rpcbind service, which destroys the mapping between the triple Bq Fa prognum , versnum , netconf->nc_netid and the address on the machine's rpcbind service. If Fa netconf is NULL Fn rpcb_unset destroys all mapping between the triple Bq Fa prognum , versnum , No all-transports and the addresses on the machine's rpcbind service. This routine returns TRUE if it succeeds, FALSE otherwise. Only the owner of the service or the super-user can destroy the mapping. (See also Fn svc_unreg in rpc_svc_calls3.)

AVAILABILITY

These functions are part of libtirpc.