E.3. sr ドライバ

E.3.1. sr のコンパイルオプション

ありません。

E.3.2. sr の ioctl と ユーザインタフェース

下記のファイルを見てください。

/usr/src/linux/include/linux/cdrom.h
/usr/src/linux/drivers/cdrom/cdrom.c [revision history section]
/usr/src/linux/Documentation/cdrom/cdrom-standard.tex

下記の ioctl のいくつかは、cdrom-standard.tex で記述されています。

CDROMCLOSETRAY
CDROM_SET_OPTIONS
CDROM_CLEAR_OPTIONS
CDROM_SELECT_SPEED
CDROM_SELECT_DISC
CDROM_MEDIA_CHANGED
CDROM_DRIVE_STATUS
CDROM_CHANGER_NSLOTS
CDROM_LOCKDOOR
CDROM_DEBUG
CDROM_GET_CAPABILITY
DVD_READ_STRUCT
DVD_WRITE_STRUCT
DVD_AUTH
CDROM_SEND_PACKET
CDROM_NEXT_WRITABLE
CDROM_LAST_WRITTEN

scd デバイスの open()に使われる O_NONBLOCK フラグは重要です。これがないと、 媒体がデバイスに入いるまで、open()がリターンをずっと待つことになります。

open()          O_NONBLOCK
close()
read()
write()
ioctl()