Ниже приведен заголовок драйвера t11 TCOM6.
typedef union { unsigned char c[6]; unsigned short int i[3]; } IA; typedef union { unsigned char c[4]; unsigned short int i[2]; unsigned long l; float f; } FOUR_BYTE; typedef union { unsigned char c[2]; unsigned short int i; } TWO_BYTE; typedef struct { union { float v; unsigned char c[4]; unsigned short int i[2]; unsigned long l; int d; } V; union { unsigned char fmt[4]; unsigned short int ind[2]; } F; } RSDATA; #define ERR_RT_FILE 1 // ошибка открытия файла #define ERR_RT_SEEK 2 // ошибка поиска файла #define ERR_RT_WRITE 3 // ошибка записи файла #define ERR_RT_READ 4 // ошибка чтения файла #define ERR_RT_MEM 5 // недостаточно памяти #define ERR_RT_LIST 6 // ошибка создания списка #define ERR_RT_FORMAT 7 // ошибка в формате #define ERR_RT_COUNT 8 // неправильный счетчик #define ERR_RT_TIMEOUT 9 // обнаружен таймаут #define ERR_RT_RESP 10 // неправильный ответ #define ERR_RT_FUNC 11 // код ошибки, возвращаемый API WIN32 #define ERR_RT_NOTFOUND 12 // запрос неопределенного канала #define ERR_RT_CODE 13 // код ошибки посланный контроллером #define ERR_RT_FSC 14 // неправильная контрольная сумма
int __declspec(dllexport) Prepare_xxx(int type, char *str, int &blockQueryFlag, int &nBuffersSize);
int __declspec(dllexport) zReadAny_xxx(IA &ia, unsigned int &more_rec, unsigned int &all_rec, char *rbuf);
void __declspec(dllexport) Set_xxx(IA &ia, unsigned int &max_send, unsigned int &max_rec, int &q_rec, RSDATA *p, char *sbuf, void *ext_data);
int __declspec(dllexport) Check_xxx(IA &ia, unsigned int &count_rec, unsigned int &max_rec, unsigned int &max_send, char *rbuf, void *ext_data, int q_rec);
int __declspec(dllexport) Get_xxx(IA &ia, unsigned int &count_rec, int &q_rec, RSDATA *p, char *rbuf, int &type_cnv, void *ext_data);
int __declspec(dllexport) zCompare_xxx(int runtime, IA &ia0, IA &ia1, int &count, void *ext_data0, void *ext_data1);
void __declspec(dllexport) zzTM6Stub();
|