ioctl(int fd, long int request, &io_buf) 但是经过试验和大量的错误之后,ioctl返回了-1和错误消息"Invalid Argument“。我在Linux上,以sudo身份运行我的程序。我要向其发出请求的设备是通过SCSI连接的光驱。我已经通过将请求(分别为MTIOCGET或MTIOCTOP )传递给ioctl来尝试磁带状态和寻道请求。磁带状态函数的代码片段,其中fd是由open()返回的设备
在编译C++驱动程序时,我缺乏解决“'struct‘中字段的位置初始化”和“’struct file_operation‘没有名为'ioctl’成员的错误”的知识。/patches/kdrivers/src/net/wanpipe_cdev_linux.c:133:2: note: in expansion of macro ‘WAN_IOCTL’
我希望在Linux上运行的C++中创建一个函数,如果CDRom介质是DVD盘,则返回true,如果它是其他任何东西(例如音频CD),则返回false。我一直在和linux/cdrom.h一起使用ioctl。我尝试使用DVD_READ_STRUCT,但它总是返回true。也许我用错了。dvd_struct s return true;
}