日本語 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 は現在、作成中で日々更新されています。
Table of Contents
PASS(4) FreeBSD カーネルインタフェースマニュアル PASS(4) 名称 pass -- CAM アプリケーションのパススルードライバ 書式 device pass 解説 pass ドライバは、カーネルに CAM CCB を発行するためのユーザランドのアプリ ケーションのための方法を提供しています。 pass ドライバによって、CAM サブシステムに直接アクセスできるので、システム 管理者は、このドライバにアクセスを許可するとき、注意するべきです。不適切 に使用されるなら、このドライバは、ユーザランドのアプリケーションがマシン を破壊するか、またはデータロスを引き起こすことできるようになります。 pass ドライバは、システムで見つけられたすべての SCSI と ATA デバイスにア タッチします。すべてのデバイスにアタッチするので、それは、SCSI と ATA デ バイスにアクセスする一般的な方法を提供し、ユーザがそれらに関連する "標準 の" 周辺機器ドライバがないデバイスにアクセスすることを可能にします。 カーネルの設定 単に、カーネルで 1 つの pass デバイスを設定することが必要です。pass デバ イスは、SCSI と ATA デバイスが見つかるように自動的に割り付けられます。 IOCTL CAMIOCOMMAND union ccb * この ioctl は、ほとんどの種類の CAM CCB を解釈し、動作のための CAM 転送レイヤを通してそれらに渡します。いくつかの CCB タイプは、パス スルーデバイス通して許可されず、代わりに xpt(4) デバイスを通して送 信されなければならないことに注意してください。xpt のみの CCB のい くつかの例は、XPT_SCAN_BUS、XPT_DEV_MATCH、XPT_RESET_BUS、 XPT_SCAN_LUN、XPT_ENG_INQ と XPT_ENG_EXEC です。これらの CCB タイ プには、それを非論理的にするか、またはパススルーインタフェースを通 して、それらのサービスを不可能にする様々な属性があります。 ユーザがカーネルがエラー回復を行いたいなら、CAM_PASS_ERR_RECOVER フラグは、CCB で設定されなければならず、retry_count フィールドは、 リトライの数を設定します。 CAMGETPASSTHRU union ccb * この ioctl は、XPT_GDEVLIST CCB を解釈し、問題となっているデバイス に対応するパススルーデバイスデバイスを返します。この ioctl は、 pass ドライバを通して利用可能ですが、それらがこの ioctl を発行して いるなら、問題になっているデバイスがパススルーデバイスであることを 呼び出し側が既に知っていなければならないので、それは、あまり役に立 たちません。xpt(4) デバイスを通して、この ioctl を発行するのに、た ぶんより役に立ちます。 CAMIOQUEUE union ccb * 非同期的に実行される pass ドライバへの CCB をキューに入れます。呼 び出し側は、CCB が完了したとき、通知を受信する select(2), poll(2) または kevent(2) を使用します。 この ioctl は、ほとんどの CAM CCB を取りますが、いくつかの CCB タ イプは、パスデバイスを通して許可されず、代わりに、xpt(4) デバイス を通して送信されなければなりません。xpt-only CCB のいくつかの例 は、XPT_SCAN_BUS, XPT_DEV_MATCH, XPT_RESET_BUS, XPT_SCAN_LUN, XPT_ENG_INQ と XPT_ENG_EXEC です。これらの CCB タイプには、それ を、非論理的にするか、またはパススルーインタフェースを通してそれら をサービスすることが不可能にする、様々な属性があります。 CAMIOQUEUE ioctl は、引数を取るために定義されませんが、それは、ユ ニオン ccb へのポインタを必要とします。それは、一般的な ioctl(2) ハンドラの内側の特別な malloc とコピーを避けるために引数を取るため に定義されません。 完了された CCB は、CAMIOGET ioctl を通して返されます。要求のための メモリを割り付けるか、またはユーザランドからメモリをコピーするエ ラーがあるなら、CAMIOQUEUE ioctl からエラーのみを返します。すべて の他のエラーは、標準の CAM CCB 状態エラーとして報告されます。CCB が CAMIOQUEUE ioctl のパスドライバからユーザプロセスへの後方にコ ピーされないので、ユーザの渡された CCB は、修正されません。これ は、即時の CCB と同等な場合です。代わりに、完了された CCB は、 CAMIOGET ioctl と調査された状態を通して取り出されなければなりませ ん。 複数の CCB は、あらゆる与えられた時間で CAMIOQUEUE ioctl を通して キューに入れられます、それらが提示された順序でなく、それらは、異な る順序で完了します。呼び出し側は、キューに入れられ、完了される CCB を識別するために対策を講じなければなりません。periph_priv 構造体の 内側の struct ccb_hdr は、CAMIOQUEUE と CAMIOGET ioctl で使用され るユーザランドのために利用可能で、呼び出しに渡って保持されます。ま た、struct ccb_hdr の内側の periph_links のリンクされたリストのポ インタは、CAMIOQUEUE と CAMIOGET ioctl で使用されるユーザランドの ために利用可能で、呼び出しに渡って保持されます。 ユーザがカーネルがエラー回復を行いたいなら、CAM_PASS_ERR_RECOVER フラグは、CCB で設定されなければならず、retry_count フィールドは、 リトライの数を設定します。 CAMIOGET union ccb * 取り出され完了された CAM CCB は、CAMIOQUEUE ioctl を通してキューに 入れられます。pass ドライバが、ユーザプロセスにデータをコピーする ことに失敗するか、または取り出すために利用可能な完了された CCB が ないなら、CAMIOGET ioctl からエラーのみを返します。CCB が取り出す ために利用可能ではないなら、errno は、ENOENT に設定されます。 すべての他のエラーは、標準の CAM CCB 状態エラーとして報告されま す。 CAMIOGET ioctl は、引数を取るために定義されませんが、それは、ユニ オン ccb へのポインタを必要とします。それは、一般的な ioctl(2) ハ ンドラの内側の特別な malloc とコピーを避けるために引数を取るために 定義されません。 パスドライバは、CCB が完了したとき、select(2), poll(2) または kevent(2) を通して報告します。1 つの CCB は、CAMIOGET 呼び出しごと に取り出されます。CCB は、それらが提出された順序より、異なる順序で 返されます。したがって、呼び出し側は、識別情報へのポインタを格納す るために、CCB ヘッダの内側の periph_priv 領域を使用するべきです。 関連ファイル /dev/passn pass ドライバのためのキャラクタデバイスノード。CAM サブシステ ムを通してアクセスされたデバイスごとにこれらのうちの 1 つであ るべきです。 診断 なし。 関連項目 kqueue(2), poll(2), select(2), cam(3), cam_cdbparse(3), cam(4), cd(4), ctl(4), da(4), sa(4), xpt(4), camcontrol(8), camdd(8) 歴史 CAM パススルードライバは、FreeBSD 3.0 ではじめて登場しました。 作者 Kenneth Merry <ken@FreeBSD.org> FreeBSD 13.2 May 3, 2017 FreeBSD 13.2