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.
Function | File |
---|---|
fs_fflush() | fs_api.c |
fs_setbuf() | fs_api.c |
fs_setvbuf() | fs_api.c |
| 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.
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.
Function | File |
---|---|
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.
Function | File |
---|---|
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.
Function | File |
---|---|
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
.