4.3BSD-UWisc/man/cat3/getservent.3n




GETSERVENT(3N)      UNIX Programmer's Manual       GETSERVENT(3N)



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

SYNOPSIS
     #include <netdb.h>

     struct servent *getservent()

     struct servent *getservbyname(name, proto)
     char *name, *proto;

     struct servent *getservbyport(port, proto)
     int port; char *proto;

     setservent(stayopen)
     int stayopen

     endservent()

DESCRIPTION
     _G_e_t_s_e_r_v_e_n_t, _g_e_t_s_e_r_v_b_y_n_a_m_e, and _g_e_t_s_e_r_v_b_y_p_o_r_t 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, /_e_t_c/_s_e_r_v_i_c_e_s.

          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:

     s_name     The official name of the service.

     s_aliases  A zero terminated list of alternate names for the
                service.

     s_port     The port number at  which  the  service  resides.
                Port numbers are returned in network byte order.

     s_proto    The name of the protocol to use  when  contacting
                the service.

     _G_e_t_s_e_r_v_e_n_t reads the next line of the file, opening the file
     if necessary.

     _S_e_t_s_e_r_v_e_n_t opens and rewinds the file.  If the _s_t_a_y_o_p_e_n flag
     is non-zero, the net data base will not be closed after each
     call to _g_e_t_s_e_r_v_b_y_n_a_m_e or .IR getservbyport .



Printed 12/27/86          May 19, 1986                          1






GETSERVENT(3N)      UNIX Programmer's Manual       GETSERVENT(3N)



     _E_n_d_s_e_r_v_e_n_t closes the file.

     _G_e_t_s_e_r_v_b_y_n_a_m_e and _g_e_t_s_e_r_v_b_y_p_o_r_t 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.

FILES
     /etc/services

SEE ALSO
     getprotoent(3N), services(5)

DIAGNOSTICS
     Null pointer (0) returned on EOF or error.

BUGS
     All information is contained in a static area so it must  be
     copied  if it is to be saved.  Expecting port numbers to fit
     in a 32 bit quantity is probably naive.


































Printed 12/27/86          May 19, 1986                          2