NAME

     getprotoent, getprotobyname, getprotobynumber,  setprotoent,
     endprotoent - get protocol entry


SYNOPSIS

     #include <netdb.h>

     struct protoent *getprotoent(void);

     struct protoent *getprotobyname(const char *name));

     struct protoent *getprotobynumber(int proto));

     void setprotoent(int stayopen));

     void endprotoent(void);


DESCRIPTION

     The getprotoent() function reads the next line from the file
     /etc/protocols  and  returns a structure protoent containing
     the broken out fields from  the  line.   The  /etc/protocols
     file is opened if necessary.

     The getprotobyname() function returns a  protoent  structure
     for  the  line from /etc/protocols that matches the protocol
     name name.

     The getprotobynumber() function returns a protoent structure
     for the line that matches the protocol number number.

     The   setprotoent()   function   opens   and   rewinds   the
     /etc/protocols file.  If stayopen is true (1), then the file
     will not be closed between calls to getprotobyname() or get-
     protobynumber().

     The endprotoent() function closes /etc/protocols.

     The protoent structure is defined in <netdb.h> as follows:

          struct protoent {
                  char    *p_name;        /* official protocol name */
                  char    **p_aliases;    /* alias list */
                  int     p_proto;        /* protocol number */
          }

     The members of the protoent structure are:

     p_name
          The official name of the protocol.

     p_aliases
          A zero terminated list of  alternative  names  for  the
          protocol.

     p_proto
          The protocol number.


RETURN VALUE

     The getprotoent(), getprotobyname()  and  getprotobynumber()
     functions  return  the protoent structure, or a NULL pointer
     if an error occurs or the end of the file is reached.


FILES

     /etc/protocols
          protocol database file


CONFORMING TO

     BSD 4.3


SEE ALSO

     getservent(3), getnetent(3), protocols(5)