SSC(4)

名称
ssc - `スーパ SCSI' ドライバ

書式
pseudo-device ssc

解説
ssc ドライバは、以前に SCSI デバイスが 1 つも検出されなかった場合に使用される アクセスポイントを、SCSI ドライバのコード内部に提供します。これは、外部 SCSI デバイスしか持っていないシステムにとっては便利なものです。こうした SCSI デバイスはブート時に電源が切れているかもしれないからです。

‘scsi user’ 、すなわち su(4) 疑似デバイスが ssc には使われるため、su デバイスも設定していなくてはなりません。

カーネルの設定
ssc 疑似デバイスには、設定パラメータはありません。

IOCTL
ssc ドライバは、ただ 1 つ自分自身の SCIOCADDR を持っています。この ioctl は、 /dev/ssc をオープンした後に使用しなくてはなりません。また、この ioctl よりも前に 他の ioctl コールを発行してはいけません:

    #include <sys/scsiio.h>
    int
    ioctl(int fd, SCIOCADDR, struct scsi_addr *data)

fd は、 open(2) が返す識別子を表し、 data は要求に合わせて設定された scbus, target, lun フィールドを持っていなくてはなりません。この ioctl は、次に呼ばれる ioctl が 影響を与えるデバイスを任意に変更するために使用できます。

その他の ioctl はすべて直接 su(4) 疑似デバイスドライバに渡されます。その際、最新の SCIOCADDR ioctl コールで設定された Bus, Target, Lun フィールドを使用します。

関連ファイル
/dev/ssc
    ‘スーパ SCSI’ ドライバをアクセスするのに使われるデバイスファイルです。

診断
SCIOCADDR ioctl を発行するよりも前に別の ioctl を発行しようとすると、 ENXIO が返されます。そうでない場合は、該当の ioctl は直接 su(4) ドライバに送られます。

関連項目
open(2), su(4), scsi(8)

歴史
ssc は、最初に FreeBSD 2.0.5 で登場しました。