µOS++ IIIe Reference 7.0.0
The third edition of µOS++, a POSIX inspired open source framework, written in C++
Loading...
Searching...
No Matches
os::posix::file_system Class Reference

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.
 
fileopen (const char *path=nullptr, int oflag=0,...)
 
virtual filevopen (const char *path, int oflag, std::va_list args)
 
virtual directoryopendir (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 struct 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_tdeferred_files_list (void)
 
deferred_directories_list_tdeferred_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_devicedevice (void) const
 
file_system_implimpl (void) const
 
static file_systemidentify_mounted (const char **path1, const char **path2=nullptr)
 

Detailed Description

File system class.

Definition at line 138 of file file-system.h.

Member Typedef Documentation

◆ deferred_directories_list_t

◆ deferred_files_list_t

Constructor & Destructor Documentation

◆ file_system()

os::posix::file_system::file_system ( file_system_impl impl,
const char *  name 
)

Definition at line 452 of file file-system.cpp.

◆ ~file_system()

os::posix::file_system::~file_system ( )
virtual

Definition at line 463 of file file-system.cpp.

Member Function Documentation

◆ add_deferred_directory()

void os::posix::file_system::add_deferred_directory ( directory dir)
inline

Definition at line 811 of file file-system.h.

◆ add_deferred_file()

void os::posix::file_system::add_deferred_file ( file fil)
inline

Definition at line 805 of file file-system.h.

◆ allocate_directory() [1/2]

template<typename T , typename L >
T * os::posix::file_system::allocate_directory ( L &  locker)

Definition at line 929 of file file-system.h.

◆ allocate_directory() [2/2]

template<typename T >
T * os::posix::file_system::allocate_directory ( void  )

Definition at line 901 of file file-system.h.

◆ allocate_file() [1/2]

template<typename T , typename L >
T * os::posix::file_system::allocate_file ( L &  locker)

Definition at line 857 of file file-system.h.

◆ allocate_file() [2/2]

template<typename T >
T * os::posix::file_system::allocate_file ( void  )

Definition at line 830 of file file-system.h.

◆ chmod()

int os::posix::file_system::chmod ( const char *  path,
mode_t  mode 
)
virtual

Reimplemented in os::posix::file_system_lockable< T, L >.

Definition at line 814 of file file-system.cpp.

◆ deallocate_directories()

template<typename T >
void os::posix::file_system::deallocate_directories ( void  )

Definition at line 957 of file file-system.h.

◆ deallocate_files()

template<typename T >
void os::posix::file_system::deallocate_files ( void  )

Definition at line 884 of file file-system.h.

◆ deferred_directories_list()

file_system::deferred_directories_list_t & os::posix::file_system::deferred_directories_list ( void  )
inline

Definition at line 823 of file file-system.h.

◆ deferred_files_list()

file_system::deferred_files_list_t & os::posix::file_system::deferred_files_list ( void  )
inline

Definition at line 817 of file file-system.h.

◆ device()

block_device & os::posix::file_system::device ( void  ) const
inline

Definition at line 799 of file file-system.h.

◆ identify_mounted()

file_system * os::posix::file_system::identify_mounted ( const char **  path1,
const char **  path2 = nullptr 
)
static

Definition at line 618 of file file-system.cpp.

◆ impl()

file_system_impl & os::posix::file_system::impl ( void  ) const
inline

Definition at line 793 of file file-system.h.

◆ mkdir()

int os::posix::file_system::mkdir ( const char *  path,
mode_t  mode 
)
virtual

Reimplemented in os::posix::file_system_lockable< T, L >.

Definition at line 734 of file file-system.cpp.

◆ mkfs()

int os::posix::file_system::mkfs ( int  options,
  ... 
)

Definition at line 473 of file file-system.cpp.

◆ mount()

int os::posix::file_system::mount ( const char *  path = nullptr,
unsigned int  flags = 0,
  ... 
)

Definition at line 507 of file file-system.cpp.

◆ mounted_path()

const char * os::posix::file_system::mounted_path ( void  )

◆ name()

const char * os::posix::file_system::name ( void  ) const
inline

Definition at line 787 of file file-system.h.

◆ open()

file * os::posix::file_system::open ( const char *  path = nullptr,
int  oflag = 0,
  ... 
)

Definition at line 663 of file file-system.cpp.

◆ opendir()

directory * os::posix::file_system::opendir ( const char *  dirpath)
virtual

Reimplemented in os::posix::file_system_lockable< T, L >.

Definition at line 705 of file file-system.cpp.

◆ rename()

int os::posix::file_system::rename ( const char *  existing,
const char *  _new 
)
virtual

Reimplemented in os::posix::file_system_lockable< T, L >.

Definition at line 907 of file file-system.cpp.

◆ rmdir()

int os::posix::file_system::rmdir ( const char *  path)
virtual

Reimplemented in os::posix::file_system_lockable< T, L >.

Definition at line 764 of file file-system.cpp.

◆ stat()

int os::posix::file_system::stat ( const char *  path,
struct stat *  buf 
)
virtual

Reimplemented in os::posix::file_system_lockable< T, L >.

Definition at line 845 of file file-system.cpp.

◆ statvfs()

int os::posix::file_system::statvfs ( struct statvfs buf)
virtual

Reimplemented in os::posix::file_system_lockable< T, L >.

Definition at line 1015 of file file-system.cpp.

◆ sync()

void os::posix::file_system::sync ( void  )
virtual

Reimplemented in os::posix::file_system_lockable< T, L >.

Definition at line 794 of file file-system.cpp.

◆ truncate()

int os::posix::file_system::truncate ( const char *  path,
off_t  length 
)
virtual

Reimplemented in os::posix::file_system_lockable< T, L >.

Definition at line 876 of file file-system.cpp.

◆ umount()

int os::posix::file_system::umount ( int unsigned  flags = 0)
virtual

Unmount file system.

Parameters
flagsFile system specific flags.
Return values
0if successful,
-1otherwise 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 586 of file file-system.cpp.

◆ unlink()

int os::posix::file_system::unlink ( const char *  path)
virtual

Reimplemented in os::posix::file_system_lockable< T, L >.

Definition at line 939 of file file-system.cpp.

◆ utime()

int os::posix::file_system::utime ( const char *  path,
const struct utimbuf *  times 
)
virtual

Reimplemented in os::posix::file_system_lockable< T, L >.

Definition at line 971 of file file-system.cpp.

◆ vmkfs()

int os::posix::file_system::vmkfs ( int  options,
std::va_list  args 
)
virtual

Definition at line 485 of file file-system.cpp.

◆ vmount()

int os::posix::file_system::vmount ( const char *  path,
unsigned int  flags,
std::va_list  args 
)
virtual

Mount file system.

Parameters
pathPath, terminated in /. If / or nullptr, the file system is mounted as root, i.e. the default if no other mount point matches.
flagsFile system specific flags.
argsOptional arguments.
Return values
0if successful,
-1otherwise and the variable errno is set to indicate the error.

Reimplemented in os::posix::file_system_lockable< T, L >.

Definition at line 519 of file file-system.cpp.

◆ vopen()

file * os::posix::file_system::vopen ( const char *  path,
int  oflag,
std::va_list  args 
)
virtual

Reimplemented in os::posix::file_system_lockable< T, L >.

Definition at line 675 of file file-system.cpp.


The documentation for this class was generated from the following files: