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