A file system object. More...
#include <FileSystem.h>
Public Member Functions | |
FileSystem (const char *name=NULL) | |
File system lifetime. More... | |
virtual int | mount (BlockDevice *bd)=0 |
Mount a file system to a block device. More... | |
virtual int | unmount ()=0 |
Unmount a file system from the underlying block device. More... | |
virtual int | reformat (BlockDevice *bd=NULL) |
Reformat a file system. More... | |
virtual int | remove (const char *path) |
Remove a file from the file system. More... | |
virtual int | rename (const char *path, const char *newpath) |
Rename a file in the file system. More... | |
virtual int | stat (const char *path, struct stat *st) |
Store information about the file in a stat structure. More... | |
virtual int | mkdir (const char *path, mode_t mode) |
Create a directory in the file system. More... | |
virtual int | statvfs (const char *path, struct statvfs *buf) |
Store information about the mounted file system in a statvfs structure. More... | |
FileHandle * | open (const char *path, int flags) |
Open a file on the filesystem. More... | |
DirHandle * | opendir (const char *path) |
Open a directory on the filesystem. More... | |
Static Public Member Functions | |
static FileSystem * | get_default_instance () |
Return the default file system. More... | |
Protected Member Functions | |
virtual int | open (FileHandle **file, const char *path, int flags) |
defined(DOXYGEN_ONLY) More... | |
virtual int | open (DirHandle **dir, const char *path) |
Open a directory on the filesystem. More... | |
A file system object.
Provides file system operations and file operations for the File and Dir classes on a block device.
Implementations must provide at minimum file operations and mount operations for block devices.
Definition at line 49 of file FileSystem.h.
FileSystem | ( | const char * | name = NULL | ) |
File system lifetime.
name | Name to add file system to tree as. |
|
static |
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().
|
virtual |
Create a directory in the file system.
path | The name of the directory to create. |
mode | The permissions with which to create the directory. |
Reimplemented from FileSystemHandle.
Reimplemented in LittleFileSystem, and FATFileSystem.
|
pure virtual |
Mount a file system to a block device.
bd | Block device to mount to. |
Implemented in LittleFileSystem, and FATFileSystem.
|
inherited |
Open a file on the filesystem.
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 |
int open(FileHandle **, ...)
for propagating error codes Definition at line 64 of file FileSystemLike.h.
|
protectedvirtual |
defined(DOXYGEN_ONLY)
Implements FileSystemHandle.
|
protectedvirtual |
Open a directory on the filesystem.
dir | Destination for the handle to the directory |
path | Name of the directory to open |
Reimplemented from FileSystemHandle.
|
inherited |
Open a directory on the filesystem.
path | Name of the directory to open |
int open(DirHandle **, ...)
for propagating error codes Definition at line 79 of file FileSystemLike.h.
|
virtual |
Reformat a file system.
Results in an empty and mounted file system.
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 |
Reimplemented in LittleFileSystem, and FATFileSystem.
|
virtual |
Remove a file from the file system.
path | The name of the file to remove. |
Reimplemented from FileSystemHandle.
Reimplemented in LittleFileSystem, and FATFileSystem.
|
virtual |
Rename a file in the file system.
path | The existing name of the file to rename. |
newpath | The new name of the file. |
Reimplemented from FileSystemHandle.
Reimplemented in LittleFileSystem, and FATFileSystem.
Store information about the file in a stat structure.
path | The name of the file to find information about. |
st | The stat buffer to write to. |
Reimplemented from FileSystemHandle.
Reimplemented in LittleFileSystem, and FATFileSystem.
Store information about the mounted file system in a statvfs structure.
path | The name of the file to find information about. |
buf | The stat buffer to write to. |
Reimplemented from FileSystemHandle.
Reimplemented in LittleFileSystem, and FATFileSystem.
|
pure virtual |
Unmount a file system from the underlying block device.
Implemented in LittleFileSystem, and FATFileSystem.