| Developer's Daily | Unix by Example |
| main | java | perl | unix | dev directory | web log |
|
getprotoent, getprotobyname, getprotobynumber, setprotoent, endprotoent − get protocol entry |
#include <netdb.h> struct protoent *getprotoent(void); struct protoent *getprotobyname(const char *name); struct protoent *getprotobynumber(int proto); void setprotoent(int stayopen); void endprotoent(void); |
|
The getprotoent() function reads the next line from the file /etc/protocols and returns a structure protoent containing the broken out fields from the line. The /etc/protocols file is opened if necessary. The getprotobyname() function returns a protoent structure for the line from /etc/protocols that matches the protocol name name. The getprotobynumber() function returns a protoent structure for the line that matches the protocol number number. The setprotoent() function opens and rewinds the /etc/protocols file. If stayopen is true (1), then the file will not be closed between calls to getprotobyname() or getprotobynumber(). The endprotoent() function closes /etc/protocols. The protoent structure is defined in <netdb.h> as follows: |
struct protoent {
|
|
char |
*p_name; |
/* official protocol name */ |
|
|
char |
**p_aliases; |
/* alias list */ |
|
|
int |
p_proto; |
/* protocol number */ |
|
} |
|
The members of the protoent structure are: |
|
p_name |
The official name of the protocol. |
|
p_aliases |
|
A zero terminated list of alternative names for the protocol. |
|
p_proto |
|
The protocol number. |
|
The getprotoent(), getprotobyname() and getprotobynumber() functions return the protoent structure, or a NULL pointer if an error occurs or the end of the file is reached. |
|
/etc/protocols |
|
protocol database file |
|
BSD 4.3 |
|
getservent(3), getnetent(3), protocols(5) |