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)