#ifndef E502_TCP_PROTOCOL_H #define E502_TCP_PROTOCOL_H //значения сигнатуры, которое является признаком действительной команды или ответа #define E502_TCP_CMD_SIGNATURE 0x314C5443 //заголово команды typedef struct { uint32_t sign; uint32_t cmd; //код команды (реально используются 0-255) uint32_t par; //параметр (соответствует value и index в usb) uint32_t data_len; //кол-во данных на передачу в байтах uint32_t resp_len; //кол-во ожидаем данных на прием в байтах } t_e502_tcp_cmd_hdr; //заголовок ответа typedef struct { uint32_t sign; int32_t res; //код возврата (0 - ОК, <0 - ошибка) uint32_t len; //кол-во данных в ответе } t_e502_tcp_resp_hdr; #define E502_TCP_CMD_HDR_SIZE sizeof(t_e502_tcp_cmd_hdr) #define E502_TCP_CMD_RESP_SIZE sizeof(t_e502_tcp_resp_hdr) #define E502_TCP_CMD_RX_DATA_SIZE_MAX 512 #define E502_TCP_CMD_TX_DATA_SIZE_MAX 512 #define E502_TCP_DEFAULT_CMD_PORT 11114 #define E502_TCP_DEFAULT_DATA_PORT 11115 #define E502_TCP_SERVICE_NAME "_lcard_acqdev._tcp" #endif // E502_TCP_PROTOCOL_H