// // Created by cfif on 21.02.23. // #ifndef GONEC_GSM_MODEMSENDFUNC_H #define GONEC_GSM_MODEMSENDFUNC_H #include #include #include #include "ModemGonec.h" #include "fs_interface.h" #include "RtcIO.h" #include "ModemGnss.h" #include "httpd_types.h" #include "file_logger.h" #include "stdbool.h" #include "stdlib.h" #include "string.h" #include "fs_base_func.h" #include "httpd_base_func.h" #include "ModemReceiveFunc.h" #include "GonetsReedSalmon.h" // Редактирование файла маски пакета транспортного уровня bool editMaskPacketTransportKvitinCrunch(tFs *fs, uint32_t from, uint32_t lenTransPaket, char *path_mask_fileName, tBufFreeFillState isFill); // Поиск неотправленных блоков в файле маски bool isFindMaskPacketTransportIsNotProc(tFs *fs, bool *isFind, char *path_mask_fileName); // Получение имени файла по ид //void createFileNameFromId(char *out_fileName, uint32_t id, uint8_t len_pref, char *ext); // Создание имени файла из транспортного пакета //void createFileFragInbox(char *path, uint32_t numberSender, uint32_t dateCreateTransportPacket, uint32_t numberMessage, char t, // char *ext); // Создание файлов транспортного уровня //bool createFilesTransport(tFs *fs, tRtcIO *rtcIo, char *path_rep_fileName, tFileInfo *fileInfo, uint32_t *countPacket); // Поиск самого срочного сообщения uint32_t getMaxUrgencyOutbox(tFs *fs, tGonetsReedSalmon *gonetsReedSalmon, md5a_context *md5ctx, tRtcIO *rtcIo, char *path, char *out_fileName, char *path_out_fileName, tTypeFile typeFile, tDeviceStorageIni *store, uint32_t gr); // Создание файла уровня представления bool createFileRepresentation(tFs *fs, tGonetsReedSalmon *gonetsReedSalmon, md5a_context *md5ctx, tRtcIO *rtcIo, char *path_out_fileName, tFileSendInfo *fileSendInfo, uint32_t gr, uint32_t cuteOffsetBegin); uint32_t getCountTypeFileInRepout(tFs *fs, tTypeFile typeFile, uint32_t *idInRepout); uint32_t getCountTracertInRepoutCute(tFs *fs, uint32_t max); uint32_t getOldOut(tFs *fs, char *path, uint32_t *idInRepout, uint32_t countIdInRepout); // Создание пакета транспортного уровня bool createPacketTransport(tFs *fs, uint32_t offset, uint8_t *bufSendPacket, bool *isFrom, uint32_t *from, uint32_t *lenTransPaket, tFileSendInfo *fileSendInfo, tRtcIO *rtcIo, char *path_rep_fileName, char *path_mask_fileName); // Создание пакета квитанции bool createPacketKvitin(tFs *fs, uint32_t offset, uint8_t *bufSendPacket, bool *isFrom, uint32_t *from, uint32_t *lenTransPaket, tFileSendInfo *fileSendInfo, tRtcIO *rtcIo, char *path_rep_fileName, char *path_mask_fileName); // Редактирование файла маски пакета транспортного уровня bool editMaskPacketTransport(tFs *fs, uint32_t from, uint32_t lenTransPaket, char *path_mask_fileName, tBufFreeFillState isFill); // Поиск неотправленных блоков в файле маски bool isFindMaskPacketTransport(tFs *fs, bool *isFind, char *path_mask_fileName, tFileSendInfo *fileSendInfo); // Перенос файла в хранилище отправленных сообщений sentbox bool renameFromOutBoxToSentBox(tFs *fs, tRtcIO *rtc, tFileSendInfo *fileSendInfo); bool readSendFileInfo(tFs *fs, tFileSendInfo *fileSendInfo, char *path_inf_fileName); bool writeSendFileInfo(tFs *fs, tFileSendInfo *fileSendInfo, char *path_inf_fileName); bool createBufStateFileSend(tFs *fs); #endif //GONEC_GSM_MODEMSENDFUNC_H