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

config FS_FAT
	bool "FAT file system"
	default n
	depends on !DISABLE_MOUNTPOINT
	select FS_READABLE
	select FS_WRITABLE
	---help---
		Enable FAT filesystem support

if FS_FAT
config FAT_LCNAMES
	bool "FAT upper/lower names"
	default n
	---help---
		Enable use of the NT-style upper/lower case 8.3
		file name support.

config FAT_LFN
	bool "FAT long file names"
	default n
	---help---
		Enable FAT long file names.  NOTE:  Microsoft claims
		patents on FAT long file name technology.  Please read the
		disclaimer in the top-level COPYING file and only enable this
		feature if you understand these issues.

config FAT_MAXFNAME
	int "FAT maximum file name size"
	depends on FAT_LFN
	default 32
	---help---
		If FAT_LFN is defined, then the default, maximum long file
		name is 255 bytes.  This can eat up a lot of memory (especially stack
		space).  If you are willing to live with some non-standard, short long
		file names, then define this value to be something more reasonable.  A
		good choice would be the same value as selected for NAME_MAX which will
		limit the visibility of longer file names anyway.

config FS_FATTIME
	bool "FAT timestamps"
	default n
	---help---
		Support FAT date and time. NOTE:  There is not
		much sense in supporting FAT date and time unless you have a
		hardware RTC or other way to get the time and date.

config FAT_DMAMEMORY
	bool "DMA memory allocator"
	default n
	---help---
		The FAT file system allocates two I/O buffers for data transfer, each
		are the size of one device sector.  One of the buffers is allocated
		once for each FAT volume that is mounted; the other buffers are
		allocated each time a FAT file is opened.

		Some hardware, however, may require special DMA-capable memory in
		order to perform the transfers.  If FAT_DMAMEMORY is defined
		then the architecture-specific hardware must provide the functions
		fat_dma_alloc() and fat_dma_free():  fat_dmalloc() will allocate
		DMA-capable memory of the specified size; fat_dmafree() is the
		corresponding function that will be called to free the DMA-capable
		memory.

endif
