The
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:
Fa p_name
The official name of the protocol.
Fa p_aliases
A zero terminated list of alternate names for the protocol.
Fa 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
Fa 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.
The
getprotoent (,);
getprotobynumber (,);
getprotobyname (,);
setprotoent (,);
and
endprotoent ();
functions appeared in
BSD 4.2
BUGS
These functions use a thread-specific data space;
if the data is needed for future use, it should be
copied before any subsequent calls overwrite it.
Only the Internet
protocols are currently understood.