bulk.h

来自「doswrite for usb device refernce code」· C头文件 代码 · 共 49 行

H
49
字号
// ***************************************************
/*
struct {
  DWORD  dCBWSignature;
  DWORD  dCBWTag;
  DWORD  dCBWDataTransferLength;
  BYTE   bmCBWFlags;
  BYTE   bCBWLUN;
  BYTE   bCBWCBLength
  // ----Command Block------
  BYTE   bOperationCode;
  BYTE   bLUN;        // bit 5:7
  DWORD  dLBA;
  BYTE   bReservered;
  WORD   wBlocks;
  BYTE   bControlls;
  WORD   wPadding1;
  WORD   wPadding2;
  WORD   wPadding3;
}cbw
*/
// CBW. Command Block Wrapper. 31 bytes long.
#define CBW_LENGTH                31
// first part of CBW. 15 bytes long
#define CBW_SIGNATURE             0   // dword
#define CBW_TAG                   4   // dword
#define CBW_DATA_TRANSFER_LENGTH  8   // dword
#define CBW_FLAGS                 12  // byte
#define CBW_LUN                   13  // byte
#define CBW_CB_LENGTH             14  // byte
// second part of CBW. command fields. 16 bytes long
#define CBW_CDB                   15  // byte

// ******************************************************
// CSW. Command Status Wrapper. 13 bytes long
#define CSW_LENGTH        13

#define CSW_SIGNATURE     0   // DWORD
#define CSW_TAG           4   // DWORD
#define CSW_DATA_RESIDUE  8   // DWORD
#define CSW_STATUS        12  // BYTE
// bmRequestType of bulk-only Request
#define BULK_RESET        RT_HOST_TO_DEVICE|RT_CLASS_REQ|RT_INTERFACE_RECI
#define BULK_GET_MAX_LUN  RT_DEVICE_TO_HOST|RT_CLASS_REQ|RT_INTERFACE_RECI
// bRequest of bulk-only Request
#define REQ_BULK_RESET        0xFF
#define REQ_BULK_GET_MAX_LUN  0xFE

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?