基于OHCI的USB主机 ―― UFI数据结构1

根据上面的介绍,定义相应命令的数据结构如下:
查询(Inquiry

/**

 * Inquiry命令数据结构

 */

typedefstruct _INQUIRY_SPC

{

    UINT8OperationCode; //!< 操作码,应为0x12

    UINT8Lun;           //!< 逻辑单元号,应为0

    UINT8PageCode;      //!< 页代码,应为0

    UINT8Reserved1;     //!< 保留,应为0

    UINT8AllocationLen; //!< 存储空间长度,常为0x24

    UINT8Reserved[7];       //!< 保留,应为0

} INQUIRY_SPC *PINQUIRY_SPC;

 
读容量(ReadCapacity

/**

 * 读容量命令

 */

typedefstruct _READ_CAPACITY

{

    UINT8OperationCode; //!< 操作码,应为0x25

    UINT8Reserved[15];   //!< 保留,应为0

}READ_CAPACITY;

读扇区(Read10

/**

 * 读命令

 */

typedefstruct _READ_10

{

    UINT8OperationCode; //!< 操作码,应为0x28

    UINT8Reserved1;     //!< 保留,应为0

    UINT8LBA_3;         //!< 逻辑块地址3

    UINT8LBA_2;         //!< 逻辑块地址2

    UINT8LBA_1;          //!< 逻辑块地址1

    UINT8LBA_0;         //!< 逻辑块地址0

    UINT8Reserved2;     //!< 保留,应为0

    UINT8XferLen_1;     //!< 传输扇区数,高字节

    UINT8XferLen_0;     //!< 传输扇区数,低字节

    UINT8Reserved3[4]; //!< 保留,应为0

}READ_10;

写扇区(Write10

/**

 * 写命令

 */

typedefstruct _WRITE_10

{

    UINT8OperationCode; //!< 操作码,应为0x2A

    UINT8Reserved1;     //!< 保留,应为0

    UINT8LBA_3;         //!< 逻辑块地址3

    UINT8LBA_2;         //!< 逻辑块地址2

    UINT8LBA_1;          //!< 逻辑块地址1

    UINT8LBA_0;         //!< 逻辑块地址0

    UINT8Reserved2;     //!< 保留,应为0

    UINT8XferLen_1;     //!< 传输扇区数,高字节

    UINT8XferLen_0;     //!< 传输扇区数,低字节

    UINT8Reserved3[4]; //!< 保留,应为0

}WRITE_10;

你可能感兴趣的:(职场,主机,usb,休闲,ohci)