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

openSUSE Logo

Contents