pub struct UmaKeg {Show 14 fields
vm: &'static Vm,
size: NonZero<usize>,
rsize: usize,
pgoff: usize,
ppera: usize,
ipers: usize,
alloc: fn(&'static Vm, Alloc) -> (*mut u8, SlabFlags),
init: Option<fn()>,
max_pages: usize,
pages: usize,
pub(super) free: usize,
recurse: u32,
partial_slabs: VecDeque<NonNull<Slab>>,
flags: UmaFlags,
}Expand description
Implementation of uma_keg structure.
Fields§
§vm: &'static Vm§size: NonZero<usize>§rsize: usize§pgoff: usize§ppera: usize§ipers: usize§alloc: fn(&'static Vm, Alloc) -> (*mut u8, SlabFlags)§init: Option<fn()>§max_pages: usize§pages: usize§free: usize§recurse: u32§partial_slabs: VecDeque<NonNull<Slab>>§flags: UmaFlagsImplementations§
Source§impl UmaKeg
impl UmaKeg
Sourcepub(super) fn new(
vm: &'static Vm,
size: NonZero<usize>,
align: usize,
init: Option<fn()>,
flags: UmaFlags,
) -> Self
pub(super) fn new( vm: &'static Vm, size: NonZero<usize>, align: usize, init: Option<fn()>, 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 allocated_size(&self) -> usize
pub fn item_per_slab(&self) -> usize
pub fn recurse(&self) -> u32
pub fn flags(&self) -> UmaFlags
Auto Trait Implementations§
impl Freeze for UmaKeg
impl !RefUnwindSafe for UmaKeg
impl !Send for UmaKeg
impl !Sync for UmaKeg
impl Unpin for UmaKeg
impl UnsafeUnpin 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