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

📄 bulkonly.h

📁 u盘设计的部分原代码
💻 H
字号:
#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;  
  unsigned int    ReservedPage; 
}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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -