⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 usbmsc.h

📁 SAMSUNG 5009的源代码
💻 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 + -