[−]Struct x86_64::structures::gdt::DescriptorFlags
Flags for a GDT descriptor. Not all flags are valid for all descriptor types.
Methods
impl DescriptorFlags
pub const CONFORMING: DescriptorFlags
Marks a code segment as “conforming”. This influences the privilege checks that occur on control transfers.
pub const EXECUTABLE: DescriptorFlags
This flag must be set for code segments.
pub const USER_SEGMENT: DescriptorFlags
This flag must be set for user segments (in contrast to system segments).
pub const PRESENT: DescriptorFlags
Must be set for any segment, causes a segment not present exception if not set.
pub const LONG_MODE: DescriptorFlags
Must be set for long mode code segments.
pub fn empty() -> DescriptorFlags
Returns an empty set of flags.
pub fn all() -> DescriptorFlags
Returns the set containing all flags.
pub fn bits(&self) -> u64
Returns the raw value of the flags currently stored.
pub fn from_bits(bits: u64) -> Option<DescriptorFlags>
Convert from underlying bit representation, unless that representation contains bits that do not correspond to a flag.
pub fn from_bits_truncate(bits: u64) -> DescriptorFlags
Convert from underlying bit representation, dropping any bits that do not correspond to flags.
pub fn is_empty(&self) -> bool
Returns true
if no flags are currently stored.
pub fn is_all(&self) -> bool
Returns true
if all flags are currently set.
pub fn intersects(&self, other: DescriptorFlags) -> bool
Returns true
if there are flags common to both self
and other
.
pub fn contains(&self, other: DescriptorFlags) -> bool
Returns true
all of the flags in other
are contained within self
.
pub fn insert(&mut self, other: DescriptorFlags)
Inserts the specified flags in-place.
pub fn remove(&mut self, other: DescriptorFlags)
Removes the specified flags in-place.
pub fn toggle(&mut self, other: DescriptorFlags)
Toggles the specified flags in-place.
pub fn set(&mut self, other: DescriptorFlags, value: bool)
Inserts or removes the specified flags depending on the passed value.
Trait Implementations
impl Clone for DescriptorFlags
fn clone(&self) -> DescriptorFlags
fn clone_from(&mut self, source: &Self)
1.0.0[src]
Performs copy-assignment from source
. Read more
impl Debug for DescriptorFlags
impl PartialEq<DescriptorFlags> for DescriptorFlags
fn eq(&self, other: &DescriptorFlags) -> bool
fn ne(&self, other: &DescriptorFlags) -> bool
impl Eq for DescriptorFlags
impl Ord for DescriptorFlags
fn cmp(&self, other: &DescriptorFlags) -> Ordering
fn max(self, other: Self) -> Self
1.21.0[src]
Compares and returns the maximum of two values. Read more
fn min(self, other: Self) -> Self
1.21.0[src]
Compares and returns the minimum of two values. Read more
impl PartialOrd<DescriptorFlags> for DescriptorFlags
fn partial_cmp(&self, other: &DescriptorFlags) -> Option<Ordering>
fn lt(&self, other: &DescriptorFlags) -> bool
fn le(&self, other: &DescriptorFlags) -> bool
fn gt(&self, other: &DescriptorFlags) -> bool
fn ge(&self, other: &DescriptorFlags) -> bool
impl Hash for DescriptorFlags
fn hash<__H: Hasher>(&self, state: &mut __H)
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
H: Hasher,
Feeds a slice of this type into the given [Hasher
]. Read more
impl Copy for DescriptorFlags
impl Sub<DescriptorFlags> for DescriptorFlags
type Output = DescriptorFlags
The resulting type after applying the -
operator.
fn sub(self, other: DescriptorFlags) -> DescriptorFlags
Returns the set difference of the two sets of flags.
impl SubAssign<DescriptorFlags> for DescriptorFlags
fn sub_assign(&mut self, other: DescriptorFlags)
Disables all flags enabled in the set.
impl Not for DescriptorFlags
type Output = DescriptorFlags
The resulting type after applying the !
operator.
fn not(self) -> DescriptorFlags
Returns the complement of this set of flags.
impl BitAnd<DescriptorFlags> for DescriptorFlags
type Output = DescriptorFlags
The resulting type after applying the &
operator.
fn bitand(self, other: DescriptorFlags) -> DescriptorFlags
Returns the intersection between the two sets of flags.
impl BitOr<DescriptorFlags> for DescriptorFlags
type Output = DescriptorFlags
The resulting type after applying the |
operator.
fn bitor(self, other: DescriptorFlags) -> DescriptorFlags
Returns the union of the two sets of flags.
impl BitXor<DescriptorFlags> for DescriptorFlags
type Output = DescriptorFlags
The resulting type after applying the ^
operator.
fn bitxor(self, other: DescriptorFlags) -> DescriptorFlags
Returns the left flags, but with all the right flags toggled.
impl BitAndAssign<DescriptorFlags> for DescriptorFlags
fn bitand_assign(&mut self, other: DescriptorFlags)
Disables all flags disabled in the set.
impl BitOrAssign<DescriptorFlags> for DescriptorFlags
fn bitor_assign(&mut self, other: DescriptorFlags)
Adds the set of flags.
impl BitXorAssign<DescriptorFlags> for DescriptorFlags
fn bitxor_assign(&mut self, other: DescriptorFlags)
Toggles the set of flags.
impl Extend<DescriptorFlags> for DescriptorFlags
fn extend<T: IntoIterator<Item = DescriptorFlags>>(&mut self, iterator: T)
impl FromIterator<DescriptorFlags> for DescriptorFlags
fn from_iter<T: IntoIterator<Item = DescriptorFlags>>(
iterator: T
) -> DescriptorFlags
iterator: T
) -> DescriptorFlags
impl Octal for DescriptorFlags
impl Binary for DescriptorFlags
impl LowerHex for DescriptorFlags
impl UpperHex for DescriptorFlags
Auto Trait Implementations
impl Send for DescriptorFlags
impl Sync for DescriptorFlags
Blanket Implementations
impl<T> From for T
[src]
impl<T, U> TryFrom for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = !
try_from
)The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
try_from
)The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T, U> Into for T where
U: From<T>,
[src]
U: From<T>,
impl<T> Borrow for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,