use core::ptr::NonNull;
pub struct Page {
page_ptr: NonNull<u8>,
page_size: usize,
_phantom_pagemem: core::marker::PhantomData<[u8]>,
}
impl Page {
pub fn page_ptr_nonnull(&self) -> NonNull<u8> {
self.page_ptr
}
pub fn page_size(&self) -> usize {
self.page_size
}
pub fn as_ptr_mut(&self) -> *mut u8 {
self.page_ptr.as_ptr()
}
pub fn as_ptr(&self) -> *const u8 {
self.page_ptr.as_ptr() as *const u8
}
}
cfg_if::cfg_if! {
if #[cfg(miri)] {
mod miri;
pub use miri::PageAllocError;
} else if #[cfg(unix)] {
mod unix;
pub use unix::PageAllocError;
} else if #[cfg(windows)] {
mod windows;
pub use windows::PageAllocError;
}
}