#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);
getprotobyname() 関数は、 プロトコルの名前 name にマッチする行を /etc/protocols から探し、 その行の内容を収めた protoent 構造体を返す。
getprotobynumber() 関数はプロトコルの番号 number にマッチする行を /etc/protocols から探し、 その行の内容を収めた protoent 構造体を返す。
setprotoent() 関数は /etc/protocols ファイルをオープンして、 ファイルポインタを先頭に移動する。 stayopen が真 (1) の場合には、 getprotobyname() や getprotobynumber() 関数の呼び出しの間にファイルはクローズされない。
endprotoent() 関数は /etc/protocols ファイルをクローズする。
protoent 構造体は <netdb.h> で以下のように定義されている。
struct protoent { char *p_name; /* official protocol name */ char **p_aliases; /* alias list */ int p_proto; /* protocol number */ }
protoent 構造体のメンバーは以下の通り。