GETSERVENT(3) Linux Programmer s Manual GETSERVENT(3)

NAME getservent, getservbyname, getservbyport, setservent, endservent - get service entry

SYNOPSIS #include <netdb.h>

struct servent *getservent(void);

struct servent *getservbyname(const char *name, const char *proto);

struct servent *getservbyport(int port, const char *proto);

void setservent(int stayopen);

void endservent(void);

DESCRIPTION The getservent() function reads the next entry from the services database (see services(5)) and returns a servent structure containing the broken-out fields from the entry. A connection is opened to the database if necessary.

The getservbyname() function returns a servent structure for the entry from the database that matches the service name using protocol proto. If proto is NULL, any protocol will be matched. A connection is opened to the database if necessary.

The getservbyport() function returns a servent structure for the entry from the database that matches the port port (given in network byte order) using protocol proto. If proto is NULL, any protocol will be matched. A connection is opened to the database if necessary.

The setservent() 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 getserv*() functions.

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

The servent structure is defined in <netdb.h> as follows:

struct servent { char *s_name; /* official service name */ char **s_aliases; /* alias list */ int s_port; /* port number */ char *s_proto; /* protocol to use */ }

The members of the servent structure are:

s_name The official name of the service.

s_aliases A NULL-terminated list of alternative names for the service.

s_port The port number for the service given in network byte order.

s_proto The name of the protocol to use with this service.

RETURN VALUE The getservent(), getservbyname() and getservbyport() functions return a pointer to a statically allocated servent structure, or a NULL pointer if an error occurs or the end of the file is reached.

FILES /etc/services services database file

CONFORMING TO 4.3BSD, POSIX.1-2001.

SEE ALSO getnetent(3), getprotoent(3), getservent_r(3), services(5)

COLOPHON This page is part of release 3.22 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/.

GNU 2008-08-19 GETSERVENT(3)