/*****************************************************************************/
-#define F_SET_EXT2 2
-#define F_SET_EXT3 3
-#define F_SET_EXT4 4
+#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
+#define CONFIG_EXT_FEATURE_SET_LVL F_SET_EXT4
#endif
/*****************************************************************************/
#if CONFIG_EXT_FEATURE_SET_LVL == F_SET_EXT2
- #define CONFIG_DIR_INDEX_ENABLE 0
- #define CONFIG_EXTENT_ENABLE 0
+/*Superblock features flag EXT2*/
+#define CONFIG_SUPPORTED_FCOM EXT2_SUPPORTED_FCOM
+#define CONFIG_SUPPORTED_FINCOM (EXT2_SUPPORTED_FINCOM | EXT_FINCOM_IGNORED)
+#define CONFIG_SUPPORTED_FRO_COM EXT2_SUPPORTED_FRO_COM
- /*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
+/*Superblock features flag EXT3*/
+#define CONFIG_SUPPORTED_FCOM EXT3_SUPPORTED_FCOM
+#define CONFIG_SUPPORTED_FINCOM (EXT3_SUPPORTED_FINCOM | EXT_FINCOM_IGNORED)
+#define CONFIG_SUPPORTED_FRO_COM EXT3_SUPPORTED_FRO_COM
#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
+/*Superblock features flag EXT4*/
+#define CONFIG_SUPPORTED_FCOM EXT4_SUPPORTED_FCOM
+#define CONFIG_SUPPORTED_FINCOM (EXT4_SUPPORTED_FINCOM | EXT_FINCOM_IGNORED)
+#define CONFIG_SUPPORTED_FRO_COM EXT4_SUPPORTED_FRO_COM
#else
#define "Unsupported CONFIG_EXT_FEATURE_SET_LVL"
#endif
+#define CONFIG_DIR_INDEX_ENABLE (CONFIG_SUPPORTED_FCOM & EXT4_FCOM_DIR_INDEX)
+#define CONFIG_EXTENT_ENABLE (CONFIG_SUPPORTED_FINCOM & EXT4_FINCOM_EXTENTS)
/*****************************************************************************/
/**@brief Enable directory indexing comb sort*/
#ifndef CONFIG_DIR_INDEX_COMB_SORT
-#define CONFIG_DIR_INDEX_COMB_SORT 1
+#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)*/
#ifndef CONFIG_DEBUG_PRINTF
-#define CONFIG_DEBUG_PRINTF 1
+#define CONFIG_DEBUG_PRINTF 1
#endif
/**@brief Assert printf enable (stdout)*/
#ifndef CONFIG_DEBUG_ASSERT
-#define CONFIG_DEBUG_ASSERT 1
+#define CONFIG_DEBUG_ASSERT 1
+#endif
+
+/**@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.*/
#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
+
+/**@brief Use full extent implemrntation*/
+#ifndef CONFIG_EXTENT_FULL
+#define CONFIG_EXTENT_FULL 1
+#endif
+
+#ifdef __GNUC__
+#ifndef __unused
+#define __unused __attribute__ ((__unused__))
+#endif
+#endif
+
+#ifndef ext4_offsetof
+#define ext4_offsetof(type, field) \
+ ((long)(&(((type *)0)->field)))
#endif
#endif /* EXT4_CONFIG_H_ */