---
name: "getrpcent"
section: "3"
platform: "macos"
package: "Libinfo"
version: "600"
release: "macOS 26.5"
platforms: ["linux", "freebsd", "macos"]
url: "https://new.carta.tech/getrpcent"
---

# getrpcent(3)

get RPC entry

## NAME

**getrpcent**, **getrpcbyname**, **getrpcbynumber**, **endrpcent**, **setrpcent** – get RPC entry

## LIBRARY

Standard C Library (libc, -lc)

## SYNOPSIS

**#include \<rpc/rpc.h\>**

*struct* *rpcent* *\**\

**getrpcent**(*void*);

*struct* *rpcent* *\**\

**getrpcbyname**(*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 a line in the rpc program number data base, */etc/rpc*:

```
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.

The **getrpcent**() function reads the next line of the file, opening the file if necessary.

The **setrpcent**() function 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).

The **endrpcent**() function closes the file.

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.

## FILES

- */etc/rpc*

  ## DIAGNOSTICS

A NULL pointer is returned on EOF or error.

## SEE ALSO

[rpc(5)](/rpc/5.md), [rpcinfo(8)](/rpcinfo/8.md), [ypserv(8)](/ypserv/8.md)

## BUGS

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.
