Struct tartan_arch::x86_common::protection::GateDescriptorFlags
source · pub struct GateDescriptorFlags(/* private fields */);
Expand description
Settings for GateDescriptor
s.
Implementations§
source§impl GateDescriptorFlags
impl GateDescriptorFlags
sourcepub fn call_param_count(&self) -> u8
pub fn call_param_count(&self) -> u8
Number of stack parameters to copy if the code segment referenced by a call gate uses a different stack segment.
Only applies to call gates.
sourcepub fn interrupt_stack_index(&self) -> u8
Available on x86-64 only.
pub fn interrupt_stack_index(&self) -> u8
One-based index of the
interrupt_stack
pointer to use
when handling an interrupt though this gate.
If this value is zero, then the stack segment is set to null.
Only applies to interrupt and trap gates.
sourcepub fn set_call_param_count(&mut self, value: u8)
pub fn set_call_param_count(&mut self, value: u8)
Number of stack parameters to copy if the code segment referenced by a call gate uses a different stack segment.
Only applies to call gates.
sourcepub fn with_call_param_count(&self, value: u8) -> Self
pub fn with_call_param_count(&self, value: u8) -> Self
Number of stack parameters to copy if the code segment referenced by a call gate uses a different stack segment.
Only applies to call gates.
sourcepub fn set_interrupt_stack_index(&mut self, value: u8)
Available on x86-64 only.
pub fn set_interrupt_stack_index(&mut self, value: u8)
One-based index of the
interrupt_stack
pointer to use
when handling an interrupt though this gate.
If this value is zero, then the stack segment is set to null.
Only applies to interrupt and trap gates.
sourcepub fn with_interrupt_stack_index(&self, value: u8) -> Self
Available on x86-64 only.
pub fn with_interrupt_stack_index(&self, value: u8) -> Self
One-based index of the
interrupt_stack
pointer to use
when handling an interrupt though this gate.
If this value is zero, then the stack segment is set to null.
Only applies to interrupt and trap gates.
Trait Implementations§
source§impl Bitfield<u32> for GateDescriptorFlags
impl Bitfield<u32> for GateDescriptorFlags
source§impl Clone for GateDescriptorFlags
impl Clone for GateDescriptorFlags
source§fn clone(&self) -> GateDescriptorFlags
fn clone(&self) -> GateDescriptorFlags
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for GateDescriptorFlags
impl Debug for GateDescriptorFlags
source§impl Default for GateDescriptorFlags
impl Default for GateDescriptorFlags
source§fn default() -> GateDescriptorFlags
fn default() -> GateDescriptorFlags
source§impl DescriptorFlags for GateDescriptorFlags
impl DescriptorFlags for GateDescriptorFlags
source§fn system_type(&self) -> SystemDescriptorType
fn system_type(&self) -> SystemDescriptorType
source§fn application_accessed(&self) -> bool
fn application_accessed(&self) -> bool
source§fn code_readable(&self) -> bool
fn code_readable(&self) -> bool
source§fn data_writable(&self) -> bool
fn data_writable(&self) -> bool
source§fn code_conforming(&self) -> bool
fn code_conforming(&self) -> bool
privilege_level
. Read moresource§fn data_expand_down(&self) -> bool
fn data_expand_down(&self) -> bool
source§fn is_code(&self) -> bool
fn is_code(&self) -> bool
source§fn is_application(&self) -> bool
fn is_application(&self) -> bool
S
: Indicates that this is an application section descriptor if true.
Otherwise, this is a system descriptor.source§fn privilege_level(&self) -> u8
fn privilege_level(&self) -> u8
DPL
: The privilege level associated with the segment. Read moresource§fn code_mode_64(&self) -> bool
fn code_mode_64(&self) -> bool
L
: If this is a code segment, indicates that it should be executed in 64-bit
mode. Read moresource§fn application_mode_32(&self) -> bool
fn application_mode_32(&self) -> bool
D
/B
: Indicates that the segment uses 32-bit mode. Otherwise, it is 16-bit,
unless code_mode_64
is set. Read moresource§fn set_system_type(&mut self, value: SystemDescriptorType)
fn set_system_type(&mut self, value: SystemDescriptorType)
source§fn with_system_type(&self, value: SystemDescriptorType) -> Self
fn with_system_type(&self, value: SystemDescriptorType) -> Self
source§fn set_application_accessed(&mut self, value: bool)
fn set_application_accessed(&mut self, value: bool)
source§fn with_application_accessed(&mut self, value: bool) -> Self
fn with_application_accessed(&mut self, value: bool) -> Self
source§fn set_code_readable(&mut self, value: bool)
fn set_code_readable(&mut self, value: bool)
source§fn with_code_readable(&mut self, value: bool) -> Self
fn with_code_readable(&mut self, value: bool) -> Self
source§fn set_data_writable(&mut self, value: bool)
fn set_data_writable(&mut self, value: bool)
source§fn with_data_writable(&mut self, value: bool) -> Self
fn with_data_writable(&mut self, value: bool) -> Self
source§fn set_code_conforming(&mut self, value: bool)
fn set_code_conforming(&mut self, value: bool)
privilege_level
. Read moresource§fn with_code_conforming(&mut self, value: bool) -> Self
fn with_code_conforming(&mut self, value: bool) -> Self
privilege_level
. Read moresource§fn set_data_expand_down(&mut self, value: bool)
fn set_data_expand_down(&mut self, value: bool)
source§fn with_data_expand_down(&mut self, value: bool) -> Self
fn with_data_expand_down(&mut self, value: bool) -> Self
source§fn set_is_code(&mut self, value: bool)
fn set_is_code(&mut self, value: bool)
source§fn with_is_code(&mut self, value: bool) -> Self
fn with_is_code(&mut self, value: bool) -> Self
source§fn set_is_application(&mut self, value: bool)
fn set_is_application(&mut self, value: bool)
S
: Indicates that this is an application section descriptor if true.
Otherwise, this is a system descriptor.source§fn with_is_application(&mut self, value: bool) -> Self
fn with_is_application(&mut self, value: bool) -> Self
S
: Indicates that this is an application section descriptor if true.
Otherwise, this is a system descriptor.source§fn set_privilege_level(&mut self, value: u8)
fn set_privilege_level(&mut self, value: u8)
DPL
: The privilege level associated with the segment. Read moresource§fn with_privilege_level(&self, value: u8) -> Self
fn with_privilege_level(&self, value: u8) -> Self
DPL
: The privilege level associated with the segment. Read moresource§fn set_present(&mut self, value: bool)
fn set_present(&mut self, value: bool)
P
: Indicates that the segment is defined.source§fn with_present(&mut self, value: bool) -> Self
fn with_present(&mut self, value: bool) -> Self
P
: Indicates that the segment is defined.source§fn set_code_mode_64(&mut self, value: bool)
fn set_code_mode_64(&mut self, value: bool)
L
: If this is a code segment, indicates that it should be executed in 64-bit
mode. Read moresource§fn with_code_mode_64(&mut self, value: bool) -> Self
fn with_code_mode_64(&mut self, value: bool) -> Self
L
: If this is a code segment, indicates that it should be executed in 64-bit
mode. Read moresource§fn set_application_mode_32(&mut self, value: bool)
fn set_application_mode_32(&mut self, value: bool)
D
/B
: Indicates that the segment uses 32-bit mode. Otherwise, it is 16-bit,
unless code_mode_64
is set. Read moresource§fn with_application_mode_32(&mut self, value: bool) -> Self
fn with_application_mode_32(&mut self, value: bool) -> Self
D
/B
: Indicates that the segment uses 32-bit mode. Otherwise, it is 16-bit,
unless code_mode_64
is set. Read moresource§fn fmt_fields(&self, f: &mut DebugStruct<'_, '_>)
fn fmt_fields(&self, f: &mut DebugStruct<'_, '_>)
Debug
implementations.source§fn is_gate(&self) -> bool
fn is_gate(&self) -> bool
GateDescriptor
.source§impl From<GateDescriptorFlags> for u32
impl From<GateDescriptorFlags> for u32
source§fn from(val: GateDescriptorFlags) -> Self
fn from(val: GateDescriptorFlags) -> Self
source§impl From<u32> for GateDescriptorFlags
impl From<u32> for GateDescriptorFlags
source§impl PartialEq for GateDescriptorFlags
impl PartialEq for GateDescriptorFlags
impl Copy for GateDescriptorFlags
impl Eq for GateDescriptorFlags
impl StructuralPartialEq for GateDescriptorFlags
Auto Trait Implementations§
impl Freeze for GateDescriptorFlags
impl RefUnwindSafe for GateDescriptorFlags
impl Send for GateDescriptorFlags
impl Sync for GateDescriptorFlags
impl Unpin for GateDescriptorFlags
impl UnwindSafe for GateDescriptorFlags
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
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)source§impl<T> CloneToUninit for Twhere
T: Copy,
impl<T> CloneToUninit for Twhere
T: Copy,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)