GETRPCENT(3)

NAME
getrpcent, getrpcbyname, getrpcbynumber, setrpcent, endrpcent - get RPC entry

SYNOPSIS
#include <netdb.h>
struct rpcent *getrpcent(void);
struct rpcent *getrpcbyname(char *name);
struct rpcent *getrpcbynumber(int number);
void setrpcent(int stayopen);
void endrpcent(void);

DESCRIPTION

getrpcent(), getrpcbyname(), and getrpcbynumber() each return a pointer to an object with the following structure containing the broken-out fields of an entry in the RPC program number data base.
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 NULL-terminated list of alternate names for the RPC program.

    r_number
        The RPC program number for this service.

getrpcent() reads the next entry from the database. A connection is opened to the database if necessary.

setrpcent() function opens a connection to the database, and sets the next entry to the first entry. If stayopen is non-zero, then the connection to the database will not be closed between calls to one of the getrpc*() functions.

The endrpcent() function closes the connection to the database.

getrpcbyname() and getrpcbynumber() 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.

RETURN VALUE
On success, getrpcent(), getrpcbyname(), and getrpcbynumber() return a pointer to a statically allocated rpcent structure. A NULL pointer is returned on EOF or error.

FILES

/etc/rpc
    RPC program number database.

CONFORMING TO
Not in POSIX.1-2001. Present on the BSDs, Solaris, and many other systems.

BUGS
All information is contained in a static area so it must be copied if it is to be saved.

SEE ALSO
getrpcent_r(3), rpc(5), rpcinfo(8), ypserv(8)

COLOPHON
This page is part of release 3.18 of the Linux man-pages project. A description of the project, and information about reporting bugs, can be found at http://www.kernel.org/doc/man-pages/.