Changes for page Сетевое API - MAXIOL Landisk technology ®
Last modified by Max on 2025/02/28 23:56
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -207,59 +207,5 @@ 207 207 {{/code}} 208 208 209 209 210 -== Структура ответа == 211 211 212 -Формат ответа 213 - 214 -{{code language="c++"}} 215 -// структура пакета ответа с данными 216 -typedef __packed struct landisk_answer 217 -{ 218 - unsigned short int result; // результат 219 - unsigned char data[512]; // принятые данные 220 - unsigned short int crc; // CRC ответа 221 -} landisk_answer_t; 222 -{{/code}} 223 - 224 -=== Статус файла === 225 - 226 -при открытии файла, сервер возвращает статус файла, в блоке данных (data[512]) 227 - 228 -{{code language="c++"}} 229 -// структура пакета ответа статуса файла 230 -typedef __packed struct landisk_answer_status 231 -{ 232 - unsigned char fattr; // File attribute 233 - unsigned short int fdate; // Fat date 234 - unsigned short int ftime; // Fat time 235 - unsigned int fsize; // File size 236 -} landisk_answer_status_t; 237 -{{/code}} 238 - 239 -=== Коды результатов выполнения команд === 240 - 241 -{{code language="c++"}} 242 -// ответы 243 -#define LANDISK_ANS_OK 0x0000 // команда выполнена успешно 244 -#define LANDISK_ANS_ERROR 0x0001 // флаг ошибки, устанавливается при любой ошибке 245 -#define LANDISK_ANS_ACCESS_DENIED 0x0002 // нет доступа, устанавливается при любой ошибке доступа 246 -#define LANDISK_ANS_NEED_REG 0x0004 // нет доступа - нужна регистрация 247 -#define LANDISK_ANS_RO_ONLY 0x0008 // нет доступа на запись- данный диск только для чтения 248 -#define LANDISK_ANS_NOT_EXISTS 0x0010 // нет данного образа - неверный путь до файла образа или директории 249 -{{/code}} 250 - 251 -=== Стратегия работы === 252 - 253 -~1. первая команда должна быть открытие файла (LANDISK_CMD_OPEN) 254 -при запросе на открытие надо указать блок параметров (landisk_reqest_status_t) 255 -в ответ будет прислан блок landisk_answer_t но data[512] надо рассматривать как landisk_answer_status_t 256 -2. далее можно посылать команды чтения 257 -3. на данный момент [февраль 2025] поддержаны команды LANDISK_CMD_OPEN, LANDISK_CMD_READ, LANDISK_CMD_WRITE, LANDISK_CMD_CLOSE 258 -4. В конце работы желательно (но не обязательно) послать команды закрытия дисков. 259 - 260 -=== **Ограничения: 261 -~1. не более 100 запросов в секунду с одного IP (иначе сработает блок анти-DDOS и забанит данный IP на некоторое время) 262 -2. не более 10ти "висящих" соединений на IP.** === 263 - 264 - 265 265