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()