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

📄 comctrl_ex.h

📁 一个Linux下的软猫驱动
💻 H
📖 第 1 页 / 共 2 页
字号:
#define PC_DATA_BITS        0x00000020#define PC_XINPUT           0x00000100#define PC_XOUTPUT          0x00000200#define PC_ERROR            0x00000400#define PC_SKIPNULL         0x00000800#define PC_CTS              0x00001000#define PC_RTS              0x00002000#define PC_XON_CHAR         0x00010000#define PC_XOFF_CHAR        0x00020000#define PC_ERROR_CHAR       0x00040000#define PC_PEALT_CHAR       0x00080000#define PC_EVERYTHING       0xFFFFFFFF/*Port Configuration structure (used in COMCTRL_CONTROL_PORTCONFIG control)TODO(?): structure may be compacted (replace BOOLs by bitfields)*/typedef struct tagPORT_CONFIG{    UINT32          dwValidFileds;  /* Combination of PortConfiguration bits*/    UINT32          dwDteSpeed;    enum    {        PC_PARITY_NONE,        PC_PARITY_ODD,        PC_PARITY_EVEN,        PC_PARITY_MARK,        PC_PARITY_SPACE    }               eParity;        /* Parity check*/    enum    {        PC_DATABITS_7,        PC_DATABITS_8    }               eDataBits;      /* Data bits - only 7 and 8 are enabled*/    BOOL            fXOutput;       /* Xoff/Xon enabled for output*/    BOOL            fXInput;        /* Xoff/Xon enabled for input*/    BOOL            fError;         /* Replace chars with parity error by ErrorChar*/    BOOL            fNull;          /* Skip NULL characters*/    BOOL            fCTS;           /* Use CTS for Tx flow control*/    BOOL            fRTS;           /* Use RTS for Rx flow control*/    char            cXonChar;    char            cXoffChar;    char            cErrorChar;    char            cPEAltChar;}   PORT_CONFIG, *PPORT_CONFIG;/*Port Event Handler - used in Configure(COMCTRL_CONFIG_EVENT_HANDLER)*/typedef struct tagPORT_EVENT_HANDLER{    void    (*pfnCallback) (PVOID pRef, UINT32 dwEventMask) __shimcall__;    PVOID   pRef;} PORT_EVENT_HANDLER, *PPORT_EVENT_HANDLER;/*Port Monitor Data - used in Monitor(COMCTRL_MONITOR_POUND_UD etc..)*/typedef struct tagPORT_MONITOR_DATA{	UINT32	dwSize;    PVOID   pBuf;} PORT_MONITOR_DATA, *PPORT_MONITOR_DATA;/********************************************************************//* Bitmaks definition*//********************************************************************/ /**//* Modem status bits*//**/ #define COMCTRL_STS_CTS_HOLD    0x00000001  /* Transmit is on CTS hold                  */#define COMCTRL_STS_DSR_HOLD    0x00000002  /* Transmit is on DSR hold                  */#define COMCTRL_STS_RLSD_HOLD   0x00000004  /* Transmit is on RLSD hold                 */#define COMCTRL_STS_XOFF_HOLD   0x00000008  /* Received handshake                       */#define COMCTRL_STS_XOFF_SENT   0x00000010  /* Issued handshake                         */#define COMCTRL_STS_EOF         0x00000020  /* EOF character found                      */#define COMCTRL_STS_TXIMMED     0x00000040  /* Immediate character being transmitted    *//**//* Event bits*//**/#define COMCTRL_EVT_RXCHAR      0x00000001  /* Any Character received                  */#define COMCTRL_EVT_RXFLAG      0x00000002  /* Received certain character              */#define COMCTRL_EVT_TXCHAR      0x00000004  /* Any character transmitted               */#define COMCTRL_EVT_TXEMPTY     0x00000008  /* Transmit Queue Empty                    */#define COMCTRL_EVT_CTS         0x00000010  /* CTS changed state                       */#define COMCTRL_EVT_CTSS        0x00000020  /* CTS state                               */#define COMCTRL_EVT_DSR         0x00000040  /* DSR changed state                       */#define COMCTRL_EVT_DSRS        0x00000080  /* DSR state                               */#define COMCTRL_EVT_RLSD        0x00000100  /* RLSD changed state                      */#define COMCTRL_EVT_RLSDS       0x00000200  /* RLSD state                              */#define COMCTRL_EVT_BREAK       0x00000400  /* BREAK received                          */#define COMCTRL_EVT_ERR         0x00000800  /* Line status error occurred              */#define COMCTRL_EVT_RING        0x00001000  /* Ring signal detected                    *//*#$YS$ */#define COMCTRL_EVT_RINGS       0x00002000  /* Ring signal detected                    *//*#define COMCTRL_EVT_PARITY_ERR  0x00002000  Parity Error occured                   *//*#define COMCTRL_EVT_RXOVRN      0x00004000  DTE Rx buffer overrun detected          */#define COMCTRL_EVT_PARITY_ERR  0x00004000  /* Parity Error occured                    */#define COMCTRL_EVT_RXOVRN      0x00008000  /* DTE Rx buffer overrun detected          */#define COMCTRL_EVT_EXT_PICKUP	0x00010000	/* 2nd phone offhook detection				*//* Modem related */#define COMCTRL_MAX_PORT_NAME_LENGTH	256/* Direct API */__shimcall__ UINT32       ComCtrl_GetInterfaceVersion  (void);__shimcall__ HANDLE       ComCtrl_Create               (void);            __shimcall__ COM_STATUS   ComCtrl_Destroy              (HANDLE hInst);__shimcall__ COM_STATUS   ComCtrl_Open                 (HANDLE hInst);__shimcall__ COM_STATUS   ComCtrl_Close                (HANDLE hInst);__shimcall__ COM_STATUS   ComCtrl_Configure            (HANDLE hInst, COMCTRL_CONFIG_CODE  eCode,  PVOID pConfig);__shimcall__ COM_STATUS   ComCtrl_Monitor              (HANDLE hInst, COMCTRL_MONITOR_CODE eCode, PVOID pMonitor);__shimcall__ COM_STATUS   ComCtrl_Control              (HANDLE hInst, COMCTRL_CONTROL_CODE eCode, PVOID pControl);__shimcall__ UINT32       ComCtrl_Read                 (HANDLE hInst, PVOID pBuf, UINT32 dwSize);__shimcall__ UINT32       ComCtrl_Write                (HANDLE hInst, PVOID pBuf, UINT32 dwSize);/* Interface through function table */typedef struct I_COM_CTRL_TAG{    /************ Common Interface functions. ************/    UINT32      (*GetInterfaceVersion)  (void);    HANDLE      (*Create)               (void);    COM_STATUS  (*Destroy)              (HANDLE hInst);    COM_STATUS  (*Open)                 (HANDLE hInst);    COM_STATUS  (*Close)                (HANDLE hInst);    COM_STATUS  (*Configure)            (HANDLE hInst, COMCTRL_CONFIG_CODE  eCode,  PVOID pConfig);    COM_STATUS  (*Monitor)              (HANDLE hInst, COMCTRL_MONITOR_CODE eCode, PVOID pMonitor);    COM_STATUS  (*Control)              (HANDLE hInst, COMCTRL_CONTROL_CODE eCode, PVOID pControl);    /************ Specific Interface functions. ************/    UINT32      (*Read)   (HANDLE hInst, PVOID pBuf, UINT32 dwSize);    UINT32      (*Write)  (HANDLE hInst, PVOID pBuf, UINT32 dwSize);} I_COM_CTRL_MGR_T, *PI_COM_CTRL_T;PVOID ComCtrlGetInterface(void);#ifdef USE_DIRECT_API    #define COMCTRL_GetInterfaceVersion(pSys)                  ComCtrl_GetInterfaceVersion  ()    #define COMCTRL_Create(             pSys)                  ComCtrl_Create               ()    #define COMCTRL_Destroy(            pSys)                  ComCtrl_Destroy              (pSys->hComCtrl)    #define COMCTRL_Open(               pSys)                  ComCtrl_Open                 (pSys->hComCtrl)    #define COMCTRL_Close(              pSys)                  ComCtrl_Close                (pSys->hComCtrl)    #define COMCTRL_Configure(          pSys, eCode, pConfig)  ComCtrl_Configure            (pSys->hComCtrl, eCode, pConfig)    #define COMCTRL_Monitor(            pSys, eCode, pMonitor) ComCtrl_Monitor              (pSys->hComCtrl, eCode, pMonitor)    #define COMCTRL_Control(            pSys, eCode, pControl) ComCtrl_Control              (pSys->hComCtrl, eCode, pControl)    #define COMCTRL_Read(               pSys, pBuf, dwSize)    ComCtrl_Read                 (pSys->hComCtrl, pBuf, dwSize)    #define COMCTRL_Write(              pSys, pBuf, dwSize)    ComCtrl_Write                (pSys->hComCtrl, pBuf, dwSize)#else    #define COMCTRL_GetInterfaceVersion(pSys)                  pSys->pftComCtrl->GetInterfaceVersion  ()    #define COMCTRL_Create(             pSys)                  pSys->pftComCtrl->Create               ()    #define COMCTRL_Destroy(            pSys)                  pSys->pftComCtrl->Destroy              (pSys->hComCtrl)    #define COMCTRL_Open(               pSys)                  pSys->pftComCtrl->Open                 (pSys->hComCtrl)    #define COMCTRL_Close(              pSys)                  pSys->pftComCtrl->Close                (pSys->hComCtrl)    #define COMCTRL_Configure(          pSys, eCode, pConfig)  pSys->pftComCtrl->Configure            (pSys->hComCtrl, eCode, pConfig)    #define COMCTRL_Monitor(            pSys, eCode, pMonitor) pSys->pftComCtrl->Monitor              (pSys->hComCtrl, eCode, pMonitor)    #define COMCTRL_Control(            pSys, eCode, pControl) pSys->pftComCtrl->Control              (pSys->hComCtrl, eCode, pControl)    #define COMCTRL_Read(               pSys, pBuf, dwSize)    pSys->pftComCtrl->Read                 (pSys->hComCtrl, pBuf, dwSize)    #define COMCTRL_Write(              pSys, pBuf, dwSize)    pSys->pftComCtrl->Write                (pSys->hComCtrl, pBuf, dwSize)#endif#endif      /* #ifndef __MODEM_H__  */

⌨️ 快捷键说明

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