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

📄 bol.h

📁 本电子词典是名人928的学习机代码,主要是电子学习机AP,其他还没有传
💻 H
字号:
// BulkOnlyLyr.h: interface for the BulkOnlyLyr class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_BULKONLYLYR_H__C1CE6111_44E4_4841_8E38_5F700BA360B8__INCLUDED_)
#define AFX_BULKONLYLYR_H__C1CE6111_44E4_4841_8E38_5F700BA360B8__INCLUDED_


#include "kernel.h"

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

#define CSW_WAITFOR_MORE_DATA	0x03
#define CSW_NEEDTO_STALL_BULK	0x04

#define LITTLE_ENDIAN
#ifdef  LITTLE_ENDIAN
#define CBW_SIGNATURE   0x43425355
#define CSW_SIGNATURE   0x53425355
#else
#define CBW_SIGNATURE   0x55534243
#define CSW_SIGNATURE   0x55534253
#endif

#define CBW_FLAG_IN     0x80 //Device to host

// BOL_BulkCtrl control code
#define STALL		0
	// stall param
	#define	STALL_BULKIN	0
	#define	STALL_BULKOUT	1
	#define	STALL_BULKALL	2
#define GETSTATUS	1
	// status:
	#define DEVICE_STALL	0
	#define DEVICE_IDLE		1

typedef struct tagCBW
{
	DWORD dwSignature;
	DWORD dwTaget;
	DWORD dwDataXferLen;
	BYTE  uFlag;
	BYTE  uLUN;
	BYTE  uCDBLen;
	BYTE  RBC[16];
}CBW;

typedef struct tagCSW
{
	DWORD dwSignature;
	DWORD dwTaget;
	DWORD dwDataResidue;
	BYTE  uStatus;
}CSW;

typedef UINT (* ULP_ONRECEIVEDPROC)(UINT uLen, BYTE *pCDB, UINT uDirection, DWORD dwXansfer, DWORD *pdwResidue);

UINT BOL_Init(UINT uMaxLUN, ULP_ONRECEIVEDPROC *pfnULP_OnReceived);

UINT BOL_BulkCtrl(UINT uCtrl, DWORD *dwParam); // Bulk endpoint control function.
DWORD BOL_BulkIn(DWORD uDLen, BYTE *pData); // Send data that from device to host by usb-driver
DWORD BOL_BulkOut(DWORD uDLen, BYTE *pData); // Get data that send by host from LLP by usb-driver

// LLP callback function.
UINT BOL_OnRecvCmd(UINT uLen, BYTE *pData);

#endif // !defined(AFX_BULKONLYLYR_H__C1CE6111_44E4_4841_8E38_5F700BA360B8__INCLUDED_)

⌨️ 快捷键说明

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