Next: シリアルポートとの対話, Previous: 低レベルのネットワークアクセス, Up: プロセス [Contents][Index]
以下の追加の関数はネットワーク接続の作成や操作に有用です。これらはいくつかのシステムでのみサポートされることに注意してください。
この関数は使用しているマシン上のネットワークインターフェースを記述するリストをリターンする。値は要素が(ifname
.
address)
という形式をもつようなalist。ifnameはそのインターフェースを命名する文字列、addressはmake-network-process
の引数local-addressおよびremote-addressの形式と同じ。デフォルトでは可能ならIPv4とIPv6の両方のアドレスをリターンする。
オプション引数fullが非nil
なら、かわりに(ifname addr bcast netmask)
という形式の要素を1つ以上もつリストをリターンする。ifnameはそのインターフェースを命名する一意ではない文字列。addr、bcast、netmaskはそれぞれ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]))
この関数はifnameという名前のネットワークインターフェースに関する情報をリターンする。値は(addr
bcast netmask hwaddr flags)
という形式をもつリスト。
インターネットプロトコルアドレス。
ブロードキャストアドレス。
ネットワークマスク。
レイヤー2アドレス(たとえばイーサネットMACアドレス)。
そのインターフェースのカレントのフラグ。
この関数はIPv4の情報だけをリターンすることに注意。
この関数はネットワークアドレスの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
は含まれない。
この関数はnameでホスト名を照合を行うために使用される。この名前にはASCII文字列のみを期待しており、さもなくばエラーをシグナルする。国際化されたホスト名を照合しなければ、最初にnameにたいしてpuny-encode-domain
を呼び出すこと。
成功時にはネットワークアドレスを表すLispのリスト、それ以外はnil
をリターンする。後者の場合には、(運がよければ)何が悪かったのかを説明するエラーメッセージも表示されるだろう。
デフォルトではIPv4とIPv6の両方の照合を試みる。オプション引数familyがこの挙動を制御する。これにシンボルipv4
またはipv6
を指定すると、それぞれIPv4またはIPv6に照合を制限する。
Next: シリアルポートとの対話, Previous: 低レベルのネットワークアクセス, Up: プロセス [Contents][Index]