所有发送到 SCSI 设备类型 SCANNER 的命令都被接受。其他情况会产生 EPERM 错误。请注意,write() read() 接口必须使用 O_RDWR 打开 sg 文件描述符,因为 Linux 需要写权限才能执行 write() 系统调用。SG_IO ioctl() 发出某些 SCSI 命令的能力导致与版本 2 sg 驱动程序相比,对以“只读”方式打开的文件描述符进行了一些放宽。open() 调用现在将尝试为所有新打开的文件描述符分配保留缓冲区。ioctl(SG_SET_RESERVED_SIZE) 现在将在“只读”文件描述符上工作。