---
name: "setrpcent"
section: "3"
platform: "linux"
package: "man-pages"
version: "6.19-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux", "freebsd"]
url: "https://new.carta.tech/getrpcent"
---

# setrpcent(3)

get RPC entry

Part of [getrpcent(3)](/getrpcent/3.md).

## NAME

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

## LIBRARY

Standard C library (*libc*, *-lc*)

## SYNOPSIS

```
#include <netdb.h>
```

**struct rpcent \*getrpcent(void);**

**struct rpcent \*getrpcbyname(const char \****name***);** **struct rpcent \*getrpcbynumber(int** *number***);**

**void setrpcent(int** *stayopen***);** **void endrpcent(void);**

## DESCRIPTION

The **getrpcent**(), **getrpcbyname**(), and **getrpcbynumber**() functions 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.

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

The **setrpcent**() function opens a connection to the database, and sets the next entry to the first entry. If *stayopen* is nonzero, 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.

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

## RETURN VALUE

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

## FILES

- */etc/rpc*

  RPC program number database.

## ATTRIBUTES

For an explanation of the terms used in this section, see [**attributes**(7)](/attributes/7.md).

| | | |
| --- | --- | --- |
| **Interface** | **Attribute** | **Value** |
| **getrpcent**(), **getrpcbyname**(), **getrpcbynumber**() | Thread safety | MT-Unsafe |
| **setrpcent**(), **endrpcent**() | Thread safety | MT-Safe locale |

## STANDARDS

BSD.

## HISTORY

BSD, Solaris.

## 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)](/getrpcent_r/3.md), [**rpc**(5)](/rpc/5.md), [**rpcinfo**(8)](/rpcinfo/8.md), [**ypserv**(8)](/ypserv/8.md)
