xref: /freebsd/lib/libc/rpc/rpcbind.3 (revision 2efeeba554cbd7bdee9cfe17641c8bd335c7972f)
18360efbdSAlfred Perlstein.\" @(#)rpcbind.3n 1.25 93/05/07 SMI; from SVr4
28360efbdSAlfred Perlstein.\" Copyright 1989 AT&T
38360efbdSAlfred Perlstein.\" Copyright (c) 1988 Sun Microsystem's, Inc. - All Right's Reserved.
48360efbdSAlfred Perlstein.\"	$NetBSD: rpcbind.3,v 1.2 2000/06/03 18:47:28 fvdl Exp	$
58360efbdSAlfred Perlstein.\"	$FreeBSD$
68360efbdSAlfred Perlstein.Dd May 7, 1993
78360efbdSAlfred Perlstein.Dt RPCBIND 3
88360efbdSAlfred Perlstein.Os
98360efbdSAlfred Perlstein.Sh NAME
108360efbdSAlfred Perlstein.Nm rpcb_getmaps ,
118360efbdSAlfred Perlstein.Nm rpcb_getaddr ,
128360efbdSAlfred Perlstein.Nm rpcb_gettime ,
138360efbdSAlfred Perlstein.Nm rpcb_rmtcall ,
148360efbdSAlfred Perlstein.Nm rpcb_set ,
158360efbdSAlfred Perlstein.Nm rpcb_unset
168360efbdSAlfred Perlstein.Nd library routines for RPC bind service
178360efbdSAlfred Perlstein.Sh LIBRARY
188360efbdSAlfred Perlstein.Lb libc
198360efbdSAlfred Perlstein.Sh SYNOPSIS
2032eef9aeSRuslan Ermilov.In rpc/rpc.h
21db7534cfSBruce Evans.Ft "rpcblist *"
228360efbdSAlfred Perlstein.Fn rpcb_getmaps "const struct netconfig *netconf" "const char *host"
238360efbdSAlfred Perlstein.Ft bool_t
248360efbdSAlfred Perlstein.Fn rpcb_getaddr "const rpcprog_t prognum" "const rpcvers_t versnum" "const struct netconfig *netconf" "struct netbuf *svcaddr" "const char *host"
258360efbdSAlfred Perlstein.Ft bool_t
268360efbdSAlfred Perlstein.Fn rpcb_gettime "const char *host" "time_t * timep"
278360efbdSAlfred Perlstein.Ft "enum clnt_stat"
28db7534cfSBruce Evans.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"
298360efbdSAlfred Perlstein.Ft bool_t
308360efbdSAlfred Perlstein.Fn rpcb_set "const rpcprog_t prognum" "const rpcvers_t versnum" "const struct netconfig *netconf" "const struct netbuf *svcaddr"
318360efbdSAlfred Perlstein.Ft bool_t
328360efbdSAlfred Perlstein.Fn rpcb_unset "const rpcprog_t prognum" "const rpcvers_t versnum" "const struct netconfig *netconf"
338360efbdSAlfred Perlstein.Sh DESCRIPTION
348360efbdSAlfred PerlsteinThese routines allow client C programs to make procedure
358360efbdSAlfred Perlsteincalls to the RPC binder service.
368360efbdSAlfred Perlstein(see
378360efbdSAlfred Perlstein.Xr rpcbind 8 )
388360efbdSAlfred Perlsteinmaintains a list of mappings between programs
398360efbdSAlfred Perlsteinand their universal addresses.
408360efbdSAlfred Perlstein.Sh Routines
418360efbdSAlfred Perlstein.Bl -tag -width XXXXX
428360efbdSAlfred Perlstein.It Fn rpcb_getmaps
438360efbdSAlfred PerlsteinAn interface to the rpcbind service,
448360efbdSAlfred Perlsteinwhich returns a list of the current
458360efbdSAlfred PerlsteinRPC program-to-address mappings on
468360efbdSAlfred Perlstein.Fa host .
478360efbdSAlfred PerlsteinIt uses the transport specified through
488360efbdSAlfred Perlstein.Fa netconf
498360efbdSAlfred Perlsteinto contact the remote rpcbind
508360efbdSAlfred Perlsteinservice on
518360efbdSAlfred Perlstein.Fa host .
528360efbdSAlfred PerlsteinThis routine will return
538360efbdSAlfred Perlstein.Dv NULL ,
548360efbdSAlfred Perlsteinif the remote rpcbind could not be contacted.
558360efbdSAlfred Perlstein.It Fn rpcb_getaddr
568360efbdSAlfred PerlsteinAn interface to the rpcbind
578360efbdSAlfred Perlsteinservice, which finds the address of the service on
588360efbdSAlfred Perlstein.Fa host
598360efbdSAlfred Perlsteinthat is registered with program number
608360efbdSAlfred Perlstein.Fa prognum ,
618360efbdSAlfred Perlsteinversion
628360efbdSAlfred Perlstein.Fa versnum ,
638360efbdSAlfred Perlsteinand speaks the transport protocol associated with
648360efbdSAlfred Perlstein.Fa netconf .
658360efbdSAlfred PerlsteinThe address found is returned in
668360efbdSAlfred Perlstein.Fa svcaddr .
672efeeba5SRuslan ErmilovThe
688360efbdSAlfred Perlstein.Fa svcaddr
692efeeba5SRuslan Ermilovargument
708360efbdSAlfred Perlsteinshould be preallocated.
718360efbdSAlfred PerlsteinThis routine returns
728360efbdSAlfred Perlstein.Dv TRUE
738360efbdSAlfred Perlsteinif it succeeds.
748360efbdSAlfred PerlsteinA return value of
758360efbdSAlfred Perlstein.Dv FALSE
768360efbdSAlfred Perlsteinmeans that the mapping does not exist
778360efbdSAlfred Perlsteinor that the RPC
788360efbdSAlfred Perlsteinsystem failed to contact the remote
798360efbdSAlfred Perlsteinrpcbind service.
808360efbdSAlfred PerlsteinIn the latter case, the global variable
818360efbdSAlfred Perlstein.Va rpc_createerr
828360efbdSAlfred Perlstein(see
838360efbdSAlfred Perlstein.Xr rpc_clnt_create 3 )
848360efbdSAlfred Perlsteincontains the
858360efbdSAlfred PerlsteinRPC status.
868360efbdSAlfred Perlstein.It Fn rpcb_gettime
878360efbdSAlfred PerlsteinThis routine returns the time on
888360efbdSAlfred Perlstein.Fa host
898360efbdSAlfred Perlsteinin
908360efbdSAlfred Perlstein.Fa timep .
918360efbdSAlfred PerlsteinIf
928360efbdSAlfred Perlstein.Fa host
938360efbdSAlfred Perlsteinis
948360efbdSAlfred Perlstein.Dv NULL ,
958360efbdSAlfred Perlstein.Fn rpcb_gettime
968360efbdSAlfred Perlsteinreturns the time on its own machine.
978360efbdSAlfred PerlsteinThis routine returns
988360efbdSAlfred Perlstein.Dv TRUE
998360efbdSAlfred Perlsteinif it succeeds,
1008360efbdSAlfred Perlstein.Dv FALSE
1018360efbdSAlfred Perlsteinif it fails.
1021fae73b1SRuslan ErmilovThe
1038360efbdSAlfred Perlstein.Fn rpcb_gettime
1041fae73b1SRuslan Ermilovfunction
1058360efbdSAlfred Perlsteincan be used to synchronize the time between the
1068360efbdSAlfred Perlsteinclient and the remote server.
1078360efbdSAlfred Perlstein.It Fn rpcb_rmtcall
1088360efbdSAlfred PerlsteinAn interface to the rpcbind service, which instructs
1098360efbdSAlfred Perlsteinrpcbind on
1108360efbdSAlfred Perlstein.Fa host
1118360efbdSAlfred Perlsteinto make an RPC
1128360efbdSAlfred Perlsteincall on your behalf to a procedure on that host.
1138360efbdSAlfred PerlsteinThe
1148360efbdSAlfred Perlstein.Fn netconfig
1158360efbdSAlfred Perlsteinstructure should correspond to a connectionless transport.
1162efeeba5SRuslan ErmilovThe
1178360efbdSAlfred Perlstein.Fa svcaddr
1182efeeba5SRuslan Ermilovargument
1198360efbdSAlfred Perlsteinwill be modified to the server's address if the procedure succeeds
1208360efbdSAlfred Perlstein(see
1218360efbdSAlfred Perlstein.Fn rpc_call
1228360efbdSAlfred Perlsteinand
1238360efbdSAlfred Perlstein.Fn clnt_call
1248360efbdSAlfred Perlsteinin
1258360efbdSAlfred Perlstein.Xr rpc_clnt_calls 3
1262efeeba5SRuslan Ermilovfor the definitions of other arguments).
1278360efbdSAlfred Perlstein.Pp
1288360efbdSAlfred PerlsteinThis procedure should normally be used for a
1298360efbdSAlfred Perlstein.Dq ping
1308360efbdSAlfred Perlsteinand nothing else.
1318360efbdSAlfred PerlsteinThis routine allows programs to do lookup and call, all in one step.
1328360efbdSAlfred Perlstein.Pp
1338360efbdSAlfred PerlsteinNote: Even if the server is not running
1348360efbdSAlfred Perlstein.Fn rpcb_rmtcall
1358360efbdSAlfred Perlsteindoes not return any error messages to the caller.
1368360efbdSAlfred PerlsteinIn such a case, the caller times out.
1378360efbdSAlfred Perlstein.Pp
1388360efbdSAlfred PerlsteinNote:
1398360efbdSAlfred Perlstein.Fn rpcb_rmtcall
1408360efbdSAlfred Perlsteinis only available for connectionless transports.
1418360efbdSAlfred Perlstein.It Fn rpcb_set
1428360efbdSAlfred PerlsteinAn interface to the rpcbind
1438360efbdSAlfred Perlsteinservice, which establishes a mapping between the triple
1448360efbdSAlfred Perlstein.Bq Fa prognum , versnum , netconf->nc_netid
1458360efbdSAlfred Perlsteinand
1468360efbdSAlfred Perlstein.Fa svcaddr
1478360efbdSAlfred Perlsteinon the machine's rpcbind
1488360efbdSAlfred Perlsteinservice.
1498360efbdSAlfred PerlsteinThe value of
1508360efbdSAlfred Perlstein.Fa nc_netid
1518360efbdSAlfred Perlsteinmust correspond to a network identifier that is defined by the
1528360efbdSAlfred Perlsteinnetconfig database.
1538360efbdSAlfred PerlsteinThis routine returns
1548360efbdSAlfred Perlstein.Dv TRUE
1558360efbdSAlfred Perlsteinif it succeeds,
1568360efbdSAlfred Perlstein.Dv FALSE
1578360efbdSAlfred Perlsteinotherwise.
1588360efbdSAlfred Perlstein(See also
1598360efbdSAlfred Perlstein.Fn svc_reg
1608360efbdSAlfred Perlsteinin
1618360efbdSAlfred Perlstein.Xr rpc_svc_calls 3 . )
1628360efbdSAlfred PerlsteinIf there already exists such an entry with rpcbind,
1638360efbdSAlfred Perlstein.Fn rpcb_set
1648360efbdSAlfred Perlsteinwill fail.
1658360efbdSAlfred Perlstein.It Fn rpcb_unset
1668360efbdSAlfred PerlsteinAn interface to the rpcbind
1678360efbdSAlfred Perlsteinservice, which destroys the mapping between the triple
1688360efbdSAlfred Perlstein.Bq Fa prognum , versnum , netconf->nc_netid
1698360efbdSAlfred Perlsteinand the address on the machine's rpcbind
1708360efbdSAlfred Perlsteinservice.
1718360efbdSAlfred PerlsteinIf
1728360efbdSAlfred Perlstein.Fa netconf
1738360efbdSAlfred Perlsteinis
1748360efbdSAlfred Perlstein.Dv NULL ,
1758360efbdSAlfred Perlstein.Fn rpcb_unset
1768360efbdSAlfred Perlsteindestroys all mapping between the triple
1778360efbdSAlfred Perlstein.Bq Fa prognum , versnum , No all-transports
1788360efbdSAlfred Perlsteinand the addresses on the machine's rpcbind service.
1798360efbdSAlfred PerlsteinThis routine returns
1808360efbdSAlfred Perlstein.Dv TRUE
1818360efbdSAlfred Perlsteinif it succeeds,
1828360efbdSAlfred Perlstein.Dv FALSE
1838360efbdSAlfred Perlsteinotherwise.
1848360efbdSAlfred PerlsteinOnly the owner of the service or the super-user can destroy the mapping.
1858360efbdSAlfred Perlstein(See also
1868360efbdSAlfred Perlstein.Fn svc_unreg
1878360efbdSAlfred Perlsteinin
1888360efbdSAlfred Perlstein.Xr rpc_svc_calls 3 . )
1898360efbdSAlfred Perlstein.El
1908360efbdSAlfred Perlstein.Sh SEE ALSO
1918360efbdSAlfred Perlstein.Xr rpc_clnt_calls 3 ,
1928360efbdSAlfred Perlstein.Xr rpc_svc_calls 3 ,
1938360efbdSAlfred Perlstein.Xr rpcbind 8 ,
1948360efbdSAlfred Perlstein.Xr rpcinfo 8
195