pub struct UmaKeg {
vm: Arc<Vm>,
size: NonZero<usize>,
ipers: usize,
alloc: fn(&Vm, Alloc),
max_pages: u32,
pages: u32,
free: u32,
recurse: u32,
flags: UmaFlags,
}
Expand description
Implementation of uma_keg
structure.
Fields§
§vm: Arc<Vm>
§size: NonZero<usize>
§ipers: usize
§alloc: fn(&Vm, Alloc)
§max_pages: u32
§pages: u32
§free: u32
§recurse: u32
§flags: UmaFlags
Implementations§
Source§impl UmaKeg
impl UmaKeg
Sourcepub(super) fn new(
vm: Arc<Vm>,
size: NonZero<usize>,
align: usize,
flags: UmaFlags,
) -> Self
pub(super) fn new( vm: Arc<Vm>, size: NonZero<usize>, align: usize, flags: UmaFlags, ) -> Self
align
is the actual alignment minus one, which mean if you want each item to be 8
bytes alignment this value will be 7.
See keg_ctor
on the Orbis for a reference.
§Reference offsets
Version | Offset |
---|---|
PS4 11.00 | 0x13CF40 |
pub fn size(&self) -> NonZero<usize>
pub fn item_per_slab(&self) -> usize
pub fn recurse(&self) -> u32
pub fn flags(&self) -> UmaFlags
Sourcefn alloc_slab(&self, flags: Alloc)
fn alloc_slab(&self, flags: Alloc)
Sourcefn page_alloc(_: &Vm, _: Alloc)
fn page_alloc(_: &Vm, _: Alloc)
Auto Trait Implementations§
impl Freeze for UmaKeg
impl !RefUnwindSafe for UmaKeg
impl Send for UmaKeg
impl Sync for UmaKeg
impl Unpin for UmaKeg
impl !UnwindSafe for UmaKeg
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