getrpcent(3R)
getrpcent, getrpcent_r, fgetrpcent, fgetrpcent_r, getrpcbyname, getrpcbyname_r, getrpcbynumber, getrpcbynumber_r - get RPC entry
As shipped in IRIX 6.5.22. Unchanged since IRIX 6.5.
NAME getrpcent, getrpcent_r, fgetrpcent, fgetrpcent_r, getrpcbyname, getrpcbyname_r, getrpcbynumber, getrpcbynumber_r - get RPC entry SYNOPSIS #include <netdb.h> struct rpcent *getrpcent(void); struct rpcent *getrpcent_r(struct rpcent *rent, char *buffer, int bufsize); struct rpcent *fgetrpcent(FILE *f); struct rpcent *getrpcent_r(FILE *f, struct rpcent *rent, char *buffer, int bufsize); struct rpcent *getrpcbyname(char *name); struct rpcent *getrpcbyname_r(char *name, struct rpcent *rent, char *buffer, int bufsize); struct rpcent *getrpcbynumber(int number); struct rpcent *getrpcbynumber_r(int number, struct rpcent *rent, char *buffer, int bufsize); void setrpcent(int stayopen); void endrpcent(void); DESCRIPTION Getrpcent, getrpcbyname, getrpcbynumber and their reentrant counterparts each return a pointer to an object with the following structure containing the broken-out fields of a line in the Sun RPC program number data base, /etc/rpc, or some other back-end database. struct rpcent { char *r_name; /* name of server for this rpc program */ char **r_aliases; /* alias list */ long r_number; /* rpc program number */ }; The members of this structure are: r_name The name of the server for this rpc program. r_aliases A zero terminated list of alternate names for the rpc program. r_number The rpc program number for this service. Getrpcent reads the next line of the file, opening the file if necessary. Setrpcent opens and rewinds the file. If the stayopen flag is non-zero, the net data base will not be closed after each call to getrpcent (either directly, or indirectly through one of the other "getrpc" calls). Endrpcent closes the file. Getrpcbyname and getrpcbynumber sequentially search from the beginning of the file until a matching rpc program name or program number is found, or until EOF is encountered. The fgetrpcent and fgetrpcent_r routines will return the next line in the supplied stream broken out into a struct rpcent structure. The routines getrpcent, fgetrpcent, getrpcbyname and getrpcbynumber all return results in static memory which is overwritten on each call. Reentrant versions of each of these routines getrpcent_r, fgetrpcent_r, getrpcbyname_r and getrpcbynumber_r which parse the results into supplied memory. They each take three extra arguments, a pointer to a struct rpcent structure, a pointer to a character buffer, and a length for the buffer. NOTE The routines documented in this manual entry only parse files of the format given in rpc(4). Data from other sources can be supplied to these routines as files by the nsd(1M) daemon as specified in the nsd configuration file /etc/nsswitch.conf. The Mips ABI specifies nothing but local files so applications which wish to use anything else must compile with libc prior to libnsl in the library list. When nsd is running changes to the local rpc file may not be noticed by getrpcent() until the enumeration cache file has timed out. DIAGNOSTICS All functions that return struct rpcent * will return a null (0) pointer in the case of EOF or failure. FILES /etc/rpc /etc/nsswitch.conf /var/ns/cache/rpc.byname.m /var/ns/cache/rpc.bynumber.m SEE ALSO nsd(1M), rpc(4), rpcinfo(1M) DIAGNOSTICS A NULL pointer is returned on EOF or error.