Content-type: text/html
Standard C Library (libc.so, libc.a)
#include </rpc/netdb.h>
struct rpcent *getrpcent(void);
struct rpcent *getrpcbynumber(
int number);
struct rpcent *getrpcbyname(
char *name);
void setrpcent(
int stayopen);
The getrpcent, getrpcbynumber and getrpcbyname functions
return pointers to an object with the following structure containing the broken-out
fields of a line in the rpc database:
struct rpcent { /* see getrpcent(3) */
char *r_name;
char **r_aliases; /* alias list */
char r_number; /* rpc program number */
};
struct group *getrpcent(), *getrpcbynumber(), *getrpcbyname();
The members of this structure are:
If the stayopen flag on the setrpcent subroutine is null, the rpc database is opened. Otherwise the setrpcent has the effect of rewinding the rpc database. The endrpcent may be called to close the rpc file when processing is complete.
The getrpcent subroutine simply reads the next line while getrpcbynumber and getrpcbyname search until a matching gid or name is found (or until EOF is encountered). The getrpcent subroutine keeps a pointer in the database, allowing successive calls to be used to search the entire file.
A call to setrpcent must be made before a while loop using getrpcent in order to perform initialization and an endrpcent must be used after the loop. Both getrpcbynumber and getrpcbyname make calls to setrpcent and endrpcent.
The getrpcent(), getrpcbynumber(), and getrpcbyname() functions return pointers to thread-specific data. Subsequent calls to these functions from the same thread overwrite this data.
If NIS (formerly YP) is running, getrpcent does not return the entries in any particular order. See the Network Administration for NIS setup information.
The rpc information is stored locally in /etc/rpc or is distributed by NIS, or both. To determine which file or files to search, and in which order, the system uses the switches in the /etc/svc.conf file.
A null pointer (0) is returned on EOF or error.
delim off