EN JA
NETCONFIG(5)
NETCONFIG(5) FreeBSD File Formats Manual NETCONFIG(5)

名称

netconfigネットワーク設定データベース

書式

/etc/netconfig

解説

netconfig ファイルでは、“トランスポート名”のリストを定義して、それぞれのセマンティクスやプロトコルを記述しています。 FreeBSD では、このファイルは RPC ライブラリのコードだけが使用しています。

エントリは次のようなフォーマットになっています:

network_id semantics flags family protoname device libraries

エントリを構成するフィールドは次の通りです:

network_id
記述するトランスポートの名称
semantics
トランスポートのセマンティクスを記述します。これは次のうちの一つです:
tpi_clts
コネクションレストランスポート
tpi_cots
コネクション指向トランスポート
tpi_cots_ord
コネクション指向順序付きトランスポート
tpi_raw
素のコネクション
flags
このフィールドは、 (“ -”で指定される) 空白、または 1 つ以上の次の文字を含みます:
b
このエントリによって表現されるネットワークは、ブロードキャストできます。このフラグは、 FreeBSD で無意味です。
v
getnetpath(3) 関数によってエントリを返します。
family
トランスポートのプロトコルファミリで、現在は次のうちの一つです:
inet6
IPv6 ( PF_INET6) プロトコルファミリ
inet
IPv4 ( PF_INET) プロトコルファミリ
loopback
PF_LOCAL プロトコルファミリ
protoname
トランスポートのプロトコル名で、現在は udp, tcp のどちらかか、もしくは空です。
device
FreeBSD では、このフィールドは常に空です。
libraries
FreeBSD では、このフィールドは常に空です。

このファイル内のエントリの順序によって、指定されたネットワークタイプに対する RPC ライブラリコードのトランスポートの優先順位が決まります。例えば、サンプルとしてネットワーク設定ファイルが下のようになっていたとします:

udp6       tpi_clts      v     inet6    udp     -       - 
tcp6       tpi_cots_ord  v     inet6    tcp     -       - 
udp        tpi_clts      v     inet     udp     -       - 
tcp        tpi_cots_ord  v     inet     tcp     -       - 
rawip      tpi_raw       -     inet      -      -       - 
local      tpi_cots_ord  -     loopback  -      -       -

このとき、ネットワークタイプとして udp を使用して RPC ライブラリ関数を呼び出すと ( rpc(3) 参照)、まず最初に udp6 を試してから udp を試します。

getnetconfig(3) や、その関連の関数はこのファイルを構文解析して次のようなフォーマットの構造体を返します:

struct netconfig { 
    char *nc_netid;              /* ネットワーク ID */ 
    unsigned long nc_semantics;  /* セマンティクス */ 
    unsigned long nc_flag;       /* フラグ */ 
    char *nc_protofmly;          /* プロトコルファミリ */ 
    char *nc_proto;              /* プロトコル名 */ 
    char *nc_device;             /* ネットワークデバイスのパス名 (未使用) */ 
    unsigned long nc_nlookups;   /* 参照するライブラリの数 (未使用) */ 
    char **nc_lookups;           /* ライブラリ名の並び (未使用) */ 
    unsigned long nc_unused[9];  /* 予約 */ 
};

関連ファイル

/etc/netconfig
November 17, 2000 FreeBSD