netconfig(4) ファイルには、ホスト上のすべてのトランスポートプロトコルが記述されています。表 4-1 で、netconfig(4) ファイルのエントリについて簡単に説明しています。詳細については、netconfig(4) のマニュアルページを参照してください。
表 4-1 netconfig(4) ファイル
例 4-1 に、netconfig(4) ファイルのサンプルを示します。inet トランスポートについては、このサンプルファイルのコメント部分に示すように、netconfig(4) ファイルの使用方法が変更されました。この変更については、「名前からアドレスへのマッピング」も参照してください。
# The "Network Configuration" File. # # Each entry is of the form: # #<net <semantics> <flags> <proto <proto <device> <nametoaddr_libs> # id> family> name> # # The "-" in <nametoaddr_libs> for inet family transports indicates redirection # to the name service switch policies for "hosts" and "services. The "-" may be # replaced by nametoaddr libraries that comply with the SVR4 specs, in which # case the name service switch will be used for netdir_getbyname, netdir_ # getbyaddr, gethostbyname, gethostbyaddr, getservbyname, and getservbyport. # There are no nametoaddr_libs for the inet family in Solaris anymore. # udp tpi_clts v inet udp /dev/udp - # tcp tpi_cots_ord v inet tcp /dev/tcp - # icmp tpi_raw - inet icmp /dev/icmp - # rawip tpi_raw - inet - /dev/rawip - # ticlts tpi_clts v loopback - /dev/ticlts straddr.so # ticots tpi_cots v loopback - /dev/ticots straddr.so # ticotsord tpi_cots_ord v loopback - /dev/ticotsord straddr.so #
ネットワーク選択ライブラリルーチンは、netconfig エントリへのポインタを返します。例 4-2 に、netconfig 構造体を示します。
struct netconfig { char *nc_netid; /* ネットワーク識別子 */ unsigned int nc_semantics; /* プロトコルの意味 */ unsigned int nc_flag; /* プロトコルのフラグ */ char *nc_protofmly; /* ファミリ名 */ char *nc_proto; /* プロトコル固有 */ char *nc_device; /* ネットワーク ID に相当するデバイス名 */ unsigned int nc_nlookups; /* nc_lookups 内のエントリ数 */ char **nc_lookups; /* ルックアップライブラリのリスト */ unsigned int nc_unused[8]; };
有効なネットワーク ID は、システム管理者が定義します。システム管理者は、必ず、ネットワーク ID をローカルに一意にしなければなりません。一意でないと、一部のネットワーク選択ルーチンが正しく機能しません。たとえば、udp というネットワーク ID が指定された netconfig エントリが 2 つあると、getnetconfigent ("udp") がどちらのネットワークを使用するかがわかりません。
システム管理者は、netconfig(4) データベース内のエントリの順序も設定します。/etc/netconfig 内のエントリを見つけるルーチンは、ファイルの先頭から順番に走査し、エントリを返します。netconfig(4) ファイル内のトランスポートの記述順序は、ルーチンがトランスポートを検索する際のデフォルト順序になります。ループバックエントリは、ファイルの終わりに設定する必要があります。
netconfig(4) ファイルおよび netconfig 構造体については、netconfig(4) のマニュアルページでさらに詳細に説明しています。