Struct procfs::KPageFlags
source · pub struct KPageFlags { /* private fields */ }
Expand description
Parse physical memory flags accessing /proc/kpageflags
.
Require root or CAP_SYS_ADMIN
Implementations§
source§impl KPageFlags
impl KPageFlags
sourcepub fn new() -> ProcResult<Self>
pub fn new() -> ProcResult<Self>
Get a parser from default /proc/kpageflags
Return Err
if process is not running as root or don’t have CAP_SYS_ADMIN
sourcepub fn from_custom_root<P: AsRef<Path>>(root: P) -> ProcResult<Self>
pub fn from_custom_root<P: AsRef<Path>>(root: P) -> ProcResult<Self>
Get a parser from custom /proc
Return Err
if process is not running as root or don’t have CAP_SYS_ADMIN
sourcepub fn get_info(&mut self, pfn: Pfn) -> ProcResult<PhysicalPageFlags>
pub fn get_info(&mut self, pfn: Pfn) -> ProcResult<PhysicalPageFlags>
Retrieve information in the page table entry for the PFN (page frame number) at index page_index
.
If you need to retrieve multiple PFNs, opt for Self::get_range_info() instead.
Return Err if the PFN is not in RAM (see crate::iomem()): Io(Error { kind: UnexpectedEof, message: “failed to fill whole buffer” }, None)
sourcepub fn get_range_info(
&mut self,
start: Pfn,
end: Pfn
) -> ProcResult<Vec<PhysicalPageFlags>>
pub fn get_range_info( &mut self, start: Pfn, end: Pfn ) -> ProcResult<Vec<PhysicalPageFlags>>
Retrieve information in the page table entry for the PFNs within range start
(included) and end
(excluded) PFNs.
Return Err if any PFN is not in RAM (see crate::iomem()): Io(Error { kind: UnexpectedEof, message: “failed to fill whole buffer” }, None)