getnetent - ライブラリコールの説明 - Linux コマンド集 一覧表
名前
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 int 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)
RFC1101