GETNETENT

Section: Linux Programmer's Manual (3)
Updated: 2020-12-21
Index JM Home Page
 

名前

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

書式

#include <netdb.h>

struct netent *getnetent(void);

struct netent *getnetbyname(const char *name);

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

void setnetent(int stayopen);

void endnetent(void);
 

説明

getnetent() 関数はネットワークデータベースから次のエントリーを読み込み、 そのエントリーを netent 構造体の要素別のフィールドに格納し、 その構造体を返す。 必要であれば、データベースへの接続がオープンされる。

getnetbyname() 関数は、ネットワーク名 name にマッチするエントリーを データベースから探し、そのエントリーを収めた netent 構造体を返す。

getnetbyaddr() 関数は、type 型のネットワーク番号 net にマッチするエントリーを データベースから探し、そのエントリーを収めた netent 構造体を返す。 net 引数はホストバイトオーダでなければならない。

setnetent() 関数はデータベースへの接続をオープンし、 次の読み込みエントリーを先頭のエントリーに設定する。 stayopen が 0 でない場合、 一つ一つの getnet*() 関数の呼び出し間でデータベースへの接続をクローズしない。

endnetent() 関数はデータベースへの接続をクローズする。

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

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

netent 構造体のメンバは以下の通り。

n_name
ネットワークの正式名 (official name)。
n_aliases
ネットワークの別名からなるリスト。 リストはヌルで終端される。
n_addrtype
ネットワーク番号の形式。現在は AF_INET のみ。
n_net
ホストバイトオーダ形式のネットワーク番号。
 

返り値

getnetent(), getnetbyname(), getnetbyaddr() 関数は、静的に割り当てられた netent 構造体へのポインターを返す。 エラーが起こったり、ファイルの末尾に達した場合はヌルポインターを返す。  

ファイル

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

属性

この節で使用されている用語の説明は attributes(7) を参照のこと。
InterfaceAttributeValue
getnetent() Thread safety MT-Unsafe race:netent
race:netentbuf env locale
getnetbyname() Thread safety MT-Unsafe race:netbyname
env locale
getnetbyaddr() Thread safety MT-Unsafe race:netbyaddr
locale
setnetent(),
endnetent()
Thread safety MT-Unsafe race:netent env
locale

In the above table, netent in race:netent signifies that if any of the functions setnetent(), getnetent(), or endnetent() are used in parallel in different threads of a program, then data races could occur.  

準拠

POSIX.1-2001, POSIX.1-2008, 4.3BSD.  

注意

バージョン 2.2 より前の glibc では、 getnetbyaddr() の引数 netlong 型だった。  

関連項目

getnetent_r(3), getprotoent(3), getservent(3)
RFC 1101  

この文書について

この man ページは Linux man-pages プロジェクトのリリース 5.10 の一部である。プロジェクトの説明とバグ報告に関する情報は https://www.kernel.org/doc/man-pages/ に書かれている。


関連キーワード

netent, ネットワーク, エントリー, データベース, 関数, getnetent, net, GETNETENT, getnetbyaddr, getnetbyname 

Index

名前
書式
説明
返り値
ファイル
属性
準拠
注意
関連項目
この文書について

This document was created by man2html, using the manual pages.
Time: 13:30:25 GMT, January 09, 2022