名前


getnetent, getnetbyname, getnetbyaddr, setnetent, endnetent - ネットワークエントリを取得する

書式


#include <netdb.h>

struct netent *getnetent(void);

struct netent *getnetbyname(const char *name);

struct netent *getnetbyaddr(long net, int type);

void setnetent(int stayopen);

void endnetent(void);

説明


getnetent() 関数はファイル /etc/networks から新しい行を読み込み、行をフィー ルドに分割した内容を収めた構造体 netent を返す。 /etc/networks は必要ならばオープンされる。

getnetbyname() 関数は ネットワーク名 name にマッチする行を /etc/networks から探し、その内容を収めた netent 構造体を返す。

getnetbyaddr() 関数はネットワーク番号 net (type 型) にマッチする行に対 応する netent 構造体を返す。

setnetent() 関数は /etc/networks ファイルをオープンして、ファイルポインタを 先頭に戻す。 stayopen が真 (1) ならば、 getnetbyname() や getnetbyaddr() などの呼び出しの間にファイルはクローズされない。

endnetent() 関数は /etc/networks をクローズする。

netent 構造体は <netdb.h> で以下のように定義されている。

struct netent { char *n_name; /* official network name */ char **n_aliases; /* alias list */ int n_addrtype; /* net address type */ unsigned long n_net; /* network number */ }

netent 構造体のメンバは以下の通り。
n_name ネットワークの正式名 (official name)。
n_aliases
 ネットワークの別名からなる配列。 0 で終端する。
n_addrtype
 ネットワーク番号の形式。現在は AF_INET のみ。
n_net ホストのバイトオーダーで表したネットワーク番号。

返り値


getnetent(), getnetbyname(), getnetbyaddr() 関数は netent 構造体を返す。エラーが起こったり、ファイルの最後に達 した場合は NULL ポインタを返す。

ファイル


/etc/networks
 ネットワークデータベースファイル

準拠


4.3BSD, POSIX.1-2001.

関連項目


getprotoent(3), getservent(3), networks(5) RFC 1101

openSUSE Logo

コンテンツ