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

📄 usbmsdc2.h

📁 dz3000_51.0.0.4.rar
💻 H
字号:
/*++

Copyright (c) 2001 Sunplus Technology Co., Ltd.

Module Name:

        usbmsdc2.h

Abstract:

        Header file related to USB Mass Storage Class Bulk Only Transfer

Environment:

        Keil C51 Compiler

Revision History:

        08/28/2001      Chi-Yeh Tsai    created                 

--*/

//------------------------------------------------------------------------------
//Constant
//------------------------------------------------------------------------------
//Class Request
#define K_USBMSDC_BULK_ONLY_MASS_STORAGE_RESET  0xff
#define K_USBMSDC_GET_MAX_LUN                   0xfe

#define K_USBMSDC_CommandPassed                 0x00         
#define K_USBMSDC_CommandFailed                 0x01         
#define K_USBMSDC_PhaseError                    0x02      
//richie@1203 add for read capacity no medium phase
#define K_USBMSDC_NoMedium                      0x03      

//------------------------------------------------------------------------------
//Type Definition
//------------------------------------------------------------------------------
//Command Block Wrapper (CBW)
#define K_USBMSDC_CBW_SIZE              0x1f
typedef struct _USBMSDC_CBW
{
        ULONG   dCBWSignature;
        ULONG   dCBWTag;
        ULONG   dCBWDataTransferLength;
        UCHAR   bmCBWFlags;
        UCHAR   bCBWLUN;
        UCHAR   bCBWCBLength;
        UCHAR   CBWCB[16];
} USBMSDC_CBW, *PUSBMSDC_CBW;

//Command Status Wrapper (CSW)
#define K_USBMSDC_CSW_SIZE              0x0d
typedef struct _USBMSDC_CSW
{
        ULONG   dCSWSignature;
        ULONG   dCSWTag;
        ULONG   dCSWDataResidue;
        UCHAR   bCSWStatus;
} USBMSDC_CSW, *PUSBMSDC_CSW;

//------------------------------------------------------------------------------
//External Link
//------------------------------------------------------------------------------
extern  PUSBMSDC_CBW    G_USBMSDC_pCBW;

extern  xdata   ULONG   G_USBMSDC_ulLogicalBlockAddress;
extern  xdata   ULONG   G_USBMSDC_ulSdramBufferAddress;
extern  xdata   ULONG   G_USBMSDC_usSizeProcessed;
extern  xdata   UCHAR   G_USBMSDC_ucSenseCodeIdx;
extern  xdata   UCHAR   G_USBMSDC_ucCSWStatus;

//richie
extern  xdata   ULONG   G_USBMSDC_ulAllocateLength;
extern  xdata   UCHAR   G_USBMSDC_ulLatestCmd;
extern  xdata   UCHAR   G_USBMSDC_ubRefreshNeeded;
//patch4.5@richie@eject
extern  xdata   UCHAR   G_USBMSDC_ucEject;

//patch4.5@richie@cardlock
extern  xdata   UCHAR   G_USBMSDC_ucCardLock;

//------------------------------------------------------------------------------
//Function ProtoType
//------------------------------------------------------------------------------
void USBMSDC_BoNoDataPhase(void);
void USBMSDC_BoPreInDataPhase(void);
void USBMSDC_BoPreOutDataPhase(void);
void USBMSDC_BoPostInDataPhase(void);
void USBMSDC_BoPostOutDataPhase(void);
void USBMSDC_BoBulkInData(void);
void USBMSDC_BoBulkOutData(void);
void USBMSDC_BoClearCommandBuffer(void);
UCHAR USBMSDC_BoCommand(UCHAR len);
UCHAR USBMSDC_BoStatus(void);
void USBMSDC_BoSetBulkInPacket(UCHAR len);
UCHAR USBMSDC_BoGetBulkOutPacket(void);
UCHAR USBMSDC_BoGetBulkOutPacketToBlock(void);
UCHAR USBMSDC_BoPreBulkOutDataPhase(void);
UCHAR USBMSDC_BoPostBulkOutDataPhase(void);
void USBMSDC_BoPostInBlock(void);
void USBMSDC_StallBulkInOutPacket(void);
void USBMSDC_ClearStallBulkInOutPacket(void);
//patch4.5@richie@mlun
void MLUN_Initialize(void);
void MLUN_CheckCard(void);

⌨️ 快捷键说明

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