#[repr(C, packed(1))]pub struct Ext2BlockGroupDescriptor {
pub block_bitmap: u32,
pub inode_bitmap: u32,
pub inode_table: u32,
pub free_blocks_count: u16,
pub free_inodes_count: u16,
pub used_dirs_count: u16,
pub pad: u16,
pub reserved: [u32; 3],
}Expand description
ext2 Block Group Descriptor
Each block group has a descriptor that contains information about the location of important data structures within that group.
Fields§
§block_bitmap: u32Block address of block bitmap
inode_bitmap: u32Block address of inode bitmap
inode_table: u32Block address of inode table
free_blocks_count: u16Number of free blocks in group
free_inodes_count: u16Number of free inodes in group
used_dirs_count: u16Number of directories in group
pad: u16Padding to 32 bytes
reserved: [u32; 3]Reserved for future use
Implementations§
Source§impl Ext2BlockGroupDescriptor
impl Ext2BlockGroupDescriptor
Sourcepub fn from_bytes(data: &[u8]) -> Result<Self, FileSystemError>
pub fn from_bytes(data: &[u8]) -> Result<Self, FileSystemError>
Parse block group descriptor from raw bytes using unsafe type conversion
Sourcepub fn get_block_bitmap(&self) -> u32
pub fn get_block_bitmap(&self) -> u32
Get block bitmap address
Sourcepub fn get_inode_bitmap(&self) -> u32
pub fn get_inode_bitmap(&self) -> u32
Get inode bitmap address
Sourcepub fn get_inode_table(&self) -> u32
pub fn get_inode_table(&self) -> u32
Get inode table address
Sourcepub fn get_free_blocks_count(&self) -> u16
pub fn get_free_blocks_count(&self) -> u16
Get free blocks count
Sourcepub fn set_free_blocks_count(&mut self, count: u16)
pub fn set_free_blocks_count(&mut self, count: u16)
Set free blocks count
Sourcepub fn get_free_inodes_count(&self) -> u16
pub fn get_free_inodes_count(&self) -> u16
Get free inodes count
Sourcepub fn set_free_inodes_count(&mut self, count: u16)
pub fn set_free_inodes_count(&mut self, count: u16)
Set free inodes count
Sourcepub fn get_used_dirs_count(&self) -> u16
pub fn get_used_dirs_count(&self) -> u16
Get used directories count
Sourcepub fn set_used_dirs_count(&mut self, count: u16)
pub fn set_used_dirs_count(&mut self, count: u16)
Set used directories count
Sourcepub fn write_to_bytes(&self, data: &mut [u8])
pub fn write_to_bytes(&self, data: &mut [u8])
Write the descriptor back to bytes
Trait Implementations§
Source§impl Clone for Ext2BlockGroupDescriptor
impl Clone for Ext2BlockGroupDescriptor
Source§fn clone(&self) -> Ext2BlockGroupDescriptor
fn clone(&self) -> Ext2BlockGroupDescriptor
Returns a duplicate of the value. Read more
1.0.0§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for Ext2BlockGroupDescriptor
impl Debug for Ext2BlockGroupDescriptor
impl Copy for Ext2BlockGroupDescriptor
Auto Trait Implementations§
impl Freeze for Ext2BlockGroupDescriptor
impl RefUnwindSafe for Ext2BlockGroupDescriptor
impl Send for Ext2BlockGroupDescriptor
impl Sync for Ext2BlockGroupDescriptor
impl Unpin for Ext2BlockGroupDescriptor
impl UnwindSafe for Ext2BlockGroupDescriptor
Blanket Implementations§
§impl<T> Any for Twhere
T: 'static + ?Sized,
impl<T> Any for Twhere
T: 'static + ?Sized,
§impl<T> Borrow<T> for Twhere
T: ?Sized,
impl<T> Borrow<T> for Twhere
T: ?Sized,
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dest: *mut u8)
unsafe fn clone_to_uninit(&self, dest: *mut u8)
🔬This is a nightly-only experimental API. (
clone_to_uninit)