GONEC_ARTERY_Modem_Main/Inc/ModemSendFunc.h

82 lines
3.8 KiB
C

//
// Created by cfif on 21.02.23.
//
#ifndef GONEC_GSM_MODEMSENDFUNC_H
#define GONEC_GSM_MODEMSENDFUNC_H
#include <SerialPortIO.h>
#include <DeviceStorageIni.h>
#include <Gnss.h>
#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