Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ if(4N) — NEWS-os 4.2.1R

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

arp(4P)

en(4)

lo(4)

IF(4N)  —  NEWS-OS Programmer’s Manual

名称

if − ネットワークインターフェース

解説

システム中の各ネットワークインターフェースは 送受信する通信経路に相当します。 ネットワークインターフェースは、通常、 ハードウェアデバイスに対応しています。 ただし、ループバックインターフェース lo(4) のようなインターフェースは例外で、対応していません。 ブート時に、ハードウェアがサポートしている各インターフェースは、 オートコンフィグレーション処理中にシステムに自分の存在を知らせます。 インターフェースが自分のアドレスを得ると、 そのインターフェースを経由してメッセージが送られるように ルーティングテーブルエントリをインストールします。 ほとんどのインターフェースには、 そのインターフェースを通して通信を行う前に、 SIOCSIFADDR ioctl で指定されたアドレスの一部が必要です。 ネットワークリンクレイヤアドレスのマッピングが固定された インターフェースでは、ネットワーク番号だけが ioctl から取り出されます。 その他の部分は、ハードウェアの仕様に従ってその番号が取り出されます。 ネットワークリンクレイヤアドレスのマッピングが 動的に設定されている (たとえば、 arp(4P) を使用する 10Mb/s イーサネット)インターフェースでは、 ioctl に指定された全部のアドレスが使用されています。 次の ioctl コールは、ネットワークインターフェースを操作するために使用できます。 もし、その他を指定しないときは、パラメータとして ifreq 構造体が用いられます。この構造体の形式は次のとおりです。

structifreq {
charifr_name[16];/∗ インターフェース名 (たとえば en0) ∗/
union {
structsockaddr ifru_addr;
structsockaddr ifru_dstaddr;
shortifru_flags;
} ifr_ifru;
#define ifr_addrifr_ifru.ifru_addr/∗ アドレス ∗/
#define ifr_dstaddrifr_ifru.ifru_dstaddr/∗ 2 点間リンクの相手局 ∗/
#define ifr_flagsifr_ifru.ifru_flags/∗ フラグ ∗/
};

SIOCSIFADDR
インターフェースアドレスを設定します。アドレスを設定した後に、 インターフェースのための“初期化”ルーチンがコールされます。

SIOCGIFADDR
インターフェースアドレスを得ます。

SIOCSIFDSTADDR
インターフェースの 2 点間のアドレスを設定します。

SIOCGIFDSTADDR
インターフェースの 2 点間のアドレスを得ます。

SIOCSIFFLAGS
インターフェースフラグフィールドを設定します。 インターフェースがダウンした場合に、 そのインターフェースを通してパケットを送受信しているプロセスに通知されます。

SIOCGIFFLAGS
インターフェースフラグを得ます。

SIOCGIFCONF
インターフェース構成のリストを得ます。リターンパラメータとして ifconf 構造体 (次参照) を返します。 ifc_len フィールドには、 ifc_buf で指し示されているバッファのサイズを始めに設定します。 リターン時には、構成リストの長さ (バイト単位) が入ります。

/∗
 ∗ SIOCGIFCONFで使用する構造体
 ∗ システムのインターフェース構成の検索に使用する
 ∗ (全ネットワークのアクセス可否を知る必要があるプログラムに有用)
 ∗/
  structifconf {
intifc_len;/∗ 関連バッファのサイズ ∗/
union {
caddr_t ifcu_buf;
struct  ifreq ∗ifcu_req;
} ifc_ifcu;
#define ifc_buf ifc_ifcu.ifcu_buf/∗ バッファアドレス ∗/
#define ifc_req ifc_ifcu.ifcu_req/∗ 返される構造体の配列 ∗/
};

関連事項

arp(4P), en(4), lo(4)

NEWS-OSRelease 4.2.1R

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026