各位大佬,請問在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系統上的結構體寫出來呢?
uj5u.com熱心網友回復:
沒有大佬看到嗎uj5u.com熱心網友回復:
ε=(′ο`*)))唉,大佬估計太忙了……轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/10818.html
標籤:iOS
