xref: /original-bsd/lib/libc/net/getprotoent.3 (revision 2301fdfb)
Copyright (c) 1983 Regents of the University of California.
All rights reserved. The Berkeley software License Agreement
specifies the terms and conditions for redistribution.

@(#)getprotoent.3 6.3 (Berkeley) 05/19/86

GETPROTOENT 3N ""
C 5
NAME
getprotoent, getprotobynumber, getprotobyname, setprotoent, endprotoent - get protocol entry
SYNOPSIS
 #include <netdb.h> 

struct protoent *getprotoent()

struct protoent *getprotobyname(name) char *name;

struct protoent *getprotobynumber(proto) int proto;

setprotoent(stayopen) int stayopen

endprotoent()

DESCRIPTION
Getprotoent , getprotobyname , and getprotobynumber 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:

\w'p_aliases'u+2n p_name The official name of the protocol.

\w'p_aliases'u+2n p_aliases A zero terminated list of alternate names for the protocol.

\w'p_aliases'u+2n p_proto The protocol number.

Getprotoent reads the next line of the file, opening the file if necessary.

Setprotoent 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 .

Endprotoent closes the file.

Getprotobyname 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.

FILES
/etc/protocols
"SEE ALSO"
protocols(5)
DIAGNOSTICS
Null pointer (0) returned on EOF or error.
BUGS
All information is contained in a static area so it must be copied if it is to be saved. Only the Internet protocols are currently understood.