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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? serhw.h

?? 關(guān)于S3C2442平臺(tái)藍(lán)牙模塊驅(qū)動(dòng)
?? H
字號(hào):
//
// Copyright (c) Microsoft Corporation.  All rights reserved.
//
//
// Use of this source code is subject to the terms of the Microsoft end-user
// license agreement (EULA) under which you licensed this SOFTWARE PRODUCT.
// If you did not accept the terms of the EULA, you are not authorized to use
// this source code. For a copy of the EULA, please see the LICENSE.RTF on your
// install media.
//
/*++
THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
PARTICULAR PURPOSE.

Module Name:  

serhw.h

Abstract:

Holds exports from hardware dependent interface to be made available
only to hardware independent interface. OEMs may implement these
functions however they see fit as long as the signatures and
functionality are consistent with these.


Notes: 


--*/

#ifndef __SERHW_H__
#define __SERHW_H__

#ifdef __cplusplus
extern "C" {
#endif



/* Exports from MDD layer
 */
VOID	EvaluateEventFlag(PVOID pHead, ULONG fdwEventMask);


typedef enum {
    INTR_NONE	=   0,
    INTR_LINE	=   1,
    INTR_RX	=   2,
    INTR_TX	=   4,
    INTR_MODEM	=   8
    } INTERRUPT_TYPE;

#ifdef USE_NEW_SERIAL_MODEL
typedef struct __HWOBJ HWOBJ, *PHWOBJ;

typedef struct __HW_VTBL    {
    PVOID	(*HWInit)(ULONG Identifier, PVOID pMDDContext, PHWOBJ pHWObj);
    BOOL	(*HWPostInit)(PVOID pHead);
    ULONG	(*HWDeinit)(PVOID pHead);
    BOOL	(*HWOpen)(PVOID pHead);
    ULONG	(*HWClose)(PVOID pHead);
    INTERRUPT_TYPE (*HWGetIntrType)(PVOID pHead);
    ULONG	(*HWRxIntrHandler)(PVOID pHead, PUCHAR pTarget, PULONG pBytes);
    VOID	(*HWTxIntrHandler)(PVOID pHead, PUCHAR pSrc, PULONG pBytes);
    VOID	(*HWModemIntrHandler)(PVOID pHead);
    VOID	(*HWLineIntrHandler)(PVOID pHead);
    ULONG	(*HWGetRxBufferSize)(PVOID pHead);
    BOOL	(*HWPowerOff)(PVOID pHead);
    BOOL	(*HWPowerOn)(PVOID pHead);
    VOID	(*HWClearDTR)(PVOID pHead);
    VOID 	(*HWSetDTR)(PVOID pHead);
    VOID	(*HWClearRTS)(PVOID pHead);
    VOID	(*HWSetRTS)(PVOID pHead);
    BOOL	(*HWEnableIR)(PVOID pHead, ULONG BaudRate);
    BOOL	(*HWDisableIR)(PVOID pHead);
    VOID	(*HWClearBreak)(PVOID pHead);
    VOID	(*HWSetBreak)(PVOID pHead);
    BOOL	(*HWXmitComChar)(PVOID pHead, UCHAR ComChar);
    ULONG	(*HWGetStatus)(PVOID pHead, LPCOMSTAT lpStat);
    VOID	(*HWReset)(PVOID pHead);
    VOID	(*HWGetModemStatus)(PVOID pHead, PULONG pModemStatus);
    VOID	(*HWGetCommProperties)(PVOID pHead, LPCOMMPROP pCommProp);
    VOID	(*HWPurgeComm)(PVOID pHead, DWORD fdwAction);
    BOOL	(*HWSetDCB)(PVOID pHead, LPDCB pDCB);
    BOOL	(*HWSetCommTimeouts)(PVOID pHead, LPCOMMTIMEOUTS lpCommTO);
    BOOL    (*HWIoctl)(PVOID pHead, DWORD dwCode,PBYTE pBufIn,DWORD dwLenIn,
                       PBYTE pBufOut,DWORD dwLenOut,PDWORD pdwActualOut);
    } HW_VTBL, *PHW_VTBL;

#else

typedef struct __HW_VTBL    {
    PVOID	(*HWInit)(ULONG Identifier, PVOID pMDDContext);
    ULONG	(*HWDeinit)(PVOID pHead);
    BOOL	(*HWOpen)(PVOID pHead);
    ULONG	(*HWClose)(PVOID pHead);
    ULONG	(*HWGetBytes)(PVOID pHead, PUCHAR pTarget, PULONG pBytes);
    PVOID	(*HWGetRxStart)(PVOID pHead);
    INTERRUPT_TYPE (*HWGetIntrType)(PVOID pHead);
    VOID	(*HWOtherIntrHandler)(PVOID pHead);
    VOID	(*HWLineIntrHandler)(PVOID pHead);
    ULONG	(*HWGetRxBufferSize)(PVOID pHead);
	VOID	(*HWTxIntrHandler)(PVOID pHead);
	ULONG	(*HWPutBytes)(PVOID pHead, PUCHAR pSrc, ULONG NumBytes, PULONG pBytesSent);
    BOOL	(*HWPowerOff)(PVOID pHead);
    BOOL	(*HWPowerOn)(PVOID pHead);
    VOID	(*HWClearDTR)(PVOID pHead);
    VOID 	(*HWSetDTR)(PVOID pHead);
    VOID	(*HWClearRTS)(PVOID pHead);
    VOID	(*HWSetRTS)(PVOID pHead);
    BOOL	(*HWEnableIR)(PVOID pHead, ULONG BaudRate);
    BOOL	(*HWDisableIR)(PVOID pHead);
    VOID	(*HWClearBreak)(PVOID pHead);
    VOID	(*HWSetBreak)(PVOID pHead);
    BOOL	(*HWXmitComChar)(PVOID pHead, UCHAR ComChar);
    ULONG	(*HWGetStatus)(PVOID pHead, LPCOMSTAT lpStat);
    VOID	(*HWReset)(PVOID pHead);
    VOID	(*HWGetModemStatus)(PVOID pHead, PULONG pModemStatus);
    VOID	(*HWGetCommProperties)(PVOID pHead, LPCOMMPROP pCommProp);
    VOID	(*HWPurgeComm)(PVOID pHead, DWORD fdwAction);
    BOOL	(*HWSetDCB)(PVOID pHead, LPDCB pDCB);
    BOOL	(*HWSetCommTimeouts)(PVOID pHead, LPCOMMTIMEOUTS lpCommTO);
    BOOL    (*HWIoctl)(PVOID pHead, DWORD dwCode,PBYTE pBufIn,DWORD dwLenIn,
                       PBYTE pBufOut,DWORD dwLenOut,PDWORD pdwActualOut);
    } HW_VTBL, *PHW_VTBL;
#endif

// Define for BindFlags.  Note we only have two mutually exclusive values,
// but this is a bitfield so we may add others later
#define     THREAD_IN_PDD   0   /* PDD is responsible for Intr Thread */
#define     THREAD_AT_INIT  1   /* MDD Spins Intr Thread at init time */
#define     THREAD_AT_OPEN  2   /* MDD Spins Intr Thread at open time */

// The next define is only for compares.  NEVER set both OPEN and INIT for thread
#define     THREAD_IN_MDD (THREAD_AT_INIT | THREAD_AT_OPEN)

#ifdef USE_NEW_SERIAL_MODEL
typedef struct __HWOBJ {
    ULONG	BindFlags; // Flags controlling MDD behaviour.  Se above.
    DWORD   dwIntID;   // Interrupt Identifier used if THREAD_AT_INIT or THREAD_AT_OPEN
    PHW_VTBL	pFuncTbl;
    } HWOBJ, *PHWOBJ;

#else
typedef struct __HWOBJ {
    PVOID	pDeviceParent;
    ULONG	BindFlags; // Flags controlling MDD behaviour.  Se above.
    DWORD   dwIntID;   // Interrupt Identifier used if THREAD_AT_INIT or THREAD_AT_OPEN
    PVOID	pReserved;
    PHW_VTBL	pFuncTbl;
    } HWOBJ, *PHWOBJ;
#endif
    
typedef struct __DEVICE_LIST {
    LPSTR	DllName;
    ULONG	NumberOfDevices;
    PHWOBJ	*DeviceArray;		// Points to an array of pointers
	} DEVICE_LIST, *PDEVICE_LIST;

#ifdef USE_NEW_SERIAL_MODEL
PHWOBJ	GetSerialObject(DWORD DeviceArrayIndex);
#else
PDEVICE_LIST	GetSerialObject(VOID);
#endif

#ifdef __cplusplus
}	
#endif

#endif /* __SERHW_H__ */

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美在线一二三四区| 欧美美女视频在线观看| 亚洲mv在线观看| 国产三级三级三级精品8ⅰ区| 91香蕉视频在线| 激情久久五月天| 亚洲成人动漫在线免费观看| 国产精品高潮呻吟| 久久综合色婷婷| 欧美一区二区三区免费视频 | 五月激情丁香一区二区三区| 欧美国产精品一区| 欧美r级在线观看| 欧美久久久久久蜜桃| 91视频免费播放| 国产精品538一区二区在线| 五月婷婷色综合| 一区二区三区精密机械公司| 欧美高清一级片在线观看| 久久综合网色—综合色88| 日韩一区二区三区免费看| 欧美日韩情趣电影| 91国产成人在线| 91色视频在线| 99久久精品99国产精品| 国产·精品毛片| 国产高清精品网站| 国产精品中文欧美| 精品午夜久久福利影院| 美女性感视频久久| 美女在线一区二区| 蜜臀av性久久久久av蜜臀妖精 | 欧美国产乱子伦 | 中文字幕一区二区三区不卡 | 天堂成人免费av电影一区| 亚洲免费三区一区二区| 亚洲欧洲一区二区在线播放| 国产精品毛片无遮挡高清| 国产精品嫩草影院com| 国产精品乱子久久久久| 国产精品国产a级| 国产精品美女视频| 中文字幕在线观看不卡视频| 亚洲欧洲在线观看av| 亚洲视频小说图片| 亚洲国产精品嫩草影院| 五月天久久比比资源色| 麻豆精品一区二区综合av| 乱一区二区av| 国产成人aaa| 97久久超碰精品国产| 91久久奴性调教| 欧美三级视频在线播放| 欧美一区二区三区免费在线看| 日韩午夜在线观看| 久久男人中文字幕资源站| 国产欧美精品一区二区三区四区| 国产精品素人一区二区| 亚洲免费观看高清完整版在线观看 | 91在线一区二区| 在线观看视频一区二区欧美日韩| 欧美丝袜丝交足nylons| 91精品黄色片免费大全| 久久在线观看免费| 中文字幕一区免费在线观看| 亚洲综合图片区| 美女精品自拍一二三四| 国产一区二区精品在线观看| 91在线视频播放地址| 69av一区二区三区| 国产日韩欧美精品在线| 一区二区三区四区蜜桃| 久久er精品视频| 99久久婷婷国产综合精品| 欧美日韩国产首页| 国产午夜精品福利| 亚洲已满18点击进入久久| 美日韩一区二区| 91免费精品国自产拍在线不卡| 欧美日韩aaaaa| 中文字幕的久久| 日韩中文欧美在线| 成人精品国产一区二区4080| 欧美日韩国产a| 国产精品网友自拍| 日韩av电影天堂| 9i在线看片成人免费| 在线不卡一区二区| 中文字幕一区日韩精品欧美| 欧美aa在线视频| 97精品久久久午夜一区二区三区| 欧美一级片免费看| 亚洲人成小说网站色在线| 麻豆一区二区99久久久久| 99re这里都是精品| 精品国产亚洲一区二区三区在线观看| 国产精品超碰97尤物18| 日本不卡一区二区三区高清视频| www.亚洲免费av| 日韩精品中文字幕一区| 亚洲影院免费观看| 成人av先锋影音| 欧美不卡一区二区三区四区| 亚洲一区二区三区视频在线播放 | 久久黄色级2电影| 在线一区二区三区四区| 国产午夜精品一区二区三区视频 | 久久99精品久久久久婷婷| 日本高清不卡aⅴ免费网站| 国产日韩视频一区二区三区| 蜜臀av性久久久久蜜臀aⅴ| 欧美亚洲免费在线一区| 成人欧美一区二区三区黑人麻豆| 国内精品在线播放| 日韩美女主播在线视频一区二区三区| 一区二区免费视频| 一本高清dvd不卡在线观看| 欧美国产精品一区| 成人在线一区二区三区| 精品国产电影一区二区| 美女视频黄免费的久久| 欧美精品丝袜中出| 亚洲电影视频在线| 欧美四级电影在线观看| 一区二区三区高清在线| 色狠狠色狠狠综合| 亚洲色图丝袜美腿| 97se亚洲国产综合自在线| 国产精品乱子久久久久| www.在线欧美| 亚洲欧美日韩中文播放 | 日韩欧美一级片| 蜜桃视频在线一区| 欧美成人精品3d动漫h| 日韩高清中文字幕一区| 欧美一区二区在线不卡| 日韩av电影天堂| 日韩一区二区免费高清| 奇米在线7777在线精品| 欧美一区二区在线播放| 九色综合狠狠综合久久| 日韩欧美国产电影| 国产曰批免费观看久久久| 久久人人爽人人爽| 成人黄色免费短视频| 国产精品乱子久久久久| 日本精品视频一区二区三区| 一区二区三区不卡视频| 在线播放欧美女士性生活| 奇米影视在线99精品| 久久久久久亚洲综合影院红桃| 国产精品99久久久| 日韩美女精品在线| 欧美视频一区在线| 美女国产一区二区三区| 久久久久久免费网| 99精品视频免费在线观看| 亚洲最色的网站| 日韩写真欧美这视频| 国产一区亚洲一区| 亚洲日本中文字幕区| 在线播放国产精品二区一二区四区| 蜜臀精品久久久久久蜜臀| 国产亚洲欧洲一区高清在线观看| 99国产精品久| 日本成人超碰在线观看| 国产情人综合久久777777| 色一情一乱一乱一91av| 日韩高清在线电影| 亚洲国产精品精华液2区45| 91传媒视频在线播放| 蜜臀av亚洲一区中文字幕| 国产精品全国免费观看高清| 欧美日韩一区成人| 国产一区二三区| 亚洲在线成人精品| 久久精子c满五个校花| 91国偷自产一区二区三区成为亚洲经典| 天堂久久一区二区三区| 国产欧美日韩视频在线观看| 在线视频欧美精品| 国产揄拍国内精品对白| 亚洲一级不卡视频| 久久精品亚洲精品国产欧美kt∨| 色老综合老女人久久久| 国产在线日韩欧美| 亚洲午夜影视影院在线观看| 亚洲欧洲综合另类| 日韩精品一区二区在线观看| 色呦呦日韩精品| 国产在线精品一区二区不卡了| 亚洲自拍偷拍欧美| 欧美国产一区二区| 91精品欧美福利在线观看| 97超碰欧美中文字幕| 韩国一区二区视频| 丝袜脚交一区二区| 亚洲精品午夜久久久| 秋霞午夜av一区二区三区| 亚洲国产精品激情在线观看|