#[repr(C)]pub struct ShadowStackInternal<'a, T: Rootable> {
pub stack: &'a ShadowStack,
pub prev: *mut RawShadowStackEntry,
pub vtable: usize,
pub value: T,
}
Expand description
Almost the same as raw entry of shadow stack except this one gives access to value. This type is not exposed in public API and used only internally.
Fields§
§stack: &'a ShadowStack
§prev: *mut RawShadowStackEntry
§vtable: usize
§value: T
Implementations§
Source§impl<'a, T: Rootable> ShadowStackInternal<'a, T>
impl<'a, T: Rootable> ShadowStackInternal<'a, T>
Sourcepub unsafe fn construct(
stack: &'a ShadowStack,
prev: *mut RawShadowStackEntry,
vtable: usize,
value: T,
) -> Self
pub unsafe fn construct( stack: &'a ShadowStack, prev: *mut RawShadowStackEntry, vtable: usize, value: T, ) -> Self
Constructs internal shadow stack value. Must not be used outside of $letroot!
macro.
Trait Implementations§
Auto Trait Implementations§
impl<'a, T> Freeze for ShadowStackInternal<'a, T>where
T: Freeze,
impl<'a, T> !RefUnwindSafe for ShadowStackInternal<'a, T>
impl<'a, T> !Send for ShadowStackInternal<'a, T>
impl<'a, T> !Sync for ShadowStackInternal<'a, T>
impl<'a, T> Unpin for ShadowStackInternal<'a, T>where
T: Unpin,
impl<'a, T> !UnwindSafe for ShadowStackInternal<'a, T>
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