X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=lwext4%2Fext4_config.h;h=65c8e102e363eb6183985f4982f283df4f2966d1;hb=edcd44595bcb730d60d0e0cbd6c4ede76cd2f2c7;hp=2f103c0af8d696cd37029f605c1635560da8e256;hpb=14dd317f2a50e0ef02aa811f5d3311e879b8e19a;p=lwext4.git diff --git a/lwext4/ext4_config.h b/lwext4/ext4_config.h index 2f103c0..65c8e10 100644 --- a/lwext4/ext4_config.h +++ b/lwext4/ext4_config.h @@ -41,54 +41,105 @@ #include #endif +/*****************************************************************************/ -/**@brief Enable directory indexing feature (EXT3 feature)*/ -#ifndef CONFIG_DIR_INDEX_ENABLE -#define CONFIG_DIR_INDEX_ENABLE 1 +#define F_SET_EXT2 2 +#define F_SET_EXT3 3 +#define F_SET_EXT4 4 + +#ifndef CONFIG_EXT_FEATURE_SET_LVL +#define CONFIG_EXT_FEATURE_SET_LVL F_SET_EXT4 #endif -/**@brief Enable extents feature (EXT4 feature)*/ -#ifndef CONFIG_EXTENT_ENABLE -#define CONFIG_EXTENT_ENABLE 1 +/*****************************************************************************/ + +#if CONFIG_EXT_FEATURE_SET_LVL == F_SET_EXT2 +#define CONFIG_DIR_INDEX_ENABLE 0 +#define CONFIG_EXTENT_ENABLE 0 + +/*Superblock features flag*/ +#define CONFIG_FEATURE_COMPAT_SUPP EXT2_FEATURE_COMPAT_SUPP + +#define CONFIG_FEATURE_INCOMPAT_SUPP \ + (EXT2_FEATURE_INCOMPAT_SUPP | FEATURE_INCOMPAT_IGNORED) + +#define CONFIG_FEATURE_RO_COMPAT_SUPP EXT2_FEATURE_RO_COMPAT_SUPP +#elif CONFIG_EXT_FEATURE_SET_LVL == F_SET_EXT3 +#define CONFIG_DIR_INDEX_ENABLE 1 +#define CONFIG_EXTENT_ENABLE 0 + +/*Superblock features flag*/ +#define CONFIG_FEATURE_COMPAT_SUPP EXT3_FEATURE_COMPAT_SUPP + +#define CONFIG_FEATURE_INCOMPAT_SUPP \ + (EXT3_FEATURE_INCOMPAT_SUPP | FEATURE_INCOMPAT_IGNORED) + +#define CONFIG_FEATURE_RO_COMPAT_SUPP EXT3_FEATURE_RO_COMPAT_SUPP +#elif CONFIG_EXT_FEATURE_SET_LVL == F_SET_EXT4 +#define CONFIG_DIR_INDEX_ENABLE 1 +#define CONFIG_EXTENT_ENABLE 1 + +/*Superblock features flag*/ +#define CONFIG_FEATURE_COMPAT_SUPP EXT4_FEATURE_COMPAT_SUPP + +#define CONFIG_FEATURE_INCOMPAT_SUPP \ + (EXT4_FEATURE_INCOMPAT_SUPP | FEATURE_INCOMPAT_IGNORED) + +#define CONFIG_FEATURE_RO_COMPAT_SUPP EXT4_FEATURE_RO_COMPAT_SUPP +#else +#define "Unsupported CONFIG_EXT_FEATURE_SET_LVL" #endif +/*****************************************************************************/ +/**@brief Enable directory indexing comb sort*/ +#ifndef CONFIG_DIR_INDEX_COMB_SORT +#define CONFIG_DIR_INDEX_COMB_SORT 1 +#endif -/**@brief Include error codes from ext4_errno or sandard library.*/ +/**@brief Include error codes from ext4_errno or standard library.*/ #ifndef CONFIG_HAVE_OWN_ERRNO -#define CONFIG_HAVE_OWN_ERRNO 1 +#define CONFIG_HAVE_OWN_ERRNO 1 #endif - -/**@brief Debug printf enable (stdout)*/ +/**@brief Debug printf enable (stdout)*/ #ifndef CONFIG_DEBUG_PRINTF -#define CONFIG_DEBUG_PRINTF 1 +#define CONFIG_DEBUG_PRINTF 1 #endif -/**@brief Assert printf enable (stdout)*/ +/**@brief Assert printf enable (stdout)*/ #ifndef CONFIG_DEBUG_ASSERT -#define CONFIG_DEBUG_ASSERT 1 +#define CONFIG_DEBUG_ASSERT 1 #endif -/**@brief Statistics of block device*/ +/**@brief Include assert codes from ext4_debug or standard library.*/ +#ifndef CONFIG_HAVE_OWN_ASSERT +#define CONFIG_HAVE_OWN_ASSERT 1 +#endif + +/**@brief Statistics of block device*/ #ifndef CONFIG_BLOCK_DEV_ENABLE_STATS -#define CONFIG_BLOCK_DEV_ENABLE_STATS 1 +#define CONFIG_BLOCK_DEV_ENABLE_STATS 1 #endif -/**@brief Cache size of block device.*/ +/**@brief Cache size of block device.*/ #ifndef CONFIG_BLOCK_DEV_CACHE_SIZE -#define CONFIG_BLOCK_DEV_CACHE_SIZE 8 +#define CONFIG_BLOCK_DEV_CACHE_SIZE 8 #endif - -/**@brief Ilosc urzadzen blokowych.*/ +/**@brief Maximum block device count*/ #ifndef CONFIG_EXT4_BLOCKDEVS_COUNT -#define CONFIG_EXT4_BLOCKDEVS_COUNT 2 +#define CONFIG_EXT4_BLOCKDEVS_COUNT 2 #endif -/**@brief Ilosc punktow montowania systemu plikow*/ +/**@brief Maximum mountpoint count*/ #ifndef CONFIG_EXT4_MOUNTPOINTS_COUNT -#define CONFIG_EXT4_MOUNTPOINTS_COUNT 2 +#define CONFIG_EXT4_MOUNTPOINTS_COUNT 2 +#endif + +/**@brief Include open flags from ext4_errno or standard library.*/ +#ifndef CONFIG_HAVE_OWN_OFLAGS +#define CONFIG_HAVE_OWN_OFLAGS 0 #endif #endif /* EXT4_CONFIG_H_ */