pub struct LinuxMmStruct<'a, Driver>{ /* private fields */ }
Expand description
A Linux mm struct.
The mm_struct
structure is responsible for memory management information
of a process. It is responsible for tracking virtual memory mappings,
memory regions, page tables, and other crucial memory-related data.
§Implementation Details
Corresponds to mm_struct
.
Implementations§
Source§impl<'a, Driver> LinuxMmStruct<'a, Driver>
impl<'a, Driver> LinuxMmStruct<'a, Driver>
Sourcepub fn new(vmi: VmiState<'a, Driver, LinuxOs<Driver>>, va: Va) -> Self
pub fn new(vmi: VmiState<'a, Driver, LinuxOs<Driver>>, va: Va) -> Self
Creates a new mm_struct
.
Sourcepub fn pgd(&self) -> Result<u64, VmiError>
pub fn pgd(&self) -> Result<u64, VmiError>
Returns the page global directory (PGD) of the process.
§Implementation Details
Corresponds to mm_struct.pgd
.
Sourcepub fn exe_file(&self) -> Result<Option<LinuxFile<'a, Driver>>, VmiError>
pub fn exe_file(&self) -> Result<Option<LinuxFile<'a, Driver>>, VmiError>
Returns the executable file of the process.
§Implementation Details
Corresponds to mm_struct.exe_file
.
Sourcepub fn mm_mt(&self) -> Result<MapleTree<'a, Driver>, VmiError>
pub fn mm_mt(&self) -> Result<MapleTree<'a, Driver>, VmiError>
Returns the memory map of the process.
This is a data structure for managing virtual memory areas (VMAs). It replaces the older mm->mmap (linked list of VMAs) for faster lookups.
§Implementation Details
Corresponds to mm_struct.mm_mt
.
Trait Implementations§
Source§impl<Driver> VmiVa for LinuxMmStruct<'_, Driver>
impl<Driver> VmiVa for LinuxMmStruct<'_, Driver>
Auto Trait Implementations§
impl<'a, Driver> Freeze for LinuxMmStruct<'a, Driver>
impl<'a, Driver> !RefUnwindSafe for LinuxMmStruct<'a, Driver>
impl<'a, Driver> !Send for LinuxMmStruct<'a, Driver>
impl<'a, Driver> !Sync for LinuxMmStruct<'a, Driver>
impl<'a, Driver> Unpin for LinuxMmStruct<'a, Driver>
impl<'a, Driver> !UnwindSafe for LinuxMmStruct<'a, Driver>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more