Enum sgx::page::Class

source ·
#[non_exhaustive]
#[repr(u8)]
pub enum Class { Secs = 0, Tcs = 1, Regular = 2, VersionArray = 3, Trimmed = 4, ShadowStackFirst = 5, ShadowStackRest = 6, }
Expand description

The type of an enclave page (see Intel SDM Volume 3D section 34.12.2). Enclave Page Cache Map (EPCM) hols this information for each valid enclave page.

Variants (Non-exhaustive)§

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
§

Secs = 0

SGX Enclave Control Structure (SECS)

§

Tcs = 1

Thread Control Structure (TCS)

§

Regular = 2

Regularular page

§

VersionArray = 3

Version Array (VA) page

§

Trimmed = 4

Removable from a running enclave

§

ShadowStackFirst = 5

The first page of a shadow stack

§

ShadowStackRest = 6

A shadow stack page

Implementations§

source§

impl Class

source

pub fn info(&self, flags: impl Into<Option<Flags>>) -> SecInfo

Convert to SecInfo with the given flags.

Trait Implementations§

source§

impl Clone for Class

source§

fn clone(&self) -> Class

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Class

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl From<Class> for SecInfo

source§

fn from(class: Class) -> Self

Converts to this type from the input type.
source§

impl PartialEq for Class

source§

fn eq(&self, other: &Class) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Copy for Class

source§

impl Eq for Class

source§

impl StructuralEq for Class

source§

impl StructuralPartialEq for Class

Auto Trait Implementations§

§

impl RefUnwindSafe for Class

§

impl Send for Class

§

impl Sync for Class

§

impl Unpin for Class

§

impl UnwindSafe for Class

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.