📄 cifuser.h
字号:
/* Device firmware information */
typedef struct tagFIRMWAREINFO {
unsigned char abFirmwareName[16]; /* Firmware name */
unsigned char abFirmwareVersion[16]; /* Firmware version */
} FIRMWAREINFO;
/* Device task state information */
typedef struct tagTASKSTATE {
unsigned char abTaskState[64]; /* Task state field */
} TASKSTATE;
/* Device task paramater data */
typedef struct tagTASKPARAM {
unsigned char abTaskParameter[64]; /* Task parameter field */
} TASKPARAM;
/* Device raw data structure */
typedef struct tagRAWDATA {
unsigned char abRawData[1022]; /* Definition of the last kByte */
} RAWDATA;
/* Device task information */
typedef struct tagTASKINFO {
struct {
unsigned char abTaskName[8]; /* Task name */
unsigned short usTaskVersion; /* Task version */
unsigned char bTaskCondition; /* Actual task condition */
unsigned char abreserved[5]; /* n.c. */
} tTaskInfo [7];
} TASKINFO;
/* Device operating system (RCS) information */
typedef struct tagRCSINFO {
unsigned short usRcsVersion; /* Device operating system (RCS) version */
unsigned char bRcsError; /* Operating system errors */
unsigned char bHostWatchDog; /* Host watchdog value */
unsigned char bDevWatchDog; /* Device watchdog value */
unsigned char bSegmentCount; /* RCS segment free counter */
unsigned char bDeviceAdress; /* RCS device base address */
unsigned char bDriverType; /* RCS driver type */
} RCSINFO;
/* Device description */
typedef struct tagDEVINFO {
unsigned char bDpmSize; /* Device dpm size (2,8...) */
unsigned char bDevType; /* Device type (manufactor code) */
unsigned char bDevModel; /* Device model (manufactor code) */
unsigned char abDevIdentifier[3]; /* Device identification characters */
} DEVINFO;
/* ------------------------------------------------------------------------------------ */
/* driver info structure definitions */
/* ------------------------------------------------------------------------------------ */
/* Board information structure */
typedef struct tagBOARD_INFO{
unsigned char abDriverVersion[16]; /* DRV driver information string */
struct {
unsigned short usBoardNumber; /* DRV board number */
unsigned short usAvailable; /* DRV board is available */
unsigned long ulPhysicalAddress; /* DRV physical DPM address */
unsigned short usIrqNumber; /* DRV irq number */
} tBoard [MAX_DEV_BOARDS];
} BOARD_INFO;
/* Internal driver state information structure */
typedef struct tagDRIVERINFO{
unsigned long ulOpenCnt; /* DevOpen() counter */
unsigned long ulCloseCnt; /* DevClose() counter */
unsigned long ulReadCnt; /* Number of DevGetMessage commands */
unsigned long ulWriteCnt; /* Number of DevPutMessage commands */
unsigned long ulIRQCnt; /* Number of board interrupts */
unsigned char bInitMsgFlag; /* Actual init sate */
unsigned char bReadMsgFlag; /* Actual read mailbox state */
unsigned char bWriteMsgFlag; /* Actual write mailbox state */
unsigned char bLastFunction; /* Last driver function */
unsigned char bWriteState; /* Actual write command state */
unsigned char bReadState; /* Actual read command state */
unsigned char bHostFlags; /* Actual host flags */
unsigned char bMyDevFlags; /* Actual device falgs */
unsigned char bExIOFlag; /* Actual IO flags */
unsigned long ulExIOCnt; /* DevExchangeIO() counter */
} DRIVERINFO;
/* Extended board information structure */
typedef struct tagBOARD_INFOEX{
unsigned char abDriverVersion[16]; /* DRV driver information string */
struct {
unsigned short usBoardNumber; /* DRV board number */
unsigned short usAvailable; /* DRV board is available */
unsigned long ulPhysicalAddress;/* DRV physical DPM address */
unsigned short usIrqNumber; /* DRV irq number */
DRIVERINFO tDriverInfo; /* Driver information */
FIRMWAREINFO tFirmware;
DEVINFO tDeviceInfo;
RCSINFO tRcsInfo;
VERSIONINFO tVersion;
} tBoard [MAX_DEV_BOARDS];
} BOARD_INFOEX;
/* Communication state field structure */
typedef struct tagCOMSTATE {
unsigned short usMode; /* Actual STATE mode */
unsigned short usStateFlag; /* State flag */
unsigned char abState[64]; /* State area */
} COMSTATE;
/* state information in bLastFunction */
#define FKT_OPEN 1;
#define FKT_CLOSE 2;
#define FKT_READ 3;
#define FKT_WRITE 4;
#define FKT_IO 5;
/* state information in bWriteState and bReadState */
#define STATE_IN 0x01;
#define STATE_WAIT 0x02;
#define STATE_OUT 0x03;
#define STATE_IN_IRQ 0x04;
/* ------------------------------------------------------------------------------------ */
/* funcion prototypes */
/* ------------------------------------------------------------------------------------ */
short APIENTRY DevOpenDriver ( unsigned short usDevNumber);
short APIENTRY DevCloseDriver ( unsigned short usDevNumber);
short APIENTRY DevGetBoardInfo ( unsigned short usDevNumber,
unsigned short usSize,
void far *pvData);
short APIENTRY DevInitBoard ( unsigned short usDevNumber,
void far *pDevAddress);
short APIENTRY DevInitBoardEx ( unsigned short usDevNumber,
void far *pDevAddress,
unsigned short usDpmSize);
short APIENTRY DevExitBoard ( unsigned short usDevNumber);
short APIENTRY DevPutTaskParameter ( unsigned short usDevNumber,
unsigned short usNumber,
unsigned short usSize,
void far *pvData);
short APIENTRY DevReset ( unsigned short usDevNumber,
unsigned short usMode,
unsigned long ulTimeout);
short APIENTRY DevPutMessage ( unsigned short usDevNumber,
MSG_STRUC far *ptMessage,
unsigned long ulTimeout);
short APIENTRY DevGetMessage ( unsigned short usDevNumber,
unsigned short usSize,
MSG_STRUC far *ptMessage,
unsigned long ulTimeout);
short APIENTRY DevGetTaskState ( unsigned short usDevNumber,
unsigned short usNumber,
unsigned short usSize,
void far *pvData);
short APIENTRY DevGetMBXState ( unsigned short usDevNumber,
unsigned short far *pusDevMBXState,
unsigned short far *pusHostMBXState);
short APIENTRY DevTriggerWatchDog ( unsigned short usDevNumber,
unsigned short usFunction,
unsigned short far *usDevWatchDog);
short APIENTRY DevGetInfo ( unsigned short usDevNumber,
unsigned short usFunction,
unsigned short usSize,
void far *pvData);
short APIENTRY DevGetTaskParameter ( unsigned short usDevNumber,
unsigned short usNumber,
unsigned short usSize,
void far *pvData);
short APIENTRY DevExchangeIO ( unsigned short usDevNumber,
unsigned short usSendOffset,
unsigned short usSendSize,
void far *pvSendData,
unsigned short usReceiveOffset,
unsigned short usReceiveSize,
void far *pvReceiveData,
unsigned long ulTimeout);
short APIENTRY DevReadSendData ( unsigned short usDevNumber,
unsigned short usOffset,
unsigned short usSize,
void far *pvData);
short APIENTRY DevSetHostState ( unsigned short usDevNumber,
unsigned short usMode,
unsigned long ulTimeout);
/* Special function do not use */
short APIENTRY DevExtendedData ( unsigned short usDevNumber,
unsigned short usMode,
unsigned short usSize,
void far *pvData);
/* Special function do not use */
short APIENTRY DevGetMBXData ( unsigned short usDevNumber,
unsigned short usHostSize,
void far *pvHostData,
unsigned short usDevSize,
void far *pvDevData);
/* Special function do not use */
short APIENTRY DevGetBoardInfoEx ( unsigned short usDevNumber,
unsigned short usSize,
void far *pvData);
short APIENTRY DevExchangeIOEx ( unsigned short usDevNumber,
unsigned short usMode,
unsigned short usSendOffset,
unsigned short usSendSize,
void far *pvSendData,
unsigned short usReceiveOffset,
unsigned short usReceiveSize,
void far *pvReceiveData,
unsigned long ulTimeout);
short APIENTRY DevExchangeIOErr ( unsigned short usDevNumber,
unsigned short usSendOffset,
unsigned short usSendSize,
void far *pvSendData,
unsigned short usReceiveOffset,
unsigned short usReceiveSize,
void far *pvReceiveData,
COMSTATE far *ptState,
unsigned long ulTimeout);
short APIENTRY DevReadWriteDPMRaw ( unsigned short usDevNumber,
unsigned short usMode,
unsigned short usOffset,
unsigned short usSize,
void far *pvData);
#if defined( _MSC_VER) /* Microsoft C */
#pragma pack() /* Byte Alignment */
#ifdef __cplusplus
}
#endif
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -