C# Class Mosa.FileSystem.VFS.VirtualFileSystem

Implements the virtual file system service for the kernel.
The virtual file system service provides the root '/' naming namespace for other nodes and services.
Inheritance: IFileSystem, IFileSystemService
Exibir arquivo Open project: tgiphil/MOSA-Project

Private Properties

Property Type Description
IFileSystemService bool
IFileSystemService bool
VirtualFileSystem

Public Methods

Method Description
Access ( string path, AccessMode mode ) : bool

Checks if the caller has access to the inode

ChangeDirectory ( string path ) : void

Changes the current directory in the thread execution block.

Create ( string path, VfsNodeType type, object settings, System access, System share ) : object

Creates a new node in the (virtual) file system.

This function creates new nodes in the virtual file system. In contrast to *nix this call creates all node types, e.g. files, directories, devices and more. Specific types may require additional settings, which are specified in a settings object passed as the third parameter.

Delete ( string path ) : void

Deletes the named node from the file system.

Mount ( string source, string target ) : void

Mounts a new file system.

Open ( string path, System access, System share ) : object

Rename ( string old, string newname ) : void

Setup ( ) : void

Initializes a new instance of the virtual file system.

Stat ( string path ) : object

Resolves the path evaluating all symbolic links.

Retrieves a

Unmount ( string path ) : void

Unmounts the file system rooted at the given path.

In contrast to Posix this does not have to be the root directory of the file system. Any path in the file system will unmount the entire tree.

Private Methods

Method Description
IFileSystemService ( ) : bool
IFileSystemService ( GenericFileSystemSettings settings ) : bool
VirtualFileSystem ( )

Method Details

Access() public static method

Checks if the caller has access to the inode
public static Access ( string path, AccessMode mode ) : bool
path string The resource to check permissions for.
mode AccessMode
return bool

ChangeDirectory() public static method

Changes the current directory in the thread execution block.
public static ChangeDirectory ( string path ) : void
path string The path to change to. This path may be relative or absolute.
return void

Create() public static method

Creates a new node in the (virtual) file system.
This function creates new nodes in the virtual file system. In contrast to *nix this call creates all node types, e.g. files, directories, devices and more. Specific types may require additional settings, which are specified in a settings object passed as the third parameter.
public static Create ( string path, VfsNodeType type, object settings, System access, System share ) : object
path string The path to create.
type VfsNodeType The type of the node to create.
settings object Settings used to initialize the node.
access System Requests the specified access modes on the created object.
share System Requests the specified sharing settings on the object.
return object

Delete() public static method

Deletes the named node from the file system.
public static Delete ( string path ) : void
path string The path, which identifies a node.
return void

Mount() public static method

Mounts a new file system.
public static Mount ( string source, string target ) : void
source string The source of the file system. This is usually a device name, but can also be another directory.
target string The path including the name of the mount point, where to mount the new file system.
return void

Open() public static method

public static Open ( string path, System access, System share ) : object
path string
access System
share System
return object

Rename() public static method

public static Rename ( string old, string newname ) : void
old string
newname string
return void

Setup() public static method

Initializes a new instance of the virtual file system.
public static Setup ( ) : void
return void

Stat() public static method

Resolves the path evaluating all symbolic links. Retrieves a
A component of the path or a symbolic link in the path do not name an existing file system entry. The path represented by the given path is too long or symbolic links produced infinite recursion. An I/O exception occurred while resolving the path. A fragment of the path could not be traversed due to a denied search permission.
public static Stat ( string path ) : object
path string The path to resolve.
return object

Unmount() public static method

Unmounts the file system rooted at the given path.
In contrast to Posix this does not have to be the root directory of the file system. Any path in the file system will unmount the entire tree.
public static Unmount ( string path ) : void
path string The path identifying the file system to unmount.
return void