getprotoent(3N) getprotoent(3N)
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()
cc ... -lnet
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 */
long p_proto; /* protocol number */
};
The members of this structure are:
pname The official name of the protocol.
paliases A zero terminated list of alternate names for the
protocol.
pproto 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 getprotoent (either directly, or indirectly
through one of the other ``getproto'' calls).
endprotoent closes the file.
Page 1 (last mod. 1/14/87)
getprotoent(3N) getprotoent(3N)
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
LINKING
This library is accessed by specifying -lnet as the last
argument to the compile line, e.g.:
cc -o prog prog.c -lnet
SEE ALSO
protocols(4N).
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.
Page 2 (last mod. 1/14/87)