pub struct CpioFS {
root_node: Arc<CpioNode>,
name: String,
}
Expand description
CPIO filesystem implementation
Fields§
§root_node: Arc<CpioNode>
Root node of the filesystem
name: String
Filesystem name
Implementations§
Source§impl CpioFS
impl CpioFS
Sourcepub fn new(name: String, cpio_data: &[u8]) -> Result<Arc<Self>, FileSystemError>
pub fn new(name: String, cpio_data: &[u8]) -> Result<Arc<Self>, FileSystemError>
Create a new CpioFS from CPIO archive data
Sourcepub fn create_from_option_string(
option: Option<&str>,
cpio_data: &[u8],
) -> Arc<dyn FileSystemOperations>
pub fn create_from_option_string( option: Option<&str>, cpio_data: &[u8], ) -> Arc<dyn FileSystemOperations>
VFS v2 driver registration API: create from option string Example: option = Some(“initramfs_addr=0x80000000,size=65536”)
Sourcefn parse_cpio_archive(
self: &Arc<Self>,
data: &[u8],
) -> Result<(), FileSystemError>
fn parse_cpio_archive( self: &Arc<Self>, data: &[u8], ) -> Result<(), FileSystemError>
Parse CPIO archive and build directory tree
Trait Implementations§
Source§impl FileSystemOperations for CpioFS
impl FileSystemOperations for CpioFS
Source§fn lookup(
&self,
parent_node: &Arc<dyn VfsNode>,
name: &String,
) -> Result<Arc<dyn VfsNode>, FileSystemError>
fn lookup( &self, parent_node: &Arc<dyn VfsNode>, name: &String, ) -> Result<Arc<dyn VfsNode>, FileSystemError>
Look up a child node by name within a parent directory Read more
Source§fn open(
&self,
node: &Arc<dyn VfsNode>,
_flags: u32,
) -> Result<Arc<dyn FileObject>, FileSystemError>
fn open( &self, node: &Arc<dyn VfsNode>, _flags: u32, ) -> Result<Arc<dyn FileObject>, FileSystemError>
Open a file represented by a VfsNode Read more
Source§fn create(
&self,
_parent_node: &Arc<dyn VfsNode>,
_name: &String,
_file_type: FileType,
_mode: u32,
) -> Result<Arc<dyn VfsNode>, FileSystemError>
fn create( &self, _parent_node: &Arc<dyn VfsNode>, _name: &String, _file_type: FileType, _mode: u32, ) -> Result<Arc<dyn VfsNode>, FileSystemError>
Create a new file in the specified directory
Source§fn remove(
&self,
_parent_node: &Arc<dyn VfsNode>,
_name: &String,
) -> Result<(), FileSystemError>
fn remove( &self, _parent_node: &Arc<dyn VfsNode>, _name: &String, ) -> Result<(), FileSystemError>
Remove a file from the specified directory
Source§fn is_read_only(&self) -> bool
fn is_read_only(&self) -> bool
Check if filesystem is read-only
Source§fn readdir(
&self,
node: &Arc<dyn VfsNode>,
) -> Result<Vec<DirectoryEntryInternal>, FileSystemError>
fn readdir( &self, node: &Arc<dyn VfsNode>, ) -> Result<Vec<DirectoryEntryInternal>, FileSystemError>
Read directory entries from a directory node
Source§fn create_hardlink(
&self,
link_parent: &Arc<dyn VfsNode>,
link_name: &String,
target_node: &Arc<dyn VfsNode>,
) -> Result<Arc<dyn VfsNode>, FileSystemError>
fn create_hardlink( &self, link_parent: &Arc<dyn VfsNode>, link_name: &String, target_node: &Arc<dyn VfsNode>, ) -> Result<Arc<dyn VfsNode>, FileSystemError>
Create a hard link to an existing file Read more