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 . 678360efbdSAlfred Perlstein.Fa svcaddr 688360efbdSAlfred Perlsteinshould be preallocated. 698360efbdSAlfred PerlsteinThis routine returns 708360efbdSAlfred Perlstein.Dv TRUE 718360efbdSAlfred Perlsteinif it succeeds. 728360efbdSAlfred PerlsteinA return value of 738360efbdSAlfred Perlstein.Dv FALSE 748360efbdSAlfred Perlsteinmeans that the mapping does not exist 758360efbdSAlfred Perlsteinor that the RPC 768360efbdSAlfred Perlsteinsystem failed to contact the remote 778360efbdSAlfred Perlsteinrpcbind service. 788360efbdSAlfred PerlsteinIn the latter case, the global variable 798360efbdSAlfred Perlstein.Va rpc_createerr 808360efbdSAlfred Perlstein(see 818360efbdSAlfred Perlstein.Xr rpc_clnt_create 3 ) 828360efbdSAlfred Perlsteincontains the 838360efbdSAlfred PerlsteinRPC status. 848360efbdSAlfred Perlstein.It Fn rpcb_gettime 858360efbdSAlfred PerlsteinThis routine returns the time on 868360efbdSAlfred Perlstein.Fa host 878360efbdSAlfred Perlsteinin 888360efbdSAlfred Perlstein.Fa timep . 898360efbdSAlfred PerlsteinIf 908360efbdSAlfred Perlstein.Fa host 918360efbdSAlfred Perlsteinis 928360efbdSAlfred Perlstein.Dv NULL , 938360efbdSAlfred Perlstein.Fn rpcb_gettime 948360efbdSAlfred Perlsteinreturns the time on its own machine. 958360efbdSAlfred PerlsteinThis routine returns 968360efbdSAlfred Perlstein.Dv TRUE 978360efbdSAlfred Perlsteinif it succeeds, 988360efbdSAlfred Perlstein.Dv FALSE 998360efbdSAlfred Perlsteinif it fails. 1001fae73b1SRuslan ErmilovThe 1018360efbdSAlfred Perlstein.Fn rpcb_gettime 1021fae73b1SRuslan Ermilovfunction 1038360efbdSAlfred Perlsteincan be used to synchronize the time between the 1048360efbdSAlfred Perlsteinclient and the remote server. 1058360efbdSAlfred Perlstein.It Fn rpcb_rmtcall 1068360efbdSAlfred PerlsteinAn interface to the rpcbind service, which instructs 1078360efbdSAlfred Perlsteinrpcbind on 1088360efbdSAlfred Perlstein.Fa host 1098360efbdSAlfred Perlsteinto make an RPC 1108360efbdSAlfred Perlsteincall on your behalf to a procedure on that host. 1118360efbdSAlfred PerlsteinThe 1128360efbdSAlfred Perlstein.Fn netconfig 1138360efbdSAlfred Perlsteinstructure should correspond to a connectionless transport. 1148360efbdSAlfred PerlsteinThe parameter 1158360efbdSAlfred Perlstein.Fa svcaddr 1168360efbdSAlfred Perlsteinwill be modified to the server's address if the procedure succeeds 1178360efbdSAlfred Perlstein(see 1188360efbdSAlfred Perlstein.Fn rpc_call 1198360efbdSAlfred Perlsteinand 1208360efbdSAlfred Perlstein.Fn clnt_call 1218360efbdSAlfred Perlsteinin 1228360efbdSAlfred Perlstein.Xr rpc_clnt_calls 3 1238360efbdSAlfred Perlsteinfor the definitions of other parameters). 1248360efbdSAlfred Perlstein.Pp 1258360efbdSAlfred PerlsteinThis procedure should normally be used for a 1268360efbdSAlfred Perlstein.Dq ping 1278360efbdSAlfred Perlsteinand nothing else. 1288360efbdSAlfred PerlsteinThis routine allows programs to do lookup and call, all in one step. 1298360efbdSAlfred Perlstein.Pp 1308360efbdSAlfred PerlsteinNote: Even if the server is not running 1318360efbdSAlfred Perlstein.Fn rpcb_rmtcall 1328360efbdSAlfred Perlsteindoes not return any error messages to the caller. 1338360efbdSAlfred PerlsteinIn such a case, the caller times out. 1348360efbdSAlfred Perlstein.Pp 1358360efbdSAlfred PerlsteinNote: 1368360efbdSAlfred Perlstein.Fn rpcb_rmtcall 1378360efbdSAlfred Perlsteinis only available for connectionless transports. 1388360efbdSAlfred Perlstein.It Fn rpcb_set 1398360efbdSAlfred PerlsteinAn interface to the rpcbind 1408360efbdSAlfred Perlsteinservice, which establishes a mapping between the triple 1418360efbdSAlfred Perlstein.Bq Fa prognum , versnum , netconf->nc_netid 1428360efbdSAlfred Perlsteinand 1438360efbdSAlfred Perlstein.Fa svcaddr 1448360efbdSAlfred Perlsteinon the machine's rpcbind 1458360efbdSAlfred Perlsteinservice. 1468360efbdSAlfred PerlsteinThe value of 1478360efbdSAlfred Perlstein.Fa nc_netid 1488360efbdSAlfred Perlsteinmust correspond to a network identifier that is defined by the 1498360efbdSAlfred Perlsteinnetconfig database. 1508360efbdSAlfred PerlsteinThis routine returns 1518360efbdSAlfred Perlstein.Dv TRUE 1528360efbdSAlfred Perlsteinif it succeeds, 1538360efbdSAlfred Perlstein.Dv FALSE 1548360efbdSAlfred Perlsteinotherwise. 1558360efbdSAlfred Perlstein(See also 1568360efbdSAlfred Perlstein.Fn svc_reg 1578360efbdSAlfred Perlsteinin 1588360efbdSAlfred Perlstein.Xr rpc_svc_calls 3 . ) 1598360efbdSAlfred PerlsteinIf there already exists such an entry with rpcbind, 1608360efbdSAlfred Perlstein.Fn rpcb_set 1618360efbdSAlfred Perlsteinwill fail. 1628360efbdSAlfred Perlstein.It Fn rpcb_unset 1638360efbdSAlfred PerlsteinAn interface to the rpcbind 1648360efbdSAlfred Perlsteinservice, which destroys the mapping between the triple 1658360efbdSAlfred Perlstein.Bq Fa prognum , versnum , netconf->nc_netid 1668360efbdSAlfred Perlsteinand the address on the machine's rpcbind 1678360efbdSAlfred Perlsteinservice. 1688360efbdSAlfred PerlsteinIf 1698360efbdSAlfred Perlstein.Fa netconf 1708360efbdSAlfred Perlsteinis 1718360efbdSAlfred Perlstein.Dv NULL , 1728360efbdSAlfred Perlstein.Fn rpcb_unset 1738360efbdSAlfred Perlsteindestroys all mapping between the triple 1748360efbdSAlfred Perlstein.Bq Fa prognum , versnum , No all-transports 1758360efbdSAlfred Perlsteinand the addresses on the machine's rpcbind service. 1768360efbdSAlfred PerlsteinThis routine returns 1778360efbdSAlfred Perlstein.Dv TRUE 1788360efbdSAlfred Perlsteinif it succeeds, 1798360efbdSAlfred Perlstein.Dv FALSE 1808360efbdSAlfred Perlsteinotherwise. 1818360efbdSAlfred PerlsteinOnly the owner of the service or the super-user can destroy the mapping. 1828360efbdSAlfred Perlstein(See also 1838360efbdSAlfred Perlstein.Fn svc_unreg 1848360efbdSAlfred Perlsteinin 1858360efbdSAlfred Perlstein.Xr rpc_svc_calls 3 . ) 1868360efbdSAlfred Perlstein.El 1878360efbdSAlfred Perlstein.Sh SEE ALSO 1888360efbdSAlfred Perlstein.Xr rpc_clnt_calls 3 , 1898360efbdSAlfred Perlstein.Xr rpc_svc_calls 3 , 1908360efbdSAlfred Perlstein.Xr rpcbind 8 , 1918360efbdSAlfred Perlstein.Xr rpcinfo 8 192