diff options
author | Giovanni Di Sirio <gdisirio@gmail.com> | 2016-06-12 09:01:42 +0000 |
---|---|---|
committer | Giovanni Di Sirio <gdisirio@gmail.com> | 2016-06-12 09:01:42 +0000 |
commit | 4379ef2278e497e348ab141982b57da72bd30e64 (patch) | |
tree | de3e30cee6d4458a7d99006b7d9c9559a2a0149c /os/ex/subsystems/mfs/mfs.h | |
parent | 82631a20b9b2860ce3e77cb995b283e879abb155 (diff) | |
download | ChibiOS-4379ef2278e497e348ab141982b57da72bd30e64.tar.gz ChibiOS-4379ef2278e497e348ab141982b57da72bd30e64.tar.bz2 ChibiOS-4379ef2278e497e348ab141982b57da72bd30e64.zip |
More MFS code.
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@9621 35acf78f-673a-0410-8e92-d51de3d6d3f4
Diffstat (limited to 'os/ex/subsystems/mfs/mfs.h')
-rw-r--r-- | os/ex/subsystems/mfs/mfs.h | 36 |
1 files changed, 14 insertions, 22 deletions
diff --git a/os/ex/subsystems/mfs/mfs.h b/os/ex/subsystems/mfs/mfs.h index 152efd449..988b28082 100644 --- a/os/ex/subsystems/mfs/mfs.h +++ b/os/ex/subsystems/mfs/mfs.h @@ -36,7 +36,6 @@ #define MFS_BANK_MAGIC_0 0xEC705ADEU #define MFS_BANK_MAGIC_1 0xF0339CC5U #define MFS_HEADER_MAGIC 0x5FAEU -#define MFS_FOOTER_MAGIC 0xEAF5U /*===========================================================================*/ /* Driver pre-compile time settings. */ @@ -157,35 +156,24 @@ typedef struct { /** * @brief Data header magic. */ - uint16_t magic; + uint16_t magic; /** - * @brief Data identifier. - */ - uint32_t id; - /** - * @brief Data size for forward scan. + * @brief Data CRC. */ - uint32_t size; -} mfs_data_header_t; - -/** - * @brief Type of a data block footer. - * @details This structure is placed after each written data block. - */ -typedef struct { + uint16_t crc; /** - * @brief Data size for backward scan. + * @brief Data identifier. */ - uint32_t size; + uint32_t id; /** - * @brief Data CRC. + * @brief Data size for forward scan. */ - uint16_t crc; + uint32_t size; /** - * @brief Data footer magic. + * @brief Address of the previous header or zero if none. */ - uint16_t magic; -} mfs_data_footer_t; + flash_address_t prev_header; +} mfs_data_header_t; #if (MFS_CFG_ID_CACHE_SIZE > 0) || defined(__DOXYGEN__) /** @@ -282,6 +270,10 @@ typedef struct { */ flash_address_t next_position; /** + * @brief Pointer to the last header in the list or zero. + */ + flash_address_t last_header; + /** * @brief Used space in the current bank without considering erased records. */ uint32_t used_space; |