getservent

NAME

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

SYNOPSIS

#include <netdb.h>
 struct servent *getservent(void);
 I struct servent *getservbyname(const char * name , const char * proto );
 I struct servent *getservbyport(int  port , const char * proto );
 I void setservent(int  stayopen );
 void endservent(void);

DESCRIPTION

The R 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 R getservbyname () function returns a servent structure for the line from /etc/services that matches the service name using protocol proto. If proto is NULL, any protocol will be matched.
The R getservbyport () function returns a servent structure for the line that matches the port port given in network byte order using protocol proto. If proto is NULL, any protocol will be matched.
The R setservent () function opens and rewinds the /etc/services file. If stayopen is true (1), then the file will not be closed between calls to R getservbyname () and R getservbyport ().
The R 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 R getservent (), R getservbyname () and R 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

4.3BSD, POSIX.1-2001.

SEE ALSO