Next: , Previous: , Up: プロセス   [Contents][Index]


39.18 その他のネットワーク機能

以下の追加の関数はネットワーク接続の作成や操作に有用です。これらはいくつかのシステムでのみサポートされることに注意してください。

Function: network-interface-list &optional full family

この関数は使用しているマシン上のネットワークインターフェースを記述するリストをリターンする。値は要素が(ifname . address)という形式をもつようなalist。ifnameはそのインターフェースを命名する文字列、addressmake-network-processの引数local-addressおよびremote-addressの形式と同じ。デフォルトでは可能ならIPv4とIPv6の両方のアドレスをリターンする。

オプション引数fullが非nilなら、かわりに(ifname addr bcast netmask)という形式の要素を1つ以上もつリストをリターンする。ifnameはそのインターフェースを命名する一意ではない文字列。addrbcastnetmaskはそれぞれIPアドレス、ブロードキャストアドレス、ネットワークマスクを詳述する整数のベクター。

シンボルipv4またはipv6としてオプション引数familyを指定すると、fullの値とは独立してリターンする情報をそれぞれIPv4またはIPv6に制限する。IPv6サポートが利用不可な際にipv6を指定するとエラーがシグナルされるだろう。

いくつか例を示す:

(network-interface-list) ⇒
(("vmnet8" .
  [172 16 76 1 0])
 ("vmnet1" .
  [172 16 206 1 0])
 ("lo0" .
  [65152 0 0 0 0 0 0 1 0])
 ("lo0" .
  [0 0 0 0 0 0 0 1 0])
 ("lo0" .
  [127 0 0 1 0]))
(network-interface-list t) ⇒
(("vmnet8"
  [172 16 76 1 0]
  [172 16 76 255 0]
  [255 255 255 0 0])
 ("vmnet1"
  [172 16 206 1 0]
  [172 16 206 255 0]
  [255 255 255 0 0])
 ("lo0"
  [65152 0 0 0 0 0 0 1 0]
  [65152 0 0 0 65535 65535 65535 65535 0]
  [65535 65535 65535 65535 0 0 0 0 0])
 ("lo0"
  [0 0 0 0 0 0 0 1 0]
  [0 0 0 0 0 0 0 1 0]
  [65535 65535 65535 65535 65535 65535 65535 65535 0])
 ("lo0"
  [127 0 0 1 0]
  [127 255 255 255 0]
  [255 0 0 0 0]))
Function: network-interface-info ifname

この関数はifnameという名前のネットワークインターフェースに関する情報をリターンする。値は(addr bcast netmask hwaddr flags)という形式をもつリスト。

addr

インターネットプロトコルアドレス。

bcast

ブロードキャストアドレス。

netmask

ネットワークマスク。

hwaddr

レイヤー2アドレス(たとえばイーサネットMACアドレス)。

flags

そのインターフェースのカレントのフラグ。

この関数はIPv4の情報だけをリターンすることに注意。

Function: format-network-address address &optional omit-port

この関数はネットワークアドレスのLisp表現を文字列に変換する。

5要素のベクター[a b c d p]はIPv4アドレスa.b.c.d、およびポート番号pを表す。format-network-addressはこれを文字列"a.b.c.d:p"に変換する。

9要素のベクター[a b c d e f g h p]はポート番号とともにIPv6アドレスを表す。format-network-addressはこれを文字列"[a:b:c:d:e:f:g:h]:p"に変換する。

このベクターにポート番号が含まれない、またはomit-portが非nilなら結果にサフィックス:pは含まれない。

Function: network-lookup-address-info name &optional family

この関数はnameでホスト名を照合を行うために使用される。この名前にはASCII文字列のみを期待しており、さもなくばエラーをシグナルする。国際化されたホスト名を照合しなければ、最初にnameにたいしてpuny-encode-domainを呼び出すこと。

成功時にはネットワークアドレスを表すLispのリスト、それ以外はnilをリターンする。後者の場合には、(運がよければ)何が悪かったのかを説明するエラーメッセージも表示されるだろう。

デフォルトではIPv4とIPv6の両方の照合を試みる。オプション引数familyがこの挙動を制御する。これにシンボルipv4またはipv6を指定すると、それぞれIPv4またはIPv6に照合を制限する。


Next: シリアルポートとの対話, Previous: 低レベルのネットワークアクセス, Up: プロセス   [Contents][Index]