File system class. More...
#include <cmsis-plus/posix-io/file-system.h>
Public Member Functions | |
Constructors & Destructor | |
file_system (file_system_impl &impl, const char *name) | |
virtual | ~file_system () |
Public Member Functions | |
using | deferred_files_list_t = utils::intrusive_list< file, utils::double_list_links, &file::deferred_links_ > |
using | deferred_directories_list_t = utils::intrusive_list< directory, utils::double_list_links, &directory::deferred_links_ > |
int | mkfs (int options,...) |
virtual int | vmkfs (int options, std::va_list args) |
int | mount (const char *path=nullptr, unsigned int flags=0,...) |
virtual int | vmount (const char *path, unsigned int flags, std::va_list args) |
Mount file system. | |
virtual int | umount (int unsigned flags=0) |
Unmount file system. | |
file * | open (const char *path=nullptr, int oflag=0,...) |
virtual file * | vopen (const char *path, int oflag, std::va_list args) |
virtual directory * | opendir (const char *dirpath) |
virtual int | mkdir (const char *path, mode_t mode) |
virtual int | rmdir (const char *path) |
virtual void | sync (void) |
virtual int | chmod (const char *path, mode_t mode) |
virtual int | stat (const char *path, struct stat *buf) |
virtual int | truncate (const char *path, off_t length) |
virtual int | rename (const char *existing, const char *_new) |
virtual int | unlink (const char *path) |
virtual int | utime (const char *path, const utimbuf *times) |
virtual int | statvfs (struct statvfs *buf) |
const char * | mounted_path (void) |
const char * | name (void) const |
void | add_deferred_file (file *fil) |
void | add_deferred_directory (directory *dir) |
deferred_files_list_t & | deferred_files_list (void) |
deferred_directories_list_t & | deferred_directories_list (void) |
template<typename T > | |
T * | allocate_file (void) |
template<typename T > | |
T * | allocate_directory (void) |
template<typename T , typename L > | |
T * | allocate_file (L &locker) |
template<typename T , typename L > | |
T * | allocate_directory (L &locker) |
template<typename T > | |
void | deallocate_files (void) |
template<typename T > | |
void | deallocate_directories (void) |
block_device & | device (void) const |
file_system_impl & | impl (void) const |
static file_system * | identify_mounted (const char **path1, const char **path2=nullptr) |
File system class.
Definition at line 128 of file file-system.h.
using os::posix::file_system::deferred_directories_list_t = utils::intrusive_list<directory, utils::double_list_links, &directory::deferred_links_> |
Definition at line 314 of file file-system.h.
using os::posix::file_system::deferred_files_list_t = utils::intrusive_list<file, utils::double_list_links, &file::deferred_links_> |
Definition at line 311 of file file-system.h.
os::posix::file_system::file_system | ( | file_system_impl & | impl, |
const char * | name | ||
) |
Definition at line 449 of file file-system.cpp.
|
virtual |
Definition at line 460 of file file-system.cpp.
|
inline |
Definition at line 824 of file file-system.h.
|
inline |
Definition at line 818 of file file-system.h.
T * os::posix::file_system::allocate_directory | ( | L & | locker | ) |
Definition at line 942 of file file-system.h.
T * os::posix::file_system::allocate_directory | ( | void | ) |
Definition at line 914 of file file-system.h.
T * os::posix::file_system::allocate_file | ( | L & | locker | ) |
Definition at line 870 of file file-system.h.
T * os::posix::file_system::allocate_file | ( | void | ) |
Definition at line 843 of file file-system.h.
|
virtual |
Reimplemented in os::posix::file_system_lockable< T, L >.
Definition at line 823 of file file-system.cpp.
void os::posix::file_system::deallocate_directories | ( | void | ) |
Definition at line 970 of file file-system.h.
void os::posix::file_system::deallocate_files | ( | void | ) |
Definition at line 897 of file file-system.h.
|
inline |
Definition at line 836 of file file-system.h.
|
inline |
Definition at line 830 of file file-system.h.
|
inline |
Definition at line 812 of file file-system.h.
|
static |
Definition at line 621 of file file-system.cpp.
|
inline |
Definition at line 804 of file file-system.h.
|
virtual |
Reimplemented in os::posix::file_system_lockable< T, L >.
Definition at line 743 of file file-system.cpp.
int os::posix::file_system::mkfs | ( | int | options, |
... | |||
) |
Definition at line 470 of file file-system.cpp.
int os::posix::file_system::mount | ( | const char * | path = nullptr , |
unsigned int | flags = 0 , |
||
... | |||
) |
Definition at line 504 of file file-system.cpp.
const char * os::posix::file_system::mounted_path | ( | void | ) |
|
inline |
Definition at line 792 of file file-system.h.
file * os::posix::file_system::open | ( | const char * | path = nullptr , |
int | oflag = 0 , |
||
... | |||
) |
Definition at line 672 of file file-system.cpp.
|
virtual |
Reimplemented in os::posix::file_system_lockable< T, L >.
Definition at line 714 of file file-system.cpp.
|
virtual |
Reimplemented in os::posix::file_system_lockable< T, L >.
Definition at line 916 of file file-system.cpp.
|
virtual |
Reimplemented in os::posix::file_system_lockable< T, L >.
Definition at line 773 of file file-system.cpp.
|
virtual |
Reimplemented in os::posix::file_system_lockable< T, L >.
Definition at line 854 of file file-system.cpp.
|
virtual |
Reimplemented in os::posix::file_system_lockable< T, L >.
Definition at line 1024 of file file-system.cpp.
|
virtual |
Reimplemented in os::posix::file_system_lockable< T, L >.
Definition at line 803 of file file-system.cpp.
|
virtual |
Reimplemented in os::posix::file_system_lockable< T, L >.
Definition at line 885 of file file-system.cpp.
|
virtual |
Unmount file system.
flags | File system specific flags. |
0 | if successful, |
-1 | otherwise and the variable errno is set to indicate the error. |
The root file system must be unmounted last, it cannot be unmounted if other mount points exists.
Reimplemented in os::posix::file_system_lockable< T, L >.
Definition at line 589 of file file-system.cpp.
|
virtual |
Reimplemented in os::posix::file_system_lockable< T, L >.
Definition at line 948 of file file-system.cpp.
|
virtual |
Reimplemented in os::posix::file_system_lockable< T, L >.
Definition at line 980 of file file-system.cpp.
|
virtual |
Definition at line 482 of file file-system.cpp.
|
virtual |
Mount file system.
path | Path, terminated in / . If / or nullptr, the file system is mounted as root, i.e. the default if no other mount point matches. |
flags | File system specific flags. |
args | Optional arguments. |
0 | if successful, |
-1 | otherwise and the variable errno is set to indicate the error. |
Reimplemented in os::posix::file_system_lockable< T, L >.
Definition at line 516 of file file-system.cpp.
|
virtual |
Reimplemented in os::posix::file_system_lockable< T, L >.
Definition at line 684 of file file-system.cpp.