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;
本文转自 tywali 51CTO博客,原文链接:http://blog.51cto.com/lancelot/310336,如需转载请自行联系原作者

基于OHCI的USB主机 —— UFI数据结构2相关推荐

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

    根据上面的介绍,定义相应命令的数据结构如下: 查询(Inquiry) /** * Inquiry命令数据结构 */ typedefstruct _INQUIRY_SPC { UINT8Operatio ...

  2. 基于OHCI的USB主机 —— UFI数据结构3

    UFI命令运行状态结构,用于判断UFI命令是否执行完毕. typedef struct _UFI_CMD_RUNNING{     unsigned char state;        //!< ...

  3. 基于OHCI的USB主机 —— UFI命令 USB Mass Storage Class Bulk-Only Transport协议介绍

    USB Mass Storage Class Bulk-Only Transport Microsoft公司至Windows98后,USB主机 都支持Bulk-Only标准,所以现在的大容量存储类设备 ...

  4. 基于OHCI的USB主机 —— UFI命令监视代码

    在调用完上面的UFI命令后,ufiCmdRunning.state就被设置为UFI_STATE_BEGIN态,在主循环中调用本函数,用来判断UFI命令是否执行完毕,以及是否执行成功. /**  * U ...

  5. 基于OHCI的USB主机——UFI查询命令(Inquiry)

    查询命令(INQUIRY)请求获取UFI设备参数的信息.他被用作主机上的驱动器访问FUI设备的配置,特别是在接通电源和硬件复位之后使用.命令内容如下表:  位 字节 7 6 5 4 3 2 1 0 0 ...

  6. 基于OHCI的USB主机——UFI读扇区命令(Read10)

    读命令要求UFI设备传输数据到主机,记录在逻辑块地址的最新数据值将被返回,命令格式如下表:  位 字节 7 6 5 4 3 2 1 0 0 操作代码(0x28) 1 逻辑单元号(LUN) DPO FU ...

  7. 基于OHCI的USB主机 —— UFI查询代码

    /**  * 磁盘查询命令  * @param *buf 数据缓冲区指针  * @return 0 - 成功  */ short ufiInquiry(BYTE *buf) {     INQUIRY ...

  8. 基于OHCI的USB主机 —— UFI读容量代码

    /**  * 读磁盘容量命令  * @param *buf 数据缓冲区指针  * @return 0 - 成功  */ short ufiReadCapacity(BYTE *buf) {     R ...

  9. 基于OHCI的USB主机 —— UFI写扇区代码

    /**  * 写磁盘扇区命令  * @param sect 物理扇区号  * @param *buf 数据缓冲区指针  * @return 0 - 成功  */ short ufiWriteSect( ...

最新文章

  1. IDEA 2017 安装后 关联SVN
  2. FPGA之道(65)代码中的约束信息(二)乘法器的相关约束
  3. mac下使用n管理node版本
  4. 想学C语言?这些你一定要知道
  5. 你有过什么令你难忘的约会经历?
  6. NB-IoT 连接数过亿,开发者如何抓住新机遇?
  7. websphere一直安装部署_构建独立部署系统,从部署规范开始
  8. TCP 协议(包含三次握手,四次挥手)
  9. linux arm 携程,如何安装ARM toolchain
  10. 程序员自编 “购房宝典” 火爆 GitHub !
  11. 微信小程序 web-view 无法外链 和 不支持打开非业务域名
  12. 一款开源好用的车辆管理系统源码,基于SSH框架和SaaS模式
  13. 阿里巴巴国际站九月大促直播准备工作及流程
  14. 【深度学习】第二章:全连接神经网络
  15. 三元一次方程组例题_三元一次方程组典型例题讲解.doc
  16. MLCC陶瓷电容详解
  17. 回忆当年高考的一道数学证明题
  18. 团队成员分工及绩效评估
  19. CTFHub----RCE
  20. 记一次 vivo x21 Android 8.1.1 调试Apk填坑

热门文章

  1. 2016百度之星 - 测试赛 1002 列变位法解密 (模拟)
  2. 周易六十四卦——地天泰卦
  3. 基于Qt、opencv的规则工件尺寸识别
  4. mysql中用于实现事务提交的语句是什么,实现事务提交的语句是什么
  5. Python爬虫——aiohttp异步协程爬取同程旅行酒店评论
  6. 为什么科学家如此担心人工智能?
  7. 202009-4 星际旅行【CCF-CSP认证真题】
  8. 在微型计算机中 多媒体信息包括,公务员考试常识题:1、具有多媒体功能的微型计算机系统中,常用的CD-ROM是...
  9. 计算机组成原理 - 计算机的硬件组成 (存储器 + CPU +I/O设备)
  10. ORACLE集群管理-核心资源分析-MDNS