aboutsummaryrefslogtreecommitdiffstats
path: root/os/ex/subsystems/mfs/mfs.h
diff options
context:
space:
mode:
authorGiovanni Di Sirio <gdisirio@gmail.com>2016-06-12 09:01:42 +0000
committerGiovanni Di Sirio <gdisirio@gmail.com>2016-06-12 09:01:42 +0000
commit4379ef2278e497e348ab141982b57da72bd30e64 (patch)
treede3e30cee6d4458a7d99006b7d9c9559a2a0149c /os/ex/subsystems/mfs/mfs.h
parent82631a20b9b2860ce3e77cb995b283e879abb155 (diff)
downloadChibiOS-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.h36
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;