pub struct PointerAuthConfig {
pub return_addresses: bool,
pub auth_traps: bool,
pub indirect_gotos: bool,
pub elf_got: bool,
pub aarch64_jump_table_hardening: bool,
pub function_pointers: Option<PointerAuthSchema>,
pub init_fini: Option<PointerAuthSchema>,
pub intrinsics: bool,
pub typeinfo_vt_ptr_discrimination: bool,
pub vt_ptr_addr_discrimination: bool,
pub vt_ptr_type_discrimination: bool,
}Fields§
§return_addresses: boolShould return addresses be authenticated?
auth_traps: boolDo authentication failures cause a trap?
indirect_gotos: boolDo indirect goto label addresses need to be authenticated?
elf_got: boolShould ELF GOT entries be signed?
aarch64_jump_table_hardening: boolUse hardened lowering for jump-table dispatch?
function_pointers: Option<PointerAuthSchema>The ABI for C function pointers.
init_fini: Option<PointerAuthSchema>The ABI for function addresses in .init_array and .fini_array
intrinsics: boolUse of pointer authentication intrinsics.
typeinfo_vt_ptr_discrimination: boolThe following are used only for compatibility with C++ and control over generated abi version. They do not control Rust code generation.
vt_ptr_addr_discrimination: bool§vt_ptr_type_discrimination: boolImplementations§
Auto Trait Implementations§
impl DynSend for PointerAuthConfig
impl DynSync for PointerAuthConfig
impl Freeze for PointerAuthConfig
impl RefUnwindSafe for PointerAuthConfig
impl Send for PointerAuthConfig
impl Sync for PointerAuthConfig
impl Unpin for PointerAuthConfig
impl UnsafeUnpin for PointerAuthConfig
impl UnwindSafe for PointerAuthConfig
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
impl<T> ErasedDestructor for Twhere
T: 'static,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
Source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
Source§fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ
fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...) attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 64 bytes