bulkonly._h

来自「Atmeag162-k9f5608-pdiusbd12-u usb接口 u盘源码」· _H 代码 · 共 63 行

_H
63
字号
#ifndef __TPBULK__
#define __TPBULK__

#include "SCSIDef.H"
#include "SCSI.H"

#define CSW_GOOD        0x00
#define CSW_FAIL        0x01
#define CSW_PHASE_ERROR 0x02

////////bulkStatus////////////////
#define BULK_IDLE         0
#define BULK_DATA_TRANS   1
#define BULK_DATA_END     2
#define BULK_REQEST_TRANS 3
#define BULK_DATA_RECIEVE 4

#define CBW_SIGNATURE   0x43425355
#define CSW_SIGNATURE   0x53425355

#define CBW_FLAG_IN     0x80
#define MAX_CDBLEN      0x10

#define CANCEL_BLOCK    2047

typedef struct _COMMAND_BLOCK_WRAPPER{
    unsigned long  dCBWSignature;
    unsigned long  dCBWTag;
    unsigned long  dCBWDataTransferLength;
	unsigned char  bmCBWFlags;
    unsigned char  bCBWLUN;
    unsigned char  bCBWCBLength; 
    CDB_RBC        CBWCB;
} CBW,*PCBW;

typedef struct _COMMAND_STATUS_WRAPPER{
    unsigned long  dCSWSignature;
    unsigned long  dCSWTag;
    unsigned long  dCSWDataResidue;
    unsigned char  bCSWStatus;
} CSW, *PCSW;

typedef union _BULK_STRUCT {
    CBW     cbw;
    CSW     csw;
}BULK_STRUCT,*pBULK_STRUCT;

typedef struct _BULK_CONTROL
{
  unsigned int    Transfer_Length;
  unsigned int    CurrentBlock;
  unsigned char   CurrentPage;
  unsigned char   BeginPage;
  unsigned int    BufCount;  
}BULK_CONTROL,*pBULK_CONTROL;

void Bulk_CBWHandler( void );
void Bulk_CSWHandler( void );
BOOLEAN IsCBWValid(void);
void Bulk_code_transmit(const unsigned char * pRomData,unsigned short len);
void Bulk_ErrorHandler(unsigned char HostDevCase,unsigned int wByteCount);

#endif

⌨️ 快捷键说明

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