getprotoent,   getprotobyname,  getprotobynumber,  setpro­
       toent, 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 con­
       taining  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 struc­
       ture for the line that matches the protocol number number.

       The setprotoent() function opens and rewinds the /etc/pro­
       tocols file.  If stayopen is true (1), then the file  will
       not be closed between calls to getprotobyname() or getpro­
       tobynumber().

       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.

              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)