Feature Inclusion Configuration

Individual file system features may be selectively disabled.

FS_CFG_FILE_BUF_EN

FS_CFG_BUF_EN enables (when set to DEF_ENABLED) or disables (when set to DEF_DISABLED) code generation of file buffer functions. When disabled, the functions in the following table will not be available.

File buffer function exclusion
Function File
fs_fflush()fs_api.c
fs_setbuf()fs_api.c
fs_setvbuf()fs_api.c

FSFile_BufAssign()

fs_file.c
FSFile_BufFlush()fs_file.c

These functions are not included if FS_CFG_FILE_BUF_EN is DEF_DISABLED

FS_CFG_FILE_LOCK_EN

FS_CFG_FILE_LOCK_EN enables (when set to DEF_ENABLED) or disables (when set to DEF_DISABLED) code generation of file lock functions. When enabled, a file can be locked across several operations; when disabled, a file is only locked during a single operation and the functions in the following table will not be available.

File lock function exclusion
Function File
fs_flockfile()fs_api.c
fs_funlockfile()fs_api.c
fs_ftrylockfile()fs_api.c
FSFile_LockGet()fs_file.c
FSFile_LockSet()fs_file.c
FSFile_LockAccept()fs_file.c

These functions are not included if FS_CFG_FILE_LOCK_EN is DEF_DISABLED.

FS_CFG_PARTITION_EN

When FS_CFG_PARTITION_EN is enabled (DEF_ENABLED). volumes can be opened on secondary partitions and partitions can be created. When it is disabled (DEF_DISABLED), volumes can be opened only on the first partition and the functions in the following table will not be available. The function FSDev_PartitionInit(), which initializes the partition structure on a volume, will be included in both configurations.

Partition function exclusion
FunctionFile
FSDev_GetNbrPartitions()fs_dev.c
FSDev_PartitionAdd()fs_dev.c
FSDev_PartitionFind()fs_dev.c

These functions are not included if FS_CFG_PARTITION_EN is DEF_DISABLED.

FS_CFG_WORKING_DIR_EN

When FS_CFG_WORKING_DIR_EN is enabled (DEF_ENABLED), file system operations can be performed relative to a working directory. When it is disabled (DEF_DISABLED), all file system operations must be performed on absolute paths and the functions in the following table will not be available.

FunctionFile
fs_chdir()fs_api.c
fs_getcwd()fs_api.c
FS_WorkingDirGet()fs.h
FS_WorkingDirSet()fs.h

These functions are not included if FS_CFG_WORKING_DIR_EN is DEF_DISABLED.

FS_CFG_UTF8_EN

FS_CFG_UTF8_EN selects whether file names may be specified in UTF-8. When enabled (DEF_ENABLED), file names may be specified in UTF-8; when disabled (DEF_DISABLED), file names must be specified in ASCII.

FS_CFG_CONCURRENT_ENTRIES_ACCESS_EN

FS_CFG_CONCURRENT_ENTRIES_ACCESS_EN selects whether one file can be open multiple times (in one or more task). When enabled (DEF_ENABLED), files may be open concurrently multiple times and without protection. When disabled (DEF_DISABLED), files may be open concurrently only in read-only mode, but may not be open concurrently in write mode. This option makes the file system safer when disabled.

FS_CFG_RD_ONLY_EN

FS_CFG_RD_ONLY_EN selects whether write access to files, volumes and devices will be possible. When DEF_ENABLED, files, volumes and devices may only be read—code for write operations will not be included and the functions in the following table will not be available.

Read only function exclusion (continued)


FunctionFile
fs_fwrite()fs_api.c
fs_remove()fs_api.c
fs_rename()fs_api.c
fs_mkdir()fs_api.c
fs_truncate()fs_api.c
fs_rmdir()fs_api.c
FSDev_PartitionAdd()fs_dev.c
FSDev_PartitionInit()fs_dev.c
FSDev_Wr()fs_dev.c
FSEntry_AttribSet()fs_entry.c
FSEntry_Copy()fs_entry.c
FSEntry_Create()fs_entry.c
FSEntry_TimeSet()fs_entry.c
FSEntry_Del()fs_entry.c
FSEntry_Rename()fs_entry.c
FSFile_Truncate()fs_file.c
FSFile_Wr()fs_file.c
FSVol_Fmt()fs_vol.c
FSVol_LabelSet()fs_vol.c
FSVol_Wr()fs_vol.c

These functions are not included if FS_CFG_RD_ONLY_EN is DEF_ENABLED.

FS_CFG_64_BITS_LBA_EN

FS_CFG_64_BIT_LBA_EN selects whether support for 64 logical block addressing (LBA) is enabled. When DEF_ENABLED support 64-bit LBA will be included otherwise LBA will be limited to 32 bit. Applications that need support for 48-bit LBA should set this feature to DEF_ENABLED.