FreeBSD 日本語マニュアル検索 (jman/japropos/jwhatis)


日本語 man コマンド類 (ja-man-1.1j_5) と日本語 man ドキュメント (ja-man-doc-5.4 (5.4-RELEASE 用) など) をインストールすると、以下のような man コマンド閲覧、キーワード検索が コンソールからできるようになります。

4.11-RELEASE-K, 5.4-RELEASE-K, 5.5-RELEASE-K, 6.0-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K, 12.1-RELEASE-K は、 プライベート版 (小金丸が編集してまとめたもの) ですが、 より多くの翻訳したファイルが含まれています。 (5.4-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K から 12.3-RELEASE-K, 13.0-RELEASE-K から 13.2-RELEASE-K は、全翻訳済み)

13.3-STABLE-K, 15.0-CURRENT-K は現在、作成中で日々更新されています。



検索コマンド: man apropos whatis
コマンド/キーワード:
日本語マニュアル RELEASE :
セクション:
Table of Contents
名称 | 書式 | 解説 | プロトコル | アドレッシング | ルーティング (経路制御) | インタフェース | 関連項目 | 歴史
NETINTRO(4)        FreeBSD カーネルインタフェースマニュアル        NETINTRO(4)

名称
     networking -- ネットワーク機構の紹介

書式
     #include <sys/types.h>
     #include <sys/time.h>
     #include <sys/socket.h>
     #include <net/if.h>
     #include <net/route.h>

解説
     このセクションは、システムで利用可能なネットワーク機構の一般的な紹介で
     す。セクション 4 のこの部分の文書は、3 つの領域に分割されます: プロトコル
     ファミリ (ドメイン), プロトコル, ネットワークインタフェースです。

     すべてのネットワークプロトコルは、特定のプロトコルファミリに関連していま
     す。プロトコルファミリは、それが特定のネットワーク環境中で機能できるよう
     にプロトコルの実装するための基本的なサービスを提供します。これらのサービ
     スは、パケットの断片化と再アセンブリ、ルーティング、アドレシングおよび基
     本的な転送を含んでいます。現在のプロトコルの実装ではサポートされていませ
     んが、プロトコルファミリは、複数のアドレシング方法をサポートします。プロ
     トコルファミリは、通常 socket(2) タイプあたり 1 つの多くのプロトコルから
     成ります。プロトコルファミリは、すべてのソケットタイプをサポートする必要
     はありません。プロトコルファミリは、同じソケットの抽象化をサポートする複
     数のプロトコルが含まれています。

     プロトコルは、socket(2) で詳細なソケットの抽象化の 1 つをサポートします。
     特定のプロトコルは、適切なタイプとプロトコルファミリのソケットを作成すこ
     とによって、またはソケットを作成するときはっきりとプロトコルを要求するこ
     とによってアクセスすることができます。通常、プロトコルは、プロトコルファ
     ミリ/ネットワークアーキテクチャのデザインに固有のアドレシング構造体によっ
     て決定する 1 種類のアドレスフォーマットだけを受け付けます。基本的なソケッ
     トの抽象化のセマンティクスは、プロトコルに特有です。すべてのプロトコル
     は、特定のソケットタイプのための基本モデルをサポートするはずですが、さら
     に、標準的でない機構または拡張メカニズムを提供することもあります。例え
     ば、SOCK_STREAM 抽象化をサポートするプロトコルは、帯域外メッセージ毎に帯
     域外の 1 バイト以上のデータを送信することができます。

     ネットワークインタフェースは、デバイスインタフェースに似ています。ネット
     ワークインタフェースは、実際の転送ハードウェアと情報をやりとりするネット
     ワークサブシステムの最下位層を包括しています。インタフェースは、1 つ以上
     のプロトコルファミリおよびアドレスフォーマットをサポートできます。各ネッ
     トワークインタフェースのエントリの書式セクションは、config(8) プログラム
     にシステム記述を提供する際に使用される関連ドライバのサンプル仕様がありま
     す。診断セクションは、コンソールシステムおよびデバイス操作におけるエラー
     に起因するシステムエラーログ /var/log/messages (syslogd(8) 参照) に現れる
     メッセージをリストアップします

プロトコル
     システムは、現在、インターネットプロトコル、Xerox Network Systems(tm) プ
     ロトコル、そして ISO OSI プロトコルのいくつかをサポートしています。生
     (raw) ソケットインタフェースは、インターネットの IP プロトコル層と、Xerox
     NS の IDP プロトコルを提供しています。各プロトコルファミリのサポートに関
     する詳しい情報については、このセクションの適切なマニュアルページを参考に
     してください。

アドレッシング
     各プロトコルファミリに関連づけられているのは、アドレスフォーマットです。
     すべてのネットワークアドレスは、以下で説明される sockaddr と呼ばれる一般
     的な構造体と結びついています。しかしながら、各プロトコルは、よりすばらし
     いより特有の構造体、一般的に上記でそれとなく説明されたプロトコルファミリ
     マニュアルページで議論されている変形の名前を変えることを強要します。

           struct sockaddr {
               u_char      sa_len;
               u_char      sa_family;
               char        sa_data[14];
           };

     フィールド sa_len は、構造体の全体の長さを含んでいます。それは、16 バイト
     を超えるかもしれません。次の sa_family のためのアドレス値は、システムで既
     知です (そして将来の実装するかもしれない追加フォーマットを定義していま
     す):

     #define    AF_UNIX      1    /* ローカルホスト (パイプ、ポータル) */
     #define    AF_INET      2    /* インターネット: UDP、TCP 等 */
     #define    AF_NS        6    /* Xerox NS プロトコル */
     #define    AF_CCITT     10   /* CCITT プロトコル、X.25 等 */
     #define    AF_HYLINK    15   /* NSC ハイパーチャネル */
     #define    AF_ISO       18   /* ISO プロトコル */

ルーティング (経路制御)
     FreeBSD は、いくつかのパケットルーティング機構を提供します。カーネルは、
     ルーティング情報データベースを維持管理しています。それは、パケットを転送
     するとき適切なネットワークインタフェースを選択する際に使用されます。

     ユーザプロセス (または複数の協調プロセス) は、特別な種類のソケットを通し
     てメッセージを送ることによって、このデータベースを維持管理しています。こ
     れは、以前のリリースで使用されていた固定サイズの ioctl(2) に取って代わり
     ます。

     この機構は、route(4) で説明されています。

インタフェース
     システム内の各ネットワークインタフェースは、メッセージを送受信できるパス
     に対応しています。通常、ネットワークインタフェースは、それに関連している
     ハードウェアデバイスがありますが、ループバックインタフェース lo(4) のよう
     な特定のインタフェースにはありません。

     次の ioctl(2) 呼び出しは、ネットワークインタフェースを操作するために使用
     されます。ioctl() は、所望のドメインで (通常、タイプ SOCK_DGRAM の) ソ
     ケット上に作られます。以前のリリースでサポートされていた要求の多くは、パ
     ラメータとして ifreq 構造を取ります。この構造体は、次の形式です。

     struct  ifreq {
     #define    IFNAMSIZ    16
         char    ifr_name[IFNAMSIZ];        /* if 名, 例えば "en0" */
         union {
             struct    sockaddr ifru_addr;
             struct    sockaddr ifru_dstaddr;
             struct    sockaddr ifru_broadaddr;
             struct    ifreq_buffer ifru_buffer;
             short     ifru_flags[2];
             short     ifru_index;
             int       ifru_metric;
             int       ifru_mtu;
             int       ifru_phys;
             int       ifru_media;
             caddr_t   ifru_data;
             int       ifru_cap[2];
         } ifr_ifru;
     #define ifr_addr      ifr_ifru.ifru_addr      /* アドレス */
     #define ifr_dstaddr   ifr_ifru.ifru_dstaddr   /* p-to-p リンクの別の終 */
     #define ifr_broadaddr ifr_ifru.ifru_broadaddr /* ブロードキャスト
                                                      アドレス */
     #define ifr_buffer    ifr_ifru.ifru_buffer    /* 長さをつけてユーザによ
                                                      って供給されるバッファ */
     #define ifr_flags     ifr_ifru.ifru_flags[0]  /* フラグ (下位 16 ビット) */
     #define ifr_flagshigh ifr_ifru.ifru_flags[1]  /* フラグ (上位 16 ビット) */
     #define ifr_metric    ifr_ifru.ifru_metric    /* メトリック */
     #define ifr_mtu       ifr_ifru.ifru_mtu       /* mtu */
     #define ifr_phys      ifr_ifru.ifru_phys      /* 物理的な線 */
     #define ifr_media     ifr_ifru.ifru_media     /* 物理的なメデア */
     #define ifr_data      ifr_ifru.ifru_data      /* インタフェースによって
                                                      使用 */
     #define ifr_reqcap    ifr_ifru.ifru_cap[0]    /* 要求された
                                                      ケーパビリティ */
     #define ifr_curcap    ifr_ifru.ifru_cap[1]    /* 現在のケーパビリティ */
     #define ifr_index     ifr_ifru.ifru_index     /* インタフェース
                                                      インデックス */
     };

     アドレスを取得するための ioctl() 要求と他のデータを設定して検索するための
     両方の要求は、まだ完全にサポートされていて、ifreq 構造体を使用します:

     SIOCGIFADDR     プロトコルファミリのためのインタフェースアドレスを取得し
                     ます。

     SIOCGIFDSTADDR  プロトコルファミリとインタフェースのためにポイントツーポ
                     イントアドレスを取得します。

     SIOCGIFBRDADDR  プロトコルファミリとインタフェースのためにブロードキャス
                     トアドレスをを取得します。

     SIOCSIFCAP      ifreq 構造体の ifr_reqcap フィールドの値へのインタフェー
                     スのための使用可能とされたケーパビリティフィールドを設定
                     することを試みます。特定のインタフェースの機能に依存し
                     て、いくつかのケーパビリティは、使用可能とするために決め
                     打ちされているように見えるかもしれないか、または、ケーパ
                     ビリティを切り換えるのは、他のものの状態に影響するかもし
                     れないことに注意してください。サポートしているケーパビリ
                     ティフィールドは、読み込み専用で、ifr_curcap フィールド
                     は、この呼び出しでは未使用です。

     SIOCGIFCAP      インタフェースケーパビリティフィールドを取得します。サ
                     ポートされたケーパビリティの値と利用可能なケーパビリティ
                     の値は、ifreq 構造体の ifr_reqcapifr_curcap フィール
                     ドにそれぞれ返されます。

     SIOCGIFDESCR    ifru_buffer 構造体の buffer フィードで返された、インタ
                     フェース記述を取得します。ユーザ供給のバッファの長さは、
                     パラメータとして渡された ifru_buffer 構造体の length
                     フィールドで定義されるべきです、そして、長さは、終端のヌ
                     ル (nul) 文字を含んでいます。インタフェースの長さを保持す
                     るための空間が十分でないなら、コピーは、行われず、
                     ifru_bufferbuffer フィールドが、NULL に設定されます。
                     カーネルは、バッファ自体がデータを保持するために足りるか
                     どうかに関係なく、返り時に length フィールドにバッファ長
                     を格納します。

     SIOCSIFDESCR    (終端のヌル (nul) をカウントして) バッファの長さを指定す
                     る length フィールドをつけて ifru_buffer 構造体の buffer
                     フィールドの値にインタフェース記述を設定します。

     SIOCSIFFLAGS    インタフェースフラグフィールドを設定します。インタフェー
                     スがダウン (down) とマークされるなら、現在インタフェース
                     を通してパケットをルーティングしているすべてのプロセスに
                     通知されます。いくつかのインタフェースは、もはや着信して
                     くるパケットを受信できないように、リセットされます。再び
                     アップ (up) とマークされるとき、インタフェースは、再初期
                     化されます。

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

     SIOCSIFMETRIC   インタフェースルーティングメトリックを設定します。このメ
                     トリックは、ユーザレベルのルータによってのみ使用されま
                     す。

     SIOCGIFMETRIC   インタフェースメトリックを取得します。

     SIOCIFCREATE    指定されたインタフェースを作成することを試みます。ユニッ
                     ト番号なしでインタフェース名を与えるなら、システムは、任
                     意のユニット番号で新しいインタフェースを作成することを試
                     みます。成功すれば新しいインタフェース名を含む ifr_name
                     フィールドを返します。

     SIOCIFDESTROY   指定されたインタフェースを破壊することを試みます。

     新しい構造体を使用する 2 つの要求があります:

     SIOCAIFADDR     インタフェースには、いくつかのプロトコルで 2 つ以上のアド
                     レスに関連しているかもしれません。この要求は、追加アドレ
                     スを加える (またはアドレスファミリのためのデフォルトアド
                     レスが指定されるなら、プライマリアドレスの特性を変更する)
                     手段を提供します。宛先 (終点) かブロードキャストアドレス
                     またはネットワークマスク (現在では、複数のプロトコルで不
                     可欠な特徴) を設定するために別々の呼び出しを行うよりむし
                     ろ、別々の構造体がすべての 3 つのことがらを同時に指定する
                     ために使用されています (下記参照)。(各 sockaddr をファミ
                     リ特有のタイプのひとつに置き換える) 各ファミリのためにこ
                     の構造体の仕様のわずかに調整されたバージョンを使用するで
                     しょう。sockaddr 自体がデフォルトサイズより大きい場合は、
                     ioctl() で説明されるように、合計のサイズを含むように
                     ioctl() 識別子自体を変更する必要があります。

     SIOCDIFADDR     この要求は、インタフェースに関連しているリストから指定さ
                     れたアドレスを削除します。また、要求は、複数のマスクまた
                     は宛先 (終点) アドレスを許すプロトコルの可能性を考慮した
                     ifaliasreq 構造体を使用し、同様に、デフォルトアドレスの指
                     定は、オリジナルのソケットがオープンされたアドレスファミ
                     リに帰属するインタフェースへの最初のアドレスを削除するこ
                     とを意味する約束事を採用します。

     SIOCGIFCONF     インタフェースの設定リストを取得します。この要求は、値結
                     果 (value-result) パラメータとして ifconf 構造体 (下記参
                     照) を取ります。ifc_len フィールドは、最初に、ifc_buf に
                     よって指されたバッファのサイズに設定されるべきです。返る
                     ときに、そのフィールドには、設定リストの長さをバイト単位
                     で含みます。

     SIOCIFGCLONERS  クローン可能 (clonable) インタフェースのリストを取得しま
                     す。この要求は、値結果 (value-result) パラメータとして
                     if_clonereq 構造体 (下記参照) を取ります。ifcr_count
                     フィールドは、ifcr_buffer によって指されるバッファに適合
                     することができる IFNAMSIZ サイズの文字列の数に設定される
                     べきです。返るときに、ifcr_total は、クローン可能 (clon
                     able) インタフェースの数とに設定され、そして、バッファ
                     は、IFNAMSIZ 境界で整列されたクローン可能インタフェースの
                     名前が入れられた ifcr_buffer によって指されます。

     /*
     * SIOCAIFADDR 要求で使用される構造体.
     */
     struct ifaliasreq {
             char    ifra_name[IFNAMSIZ];   /* if 名, 例えば "en0" */
             struct  sockaddr        ifra_addr;
             struct  sockaddr        ifra_broadaddr;
             struct  sockaddr        ifra_mask;
     };

     /*
     * SIOCGIFCONF 要求で使用される構造体.
     * マシンのインタフェース設定を検索するために使用
     * (アクセス可能なすべてのネットワークを知らなければ
     * ならないプログラムに有用).
     */
     struct ifconf {
         int   ifc_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 /* 返される構造体の配列 */
     };

     /* SIOCIFGCLONERS 要求で使用される構造体. */
     struct if_clonereq {
             int     ifcr_total;     /* クローンナの合計 (出力) */
             int     ifcr_count;     /* ユーザバッファ中の部屋の数 */
             char    *ifcr_buffer;   /* クローンナ名のバッファ */
     };

     /* SIOCGIFDESCR と SIOCSIFDESCR 要求で使用される構造体 */
     struct ifreq_buffer {
             size_t  length;         /* バッファの長さ */
             void   *buffer;         /* ユーザランド空間のバッファへの
                                        ポインタ */
     };

関連項目
     ioctl(2), socket(2), intro(4), config(8), routed(8), ifnet(9)

歴史
     netintro マニュアルページは、4.3BSD-Tahoe で登場しました。

FreeBSD 12.2                   January 26, 2012                   FreeBSD 12.2

Table of Contents

FreeBSD マニュアル検索