7f94ef3179
* Flipper file format: remove C wrapper * Flipper file format: open append, float, uint32_t as array, delete key, value count * Flipper file format: fix scratchpad location * Flipper file format: add EOL on append * SubGHZ keystore: update encryption type read and write * Flipper File Format: enhanced version * Flipper File Format: fix naming * Flipper File Format: fix "open" subset naming * Flipper File Format: tests * Flipper File Format: file helper naming * SubGHZ keystore: merge with current state of flipper file format * Flipper File Format: update make recipe * Flipper File Format: open new file method
81 lines
1.7 KiB
C
81 lines
1.7 KiB
C
#pragma once
|
|
#include <stdint.h>
|
|
#include <mlib/m-string.h>
|
|
#include <storage/storage.h>
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
extern const char flipper_file_eoln;
|
|
extern const char flipper_file_eolr;
|
|
|
|
/**
|
|
* Negative seek helper
|
|
* @param file
|
|
* @param offset
|
|
* @return bool
|
|
*/
|
|
bool file_helper_seek(File* file, int32_t offset);
|
|
|
|
/**
|
|
* Writes data to a file as a hexadecimal array.
|
|
* @param file
|
|
* @param data
|
|
* @param data_size
|
|
* @return true on success write
|
|
*/
|
|
bool file_helper_write_hex(File* file, const uint8_t* data, const uint16_t data_size);
|
|
|
|
/**
|
|
* Reads data as a string from the stored rw pointer to the \\n symbol position. Ignores \r.
|
|
* @param file
|
|
* @param str_result
|
|
* @return true on success read
|
|
*/
|
|
bool file_helper_read_line(File* file, string_t str_result);
|
|
|
|
/**
|
|
* Moves the RW pointer to the beginning of the next line
|
|
* @param file
|
|
* @return bool
|
|
*/
|
|
bool file_helper_seek_to_next_line(File* file);
|
|
|
|
/**
|
|
* Read one value from array-like string (separated by ' ')
|
|
* @param file
|
|
* @param value
|
|
* @return bool
|
|
*/
|
|
bool file_helper_read_value(File* file, string_t value, bool* last);
|
|
|
|
/**
|
|
* Write helper
|
|
* @param file
|
|
* @param data
|
|
* @param data_size
|
|
* @return bool
|
|
*/
|
|
bool file_helper_write(File* file, const void* data, uint16_t data_size);
|
|
|
|
/**
|
|
* Write EOL
|
|
* @param file
|
|
* @return bool
|
|
*/
|
|
bool file_helper_write_eol(File* file);
|
|
|
|
/**
|
|
* Appends part of one file to the end of another file
|
|
* @param file_from
|
|
* @param file_to
|
|
* @param start_offset
|
|
* @param stop_offset
|
|
* @return bool
|
|
*/
|
|
bool file_helper_copy(File* file_from, File* file_to, uint64_t start_offset, uint64_t stop_offset);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif |