diff --git a/src/memory/paging/table.rs b/src/memory/paging/table.rs index eb20de8..e5a4f14 100644 --- a/src/memory/paging/table.rs +++ b/src/memory/paging/table.rs @@ -24,6 +24,16 @@ impl Table { None } } + + pub fn next_table(&self, index: usize) -> Option<&Table> { + self.next_table_address(index) + .map(|address| unsafe { &*(address as *const _) }) + } + + pub fn next_table_mut(&mut self, index: usize) -> Option<&mut Table> { + self.next_table_address(index) + .map(|address| unsafe { &mut *(address as *mut _) }) + } } impl Index for Table {