rpcbind(3)

NAME

rpcb_getmaps, rpcb_getaddr, rpcb_gettime, rpcb_rmtcall,
rpcb_set,
rpcb_unset - library routines for RPC bind service

LIBRARY

Standard C Library (libc, -lc)

SYNOPSIS

#include <rpc/rpc.h>
rpcblist *
rpcb_getmaps(const  struct  netconfig  *netconf,  const char
*host);
bool_t
rpcb_getaddr(const  rpcprog_t   prognum,   const   rpcvers_t
versnum,
        const   struct  netconfig  *netconf,  struct  netbuf
*svcaddr,
        const char *host);
bool_t
rpcb_gettime(const char *host, time_t * timep);
enum clnt_stat
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);
bool_t
rpcb_set(const rpcprog_t prognum, const rpcvers_t versnum,
        const struct netconfig *netconf, const struct netbuf
*svcaddr);
bool_t
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 map
pings between
programs and their universal addresses.

Routines

rpcb_getmaps()
An interface to the rpcbind service, which returns a
list of the
current RPC program-to-address mappings on host. It
uses the
transport specified through netconf to contact the
remote rpcbind
service on host. This routine will return NULL, if
the remote
rpcbind could not be contacted.
rpcb_getaddr()
An interface to the rpcbind service, which finds the
address of
the service on host that is registered with program
number
prognum, version versnum, and speaks the transport
protocol associated with netconf. The address found is returned
in svcaddr.
The 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_create(3)) contains the
RPC status.
rpcb_gettime()
This routine returns the time on host in timep. If
host is NULL,
rpcb_gettime() returns the time on its own machine.
This routine
returns TRUE if it succeeds, FALSE if it fails. The
rpcb_gettime() function can be used to synchronize
the time
between the client and the remote server.
rpcb_rmtcall()
An interface to the rpcbind service, which instructs
rpcbind on
host to make an RPC call on your behalf to a proce
dure on that
host. The netconfig() structure should correspond to
a connectionless transport. The svcaddr argument will be
modified to the
server's address if the procedure succeeds (see
rpc_call() and
clnt_call() in rpc_clnt_calls(3) 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
rpcb_rmtcall() does not
return any error messages to the caller. In such a
case, the
caller times out.
Note: rpcb_rmtcall() is only available for connec
tionless transports.
rpcb_set()
An interface to the rpcbind service, which establish
es a mapping
between the triple [prognum, versnum,
netconf->nc_netid] and
svcaddr on the machine's rpcbind service. The value
of nc_netid
must correspond to a network identifier that is de
fined by the
netconfig database. This routine returns TRUE if it
succeeds,
FALSE otherwise. (See also svc_reg() in
rpc_svc_calls(3).) If
there already exists such an entry with rpcbind,
rpcb_set() will
fail.
rpcb_unset()
An interface to the rpcbind service, which destroys
the mapping
between the triple [prognum, versnum,
netconf->nc_netid] and the
address on the machine's rpcbind service. If netconf
is NULL,
rpcb_unset() destroys all mapping between the triple
[prognum,
versnum, all-transports] and the addresses on the ma
chine's
rpcbind service. This routine returns TRUE if it
succeeds, FALSE
otherwise. Only the owner of the service or the su
per-user can
destroy the mapping. (See also svc_unreg() in
rpc_svc_calls(3).)

SEE ALSO

rpc_clnt_calls(3), rpc_svc_calls(3), rpcbind(8), rpcinfo(8)
BSD May 7, 1993
Copyright © 2010-2024 Platon Technologies, s.r.o.           Home | Man pages | tLDP | Documents | Utilities | About
Design by styleshout