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

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

/**

 * Inquiry命令数据结构

 */

typedefstruct _INQUIRY_SPC

{

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

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

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

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

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

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

INQUIRY_SPC *PINQUIRY_SPC;

 

/**

 * 读容量命令

 */

typedefstruct _READ_CAPACITY

{

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

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

}READ_CAPACITY;

/**

 * 读命令

 */

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;

/**

 * 写命令

 */

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;






本文转自 tywali 51CTO博客,原文链接:http://blog.51cto.com/lancelot/310335,如需转载请自行联系原作者
目录
相关文章
|
2天前
|
机器学习/深度学习 算法 测试技术
【单调栈】3113. 边界元素是最大值的子数组数目
【单调栈】3113. 边界元素是最大值的子数组数目
|
2天前
|
存储 NoSQL C语言
数据结构——顺序栈与链式栈的实现-2
数据结构——顺序栈与链式栈的实现
数据结构——顺序栈与链式栈的实现-2
|
2天前
|
存储 C语言
数据结构——顺序栈与链式栈的实现-1
数据结构——顺序栈与链式栈的实现
数据结构——顺序栈与链式栈的实现-1
|
2天前
栈的基本应用
栈的基本应用
12 3
|
2天前
栈与队列理解
栈与队列理解
13 1