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

📄 iodrive.h

📁 modem数据通信源码
💻 H
字号:
/*********************************************************************
* 版权所有 (C)2003, 福建实达电脑设备有限公司。
* 文件名称:
*   IO.H
* 当前版本:
*   1.00
* 内容摘要:
*
* 历史纪录:
*   修改人      日期            版本号              修改内容
*   洪晓辉      2003-01-21      1.00                创建
**********************************************************************/
#ifndef __IO_H__
#define __IO_H__

#include "MacroDef.H"
#include "Protocol_Drv.h"

#ifdef __cplusplus
extern "C"{
#endif

/**********************************************************************

                        宏定义

**********************************************************************/
typedef struct
{
    uchar   (*EA_ucOpenDevice)(const char *pcDeviceName,uchar ucOpenMode,DevHandle *phDevHandle);
    uchar   (*EA_ucWriteDevice)(DevHandle hDevHandle, uint uiLength, uint uiTimeOut, const void *pvBuf);
    uchar   (*EA_ucReadDevice)(DevHandle hDevHandle, uint uiLength, uint uiTimeOut, void *pvBuf, uint *puiRetLen);
    uchar   (*EA_ucCloseDevice)(DevHandle *phDevHnadle);
    uchar   (*EA_ucReadDeviceMs)(DevHandle hDevHandle, uint uiLength, uint uiTimeOut, void *pvBuf, uint *puiRetLen);
    uchar   (*EA_ucWriteDeviceMs)(DevHandle hDevHandle, uint uiLength, uint uiTimeOut, const void *pvBuf);

    void    *pvIODriveExpand;                  // 预留后续扩展

    uchar   (*EA_ucInitRS232)(DevHandle hDevHandle,uchar ucBPS,uchar ucPAR,uchar ucDBS);
    uchar   (*EA_ucIfRS232BufEmpty)(DevHandle hDevHandle,uchar *pucBufStatus);
    uchar   (*EA_ucClearRS232)(DevHandle hDevHandle);
    void    *pvRS232Expand;                 // 预留后续扩展

	uchar	(*EA_ucInitPpp)( DevHandle hDev );
    uchar	(*EA_ucCallPpp)(DevHandle hDevHandle , const ET_PPP_PARA *ptPppPara);
	uchar	(*EA_ucDialOffPpp)(DevHandle hDevHandle);
	uchar   (*EA_ucGetLinkState)( DevHandle hDevHandle , uchar ucEvent , uchar *pucResult );
	
	uchar   (*EA_ucOpenDeviceExp)(const char *pcDeviceName, uchar ucOpenMode,uchar ucDeviceUseMode, DevHandle *phDevHandle);
	uchar   (*EA_ucObtainResource)(DevHandle hDevHandle,uint uiTimeOut);
    uchar   (*EA_ucReleaseResource)(DevHandle hDevHandle);
    DevHandle (*EA_hGetResourceInfo)(const char *pcDeviceName);
	void	*pvPppExpand ;

}ET_IO_EXPORT_TABLE;

#ifdef PLATFORM_IN_PC
    extern ET_IO_EXPORT_TABLE **EG_PC_ptIOExportTable;
    #define EG_ptIOExportTable (*EG_PC_ptIOExportTable)
#else
    extern ET_IO_EXPORT_TABLE *EG_ptIOExportTable;
#endif

// 输入
#define		EM_io_EPP					(uchar)0x05		// 以外挂方式打开PINPAD设备
#define		EM_io_IPP					(uchar)0x00		// 以内置方式打开PINPAD设备

#define		EM_io_USER					(uchar)(0x80|EM_io_PORT2)	// 打开外置半埋卡座
#define		EM_io_MASTER				(uchar)(0x88|EM_io_PORT2)	// 打开外置全埋卡座
#define		EM_io_SAM1					(uchar)(0x90|EM_io_PORT2)	// 打开外置SAM1卡座
#define		EM_io_SAM2					(uchar)(0x98|EM_io_PORT2)	// 打开外置SAM2卡座

#define     EM_io_DIAL                  (uchar)0x04     // 以异步拨号方式打开MODEM
#define     EM_io_SDLC                  (uchar)0x05     // 以同步拨号方式打开MODEM
#define     EM_io_PPP                   (uchar)0x06     // 以PPP方式打开MODEM/无线设备

#define     EM_io_REALMODE              (uchar)0x07     // 以实模式打开针式打印设备
#define     EM_io_VIRTUALMODE           (uchar)0x08     // 以虚模式打开针式打印设备

#define     EM_io_GSM                   (uchar)0x09     // 以GSM方式打开无线模块

#define     EM_io_READCARD              (uchar)0x00     // 超时方式进行读卡
#define     EM_io_TRACKIN               (uchar)0x01     // 读缓冲区方式进行读卡	

#define     EM_io_TYPEA                 (uchar)0x00     // MIFS TYPEA
#define     EM_io_TYPEB                 (uchar)0x08     // MIFS TYPEB
#define     EM_io_NORMAL                (uchar)0x0A     // 一般方式打开Ethernet设备

// 设备打开方式
#define EM_EXCLUSIVE_MODE   0x00            // 以独占方式使用设备
#define EM_SHARE_MODE       0x01            // 以共享方式使用设备

// 输出
#define     EM_io_SUCCESS               EM_SUCCESS
#define     EM_io_ERROR                 EM_ERROR
#define     EM_io_OPENED                EM_DEVICE_USED
#define     EM_io_CLOSED                EM_DEVICE_DISABLE
#define     EM_io_ALLOCERR              EM_ALLOCERR
#define     EM_io_SIMERR                (uchar)0x05
#define     EM_io_MODEM_ERROR           (uchar)0x06
#define     EM_io_MODEM_FAIL            (uchar)0x07
#define     EM_io_MODEM_RECVNOACK       (uchar)0x08
#define     EM_io_ERRPARAM              EM_ERRPARAM

/**********************************************************************

                        常量定义

**********************************************************************/

/**********************************************************************

                        全局变量

**********************************************************************/
/**********************************************************************
* 变量作用:
*
* 取值范围:
*
* 访问信息:
*
**********************************************************************/

/**********************************************************************

                        全局函数声明

**********************************************************************/
#define 	EA_ucOpenDevice 	    EG_ptIOExportTable->EA_ucOpenDevice
#define 	EA_ucWriteDevice 	    EG_ptIOExportTable->EA_ucWriteDevice
#define 	EA_ucReadDevice 	    EG_ptIOExportTable->EA_ucReadDevice
#define 	EA_ucCloseDevice 	    EG_ptIOExportTable->EA_ucCloseDevice
#define     EA_ucReadDeviceMs       EG_ptIOExportTable->EA_ucReadDeviceMs
#define     EA_ucWriteDeviceMs      EG_ptIOExportTable->EA_ucWriteDeviceMs
#define     EA_ucOpenDeviceExp      EG_ptIOExportTable->EA_ucOpenDeviceExp

#define 	EA_ucInitRS232 		    EG_ptIOExportTable->EA_ucInitRS232
#define     EA_ucIfRS232BufEmpty    EG_ptIOExportTable->EA_ucIfRS232BufEmpty
#define 	EA_ucClearRS232 	    EG_ptIOExportTable->EA_ucClearRS232
#define     EA_ucInitPpp		    EG_ptIOExportTable->EA_ucInitPpp
#define     EA_ucCallPpp		    EG_ptIOExportTable->EA_ucCallPpp
#define     EA_ucDialOffPpp		    EG_ptIOExportTable->EA_ucDialOffPpp
#define     EA_ucGetLinkState	    EG_ptIOExportTable->EA_ucGetLinkState

#define     EA_ucObtainResource     EG_ptIOExportTable->EA_ucObtainResource
#define     EA_ucReleaseResource    EG_ptIOExportTable->EA_ucReleaseResource
#define     EA_hGetResourceInfo     EG_ptIOExportTable->EA_hGetResourceInfo

#ifdef __cplusplus
}
#endif

#endif  // __IO_H__

⌨️ 快捷键说明

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