File system class. More...
#include <cmsis-plus/posix-io/file-system.h>
Inheritance diagram for os::posix::file_system: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) |
Definition at line 127 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 312 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 308 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.
References os::trace::printf().
|
virtual |
Definition at line 460 of file file-system.cpp.
References os::trace::printf().
|
inline |
Definition at line 828 of file file-system.h.
Referenced by os::posix::directory::close().
|
inline |
Definition at line 822 of file file-system.h.
Referenced by os::posix::file::close().
| T * os::posix::file_system::allocate_directory | ( | L & | locker | ) |
Definition at line 946 of file file-system.h.
| T * os::posix::file_system::allocate_directory | ( | void | ) |
Definition at line 918 of file file-system.h.
| T * os::posix::file_system::allocate_file | ( | L & | locker | ) |
Definition at line 874 of file file-system.h.
| T * os::posix::file_system::allocate_file | ( | void | ) |
Definition at line 847 of file file-system.h.
|
virtual |
Reimplemented in os::posix::file_system_lockable< T, L >.
Definition at line 828 of file file-system.cpp.
References os::posix::file_system_impl::do_chmod(), impl(), and os::trace::printf().
Referenced by os::posix::file_system_lockable< T, L >::chmod().
| void os::posix::file_system::deallocate_directories | ( | void | ) |
Definition at line 974 of file file-system.h.
| void os::posix::file_system::deallocate_files | ( | void | ) |
Definition at line 901 of file file-system.h.
|
inline |
Definition at line 840 of file file-system.h.
|
inline |
Definition at line 834 of file file-system.h.
|
inline |
Definition at line 816 of file file-system.h.
References os::posix::file_system_impl::device(), and impl().
|
static |
Definition at line 621 of file file-system.cpp.
Referenced by os::posix::chmod(), os::posix::mkdir(), os::posix::opendir(), os::posix::rename(), os::posix::rmdir(), os::posix::stat(), os::posix::statvfs(), os::posix::truncate(), os::posix::unlink(), os::posix::utime(), and os::posix::vopen().
|
inline |
|
virtual |
Reimplemented in os::posix::file_system_lockable< T, L >.
Definition at line 748 of file file-system.cpp.
References os::posix::file_system_impl::do_mkdir(), impl(), and os::trace::printf().
Referenced by os::posix::file_system_lockable< T, L >::mkdir().
| int os::posix::file_system::mkfs | ( | int | options, |
| ... | |||
| ) |
Definition at line 470 of file file-system.cpp.
References vmkfs().
| int os::posix::file_system::mount | ( | const char * | path = nullptr, |
| unsigned int | flags = 0, |
||
| ... | |||
| ) |
Definition at line 504 of file file-system.cpp.
References vmount().
| const char * os::posix::file_system::mounted_path | ( | void | ) |
|
inline |
Definition at line 796 of file file-system.h.
| file * os::posix::file_system::open | ( | const char * | path = nullptr, |
| int | oflag = 0, |
||
| ... | |||
| ) |
Definition at line 677 of file file-system.cpp.
References vopen().
|
virtual |
Reimplemented in os::posix::file_system_lockable< T, L >.
Definition at line 719 of file file-system.cpp.
References os::posix::file_system_impl::do_opendir(), impl(), and os::trace::printf().
Referenced by os::posix::file_system_lockable< T, L >::opendir().
|
virtual |
Reimplemented in os::posix::file_system_lockable< T, L >.
Definition at line 921 of file file-system.cpp.
References os::posix::file_system_impl::do_rename(), impl(), and os::trace::printf().
Referenced by os::posix::file_system_lockable< T, L >::rename().
|
virtual |
Reimplemented in os::posix::file_system_lockable< T, L >.
Definition at line 778 of file file-system.cpp.
References os::posix::file_system_impl::do_rmdir(), impl(), and os::trace::printf().
Referenced by os::posix::file_system_lockable< T, L >::rmdir().
|
virtual |
Reimplemented in os::posix::file_system_lockable< T, L >.
Definition at line 859 of file file-system.cpp.
References os::posix::file_system_impl::do_stat(), impl(), and os::trace::printf().
Referenced by os::posix::file_system_lockable< T, L >::stat().
|
virtual |
Reimplemented in os::posix::file_system_lockable< T, L >.
Definition at line 1029 of file file-system.cpp.
References os::posix::file_system_impl::do_statvfs(), impl(), and os::trace::printf().
Referenced by os::posix::file::fstatvfs(), and os::posix::file_system_lockable< T, L >::statvfs().
|
virtual |
Reimplemented in os::posix::file_system_lockable< T, L >.
Definition at line 808 of file file-system.cpp.
References os::posix::file_system_impl::do_sync(), impl(), and os::trace::printf().
Referenced by os::posix::file_system_lockable< T, L >::sync().
|
virtual |
Reimplemented in os::posix::file_system_lockable< T, L >.
Definition at line 890 of file file-system.cpp.
References os::posix::file_system_impl::do_truncate(), impl(), and os::trace::printf().
Referenced by os::posix::file_system_lockable< T, L >::truncate().
|
virtual |
| 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.
References os::posix::file_system_impl::do_sync(), os::posix::file_system_impl::do_umount(), impl(), and os::trace::printf().
Referenced by os::posix::file_system_lockable< T, L >::umount().
|
virtual |
Reimplemented in os::posix::file_system_lockable< T, L >.
Definition at line 953 of file file-system.cpp.
References os::posix::file_system_impl::do_unlink(), impl(), and os::trace::printf().
Referenced by os::posix::file_system_lockable< T, L >::unlink().
|
virtual |
Reimplemented in os::posix::file_system_lockable< T, L >.
Definition at line 985 of file file-system.cpp.
References os::posix::file_system_impl::do_utime(), impl(), os::trace::printf(), and times().
Referenced by os::posix::file_system_lockable< T, L >::utime().
|
virtual |
Definition at line 482 of file file-system.cpp.
References os::posix::file_system_impl::do_vmkfs(), impl(), and os::trace::printf().
Referenced by mkfs().
|
virtual |
| 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.
References os::posix::file_system_impl::do_vmount(), impl(), and os::trace::printf().
Referenced by mount(), and os::posix::file_system_lockable< T, L >::vmount().
|
virtual |
Reimplemented in os::posix::file_system_lockable< T, L >.
Definition at line 689 of file file-system.cpp.
References os::posix::io::alloc_file_descriptor(), os::posix::file_system_impl::do_vopen(), impl(), and os::trace::printf().
Referenced by open(), and os::posix::file_system_lockable< T, L >::vopen().