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.4-RELEASE-K, 13.0-RELEASE-K から 13.3-RELEASE-K, 14.0-RELEASE-K から 14.1-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/types.h>
     #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), 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 11.4                    March 19, 2013                    FreeBSD 11.4

Table of Contents

FreeBSD マニュアル検索