The Open Group Base Specifications Issue 6
IEEE Std 1003.1, 2004 Edition
Copyright © 2001-2004 The IEEE and The Open Group, All Rights reserved.

#### NAME

> endprotoent, getprotobyname, getprotobynumber, getprotoent, setprotoent - network protocol database functions

#### SYNOPSIS

> ``#include <netdb.h>
> void endprotoent(void);
> struct protoent *getprotobyname(const char *`name`);
> struct protoent *getprotobynumber(int` proto`);
> struct protoent *getprotoent(void);
> void setprotoent(int` stayopen`);
> ``

#### DESCRIPTION

> These functions shall retrieve information about protocols. This information is considered to be stored in a database that can be accessed sequentially or randomly. The implementation of this database is unspecified.

> The setprotoent() function shall open a connection to the database, and set the next entry to the first entry. If the stayopen argument is non-zero, the connection to the network protocol database shall not be closed after each call to getprotoent() (either directly, or indirectly through one of the other getproto*() functions), and the implementation may maintain an open file descriptor for the database.

> The getprotobyname() function shall search the database from the beginning and find the first entry for which the protocol name specified by name matches the p_name member, opening and closing a connection to the database as necessary.

> The getprotobynumber() function shall search the database from the beginning and find the first entry for which the protocol number specified by proto matches the p_proto member, opening and closing a connection to the database as necessary.

> The getprotoent() function shall read the next entry of the database, opening and closing a connection to the database as necessary.

> The getprotobyname(), getprotobynumber(), and getprotoent() functions shall each return a pointer to a protoent structure, the members of which shall contain the fields of an entry in the network protocol database.

> The endprotoent() function shall close the connection to the database, releasing any open file descriptor.

> These functions need not be reentrant. A function that is not required to be reentrant is not required to be thread-safe.

#### RETURN VALUE

> Upon successful completion, getprotobyname(), getprotobynumber(), and getprotoent() return a pointer to a protoent structure if the requested entry was found, and a null pointer if the end of the database was reached or the requested entry was not found. Otherwise, a null pointer is returned.

#### ERRORS

> No errors are defined.

The following sections are informative.

#### EXAMPLES

> None.

#### APPLICATION USAGE

> The getprotobyname(), getprotobynumber(), and getprotoent() functions may return pointers to static data, which may be overwritten by subsequent calls to any of these functions.

#### RATIONALE

> None.

#### FUTURE DIRECTIONS

> None.

#### SEE ALSO

> The Base Definitions volume of IEEE Std 1003.1-2001, <netdb.h>

#### CHANGE HISTORY

> First released in Issue 6. Derived from the XNS, Issue 5.2 specification.

End of informative text.

UNIX ® is a registered Trademark of The Open Group.
POSIX ® is a registered Trademark of The IEEE.
[ Main Index | XBD | XCU | XSH | XRAT ]