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 get-
servbyport().
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() func-
tions 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)