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) |