#
# For a description of the syntax of this configuration file,
# see the file kconfig-language.txt in the NuttX tools repository.
#

config FS_SMARTFS
	bool "SMART file system"
	default n
	depends on !DISABLE_MOUNTPOINT
	select FS_READABLE
	select FS_WRITABLE
	---help---
		Enable NuttX SMART Flash file system (SMARTFS) support.

if FS_SMARTFS
config SMARTFS_ERASEDSTATE
	hex "FLASH erased state"
	default 0xff
	---help---
		The erased state of FLASH.
		This must have one of the values of 0xff or 0x00.
		Default: 0xff.

config SMARTFS_MAXNAMLEN
	int "Maximum file name length"
	default 16
	---help---	
		The maximum size of a SMARTFS file name at a given
		directory level.  Overall path name is not restricted
		by this value, only individual segments in a path,
		such as (assuming /usr is the mount point):

			/usr/games/chess/player_stats/game1.xml

		Default: 16.

config SMARTFS_MULTI_ROOT_DIRS
	bool "Support multiple Root Directories / Mount Points"
	default n
	---help---
		Enables support for multiple root directory entries
		on the SMART FLASH.  Multiple root directories means
		the device can have multiple mount point in the VFS,
		each with it's own unique directory structure under it.

		When this option is enabled, instead of reporting the
		SMART block devices as "/dev/mtdsmart0", they will be
		reported as "/dev/mtdsmart0d1", "/dev/mtdsmart0d2", etc.
		The number of root entries actually created is set
		during the "mksmartfs" command when the device is
		initialized.

		Default: y.

config SMARTFS_ALIGNED_ACCESS
	bool "Ensure 16 and 32 bit accesses are aligned"
	default n
	---help---
		Performs little endian byte accesses to 16 and 32 values
		within the directory list to ensure processors that can't
		handle un-aligned accesses don't bomb out.  Default should
		probably by 'Y', but set to 'N' in case any existing Big
		Endian instances of SmartFS exist that already have
		directories with data stored in big endian mode.

endif
