getprotoent(3n) getprotoent(3n)
Name
getprotoent, getprotobynumber, getprotobyname, setprotoent, endprotoent - get protocols entry
Syntax
#include <netdb.h>
struct protoent *getprotoent()
struct protoent *getprotobyname(name)
char *name;
struct protoent *getprotobynumber(proto)
int proto;
void setprotoent(stayopen)
int stayopen;
void endprotoent()
Description
The and subroutines each return a pointer to an object with the following structure containing the broken-out fields of a line in the data-
base.
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:
p_name The official name of the protocol.
p_aliases A zero terminated list of alternate names for the protocol.
p_proto The protocol number.
If the stayopen flag on a subroutine is NULL, the protocols database is opened. Otherwise the has the effect of rewinding the protocols
database. The may be called to close the protocols database when processing is complete.
The subroutine simply reads the next line while and search until a matching name or proto number is found (or until EOF is encountered).
The subroutine keeps a pointer in the database, allowing successive calls to be used to search the entire file.
A call to must be made before a loop using in order to perform initialization and an must be used after the loop. Both and make calls to
and
Restrictions
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 under-
stood.
If YP is running, does not return the entries in any particular order. See the Guide to the Yellow Pages Service for setup information.
The services database may also be distributed using the BIND/Hesiod naming service. See the Guide to the BIND/Hesiod Service for more
information.
Return Values
Null pointer(0) returned on EOF or error.
Files
See Also
protocols(5), svc.conf(5)
Guide to the BIND/Hesiod Service
Guide to the Yellow Pages Service
getprotoent(3n)