阅读:873回复:1
ioctl
我现在有一个问题,就是如何发送一个自定义的命令给U盘,我看了别人给我的一段代码(Windows平台的),用的是DeviceIoControl 函数, 其中控制码是IOCTL_SCSI_PASS_THROUGH,但我现在要在Linux环境下实现将这个自定义的命令传送给U盘,我查了一下资料是否是使用如下的操作:
ioctl(fd, SCSI_IOCTL_SEND_COMMAND, pBuf); fd: 是设备的句柄; pBuf:是存放命令的缓冲区; 如果是像我说的这样,由于该自定义的命令被U盘接收到以后,U盘要返回一段数据给我,这段数据放在哪里呢?是不是也放在pBuf中?在Windows环境中DeviceIoControl是可以指示出输出缓存区的,求各位大哥大姐帮帮忙,小弟我先十二万分的谢过了!! |
|
沙发#
发布于:2004-09-09 13:52
对了,还忘了说明一下存放命令的缓存区(pBuf)的格式,我是参看资料上的格式的:
struct{ int inlen; // 输入的数据的大小 int outlen; // 要求输出的数据的大小 char cmd[256]; // 缓冲区 } |
|