$NetBSD: getrpcent.3,v 1.6 1998/02/05 18:49:06 perry Exp $
$FreeBSD: src/lib/libc/rpc/getrpcent.3,v 1.18 2005/01/20 09:17:04 ru Exp $
.Dd December 14, 1987 .Dt GETRPCENT 3 .Os .Sh NAME .Nm getrpcent , .Nm getrpcbyname , .Nm getrpcbynumber , .Nm endrpcent , .Nm setrpcent .Nd get RPC entry .Sh LIBRARY .Lb libc .Sh SYNOPSIS n rpc/rpc.h .Ft struct rpcent * .Fn getrpcent void .Ft struct rpcent * .Fn getrpcbyname "char *name" .Ft struct rpcent * .Fn getrpcbynumber "int number" .Ft void .Fn setrpcent "int stayopen" .Ft void .Fn endrpcent void .Sh DESCRIPTION The .Fn getrpcent , .Fn getrpcbyname , and .Fn getrpcbynumber functions each return a pointer to an object with the following structure containing the broken-out fields of a line in the rpc program number data base,
a /etc/rpc : d -literal struct rpcent { char *r_name; /* name of server for this rpc program */ char **r_aliases; /* alias list */ long r_number; /* rpc program number */ }; .Ed
p The members of this structure are: l -tag -width r_aliases -offset indent t Va r_name The name of the server for this rpc program. t Va r_aliases A zero terminated list of alternate names for the rpc program. t Va r_number The rpc program number for this service. .El
p The .Fn getrpcent function reads the next line of the file, opening the file if necessary.
p The .Fn setrpcent function opens and rewinds the file. If the .Fa stayopen flag is non-zero, the net data base will not be closed after each call to .Fn getrpcent (either directly, or indirectly through one of the other .Dq getrpc calls).
p The .Fn endrpcent function closes the file.
p
The
.Fn getrpcbyname
and
.Fn getrpcbynumber
functions
sequentially search from the beginning
of the file until a matching rpc program name or
program number is found, or until end-of-file is encountered.
.Sh FILES
l -tag -width /etc/rpc -compact t Pa /etc/rpc .El
.Sh DIAGNOSTICS
A
.Dv NULL
pointer is returned on
.Dv EOF
or error.
.Sh SEE ALSO
.Xr rpc 5 ,
.Xr rpcinfo 8 ,
.Xr ypserv 8
.Sh BUGS
All information
is contained in a static area
so it must be copied if it is
to be saved.
The data space used by
these functions is thread-specific; if future use requires the data, it should be
copied before any subsequent calls to these functions overwrite it.