Ниже приведен стандартный заголовок драйвера t11 TCOM5.
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]; 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 // неправильная контрольная сумма __declspec(dllexport) int Prepare_xxx(int type, char *str, int &type_cnv, int &q_out); __declspec(dllexport) void Set_xxx(IA &ia, unsigned int &max_send, unsigned int &max_rec, int &q_rec, RSDATA *p, char *sbuf); __declspec(dllexport) int Get_xxx(IA &ia, unsigned int &count_rec, int &q_rec, RSDATA *p, char *rbuf, int &type_cnv); __declspec(dllexport) int Check_xxx(IA &ia, unsigned int &count_rec, unsigned int &max_rec, unsigned int &max_send, char *rbuf); __declspec(dllexport) int zCompare_xxx(IA &ia0, IA &ia1, int &count);
|