NAME | SYNOPSIS | DESCRIPTION | ATTRIBUTES | SUMMARY OF TRUSTED SOLARIS CHANGES | SEE ALSO
#include <rpc/rpc.h>struct rpcblist *rpcb_getmaps(const struct netconfig *netconf, const char *host);
These routines allow client C programs to make procedure calls to the RPC binder service. rpcbind maintains a list of mappings between programs and their universal addresses. See rpcbind(1M).
#include <rpc/rpc.h>
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.
This interface returns all the mappings at the client's sensitivity label, and all multilevel mappings.
This interface to the rpcbind service returns a list of the current RPC program-to-address mappings on host. This interface
uses the transport specified through netconf to contact the remote rpcbind service on host. This routine returns all the mappings at sensitivity labels dominated by the client's sensitivity label and all multilevel mappings. If the
client has the PRIV_NET_MAC_READ
privilege, all mappings are returned regardless of their sensitivity labels. This routine will return NULL if the remote rpcbind could not be contacted.
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. svcaddr should be preallocated. This routine returns TRUE if it succeeds. A return value of FALSE means that the mapping does not exist, that no mapping exists at the sensitivity label of the client and no multilabel mapping exists, or that the RPC system failed to contact the remote rpcbind service. In the last case, the global variable rpc_createerr contains the RPC status. See rpc_clnt_create(3NSL).
If both a mapping at the sensitivity label of the client and a multilevel mapping exist, the mapping at the sensitivity label of the client is returned.
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. rpcb_gettime() can be used to synchronize the time between the client and the remote server. This routine is particularly useful for secure RPC.
An interface to the rpcbind service, which instructs rpcbind on host to make an RPC call on your behalf to a procedure on that host. The netconfig structure should correspond to a connectionless transport. The parameter *svcaddr will be modified to the server's address if the procedure succeeds. See rpc_call() and clnt_call() in rpc_clnt_calls(3NSL) for the definitions of other parameters.
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.
Even if the server is not running rpcbind does not return any error messages to the caller. In such a case, the caller times out.
Trusted Solaris Note: If there is no mapping at the sensitivity label of the client and no multilevel mapping, rpcbind does not return any error messages to the caller. In such a case, the caller times out.
Note: rpcb_rmtcall() is only available for connectionless transports.
An interface to the rpcbind service, which establishes 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 defined by the netconfig database.
If the client has the PRIV_NET_MAC_READ
privilege, a multilevel mapping is created. If the mapping is being established to a privileged port, the client must have the PRIV_NET_PRIVADDR
privilege.
This routine returns TRUE if it succeeds, FALSE otherwise. See also svc_reg() in rpc_svc_calls(3NSL). If there already exists such an entry with rpcbind, rpcb_set() will fail.
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 machine's rpcbind service.
The PRIV_NET_MAC_READ
privilege is required to delete a multilevel mapping. If the mapping being deleted is for a privileged port, the client must have the PRIV_NET_PRIVADDR
privilege.
This routine returns TRUE if it succeeds, FALSE otherwise. Only the owner of the service or a process with the PRIV_NET_SETID
privilege can destroy the mapping. See also svc_unreg() in rpc_svc_calls(3NSL).
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
---|---|
MT-Level | MT-Safe |
Most rpcbind services operate only on mappings that either match the sensitivity label of the client or are multilevel.
The PRIV_NET_MAC_READ
privilege affects the operation of several rpcbind services. If the privilege is asserted when rpcb_set() is called, a multilevel mapping is created. To delete a multilevel mapping, rpcb_unset() must be called with the privilege on.
The PRIV_NET_PRIVADDR
privilege is required for rpcb_set() or rpcb_unset() calls that create or delete mappings for a privileged port.
The PRIV_NET_SETID
privilege is required by rpcb_unset() for anyone other than the owner of a mapping to delete the mapping.
rpcbind(1M), rpcinfo(1M), rpc_clnt_calls(3NSL), rpc_clnt_create(3NSL), rpc_svc_calls(3NSL)
NAME | SYNOPSIS | DESCRIPTION | ATTRIBUTES | SUMMARY OF TRUSTED SOLARIS CHANGES | SEE ALSO