GETRPCENT(3R)GETRPCENT(3R)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.
Page 1
GETRPCENT(3R)GETRPCENT(3R)
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 ALSOnsd(1M), rpc(4), rpcinfo(1M)DIAGNOSTICS
A NULL pointer is returned on EOF or error.
Page 2