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
名称 | ライブラリ | 書式 | 解説 | 戻り値 | エラー | 関連項目 | 規格 | 歴史
SOCKET(2)              FreeBSD システムコールマニュアル              SOCKET(2)

名称
     socket -- 通信のためのエンドポイントを作成する

ライブラリ
     標準 C ライブラリ (libc, -lc)

書式
     #include <sys/socket.h>

     int
     socket(int domain, int type, int protocol);

解説
     socket() システムコールは、通信のエンドポイントを作成し、記述子を返しま
     す。

     domain 引数は、通信が行なわれる通信ドメインを指定します。これは、使用され
     るべきプロトコルファミリを選択します。これらのファミリは、インクルード
     ファイル <sys/socket.h> で定義されています。現在解釈される形式は、次の通
     りです:

           PF_LOCAL        ホスト内部のプロトコル (PF_UNIX の別名),
           PF_UNIX         ホスト内部のプロトコル,
           PF_INET         インターネットバージョン 4 プロトコル,
           PF_INET6        インターネットバージョン 6 プロトコル,
           PF_ROUTE        内部の経路制御プロトコル,
           PF_LINK         リンク層インタフェース,
           PF_KEY          内部の鍵管理機能,
           PF_NATM         非同期転送モードプロトコル,
           PF_NETGRAPH     Netgraph ソケット,
           PF_IEEE80211    IEEE 802.11 無線リンク層プロトコル (WiFi),
           PF_BLUETOOTH    Bluetooth プロトコル,
           PF_INET_SDP     OFED ソケット直接プロトコル (IPv4),
           PF_INET6_SDP    OFED ソケット直接プロトコル (IPv6)

     各プロトコルファミリは、接頭辞が ``PF_'' の代わりに ``AF_'' であることを
     除いて、同じ名前がある、アドレスファミリに接続されます。また、他のプロト
     コルファミリは、対応するアドレスファミリで ``PF_'' から始めて、定義されま
     す。

     ソケットには、通信のセマンティックを指定する type があります。現在、定義
     されているタイプは、次の通りです:

           SOCK_STREAM     ストリームソケット
           SOCK_DGRAM      データグラムソケット
           SOCK_RAW        生プロトコルインタフェース
           SOCK_RDM        伝達が信頼できるパケット
           SOCK_RDM        確実に配信されるパケット
           SOCK_SEQPACKET  順序付けられたパケットストリーム

     SOCK_STREAM タイプは、連続して、信頼できる、双方向の接続に基づいたバイト
     ストリームを提供します。帯域外のデータ転送メカニズムが、サポートされま
     す。SOCK_DGRAM ソケットは、(コネクションレス、固定された (通常小さい) 最
     大の長さの信頼できないメッセージ) データグラムをサポートします。
     SOCK_SEQPACKET ソケットは、連続して、信頼できて、固定された最大の長さの
     データグラムのための双方向の接続ベースのデータ転送パスを提供します。消費
     者は、各読み込みシステムコールで全体のパケットを読み込むために要求されま
     す。この機能は、プロトコル特有の特性があります。SOCK_RAW ソケットは、内部
     のネットワークプロトコルとインタフェースへのアクセスを提供しています。
     スーパユーザのみが利用可能なタイプ SOCK_RAW と計画されているが、まだ実装
     されていない SOCK_RDM は、ここで説明されません。

     さらに、次のフラグは、type 引数で許可されます:

           SOCK_CLOEXEC    新しい記述子で close-on-exec を設定する
           SOCK_NONBLOCK   新しいソケットで non-blocking モードを設定する

     protocol 引数は、ソケットで使用される特別のプロトコルを指定します。通常、
     単一のプロトコルだけが、与えられたプロトコルファミリ内の特別のソケットタ
     イプをサポートするために存在します。しかしながら、多くのプロトコルが存在
     することは可能で、その場合に、特別のプロトコルは、このように指定されなけ
     ればなりません。使用するプロトコル番号は、通信が行なわれる ``通信ドメイ
     ン'' に特有です。protocols(5) を参照してください。

     protocol 引数は、もしあれば、プロトコルのためのソケットタイプのデフォルト
     実装を要求するために、0 の設定されます。

     タイプ SOCK_STREAM のソケットは、パイプに似た、全二重のバイトストリームで
     す。ストリームソケットは、あらゆるデータがそれで送信するか、または受信さ
     れる前に、接続された状態でなければなりません。別のソケットへの接続は、
     connect(2) システムコールで作成されます。いったん接続されると、データは、
     read(2) または write(2) を使用して、または send(2)recv(2) 関数のいく
     つかの変異型を使用して転送されます。(インターネットファミリのような、いく
     つかのプロトコルファミリは、sendto(2) システムコールを使用することによっ
     て接続操作に乗せて送信されるデータを許可する、``暗黙の接続'' の観念をサ
     ポートします。) セッションが完了されるとき、close(2) が実行されます。ま
     た、帯域外のデータは、send(2) で説明されるように送信され、recv(2) で説明
     されるように受信されます。

     SOCK_STREAM を実装するために使用される通信プロトコルは、データが失われな
     いか、または重複されないことを保証します。通信相手のプロトコルにバッファ
     空間があるデータの部分は、時間の妥当な長さ内で、成功して転送できないな
     ら、接続は、壊れていると見なされ、呼び出しは、返される -1 とグローバル変
     数 errno の特有なコードとして ETIMEDOUT でエラーを示します。プロトコル
     は、オプションで他の活動がない約 1 分ごとに転送を強制することによって、ソ
     ケットを ``warm'' (温める) ことを保持します。応答を、引き出すことができな
     いなら、エラーが、示され、そうでなければ、延長された期間 (例えば、5 分)
     のためのアイドルな接続となります。デフォルトで、プロセスが破損したスト
     リームで送信するなら、SIGPIPE シグナルが発生しますが、この振る舞いは、
     setsockopt(2) を通して抑制されます。

     SOCK_SEQPACKET ソケットは、SOCK_STREAM ソケットと同じシステムコールを使用
     します。唯一の違いは、read(2) 呼び出しが、要求されたデータ量だけを返し、
     到着パケットの余分なもの、破棄されます。

     SOCK_DGRAM と SOCK_RAW ソケットは、send(2) 呼び出しで指定された通信相手へ
     のデータグラムの送信を許可します。データグラムは、一般的に、そのリターン
     アドレスで次のデータグラムを返す、recvfrom(2) で受信されます。

     帯域外のデータが到着するとき、SIGURG シグナルを受信するプロセスグループを
     指定するために、fcntl(2) システムコールを使用することができます。また、そ
     れは、SIGIO を通して非ブロッキング I/O と非同期の通知の I/O イベントを有
     効にします。

     ソケットの操作は、ソケットのレベルのオプションによって制御されます。これ
     らのオプションは、ファイル <sys/socket.h> で定義されています。
     setsockopt(2)getsockopt(2) システムコールは、それぞれ、オプションを設
     定し、取得するために使用されます。

戻り値
     エラーが起こるならば、-1 が、返され、そうでなければ、ソケットを参照してい
     る記述子の値が返されます。

エラー
     socket() システムコールは、は、次の場合に失敗します:

     [EACCES]           指定されたタイプおよびプロトコルのソケットを作成する
                        パーミッションが拒否されています。

     [EAFNOSUPPORT]     アドレスファミリ (ドメイン) が、サポートされていませ
                        ん、または指定されたドメインが、このプロトコルファミリ
                        によってサポートされていません。

     [EMFILE]           プロセスごとの記述子テーブルが満杯です。

     [ENFILE]           システムファイルテーブルが満杯です。

     [ENOBUFS]          十分なバッファ空間が利用不可能です。十分なリソースが解
                        放されるまで、ソケットを作成できません。

     [EPERM]            ユーザに、要求された操作を実行するための十分な特権があ
                        りません。

     [EPROTONOSUPPORT]  プロトコルタイプまたは指定されたプロトコルが、このドメ
                        イン内でサポートされていません。

     [EPROTOTYPE]       ソケットタイプが、プロトコルによってサポートされていま
                        せん。

関連項目
     accept(2), bind(2), connect(2), getpeername(2), getsockname(2),
     getsockopt(2), ioctl(2), listen(2), read(2), recv(2), select(2), send(2),
     shutdown(2), socketpair(2), write(2), CMSG_DATA(3), getprotoent(3),
     netgraph(4), protocols(5)

     "An Introductory 4.3 BSD Interprocess Communication Tutorial", PS1, 7.

     "BSD Interprocess Communication Tutorial", PS1, 8.

規格
     socket() 関数は、IEEE Std 1003.1-2008 (``POSIX.1'') に適合しています。
     POSIX 標準は、アドレスファミリのための AF_INET, AF_INET6 と AF_UNIX 定数
     のみを指定し、socket() の domain 引数のための AF_* 定数の使用を要求しま
     す。SOCK_CLOEXEC フラグは、POSIX 標準の次のバージョンにに適合するはずで
     す。SOCK_RDM type、PF_* 定数と他のアドレスファミリは、FreeBSD 拡張です。

歴史
     socket() システムコールは、4.2BSD で登場しました。

FreeBSD 12.2                    August 19, 2018                   FreeBSD 12.2

Table of Contents

FreeBSD マニュアル検索