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.15 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/.