?? serialcsr.h
字號:
//
// Copyright (c) Cambridge Silicon Radio. All rights reserved.
//
//
// 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.
//
// Header for serial driver wrapper
// The following ifdef block is the standard way of creating macros which make exporting
// from a DLL simpler. All files within this DLL are compiled with the SERIALCSR_EXPORTS
// symbol defined on the command line. this symbol should not be defined on any project
// that uses this DLL. This way any other project whose source files include this file see
// SERIALCSR_API functions as being imported from a DLL, wheras this DLL sees symbols
// defined with this macro as being exported.
// Function Pointers
#ifdef SERIALCSR_EXPORTS
#define SERIALCSR_API __declspec(dllexport)
#else
#define SERIALCSR_API __declspec(dllimport)
#endif
// Standard constants
#undef FALSE
#undef TRUE
#undef NULL
#define FALSE 0
#define TRUE 1
#define NULL 0
// Header not found
typedef struct _SERIAL_QUEUE_SIZE {
ULONG InSize;
ULONG OutSize;
} SERIAL_QUEUE_SIZE, *PSERIAL_QUEUE_SIZE;
// Typedef wrapped functions to ensure accurate use
// Exported to API
typedef HANDLE (WINAPI *PFNCOM_Init)(ULONG);
typedef HANDLE (WINAPI *PFNCOM_Open)(HANDLE, DWORD, DWORD);
typedef BOOL (WINAPI *PFNCOM_Close)(DWORD);
//typedef BOOL (WINAPI *PFNCOM_Close)(HANDLE);
typedef BOOL (WINAPI *PFNCOM_Deinit)(void);
typedef ULONG (WINAPI *PFNCOM_Read)(HANDLE, PUCHAR, ULONG, PULONG);
typedef ULONG (WINAPI *PFNCOM_Write)(HANDLE, PUCHAR, ULONG);
typedef ULONG (WINAPI *PFNCOM_Seek)(HANDLE, LONG, DWORD);
typedef BOOL (WINAPI *PFNCOM_Power)(HANDLE);
typedef BOOL (WINAPI *PFNCOM_IOControl)(DWORD, DWORD, PBYTE, DWORD, PBYTE, DWORD, PDWORD);
// Usually internal only
//- *** TEMP *** Commented are those BT.dll does not export
//
//typedef VOID (WINAPI *PFNSerialEventHandler)(ULONG);
//typedef DWORD (WINAPI *PFNSerialDispatchThread)(PVOID);
typedef ULONG (WINAPI *PFNSerialGetDroppedByteNumber)(HANDLE);
//typedef BOOL (WINAPI *PFNWaitCommEvent)(ULONG, PULONG, LPOVERLAPPED);
//typedef VOID (WINAPI *PFNEvaluateEventFlag)(PVOID, ULONG);
//typedef BOOL (WINAPI *PFNProcessExiting)(ULONG);
//typedef BOOL (WINAPI *PFNApplyDCB)(ULONG, DCB, BOOL);
/*
// Wrapped standard COM Port functions
SERIALCSR_API HANDLE COM_Init(ULONG Identifier);
SERIALCSR_API HANDLE COM_Open(HANDLE pContext, DWORD AccessCode, DWORD ShareMode);
SERIALCSR_API BOOL COM_Close(DWORD pContext);
SERIALCSR_API BOOL COM_Deinit(void);
SERIALCSR_API ULONG COM_Read(HANDLE pContext, PUCHAR pTargetBuffer,
ULONG BufferLength, PULONG pBytesRead);
SERIALCSR_API ULONG COM_Write(HANDLE COM_Write, PUCHAR pSourceBytes,
ULONG NumberOfBytes);
SERIALCSR_API ULONG COM_Seek(HANDLE pHead, LONG Position, DWORD Type);
SERIALCSR_API BOOL COM_PowerUp(HANDLE pContext);
SERIALCSR_API BOOL COM_PowerDown(HANDLE pContext);
SERIALCSR_API BOOL COM_IOControl(DWORD dwOpenData, DWORD dwCode, PBYTE pBufIn,
DWORD dwLenIn, PBYTE pBufOut, DWORD dwLenOut,
PDWORD pdwActualOut);
*/
// Wrapped standard COM Port functions
// Wrapped standard COM Port functions
HANDLE
WINAPI
CSR_Init(ULONG Identifier);
HANDLE
WINAPI
CSR_Open(HANDLE pContext, DWORD AccessCode, DWORD ShareMode);
BOOL
WINAPI
CSR_Close(DWORD pContext);
//COM_Close(HANDLE pContext);
BOOL
WINAPI
CSR_Deinit(void);
ULONG
WINAPI
CSR_Read(HANDLE pContext, PUCHAR pTargetBuffer,
ULONG BufferLength, PULONG pBytesRead);
DWORD
WINAPI
CSR_Write(HANDLE COM_Write, PUCHAR pSourceBytes,
ULONG NumberOfBytes);
ULONG
WINAPI
CSR_Seek(HANDLE pHead, LONG Position, DWORD Type);
BOOL
WINAPI
CSR_PowerUp(HANDLE pContext);
BOOL
WINAPI
CSR_PowerDown(HANDLE pContext);
BOOL
WINAPI
CSR_IOControl(DWORD dwOpenData, DWORD dwCode, PBYTE pBufIn,
DWORD dwLenIn, PBYTE pBufOut, DWORD dwLenOut,
PDWORD pdwActualOut);
/*
// Exported to pdd
SERIALCSR_API VOID SerialEventHandler(ULONG pSerialHead);
SERIALCSR_API DWORD SerialDispatchThread(PVOID pContext);
SERIALCSR_API ULONG SerialGetDroppedByteNumber(HANDLE pHead);
SERIALCSR_API BOOL WaitCommEvent(ULONG pOpenHead, PULONG pfdwEventMask, LPOVERLAPPED Unused);
//SERIALCSR_API VOID EvaluateEventFlag(PVOID pHead, ULONG fdwEventMask);
SERIALCSR_API BOOL ProcessExiting(ULONG pOpenHead);
SERIALCSR_API BOOL ApplyDCB (ULONG pSerialHead, DCB *pDCB, BOOL fOpen);
*/
// Internal use
BOOL UpdatePersistentStore(HANDLE hResult);
BOOL GetLibraryPointers(void);
BOOL SetTestModeCMD(HANDLE hPort);
//jackey start
#pragma pack(1)
typedef struct _PSKEY_UPDATE {
HANDLE PSKey;
HANDLE PSKeyEvent;
HANDLE pSerialHead;
BOOL bBTPowerControl;
} PSKEY_UPDATE, *PPSKEY_UPDATE;
#pragma pack()
//jackey end
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -