raw_usrreq カーネル・サービス
目的
未加工プロトコルに対するユーザー要求を実装します。
構文
パラメーター
| 項目 | 説明 |
|---|---|
| so | ロー・ソケットのアドレスを識別します。 |
| req | 要求コマンドを指定します。 |
| m | データを含む MBUF 構造体のアドレスを指定します。 |
| nam | Sockaddr 構造体を含む MBUF 構造体のアドレスを指定します。 |
| コントロール | このパラメーターはヌル値に設定する必要があります。 |
説明
Raw_usrreq カーネル・サービスは、ロー・プロトコルのユーザー要求を実装します。
Raw_usrreq サービスは、以下のコマンドをサポートします。
| コマンド | 説明 |
|---|---|
| PRU_ABORT (異常終了) | 異常終了します (高速 DISCONNECT、DETACH)。 |
| PRU_ACCEPT | ピアからの接続を受け入れます。 |
| PRU_ATTACH | プロトコルをアップに接続します。 |
| PRU_BIND | ソケットをアドレスにバインドします。 |
| PRU_CONNECT | ピアへの接続を確立します。 |
| PRU_CONNECT2 | 2 つのソケットを接続します。 |
| RU_CONTROL (プログラム制御) | プロトコルの操作を制御します。 |
| PRU_DETACH | プロトコルを上から切り離します。 |
| PRU_DISCONNECT | ピアから切断します。 |
| PRU_LISTEN | 接続を listen します。 |
| PRU_PEERADDR (プログラム・アドレス) | ピアのアドレスをフェッチします。 |
| PRU_RCVD (プラザ・コード) | データを取り出しました。余地が増えました。 |
| PRU_RCVOOB (P) | アウト・オブ・バンド・データを取得します。 |
| RU_SEND (プログラム送信) | このデータを送信します。 |
| PRU_SENDOOB (P) | アウト・オブ・バンド・データを送信します。 |
| PRU_ センス | 状況を m に戻します。 |
| PRU_SOCKADDR (プロフィスのアドレス) | ソケットのアドレスを取り出します。 |
| プルーフ・シャットダウン | それ以上データを送信しません。 |
認識されないコマンドがあると、 パニック カーネル・サービスが呼び出されます。
実行環境
戻り値
| 項目 | 説明 |
|---|---|
| EOPNOTSUPP | サポートされないコマンドを示します。 |
| EINVAL | パラメーター・エラーを示します。 |
| EACCES | プロアタッチ コマンドをサポートするための権限が不十分であることを示します。 |
| ENOTCONN | 接続されていない場合に切り離しを試行することを示します。 |
| EISCONN | 既に接続されている状態で、呼び出し側が接続を試行したことを示します。 |