UFI命令块

/**
 * UFI 命令块
 */
typedef union _CDB_RBC
{
    READ_10              ufiRead10 ;           //!< 读命令
    WRITE_10                ufiWrite10 ;          //!< 写命令
    INQUIRY_SPC           ufiInquiry ;          //!< 查询命令
    READ_CAPACITY         ufiReadCapacity ;     //!< 读容量命令
} CDB_RBC * PCDB_RBC ;
 

命令块数据包(CBW

/**
 * CBW 命令块
 */
typedef struct _COMMAND_BLOCK_WRAPPER{
    UINT32      dCBW_Signature ;   //!< CBW 信号标记
    UINT32      dCBW_Tag ;         //!< CBW 命令标签
    UINT32      dCBW_DataXferLen ; //!< 数据包传输长度
    UINT8        bCBW_Flag ;        //!< 传输方向, 0 - 主机到设备, 0x80 - 设备到主机
    UINT8        bCBW_LUN ;         //!< 逻辑单元号,应为 0
    UINT8        bCBW_CDBLen ;      //!< CDB_RBC 的长度
    CDB_RBC     cdbRBC ;           //!< UFI 命令块
} CBW * PCBW ;
 

命令状态包(CSW

/**
 * CSW 状态包
 */
typedef struct _COMMAND_STATUS_WRAPPER{
    UINT32    dCSW_Signature ;     //!< CSW 信号标记
    UINT32    dCSW_Tag ;       //!< CSW 命令标签
    UINT32    dCSW_DataResidue ;   //!< 实际处理数据量与 CBW 规定的数据量之差
    UINT8     bCSW_Status ;         //!< CBW 命令执行结果
    UINT8     rsvd [51];            //!< 保留
} CSW * PCSW ;