📄 iodrive.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 + -