| GETSERVENT(3) | Library Functions Manual | GETSERVENT(3) | 
getservent, getservbyport,
  getservbyname, setservent,
  endservent —
#include <netdb.h>
struct servent *
  
  getservent();
struct servent *
  
  getservbyname(const
    char *name, const char
    *proto);
struct servent *
  
  getservbyport(int
    port, const char
    *proto);
void
  
  setservent(int
    stayopen);
void
  
  endservent(void);
getservent(),
  getservbyname(), and
  getservbyport() functions each return a pointer to an
  object with the following structure containing the broken-out fields of a line
  in the network services data base, /etc/services.
struct	servent {
	char	*s_name;	/* official name of service */
	char	**s_aliases;	/* alias list */
	int	s_port;		/* port service resides at */
	char	*s_proto;	/* protocol to use */
};
The members of this structure are:
The getservent() function reads the next
    line of the file, opening the file if necessary.
The setservent() function opens and
    rewinds the file. If the stayopen flag is non-zero,
    the net data base will not be closed after each call to
    getservbyname() or
    getservbyport().
The endservent() function closes the
  file.
The getservbyname() and
    getservbyport() functions sequentially search from
    the beginning of the file until a matching protocol name or port number is
    found, or until EOF is encountered. If a protocol
    name is also supplied (non-NULL), searches must also
    match the protocol.
EOF or error.
getservent(),
  getservbyport(),
  getservbyname(), setservent(),
  and endservent() functions appeared in
  4.2BSD.
| May 25, 1995 | NetBSD 9.3 |