From cdb8d4971e88e20148e080df14e99726c4d413b3 Mon Sep 17 00:00:00 2001 From: batt Date: Wed, 5 Dec 2007 22:31:58 +0000 Subject: [PATCH] Change fcs to rotating_t; reformat. git-svn-id: https://src.develer.com/svnoss/bertos/trunk@1026 38d2e660-2303-0410-9eaa-f027e97ec537 --- fs/battfs.h | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/fs/battfs.h b/fs/battfs.h index 1048b66c..455b21ce 100644 --- a/fs/battfs.h +++ b/fs/battfs.h @@ -43,6 +43,7 @@ #include // uintXX_t; STATIC_ASSERT #include // CPU_BITS_PER_CHAR +#include typedef uint16_t fill_t; typedef fill_t pgaddr_t; @@ -50,7 +51,7 @@ typedef uint16_t pgoff_t; typedef pgoff_t mark_t; typedef uint8_t inode_t; typedef uint8_t seq_t; -typedef uint16_t fcs_t; +typedef rotating_t fcs_t; /** * BattFS page header. @@ -65,9 +66,21 @@ typedef struct BattFsPageHeader pgoff_t pgoff; ///< Page offset inside file. fill_t fill; ///< Filled bytes in page. uint16_t rfu; ///< Reserved for future use, 0xFFFF for now. - fcs_t fcs; ///< FCS (Frame Check Sequence) of the page header. + + /** + * FCS (Frame Check Sequence) of the page header. + * \note This field must be the last one! + * This is needed because if the page is only partially + * written, we can use this to detect it. + */ + fcs_t fcs; } BattFsPageHeader; +/** + * Max number of files. + */ +#define BATTFS_MAX_FILES (1 << (CPU_BITS_PER_CHAR * sizeof(inode_t))) + /* Ensure structure has no padding added */ STATIC_ASSERT(sizeof(BattFsPageHeader) == 12); @@ -148,11 +161,6 @@ typedef struct BattFsSuper /* TODO add other fields. */ } BattFsSuper; -/** - * Initialize and mount disk described by - * \a d. - * \return false on errors, true otherwise. - */ bool battfs_init(struct BattFsSuper *d); #endif /* FS_BATTFS_H */ -- 2.25.1