Mac系统上给USB设备发送SCSI自定义命令 [操作系统入门]

编程

各位大佬,请问在Mac上给USB发送SCSI命令,是使用哪个结构体?SCSICmd_INQUIRY_StandardDataAll还是SCSI_Sense_Data,又怎么实现发送呢?在Linux下会有一个结构体专门处理这事,代码如下:

sg_io_hdr_t p_io_hdr;

memset(&p_io_hdr,0x00,sizeof(sg_io_hdr_t));

p_io_hdr.interface_id = ‘S‘;

p_io_hdr.flags = SG_FLAG_LUN_INHIBIT;

if(aDataIn == DATA_USB_TO_HOST)

p_io_hdr.dxfer_direction = SG_DXFER_FROM_DEV;

else

p_io_hdr.dxfer_direction = SG_DXFER_TO_DEV;

p_io_hdr.cmd_len = aCBDLen; //指向 SCSI 命令的 cmdp 的字节长度

p_io_hdr.cmdp = (unsigned char*)aCBD; //指向将要执行的 SCSI 命令的指针

p_io_hdr.dxfer_len = aDataLen; //数据传输的用户内存的长度

p_io_hdr.dxferp = aData; //指向数据传输时长度至少为 dxfer_len 字节的用户内存的指针

int ret = ioctl(aHandle,SG_IO,&p_io_hdr);

if(ret<0 || p_io_hdr.driver_status != 0)

return -1;

怎么把这段代码用Mac系统上的结构体写出来呢?

Mac系统上给USB设备发送SCSI自定义命令

以上是 Mac系统上给USB设备发送SCSI自定义命令 [操作系统入门] 的全部内容, 来源链接: utcz.com/z/519221.html

回到顶部