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 |