📄 usbmsc.h
字号:
/* usbmsc.h - USB Mass Storage Class Specifications 1.2 header */
/* Copyright 2004 TAEBAEK Soft Corp. */
/*
modification history
--------------------
02e,28nov05,jmLee version control sync.
02d,01aug05,jmLee version control sync.
02c,25jul05,jmLee version control sync.
02a,29jun05,jmLee integrate SAMSUNG patch.
01a,01jun04,jmLee created.
*/
#ifndef __INCusbmsch
#define __INCusbmsch
#ifdef __cplusplus
extern "C" {
#endif
/* USB Mass Storage Class 1.2 Specifications */
/* USB Mass Storage Class Subclasses */
#define USB_SUBCLASS_RBC 0x01
#define USB_SUBCLASS_SFF_8020i 0x02
#define USB_SUBCLASS_QIC_157 0x03
#define USB_SUBCLASS_UFI 0x04
#define USB_SUBCLASS_SFF_8070i 0x05
#define USB_SUBCLASS_SCSI 0x06
/* USB Mass Storage Class Protocols */
#define USB_PROTOCOL_CBI 0x00
#define USB_PROTOCOL_CB 0x01
#define USB_PROTOCOL_BULK_ONLY 0x50
/* USB Mass Storage Class Bulk-Only Request Codes */
#define USB_REQ_BULK_GET_MAX_LUN 0xFE
#define USB_REQ_BULK_RESET 0xFF
/* USB Mass Storage Class Maximum LUN(Logical Unit Number, 0 ~ 15, 0 ~ 7 with UFI) */
#define USB_MAX_LUN 7
/* USB Mass Storage Class CBI Request Codes */
#define USB_REQ_CBI_ADSC 0
#define ADSC_CMD_CBI_RESET 0x1D
#define CBW_SIGNATURE 0x43425355l
#define CSW_SIGNATURE 0x53425355l
#define CBW_FLAG_DIR_IN 0x80
#define CBW_FLAG_DIR_OUT 0x00
#define CSW_STATUS_PASSED 0x00
#define CSW_STATUS_FAILED 0x01
#define CSW_STATUS_PHASE_ERROR 0x02
/* Command Block, Bulk-Only */
typedef struct _COMMAND_BLOCK_WRAPPER
{
ULONG dCBWSignature; /* Signature */
ULONG dCBWTag; /* Command Block Tag */
ULONG dCBWDataTransferLength; /* Number of bytes to transfer */
UCHAR bmCBWFlags; /* Flags */
UCHAR bCBWLUN; /* Logical Unit Number */
UCHAR bCBWLength; /* Length of Command Block */
UCHAR CBWCB[16]; /* Command Block */
} COMMAND_BLOCK_WRAPPER, *PCOMMAND_BLOCK_WRAPPER;
#define CBW_LEN 31
/* Command Status, Bulk-Only */
typedef struct _COMMAND_STATUS_WRAPPER
{
ULONG dCSWSignature; /* Signature */
ULONG dCSWTag; /* Command Block Tag, from CBW */
ULONG dCSWDataResidue; /* Actual amount of data processed */
UCHAR bCSWStatus; /* Command Status */
} COMMAND_STATUS_WRAPPER, *PCOMMAND_STATUS_WRAPPER;
#define CSW_LEN 13
/* Command Block, CBI */
typedef struct _ACCEPT_DEVICE_SPECIFIC_COMMAND
{
UCHAR ADSCCB[12]; /* ADSC Command Bblock */
} ACCEPT_DEVICE_SPECIFIC_COMMAND, *PACCEPT_DEVICE_SPECIFIC_COMMAND;
#define ADSC_LEN 12
/* Command Status, CBI */
typedef struct _INTERRUPT_DATA_BLOCK
{
UCHAR bASC; /* Additional Sense Code */
UCHAR bASCQ; /* Additional Sense Code Qualifier */
} INTERRUPT_DATA_BLOCK, *PINTERRUPT_DATA_BLOCK;
#define IDB_LEN 2
#ifdef __cplusplus
}
#endif
#endif /* __INCusbmsch */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -