Man Linux: Main Page and Category List

NAME

       endprotoent, getprotobyname, getprotobynumber, getprotoent, setprotoent
       - network protocol database functions

SYNOPSIS

       #include <netdb.h>

       void endprotoent(void);
       struct protoent *getprotobyname(const char *name);
       struct protoent *getprotobynumber(int proto);
       struct protoent *getprotoent(void);
       void setprotoent(int stayopen);

DESCRIPTION

       These  functions  shall  retrieve  information  about  protocols.  This
       information  is  considered  to  be  stored  in  a database that can be
       accessed sequentially or randomly. The implementation of this  database
       is unspecified.

       The setprotoent() function shall open a connection to the database, and
       set the next entry to the first entry. If the stayopen argument is non-
       zero,  the  connection  to  the  network protocol database shall not be
       closed after each call to getprotoent() (either directly, or indirectly
       through one of the other getproto*() functions), and the implementation
       may maintain an open file descriptor for the database.

       The getprotobyname()  function  shall  search  the  database  from  the
       beginning  and  find  the  first  entry  for  which  the  protocol name
       specified by name matches the p_name  member,  opening  and  closing  a
       connection to the database as necessary.

       The  getprotobynumber()  function  shall  search  the database from the
       beginning and find the  first  entry  for  which  the  protocol  number
       specified  by  proto  matches the p_proto member, opening and closing a
       connection to the database as necessary.

       The getprotoent() function shall read the next entry of  the  database,
       opening and closing a connection to the database as necessary.

       The  getprotobyname(),  getprotobynumber(), and getprotoent() functions
       shall each return a pointer to a protoent  structure,  the  members  of
       which  shall  contain  the  fields  of an entry in the network protocol
       database.

       The endprotoent() function shall close the connection to the  database,
       releasing any open file descriptor.

       These  functions need not be reentrant. A function that is not required
       to be reentrant is not required to be thread-safe.

RETURN VALUE

       Upon successful completion, getprotobyname(),  getprotobynumber(),  and
       getprotoent() return a pointer to a protoent structure if the requested
       entry was found, and a null pointer if the  end  of  the  database  was
       reached or the requested entry was not found. Otherwise, a null pointer
       is returned.

ERRORS

       No errors are defined.

       The following sections are informative.

EXAMPLES

       None.

APPLICATION USAGE

       The getprotobyname(), getprotobynumber(), and  getprotoent()  functions
       may  return  pointers  to  static  data,  which  may  be overwritten by
       subsequent calls to any of these functions.

RATIONALE

       None.

FUTURE DIRECTIONS

       None.

SEE ALSO

       The Base Definitions volume of IEEE Std 1003.1-2001, <netdb.h>

COPYRIGHT

       Portions of this text are reprinted and reproduced in  electronic  form
       from IEEE Std 1003.1, 2003 Edition, Standard for Information Technology
       -- Portable Operating System Interface (POSIX),  The  Open  Group  Base
       Specifications  Issue  6,  Copyright  (C) 2001-2003 by the Institute of
       Electrical and Electronics Engineers, Inc and The Open  Group.  In  the
       event of any discrepancy between this version and the original IEEE and
       The Open Group Standard, the original IEEE and The Open Group  Standard
       is  the  referee document. The original Standard can be obtained online
       at http://www.opengroup.org/unix/online.html .