PASS(4)

NAME
pass - CAM アプリケーションパススルードライバ

書式
device pass0 device pass2 at scbus0 target 3 lun 0

説明
pass ドライバはユーザランドアプリケーションに CAM CCB を発行する方法を 提供します。

pass ドライバは CAM サブシステムへ直接アクセスすることを可能に するため、このドライバへのアクセスを許可する場合、 システム管理者は用心するべきです。 このドライバは正しく使われないと、ユーザランドアプリケーションが マシンをクラッシュさせたり、データの損失を引き起こすことを可能にする かもしれません。

pass ドライバは検出されたすべての SCSI デバイスにアタッチされます。 そのため、 SCSI デバイスにアクセスする一般的な方法を提供し、 そのデバイスに関連する "標準の" ペリフェラルドライバ 無しにユーザがアクセスすることを可能にします。

カーネルコンフィギュレーション
必要なのは、カーネルの中に 1 つの pass デバイスを設定することだけです; pass デバイスは SCSI デバイスが検出された分だけ割り当てられます。

IOCTLS

CAMIOCOMMAND
    任意の種類の CAM CCB を受け取り、CAM トランスポートレイヤへ通過させます。

CAMGETPASSTHRU
    XPT_GDEVLIST CCB を受け取り、該当するデバイスに対応するパススルーデバイス を返します。この ioctl は pass ドライバで利用できますが、制限されたものです。この ioctl を 発行するときは、該当するデバイスがパススルーデバイスであること をすでに知っていなければならないからです。 xpt(4) デバイスを経由してこの ioctl を発行したほうが便利でしょう。

ファイル
/dev/passn
    pass ドライバのためのキャラクタ型デバイスノードです。 CAM サブシステムを経由してアクセスされるデバイスそれぞれに 存在するべきです。

診断
ありません。

関連項目
cam(3), cam_cdbparse(3), xpt(4), camcontrol(8)

歴史
CAM パススルードライバは FreeBSD 3.0 で初めて登場しました。

作者
Kenneth Merry <ken@FreeBSD.ORG>

バグ
パススルードライバを経由して非同期に CCB を送信する方法があれば 好ましいでしょう。そのためにはおそらく何らかの種類の read/write インタフェースあるいは非同期の ioctl インタフェイスが必要でしょう。