// // Created by cfif on 10.11.22. // #ifndef GONEC_ARTERY_HTTPD_POST_H #define GONEC_ARTERY_HTTPD_POST_H #include "inttypes.h" #include "RtcArtery.h" #include "DeviceStorageIni.h" #include "httpd_types.h" #include "SpiPorts.h" #include "fs_interface.h" #include #include "ModemGonec.h" #include "auth.h" #include "TaskAdc.h" #include "Gpios.h" #include "ModemLog.h" #include "External.h" typedef struct { // uint32_t *tot_len; // Размер контента из файла // bool *isContentFile; // Указатель на буфер ответа // char *bufAnswer; // Признак использования большлго буфера // bool *isBigBuffer; struct { int paramcount; char *params_names[MAX_POST_GET_PARAMETERS]; char *params_vals[MAX_POST_GET_PARAMETERS]; } params_get_uri; // struct { // char filename[MAX_LEN_PATH_FS]; // char filenamePathContent[MAX_LEN_PATH_FS]; // } sdcard; int idTempFileKey; int idTempFileOutBox; tRtcIO *rtc; tDeviceStorageIni *storage; tSpiPorts *spiPorts; tFs *fs; tFirmwareLoader *firmwareMainLoader; tFirmwareLoader *firmwareBootLoader; tModemMain *modemMain; tTaskAdc *taskAdc; tExternal *external; typeAuth auth; tFileLogger *flog; // tAuthUser authUser; // Мьютекс osMutexId_t accessHTTP; osMutexId_t accessMODEM; osMutexId_t accessLOG; osMutexId_t accessLOG2; tGpios *gpios; tModemMainLog *modemMainLog; uint32_t countTmp; /* struct { uint32_t key; uint16_t id; } FileSort[2048]; */ } tHttpSetting; typedef struct { struct { int paramcount; char *params_names[MAX_POST_GET_PARAMETERS]; char *params_vals[MAX_POST_GET_PARAMETERS]; } params_post_uri; struct { char filename[MAX_LEN_PATH_FS]; uint32_t urgency; uint32_t chSv; uint32_t kvs; char to[MAX_LEN_PATH_FS]; uint32_t isfile; uint32_t routing; } createPostData; // Путь к текущему временному файлу // char temp_filename[MAX_LEN_PATH_FS]; // Путь к файлу в хранилище // char real_filename[MAX_LEN_PATH_FS]; char *bufAnswer; tRtcIO *rtc; tDeviceStorageIni *storage; tSpiPorts *spiPorts; tFs *fs; tFirmwareLoader *firmwareMainLoader; tFirmwareLoader *firmwareBootLoader; tModemMain *modemMain; tExternal *external; // Признак уже сформированной квитанции bool isAnswerGeneration; uint32_t lenAnswerGeneration; // tAuthUser *authUser; int indexTableSettings; int responsePostId; idPostResult_t result; uint32_t error; // Текущая длина принятого пакета //int packet_len; // Счетчик длины принятых пакетов int step_packet_len; // Размер принимаемого контента int content_len; // Смещение для прошивки обновления //uint32_t offset_update; // Идентификатор временного файла uint32_t idTempFileOutBox; // Мьютекс osMutexId_t accessHTTP; osMutexId_t accessMODEM; tGpios *gpios; bool isFirst; } tHttpPostSetting; extern tHttpSetting httpSettings; #endif //GONEC_ARTERY_HTTPD_POST_H