////////////////////////////////////////////////////////////////////// // File - sli6_ext.h // // Library for accessing the SLI6 card, version 1.20. // Code was composed by Kirill Bezmaternykh // INP, lab 6-1 (ppi6@gorodok.net) // It accesses the hardware via WinDriver functions. // ////////////////////////////////////////////////////////////////////// #ifndef _SLI6_EXT_H_ #define _SLI6_EXT_H_ #ifdef __cplusplus extern "C" { #endif ////////////// внешние функции LIB ///////////////////////////////////// int __stdcall OpenCrate(unsigned int CardN, unsigned int CrateN); int __stdcall CloseCrate(int c); // CardN - номер карточки в компе по порядку считая не от проца (MIN_CARDS - MAX_CARDS) // CrateN - номер канал в карточке ( MIN_CRATES - MAX_CRATES ) // возвращает CN - идентификатор канала WORD __stdcall cam16write(int c, int N, int A, WORD *data); WORD __stdcall cam24write(int c, int N, int A, DWORD *data); WORD __stdcall cam16read(int c, int N, int A, WORD *data); WORD __stdcall cam24read(int c, int N, int A, DWORD *data); WORD __stdcall cam16(int c, int N, int A, int F, WORD *data); WORD __stdcall cam24(int c, int N, int A, int F, DWORD *data); WORD __stdcall cam16Block(int c, int N, int A, int F,unsigned long Nblock, WORD *data); WORD __stdcall cam24Block(int c, int N, int A, int F, unsigned int Nblock, DWORD *data); WORD __stdcall camZ(int c); WORD __stdcall camC(int c); // функции возвращают статусный регистр соответствующего канала в формате // XQToEr int __stdcall ClearStatus(int c); // стирает накопленный статус int __stdcall GetChannels(unsigned int CardN); // возвращает количество каналов // дополнительные фукнции для тестирования платы на скорость(без проверки параметров) WORD __stdcall cam16RW(int c, int N, int A, WORD *dataw,WORD *datar); // чтение и запись 16 WORD __stdcall cam24RW(int c, int N, int A, DWORD *dataw,DWORD *datar);// чтение и запись 24 // возвращают два статуса |statusR|statusW| // прерывания typedef void (*INTLAMFUNC)(int c, PVOID param); // определение функции обработчика int __stdcall SetIntOnLAMfunc(int c, INTLAMFUNC _intf); int __stdcall LAMIntEnable(int c, PVOID param); int __stdcall LAMIntDisable(int c); int __stdcall LAMIntIsEnabled(int c); // открытие и закрытие карточки int __stdcall OpenCard(unsigned int CardN, BOOL use_int); int __stdcall CloseCard(unsigned int CardN); // ошибки void __stdcall GetErrStr(char* str); // this string is set to an error message, if one occurs extern char SLI6_ErrorString[]; #ifdef __cplusplus } #endif #endif