📄 bulk.h
字号:
// ***************************************************
/*
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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -