GETSERVENT

Section: Linux Programmer's Manual (3)
Updated: 22 April 1996
 

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 line from the file /etc/services and returns a structure servent containing the broken out fields from the line. The /etc/services file is opened if necessary.

The getservbyname() function returns a servent structure for the line from /etc/services that matches the service name using protocol proto.

The getservbyport() function returns a servent structure for the line that matches the port port given in network byte order using protocol proto.

The setservent() function opens and rewinds the /etc/services file. If stayopen is true (1), then the file will not be closed between calls to getservbyname() and getservbyport().

The endservent() function closes /etc/services.

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 zero 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 the 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

BSD 4.3  

SEE ALSO

getprotoent(3), getnetent(3), services(5)