| GETPROTOENT(3) | Library Functions Manual | GETPROTOENT(3) | 
getprotoent, getprotobynumber,
  getprotobyname, setprotoent,
  endprotoent —
#include <netdb.h>
struct protoent *
  
  getprotoent();
struct protoent *
  
  getprotobyname(const
    char *name);
struct protoent *
  
  getprotobynumber(int
    proto);
void
  
  setprotoent(int
    stayopen);
void
  
  endprotoent(void);
getprotoent(),
  getprotobyname(), and
  getprotobynumber() functions each return a pointer to
  an object with the following structure containing the broken-out fields of a
  line in the network protocol data base,
  /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:
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 net data base will not be closed after each call to
    getprotobyname() or
    getprotobynumber().
The endprotoent() function closes the
    file.
The getprotobyname() function and
    getprotobynumber() sequentially search from the
    beginning of the file until a matching protocol name or protocol number is
    found, or until EOF is encountered.
getprotoent(),
  getprotobyname(), and
  getprotobynumber() return a pointer to the
  protoent structure as described above. A
  NULL pointer is returned on
  EOF or error.
getprotoent(),
  getprotobynumber(),
  getprotobyname(),
  setprotoent(), and
  endprotoent() functions appeared in
  4.2BSD.
| July 15, 2011 | NetBSD 10.0 |