Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependents: TYBLE16_simple_data_logger TYBLE16_MP3_Air
FATFileSystem Class Reference
FAT file system based on ChaN's FAT file system library v0.8. More...
#include <FATFileSystem.h>
Inherits mbed::FileSystem.
Public Member Functions | |
| FATFileSystem (const char *name=NULL, BlockDevice *bd=NULL) | |
| Lifetime of the FAT file system. | |
| virtual int | mount (BlockDevice *bd) |
| Mount a file system to a block device. | |
| virtual int | unmount () |
| Unmount a file system from the underlying block device. | |
| virtual int | reformat (BlockDevice *bd, int allocation_unit) |
| Reformat a file system, results in an empty and mounted file system. | |
| virtual int | reformat (BlockDevice *bd=NULL) |
| Reformat a file system, results in an empty and mounted file system. | |
| virtual int | remove (const char *path) |
| Remove a file from the file system. | |
| virtual int | rename (const char *path, const char *newpath) |
| Rename a file in the file system. | |
| virtual int | stat (const char *path, struct stat *st) |
| Store information about the file in a stat structure. | |
| virtual int | mkdir (const char *path, mode_t mode) |
| Create a directory in the file system. | |
| virtual int | statvfs (const char *path, struct statvfs *buf) |
| Store information about the mounted file system in a statvfs structure. | |
| MBED_DEPRECATED_SINCE ("mbed-os-5.5","Replaced by `int open(FileHandle **, ...)` for propagating error codes") FileHandle *open(const char *path | |
| Open a file on the filesystem. | |
Static Public Member Functions | |
| static int | format (BlockDevice *bd, bd_size_t cluster_size=0) |
| Format a logical drive, FDISK partitioning rule. | |
| static FileSystem * | get_default_instance () |
| Return the default file system. | |
Protected Member Functions | |
| virtual int | file_open (fs_file_t *file, const char *path, int flags) |
| Open a file on the file system. | |
| virtual int | file_close (fs_file_t file) |
| Close a file. | |
| virtual ssize_t | file_read (fs_file_t file, void *buffer, size_t len) |
| Read the contents of a file into a buffer. | |
| virtual ssize_t | file_write (fs_file_t file, const void *buffer, size_t len) |
| Write the contents of a buffer to a file. | |
| virtual int | file_sync (fs_file_t file) |
| Flush any buffers associated with the file. | |
| virtual off_t | file_seek (fs_file_t file, off_t offset, int whence) |
| Move the file position to a given offset from a given location. | |
| virtual off_t | file_tell (fs_file_t file) |
| Get the file position of the file. | |
| virtual off_t | file_size (fs_file_t file) |
| Get the size of the file. | |
| virtual int | file_truncate (mbed::fs_file_t file, off_t length) |
| Truncate or extend a file. | |
| virtual int | dir_open (fs_dir_t *dir, const char *path) |
| Open a directory on the file system. | |
| virtual int | dir_close (fs_dir_t dir) |
| Close a directory. | |
| virtual ssize_t | dir_read (fs_dir_t dir, struct dirent *ent) |
| Read the next directory entry. | |
| virtual void | dir_seek (fs_dir_t dir, off_t offset) |
| Set the current position of the directory. | |
| virtual off_t | dir_tell (fs_dir_t dir) |
| Get the current position of the directory. | |
| virtual void | dir_rewind (fs_dir_t dir) |
| Rewind the current position to the beginning of the directory. | |
| virtual int | file_isatty (fs_file_t file) |
| Check whether the file is an interactive terminal device. | |
| virtual void | file_rewind (fs_file_t file) |
| Rewind the file position to the beginning of the file. | |
| virtual size_t | dir_size (fs_dir_t dir) |
| Get the size of the directory. | |
| virtual int | open (FileHandle **file, const char *path, int flags) |
| Open a file on the filesystem. | |
| virtual int | open (DirHandle **dir, const char *path) |
| Open a directory on the filesystem. | |
| MBED_DEPRECATED ("Invalid copy construction of a NonCopyable resource.") NonCopyable(const NonCopyable &) | |
| NonCopyable copy constructor. | |
| MBED_DEPRECATED ("Invalid copy assignment of a NonCopyable resource.") NonCopyable &operator | |
| NonCopyable copy assignment operator. | |
Detailed Description
FAT file system based on ChaN's FAT file system library v0.8.
Synchronization level: Thread safe
Definition at line 43 of file FATFileSystem.h.
Constructor & Destructor Documentation
| FATFileSystem | ( | const char * | name = NULL, |
| BlockDevice * | bd = NULL |
||
| ) |
Lifetime of the FAT file system.
- Parameters:
-
name Name of the file system in the tree. bd Block device to mount. Mounted immediately if not NULL.
Definition at line 283 of file FATFileSystem.cpp.
Member Function Documentation
| int dir_close | ( | fs_dir_t | dir ) | [protected, virtual] |
Close a directory.
- Parameters:
-
dir Dir handle.
- Returns:
- 0 on success, negative error code on failure.
Reimplemented from FileSystem.
Definition at line 774 of file FATFileSystem.cpp.
| int dir_open | ( | fs_dir_t * | dir, |
| const char * | path | ||
| ) | [protected, virtual] |
Open a directory on the file system.
- Parameters:
-
dir Destination for the handle to the directory. path Name of the directory to open.
- Returns:
- 0 on success, negative error code on failure.
Reimplemented from FileSystem.
Definition at line 755 of file FATFileSystem.cpp.
| ssize_t dir_read | ( | fs_dir_t | dir, |
| struct dirent * | ent | ||
| ) | [protected, virtual] |
Read the next directory entry.
- Parameters:
-
dir Dir handle. ent The directory entry to fill out.
- Returns:
- 1 on reading a filename, 0 at the end of the directory, negative error on failure.
Reimplemented from FileSystem.
Definition at line 786 of file FATFileSystem.cpp.
| void dir_rewind | ( | fs_dir_t | dir ) | [protected, virtual] |
Rewind the current position to the beginning of the directory.
- Parameters:
-
dir Dir handle.
Reimplemented from FileSystem.
Definition at line 851 of file FATFileSystem.cpp.
| void dir_seek | ( | fs_dir_t | dir, |
| off_t | offset | ||
| ) | [protected, virtual] |
Set the current position of the directory.
- Parameters:
-
dir Dir handle. offset Offset of the location to seek to. Must be a value returned by dir_tell.
Reimplemented from FileSystem.
Definition at line 815 of file FATFileSystem.cpp.
| size_t dir_size | ( | fs_dir_t | dir ) | [protected, virtual, inherited] |
Get the size of the directory.
- Parameters:
-
dir Dir handle.
- Returns:
- Number of files in the directory.
Definition at line 122 of file FileSystem.cpp.
| off_t dir_tell | ( | fs_dir_t | dir ) | [protected, virtual] |
Get the current position of the directory.
- Parameters:
-
dir Dir handle.
- Returns:
- Directory position, which can be passed to dir_rewind.
Reimplemented from FileSystem.
Definition at line 840 of file FATFileSystem.cpp.
| int file_close | ( | fs_file_t | file ) | [protected, virtual] |
Close a file.
- Parameters:
-
file File handle.
- Returns:
- 0 on success, negative error code on failure.
Implements FileSystem.
Definition at line 617 of file FATFileSystem.cpp.
| int file_isatty | ( | fs_file_t | file ) | [protected, virtual, inherited] |
Check whether the file is an interactive terminal device.
If so, line buffered behavior is used by default.
- Parameters:
-
file File handle.
- Returns:
- True if the file is a terminal.
Definition at line 64 of file FileSystem.cpp.
| int file_open | ( | fs_file_t * | file, |
| const char * | path, | ||
| int | flags | ||
| ) | [protected, virtual] |
Open a file on the file system.
- Parameters:
-
file Destination for the handle to a newly created file. path The name of the file to open. flags The flags that trigger opening of the file. These flags are O_RDONLY, O_WRONLY, and O_RDWR, with an O_CREAT, O_TRUNC, or O_APPEND bitwise OR operator.
- Returns:
- 0 on success, negative error code on failure.
Implements FileSystem.
Definition at line 572 of file FATFileSystem.cpp.
| ssize_t file_read | ( | fs_file_t | file, |
| void * | buffer, | ||
| size_t | len | ||
| ) | [protected, virtual] |
Read the contents of a file into a buffer.
- Parameters:
-
file File handle. buffer The buffer to read into. len The number of bytes to read.
- Returns:
- The number of bytes read; 0 at the end of the file, negative error on failure.
Implements FileSystem.
Definition at line 629 of file FATFileSystem.cpp.
| void file_rewind | ( | fs_file_t | file ) | [protected, virtual, inherited] |
Rewind the file position to the beginning of the file.
- Parameters:
-
file File handle.
- Note:
- This is equivalent to file_seek(file, 0, FS_SEEK_SET)
Definition at line 74 of file FileSystem.cpp.
| off_t file_seek | ( | fs_file_t | file, |
| off_t | offset, | ||
| int | whence | ||
| ) | [protected, virtual] |
Move the file position to a given offset from a given location.
- Parameters:
-
file File handle. offset The offset from whence to move to. whence The start of where to seek. SEEK_SET to start from the beginning of the file, SEEK_CUR to start from the current position in the file, SEEK_END to start from the end of the file.
- Returns:
- The new offset of the file.
Implements FileSystem.
Definition at line 677 of file FATFileSystem.cpp.
| off_t file_size | ( | fs_file_t | file ) | [protected, virtual] |
Get the size of the file.
- Parameters:
-
file File handle.
- Returns:
- Size of the file in bytes.
Reimplemented from FileSystem.
Definition at line 711 of file FATFileSystem.cpp.
| int file_sync | ( | fs_file_t | file ) | [protected, virtual] |
Flush any buffers associated with the file.
- Parameters:
-
file File handle.
- Returns:
- 0 on success, negative error code on failure.
Reimplemented from FileSystem.
Definition at line 663 of file FATFileSystem.cpp.
| off_t file_tell | ( | fs_file_t | file ) | [protected, virtual] |
Get the file position of the file.
- Parameters:
-
file File handle.
- Returns:
- The current offset in the file.
Reimplemented from FileSystem.
Definition at line 700 of file FATFileSystem.cpp.
| int file_truncate | ( | mbed::fs_file_t | file, |
| off_t | length | ||
| ) | [protected, virtual] |
Truncate or extend a file.
The file's length is set to the specified value. The seek pointer is not changed. If the file is extended, the extended area appears as if it were zero-filled.
- Parameters:
-
file File handle. length The requested new length for the file.
- Returns:
- 0 on success, negative error code on failure.
Reimplemented from FileSystem.
Definition at line 722 of file FATFileSystem.cpp.
| ssize_t file_write | ( | fs_file_t | file, |
| const void * | buffer, | ||
| size_t | len | ||
| ) | [protected, virtual] |
Write the contents of a buffer to a file.
- Parameters:
-
file File handle. buffer The buffer to write from. len The number of bytes to write.
- Returns:
- The number of bytes written, negative error on failure.
Implements FileSystem.
Definition at line 646 of file FATFileSystem.cpp.
| int format | ( | BlockDevice * | bd, |
| bd_size_t | cluster_size = 0 |
||
| ) | [static] |
Format a logical drive, FDISK partitioning rule.
The block device to format should be mounted when this function is called.
- Parameters:
-
bd This is the block device that will be formatted. cluster_size This is the number of bytes per cluster. A larger cluster size decreases the overhead of the FAT table, but also increases the minimum file size. The cluster size must be a multiple of the underlying device's allocation unit and is currently limited to a max of 32,768 bytes. If the cluster size is set to zero, a cluster size is determined from the device's allocation unit. Defaults to zero.
- Returns:
- 0 on success, negative error code on failure.
Definition at line 346 of file FATFileSystem.cpp.
| MBED_WEAK FileSystem * get_default_instance | ( | ) | [static, inherited] |
Return the default file system.
Returns the default file system based on the default block device configuration. Use the components in target.json or application config to change the default block device and affect the default filesystem. SD block device => FAT filesystem QSPIF, SPIF, DATAFLASH or FLAHIAP block device => LITTLE filesystem
An application can override all target settings by implementing FileSystem::get_default_instance() - the default definition is weak, and calls get_target_default_instance().
Definition at line 172 of file SystemStorage.cpp.
| MBED_DEPRECATED | ( | "Invalid copy construction of a NonCopyable< FileBase > resource." | ) | const [protected, inherited] |
NonCopyable copy constructor.
A compile time warning is issued when this function is used, and a runtime warning is printed when the copy construction of the noncopyable happens.
If you see this warning, your code is probably doing something unspecified. Copying of noncopyable resources can lead to resource leak and random error.
Definition at line 191 of file NonCopyable.h.
| MBED_DEPRECATED | ( | "Invalid copy assignment of a NonCopyable< FileBase > resource." | ) | [protected, inherited] |
NonCopyable copy assignment operator.
A compile time warning is issued when this function is used, and a runtime warning is printed when the copy construction of the noncopyable happens.
If you see this warning, your code is probably doing something unspecified. Copying of noncopyable resources can lead to resource leak and random error.
| MBED_DEPRECATED_SINCE | ( | "mbed-os-5.5" | , |
| "Replaced by `int open(FileHandle **, ...)` for propagating error codes" | |||
| ) | const [inherited] |
Open a file on the filesystem.
- Parameters:
-
path The name of the file to open flags The flags to open the file in, one of O_RDONLY, O_WRONLY, O_RDWR, bitwise or'd with one of O_CREAT, O_TRUNC, O_APPEND
- Returns:
- A file handle on success, NULL on failure
| int mkdir | ( | const char * | path, |
| mode_t | mode | ||
| ) | [virtual] |
Create a directory in the file system.
- Parameters:
-
path The name of the directory to create. mode The permissions with which to create the directory.
- Returns:
- 0 on success, negative error code on failure.
Reimplemented from FileSystem.
Definition at line 492 of file FATFileSystem.cpp.
| int mount | ( | BlockDevice * | bd ) | [virtual] |
Mount a file system to a block device.
- Parameters:
-
bd Block device to mount to.
- Returns:
- 0 on success, negative error code on failure.
Implements FileSystem.
Definition at line 297 of file FATFileSystem.cpp.
| int open | ( | FileHandle ** | file, |
| const char * | filename, | ||
| int | flags | ||
| ) | [protected, virtual, inherited] |
Open a file on the filesystem.
- Parameters:
-
file Destination for the handle to a newly created file filename The name of the file to open flags The flags to open the file in, one of O_RDONLY, O_WRONLY, O_RDWR, bitwise or'd with one of O_CREAT, O_TRUNC, O_APPEND
- Returns:
- 0 on success, negative error code on failure
Implements FileSystemHandle.
Definition at line 155 of file FileSystem.cpp.
| int open | ( | DirHandle ** | dir, |
| const char * | path | ||
| ) | [protected, virtual, inherited] |
Open a directory on the filesystem.
- Parameters:
-
dir Destination for the handle to the directory path Name of the directory to open
- Returns:
- 0 on success, negative error code on failure
Reimplemented from FileSystemHandle.
Definition at line 168 of file FileSystem.cpp.
| int reformat | ( | BlockDevice * | bd, |
| int | allocation_unit | ||
| ) | [virtual] |
Reformat a file system, results in an empty and mounted file system.
- Parameters:
-
bd Block device to reformat and mount. If NULL, the mounted Block device is used. Note: If mount fails, bd must be provided. Default: NULL allocation_unit This is the number of bytes per cluster size. The valid value is N times the sector size. N is a power of 2, from 1 to 128, for the FAT volume, and up to 16MiB for the exFAT volume. If zero is given, the default allocation unit size is selected by the underlying file system, which depends on the volume size.
- Returns:
- 0 on success, negative error code on failure.
Definition at line 429 of file FATFileSystem.cpp.
| virtual int reformat | ( | BlockDevice * | bd = NULL ) |
[virtual] |
Reformat a file system, results in an empty and mounted file system.
- Parameters:
-
bd Block device to reformat and mount. If NULL, the mounted Block device is used. Note: If mount fails, bd must be provided. Default: NULL
- Returns:
- 0 on success, negative error code on failure.
Reimplemented from FileSystem.
Definition at line 111 of file FATFileSystem.h.
| int remove | ( | const char * | path ) | [virtual] |
Remove a file from the file system.
- Parameters:
-
path The name of the file to remove.
- Returns:
- 0 on success, negative error code on failure.
Reimplemented from FileSystem.
Definition at line 460 of file FATFileSystem.cpp.
| int rename | ( | const char * | path, |
| const char * | newpath | ||
| ) | [virtual] |
Rename a file in the file system.
- Parameters:
-
path The current name of the file to rename. newpath The new name of the file.
- Returns:
- 0 on success, negative error code on failure.
Reimplemented from FileSystem.
Definition at line 477 of file FATFileSystem.cpp.
| int stat | ( | const char * | path, |
| struct stat * | st | ||
| ) | [virtual] |
Store information about the file in a stat structure.
- Parameters:
-
path The name of the file to store information about. st The stat buffer to write to.
- Returns:
- 0 on success, negative error code on failure.
Reimplemented from FileSystem.
Definition at line 506 of file FATFileSystem.cpp.
| int statvfs | ( | const char * | path, |
| struct statvfs * | buf | ||
| ) | [virtual] |
Store information about the mounted file system in a statvfs structure.
- Parameters:
-
path The name of the file to store information about. buf The stat buffer to write to.
- Returns:
- 0 on success, negative error code on failure.
Reimplemented from FileSystem.
Definition at line 531 of file FATFileSystem.cpp.
| int unmount | ( | ) | [virtual] |
Unmount a file system from the underlying block device.
- Returns:
- 0 on success, negative error code on failure.
Implements FileSystem.
Definition at line 329 of file FATFileSystem.cpp.
Generated on Tue Jul 12 2022 13:55:43 by
1.7.2