MirOS Manual: endprotoent(3), endprotoent_r(3), getprotobyname(3), getprotobyname_r(3), getprotobynumber(3), getprotobynumber_r(3), getprotoent(3), getprotoent_r(3), setprotoent(3), setprotoent_r(3)

GETPROTOENT(3)             BSD Programmer's Manual              GETPROTOENT(3)

NAME

     getprotoent, getprotoent_r, getprotobynumber, getprotobynumber_r,
     getprotobyname, getprotobyname_r, setprotoent, setprotoent_r,
     endprotoent, endprotoent_r - get protocol entry

SYNOPSIS

     #include <netdb.h>

     struct protoent *
     getprotoent(void);

     int
     getprotoent_r(struct protoent *protoent,
             struct protoent_data *protoent_data);

     struct protoent *
     getprotobyname(const char *name);

     int
     getprotobyname_r(const char *name, struct protoent *protoent,
             struct protoent_data *protoent_data);

     struct protoent *
     getprotobynumber(int proto);

     int
     getprotobynumber_r(int proto, struct protoent *protoent,
             struct protoent_data *protoent_data);

     void
     setprotoent(int stayopen);

     void
     setprotoent_r(int stayopen, struct protoent_data *protoent_data);

     void
     endprotoent(void);

     void
     endprotoent_r(struct protoent_data *protoent_data);

DESCRIPTION

     The getprotoent(), getprotobyname(), and getprotobynumber() functions
     each return a pointer to an object with the following structure contain-
     ing the broken-out fields of a line in the network protocol database,
     /etc/protocols.

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

     The members of this structure are:

     p_name     The official name of the protocol.

     p_aliases  A null-terminated list of alternate names for the protocol.

     p_proto    The protocol number.

     The getprotoent() function reads the next line of the file, opening the
     file if necessary.
     The setprotoent() function opens and rewinds the file. If the stayopen
     flag is non-zero, the protocol database will not be closed after each
     call to getprotobyname() or getprotobynumber().

     The endprotoent() function closes the file.

     The getprotobyname() and getprotobynumber() functions sequentially search
     from the beginning of the file until a matching protocol name or protocol
     number is found, or until EOF is encountered.

     The getprotoent_r(), getprotobyport_r(), getprotobyname_r(),
     setprotoent_r(), and endprotoent_r() functions are reentrant versions of
     the above functions that take a pointer to a protoent_data structure
     which is used to store state information. The structure must be zero-
     filled before it is used and should be considered opaque for the sake of
     portability.

     The getprotoent_r(), getprotobyport_r(), and getprotobyname_r() functions
     also take a pointer to a protoent structure which is used to store the
     results of the database lookup.

RETURN VALUES

     The getprotoent(), getprotobyport(), and getprotobyname() functions re-
     turn a pointer to a protoent structure on success or a null pointer if
     end-of-file is reached or an error occurs.

     The getprotoent_r(), getprotobyport_r(), and getprotobyname_r() functions
     return 0 on success or -1 if end-of-file is reached or an error occurs.

FILES

     /etc/protocols

SEE ALSO

     protocols(5)

STANDARDS

     The getprotoent(), getprotobynumber(), getprotobyname(), setprotoent(),
     and endprotoent() functions conform to IEEE Std 1003.1-2004 ("POSIX").

     The getprotoent_r(), getprotobyport_r(), getprotobyname_r(),
     setprotoent_r(), and endprotoent_r() functions are not currently stand-
     ardized. This implementation follows the API used by HP, IBM, and Digi-
     tal.

HISTORY

     The getprotoent(), getprotobynumber(), getprotobyname(), setprotoent(),
     and endprotoent() functions appeared in 4.2BSD.

     The getprotoent_r(), getprotobyport_r(), getprotobyname_r(),
     setprotoent_r(), and endprotoent_r() functions appeared in OpenBSD 3.7.

BUGS

     The non-reentrant functions use a static data space; if the data is need-
     ed for future use, it should be copied before any subsequent calls
     overwrite it. Only the Internet protocols are currently understood.

MirOS BSD #10-current          October 13, 2004                              1

Generated on 2014-07-04 21:17:45 by $MirOS: src/scripts/roff2htm,v 1.79 2014/02/10 00:36:11 tg Exp $

These manual pages and other documentation are copyrighted by their respective writers; their source is available at our CVSweb, AnonCVS, and other mirrors. The rest is Copyright © 2002‒2014 The MirOS Project, Germany.
This product includes material provided by Thorsten Glaser.

This manual page’s HTML representation is supposed to be valid XHTML/1.1; if not, please send a bug report – diffs preferred.