FreeNOS
Public Member Functions | Private Member Functions
Mount Class Reference

Mount filesystems on the system. More...

#include <Mount.h>

Inheritance diagram for Mount:
POSIXApplication Application

Public Member Functions

 Mount (int argc, char **argv)
 Constructor.
 
virtual ~Mount ()
 Destructor.
 
virtual Result exec ()
 Execute the application.
 
- Public Member Functions inherited from POSIXApplication
 POSIXApplication (int argc, char **argv)
 Class constructor.
 
virtual ~POSIXApplication ()
 Class destructor.
 
- Public Member Functions inherited from Application
 Application (int argc, char **argv)
 Class constructor.
 
virtual ~Application ()
 Class destructor.
 
virtual int run ()
 Run the application.
 

Private Member Functions

void listMounts () const
 Print currently mounted file systems.
 
void waitForMount (const char *path) const
 Blocking wait until the given path is mounted.
 

Additional Inherited Members

- Public Types inherited from Application
enum  Result {
  Success , NotFound , IOError , InvalidArgument ,
  ShowUsage , TimedOut , OutOfMemory
}
 Result codes. More...
 
- Protected Member Functions inherited from POSIXApplication
virtual Result output (const char *string) const
 Print text to output.
 
int runProgram (const char *path, const char **argv)
 Runs an external program.
 
- Protected Member Functions inherited from Application
virtual Result initialize ()
 Initialize the application.
 
virtual Result output (String &string) const
 Print string to output.
 
ArgumentParser & parser ()
 Get program arguments parser.
 
const ArgumentParser & parser () const
 Get constant program arguments parser.
 
const ArgumentContainer & arguments () const
 Get program arguments.
 
void setVersion (const String &version)
 Set program version.
 
- Protected Attributes inherited from Application
int m_argc
 Input argument count.
 
char ** m_argv
 Input argument values.
 

Detailed Description

Mount filesystems on the system.

Definition at line 31 of file Mount.h.

Constructor & Destructor Documentation

◆ Mount()

Mount::Mount ( int  argc,
char **  argv 
)

Constructor.

Parameters
argcArgument count
argvArgument values

Definition at line 27 of file Mount.cpp.

References Application::parser(), ArgumentParser::registerFlag(), and ArgumentParser::setDescription().

◆ ~Mount()

Mount::~Mount ( )
virtual

Destructor.

Definition at line 34 of file Mount.cpp.

Member Function Documentation

◆ exec()

Mount::Result Mount::exec ( )
virtual

Execute the application.

Returns
Result code

Implements Application.

Definition at line 86 of file Mount.cpp.

References Application::arguments(), ArgumentContainer::get(), listMounts(), Application::Success, waitForMount(), and ZERO.

◆ listMounts()

void Mount::listMounts ( ) const
private

Print currently mounted file systems.

Definition at line 38 of file Mount.cpp.

References assert, MemoryBlock::copy(), ERROR, FileSystemClient::getFileSystems(), NULL, PAGESIZE, printf(), MemoryMap::range(), API::Read, API::Success, MemoryMap::UserArgs, Memory::Range::virt, and VMCopy().

Referenced by exec().

◆ waitForMount()

void Mount::waitForMount ( const char *  path) const
private

Blocking wait until the given path is mounted.

Parameters
pathAbsolute path to a file system mount point

Definition at line 72 of file Mount.cpp.

References assert, ERROR, exit(), FileSystem::Success, and FileSystemClient::waitFileSystem().

Referenced by exec().


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