亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? hwctxt.h

?? S3C2440 base Wince USB_gadget driver
?? H
字號:


//#include <s3c2440a.h>

#include "memmap.h"

#define MDSMSG							1

#define SET								TRUE
#define CLEAR							FALSE

#define ENDPOINT_COUNT					5

//endpoint
#define EP0								0
#define EP1								1
#define EP2								2
#define EP3								3
#define EP4								4
	
#define FIFO_IN							EP1		//teansfer
#define FIFO_OUT						EP2		//receive

//hex
#define EP0_PACKET_SIZE					 0x8	//8byte  
#define EP1_PACKET_SIZE					0x20	//32byte
#define EP2_PACKET_SIZE					0x20	//32byte
#define EP3_PACKET_SIZE					0x20	//32byte
#define EP4_PACKET_SIZE					0x20	//32byte

//register set
#define FIFO_IN_PACKET_MAX_SIZE			EP1_PACKET_SIZE 
#define FIFO_OUT_PACKET_MAX_SIZE		EP2_PACKET_SIZE	


#define IN_TRANSFER						FIFO_IN
#define OUT_TRANSFER					FIFO_OUT


//bit operator
#define clear_bit(data, loc)			((data) &= ~(0x1<<(loc)))
#define clear_bits(data, area, loc)		((data) &= ~((area)<<(loc)))

#define set_bit(data, loc)				((data) |= (0x1<<(loc)))
#define set_bits(data, area, loc)		((data) |= ((area)<<(loc)))

#define invert_bit(data, loc)			((data) ^= (0x1<<(loc)))
#define invert_bits(data, area, loc)	((data) ^= ((area)<<(loc)))

#define check_bit(data, loc)			((data) & (0x1<<(loc)))

#define extract_bits(data, area, loc)	(((data)>>(loc)) & (area))

//macro
#define LOCKINIT_IDXREG					InitializeCriticalSection(&m_csIdx);				
#define LOCK_IDXREG						EnterCriticalSection(&m_csIdx);
#define UNLOCK_IDXREG					LeaveCriticalSection(&m_csIdx);
#define DELETELOCK_IDXREG				DeleteCriticalSection(&m_csIdx)

#define LOCKINIT_ENDPOINT(dwEndpoint)	InitializeCriticalSection(&m_csLock[dwEndpoint])
#define LOCK_ENDPOINT(dwEndpoint)		EnterCriticalSection(&m_csLock[dwEndpoint])
#define UNLOCK_ENDPOINT(dwEndpoint)		LeaveCriticalSection(&m_csLock[dwEndpoint])
#define DELETELOCK_ENDPOINT(dwEndpoint)	DeleteCriticalSection(&m_csLock[dwEndpoint])

//registry
#define UDC_REG_PRIORITY_VAL			_T("Priority256")
#define DEFAULT_PRIORITY				98

#define DEVICE_NAME						_T("UDG1:")

typedef struct CTRL_CONTEXT	
{
	HANDLE					hIST;
	HANDLE					hevInterrupt;
	BOOL					fExitIST;
	BOOL					fRunning;
	BOOL					fRestartIST;
	DWORD					dwSysIntr;
	DWORD					dwISTPriority;
	HANDLE					hevReadPending;
	CEDEVICE_POWER_STATE    cpsCurrentDx;

	//registry
	DWORD					dwIrq;
	DWORD					dwIOBase;
	DWORD					dwIOLen;

	LPWSTR					plwDeviceName;
} *PCTRLR_CONTEXT;

class UDGContext
{
public:
    static BOOL CreateUDGContext(DWORD dwIndex);
    UDGContext(VOID);
    ~UDGContext(VOID);

	inline BYTE ReadReg(DWORD dwOffset);
	inline VOID WriteReg(DWORD dwOffset, BYTE bValue);

	inline BYTE SetClearReg(DWORD dwOffset, BYTE dwMask, BOOL bSet);
	inline BYTE SetClearIndexedReg(DWORD dwEndpoint, DWORD dwOffset, BYTE dwMask, BOOL bSet);

	inline BYTE ReadIndexedReg(DWORD dwEndpoint, DWORD regOffset);
	inline VOID WriteIndexedReg(DWORD dwIndex, DWORD regOffset, BYTE  bValue);

	static volatile ULONG *GetDataRegister(DWORD dwEndpoint);

	BOOL MapRegisterSet(VOID);
	static VOID UnmapRegisterSet(VOID);
	inline VOID FreeCtrlrContext(PVOID pvContext);

	DWORD SetAddress(BYTE bAddress);

	inline BYTE EpToIrqStatBit(DWORD dwEndpoint);
	inline VOID ResetEndpoint(DWORD dwEndpointNumbert);
	
	inline VOID DisableEndpointInterrupt(DWORD dwEndpoint);
	inline VOID EnableEndpointInterrupt(DWORD dwEndpoint);
	inline VOID ClearEndpointInterrupt(DWORD wEndpoint);

	inline VOID ResetDevice(VOID);

	DWORD StartTransfer(PVOID pvContext, LPVOID pBuffer, DWORD dwCount, DWORD dwEndpoint);

	DWORD WriteEndpoint(DWORD dwEndponit, LPVOID pBuffer, DWORD dwCount, BOOL fEnableInterrupts);
	DWORD ReadEndpoint(DWORD dwEndpoint, LPVOID pBuffer, DWORD dwCount);

	DWORD GetInterruptThreadPriority(VOID);
	DWORD StartInterruptThread(PVOID pvContext);
	DWORD StopInterruptThread(PVOID pvContext);

	DWORD ISTMain(PVOID pvContext);

	VOID PowerUp(PVOID pvContext);
	VOID PowerDown(PVOID pvContext);


	DWORD Init(DWORD dwIndex);										
	BOOL Deinit(PVOID pvContext);
	
protected:
	CRITICAL_SECTION	m_csIdx;
	CRITICAL_SECTION	m_csLock[ENDPOINT_COUNT];

	DWORD	m_dwDriverIndex;
 	BOOL	m_fInitialized;
    BOOL	m_fInPowerHandler;

public:
	PCTRLR_CONTEXT m_pHWContext;

};

extern UDGContext *g_pUDGContext;

// interrupt service routine.
DWORD WINAPI CallISTMain(PVOID pvContext);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人av在线电影| 粉嫩av一区二区三区粉嫩| 亚洲乱码一区二区三区在线观看| 日韩欧美综合在线| 日韩一区二区高清| 欧美一区二区大片| 日韩一区二区三区四区| 日韩欧美专区在线| 欧美xxxxxxxx| 国产亲近乱来精品视频| 国产免费成人在线视频| 国产日韩精品一区二区三区| 久久九九国产精品| 国产精品久久久久久久久晋中| 国产精品久久久久久久久动漫| 国产欧美久久久精品影院| 中文一区在线播放| 亚洲综合网站在线观看| 视频一区二区不卡| 国产又粗又猛又爽又黄91精品| 国产一区二区三区日韩| 成人免费观看男女羞羞视频| 色老汉av一区二区三区| 日韩欧美三级在线| 久久久www免费人成精品| 欧美激情一区二区三区蜜桃视频| 国产精品久久久久久久久晋中 | 精品盗摄一区二区三区| 国产欧美精品日韩区二区麻豆天美| 国产精品久久综合| 婷婷成人综合网| 国产乱子伦一区二区三区国色天香| 大陆成人av片| 91精品黄色片免费大全| 日韩欧美久久久| 亚洲日本成人在线观看| 美国毛片一区二区| 99re成人在线| 亚洲精品在线一区二区| 亚洲欧美经典视频| 精品一区二区三区久久| 欧美自拍偷拍午夜视频| 国产免费久久精品| 毛片av一区二区| 欧美午夜影院一区| 日本一区二区三区电影| 青椒成人免费视频| 欧洲视频一区二区| 国产精品美女一区二区在线观看| 日产国产欧美视频一区精品| 99久久综合色| www一区二区| 石原莉奈一区二区三区在线观看| www.欧美精品一二区| 精品国产一区二区精华| 亚洲高清免费在线| 色综合咪咪久久| 国产精品国产三级国产专播品爱网| 男人操女人的视频在线观看欧美| 91在线观看地址| 国产精品天美传媒| 国产乱码精品一区二区三区忘忧草 | 综合久久给合久久狠狠狠97色| 美女视频一区在线观看| 在线免费精品视频| 国产精品成人免费| 国产99一区视频免费| 久久男人中文字幕资源站| 日韩av午夜在线观看| 欧美日韩小视频| 亚洲成人自拍网| 欧美色国产精品| 性做久久久久久久免费看| 欧美主播一区二区三区| 亚洲一区在线观看免费观看电影高清| 不卡免费追剧大全电视剧网站| 国产日产欧美一区二区视频| 国产综合色视频| 久久久99精品免费观看| 国产一区二区三区不卡在线观看| 精品国产欧美一区二区| 国产在线不卡一区| 日本一区二区免费在线| 91在线观看高清| 亚洲成人av电影在线| 欧美肥大bbwbbw高潮| 美女免费视频一区| 精品福利一二区| 盗摄精品av一区二区三区| 亚洲三级小视频| 欧美日韩国产综合一区二区| 日韩福利视频导航| 久久午夜电影网| 成人app软件下载大全免费| 亚洲免费资源在线播放| 欧美伦理电影网| 国产一区在线视频| 亚洲蜜臀av乱码久久精品| 欧美人动与zoxxxx乱| 国产精品影视在线| 亚洲欧美另类图片小说| 欧美浪妇xxxx高跟鞋交| 精品一区二区三区av| 国产精品伦理一区二区| 在线观看视频91| 国产乱国产乱300精品| 亚洲日本护士毛茸茸| 欧美不卡激情三级在线观看| 成人18精品视频| 日韩精彩视频在线观看| 亚洲国产成人私人影院tom| 在线免费观看日本一区| 韩国中文字幕2020精品| 亚洲日本在线观看| 精品裸体舞一区二区三区| 91精品福利视频| 国产精品自在欧美一区| 午夜视频一区二区| 国产精品天天看| 久久一区二区三区国产精品| 欧美性受极品xxxx喷水| 成人免费高清视频在线观看| 日韩二区在线观看| 中文字幕综合网| 国产农村妇女精品| 精品久久人人做人人爰| 日本久久精品电影| 成人网在线播放| 国产综合久久久久久久久久久久| 亚洲午夜精品网| 亚洲精品亚洲人成人网| 欧美激情中文字幕| 亚洲精品在线电影| 日韩一级大片在线观看| 欧美日韩一区二区在线观看| 成人综合婷婷国产精品久久蜜臀 | 懂色av中文字幕一区二区三区| 综合激情网...| 欧美精品一区二区不卡| 欧美在线啊v一区| 91蜜桃婷婷狠狠久久综合9色| 美女脱光内衣内裤视频久久网站 | 国产一区二区美女诱惑| 一区二区三区中文在线| 中文在线一区二区| 欧美精品一区二区久久久| 欧美高清一级片在线| 97超碰欧美中文字幕| 99re免费视频精品全部| 国产传媒欧美日韩成人| 久久精品国产精品亚洲红杏| 亚洲一线二线三线久久久| 亚洲美女视频在线观看| 国产精品色哟哟| 欧美国产日韩精品免费观看| 精品美女一区二区| 欧美精品自拍偷拍| 欧美一区2区视频在线观看| 欧美日韩国产免费一区二区| 色香蕉成人二区免费| 成人免费电影视频| 91麻豆产精品久久久久久| 99精品视频一区二区三区| 成人小视频免费观看| 国产精品亚洲一区二区三区妖精| 人人爽香蕉精品| 亚洲国产精品久久久男人的天堂| 亚洲欧洲精品天堂一级| 久久九九久久九九| 欧美在线不卡一区| 国产1区2区3区精品美女| 国产99久久久国产精品免费看| 国产美女视频一区| 成人丝袜18视频在线观看| 欧日韩精品视频| 欧美三级欧美一级| 91精品婷婷国产综合久久性色| 欧美精品久久久久久久多人混战 | 欧亚一区二区三区| 日韩一级成人av| 337p日本欧洲亚洲大胆色噜噜| 国产目拍亚洲精品99久久精品| 国产精品久久久久桃色tv| 亚洲成人精品一区| 三级久久三级久久久| 免费成人在线网站| 国产伦精一区二区三区| 在线观看日韩毛片| 91麻豆精品国产91久久久 | 国产精品欧美久久久久一区二区| 国产精品毛片久久久久久| 一区二区三区在线视频免费| 五月婷婷综合在线| 国产精品白丝jk白祙喷水网站| 欧美日韩视频在线第一区| 精品美女在线播放| 一区二区在线免费观看| 久久9热精品视频| 欧美亚洲禁片免费| 久久尤物电影视频在线观看|