#include #include #include #include #include #include #define WORD unsigned int #define DWORD unsigned long #define UCHAR unsigned char #define NoError 0 #define DriverHandleError 1 #define DriverCallError 2 #define FindBoardError 3 #define TimeOut 4 #define ExceedBoardNumber 5 #define NotFoundBoard 6 #define MAX_BOARD_NUMBER 16 float PTMC12_FloatSub2(float fA, float fB); short PTMC12_ShortSub2(short nA, short nB); WORD PTMC12_DriverInit(WORD *wBoards); WORD PTMC12_DriverClose(void); WORD PTMC12_GetDriverVersion(WORD *wDriverVersion); WORD PTMC12_GetConfigAddressSpace(WORD wBoardNo, WORD *wBaseAddr, WORD *wIrq , WORD *wPLX); WORD GetAddress(void); void WriteAddress(UCHAR bBus, UCHAR bDevice, UCHAR bFunction, UCHAR bWhichLong); void _outpd(WORD port,DWORD data); DWORD _inpd(WORD port); WORD wBaseAddr=0; WORD wConfigSpace[MAX_BOARD_NUMBER][4]; WORD wTotalBoards=0; WORD wActiveBoardNo=0xffff; WORD wGetAddress=0;