x86 0.8.0

Library to program x86 (amd64) hardware. Contains x86 specific data structure descriptions, data-tables, as well as convenience function to call assembly instructions typically not exposed in higher level languages.

Struct x86::shared::segmentation::SegmentSelector []

pub struct SegmentSelector {
    // some fields omitted
}

Methods

impl SegmentSelector

fn empty() -> SegmentSelector

Returns an empty set of flags.

fn all() -> SegmentSelector

Returns the set containing all flags.

fn bits(&self) -> u16

Returns the raw value of the flags currently stored.

fn from_bits(bits: u16) -> Option<SegmentSelector>

Convert from underlying bit representation, unless that representation contains bits that do not correspond to a flag.

fn from_bits_truncate(bits: u16) -> SegmentSelector

Convert from underlying bit representation, dropping any bits that do not correspond to flags.

fn is_empty(&self) -> bool

Returns true if no flags are currently stored.

fn is_all(&self) -> bool

Returns true if all flags are currently set.

fn intersects(&self, other: SegmentSelector) -> bool

Returns true if there are flags common to both self and other.

fn contains(&self, other: SegmentSelector) -> bool

Returns true all of the flags in other are contained within self.

fn insert(&mut self, other: SegmentSelector)

Inserts the specified flags in-place.

fn remove(&mut self, other: SegmentSelector)

Removes the specified flags in-place.

fn toggle(&mut self, other: SegmentSelector)

Toggles the specified flags in-place.

impl SegmentSelector
[src]

const fn new(index: u16, rpl: PrivilegeLevel) -> SegmentSelector

Create a new SegmentSelector

Arguments

  • index index in GDT or LDT array.

const fn from_raw(bits: u16) -> SegmentSelector

Trait Implementations

impl Hash for SegmentSelector

fn hash<__H: Hasher>(&self, __arg_0: &mut __H)

Feeds this value into the state given, updating the hasher as necessary.

fn hash_slice<H>(data: &[Self], state: &mut H) where H: Hasher
1.3.0

Feeds a slice of this type into the state provided.

impl Ord for SegmentSelector

fn cmp(&self, __arg_0: &SegmentSelector) -> Ordering

This method returns an Ordering between self and other. Read more

impl PartialOrd for SegmentSelector

fn partial_cmp(&self, __arg_0: &SegmentSelector) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more

fn lt(&self, __arg_0: &SegmentSelector) -> bool

This method tests less than (for self and other) and is used by the < operator. Read more

fn le(&self, __arg_0: &SegmentSelector) -> bool

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more

fn gt(&self, __arg_0: &SegmentSelector) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more

fn ge(&self, __arg_0: &SegmentSelector) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more

impl Clone for SegmentSelector

fn clone(&self) -> SegmentSelector

Returns a copy of the value. Read more

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

Performs copy-assignment from source. Read more

impl Eq for SegmentSelector

impl PartialEq for SegmentSelector

fn eq(&self, __arg_0: &SegmentSelector) -> bool

This method tests for self and other values to be equal, and is used by ==. Read more

fn ne(&self, __arg_0: &SegmentSelector) -> bool

This method tests for !=.

impl Copy for SegmentSelector

impl Debug for SegmentSelector

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

Formats the value using the given formatter.

impl BitOr for SegmentSelector

type Output = SegmentSelector

The resulting type after applying the | operator

fn bitor(self, other: SegmentSelector) -> SegmentSelector

Returns the union of the two sets of flags.

impl BitOrAssign for SegmentSelector

fn bitor_assign(&mut self, other: SegmentSelector)

Adds the set of flags.

impl BitXor for SegmentSelector

type Output = SegmentSelector

The resulting type after applying the ^ operator

fn bitxor(self, other: SegmentSelector) -> SegmentSelector

Returns the left flags, but with all the right flags toggled.

impl BitXorAssign for SegmentSelector

fn bitxor_assign(&mut self, other: SegmentSelector)

Toggles the set of flags.

impl BitAnd for SegmentSelector

type Output = SegmentSelector

The resulting type after applying the & operator

fn bitand(self, other: SegmentSelector) -> SegmentSelector

Returns the intersection between the two sets of flags.

impl BitAndAssign for SegmentSelector

fn bitand_assign(&mut self, other: SegmentSelector)

Disables all flags disabled in the set.

impl Sub for SegmentSelector

type Output = SegmentSelector

The resulting type after applying the - operator

fn sub(self, other: SegmentSelector) -> SegmentSelector

Returns the set difference of the two sets of flags.

impl SubAssign for SegmentSelector

fn sub_assign(&mut self, other: SegmentSelector)

Disables all flags enabled in the set.

impl Not for SegmentSelector

type Output = SegmentSelector

The resulting type after applying the ! operator

fn not(self) -> SegmentSelector

Returns the complement of this set of flags.

impl Extend<SegmentSelector> for SegmentSelector

fn extend<T: IntoIterator<Item=SegmentSelector>>(&mut self, iterator: T)

Extends a collection with the contents of an iterator. Read more

impl FromIterator<SegmentSelector> for SegmentSelector

fn from_iter<T: IntoIterator<Item=SegmentSelector>>(iterator: T) -> SegmentSelector

Creates a value from an iterator. Read more

impl Display for SegmentSelector
[src]

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

Formats the value using the given formatter.