Struct x86::segmentation::DescriptorBuilder
source · [−]pub struct DescriptorBuilder { /* private fields */ }
Expand description
Makes building descriptors easier (hopefully).
Implementations
sourceimpl DescriptorBuilder
impl DescriptorBuilder
sourcepub fn limit_granularity_4kb(self) -> DescriptorBuilder
pub fn limit_granularity_4kb(self) -> DescriptorBuilder
The segment limit is interpreted in 4-KByte units if this is set.
sourcepub fn present(self) -> DescriptorBuilder
pub fn present(self) -> DescriptorBuilder
Indicates whether the segment is present in memory (set) or not present (clear).
sourcepub fn dpl(self, dpl: Ring) -> DescriptorBuilder
pub fn dpl(self, dpl: Ring) -> DescriptorBuilder
Specifies the privilege level of the segment.
sourcepub fn avl(self) -> DescriptorBuilder
pub fn avl(self) -> DescriptorBuilder
Toggle the AVL bit.
sourcepub fn db(self) -> DescriptorBuilder
pub fn db(self) -> DescriptorBuilder
Set default operation size (false for 16bit segment, true for 32bit segments).
sourcepub fn l(self) -> DescriptorBuilder
pub fn l(self) -> DescriptorBuilder
Set L bit if this descriptor is a 64-bit code segment. In IA-32e mode, bit 21 of the second doubleword of the segment descriptor indicates whether a code segment contains native 64-bit code. A value of 1 indicates instructions in this code segment are executed in 64-bit mode.
sourcepub fn ist(self, index: u8) -> DescriptorBuilder
pub fn ist(self, index: u8) -> DescriptorBuilder
Set a the interrupt stack table index (only if this ends up being a 64-bit interrupt descriptor).
Trait Implementations
sourceimpl BuildDescriptor<Descriptor> for DescriptorBuilder
impl BuildDescriptor<Descriptor> for DescriptorBuilder
fn finish(&self) -> Descriptor
sourceimpl BuildDescriptor<Descriptor64> for DescriptorBuilder
impl BuildDescriptor<Descriptor64> for DescriptorBuilder
fn finish(&self) -> Descriptor64
sourceimpl Debug for DescriptorBuilder
impl Debug for DescriptorBuilder
sourceimpl GateDescriptorBuilder<u16> for DescriptorBuilder
impl GateDescriptorBuilder<u16> for DescriptorBuilder
fn tss_descriptor(base: u64, limit: u64, available: bool) -> DescriptorBuilder
fn call_gate_descriptor(
selector: SegmentSelector,
offset: u16
) -> DescriptorBuilder
fn interrupt_descriptor(
selector: SegmentSelector,
offset: u16
) -> DescriptorBuilder
fn trap_gate_descriptor(
selector: SegmentSelector,
offset: u16
) -> DescriptorBuilder
sourceimpl GateDescriptorBuilder<u32> for DescriptorBuilder
impl GateDescriptorBuilder<u32> for DescriptorBuilder
fn tss_descriptor(base: u64, limit: u64, available: bool) -> DescriptorBuilder
fn call_gate_descriptor(
selector: SegmentSelector,
offset: u32
) -> DescriptorBuilder
fn interrupt_descriptor(
selector: SegmentSelector,
offset: u32
) -> DescriptorBuilder
fn trap_gate_descriptor(
selector: SegmentSelector,
offset: u32
) -> DescriptorBuilder
sourceimpl GateDescriptorBuilder<u64> for DescriptorBuilder
impl GateDescriptorBuilder<u64> for DescriptorBuilder
fn tss_descriptor(base: u64, limit: u64, available: bool) -> DescriptorBuilder
fn call_gate_descriptor(
selector: SegmentSelector,
offset: u64
) -> DescriptorBuilder
fn interrupt_descriptor(
selector: SegmentSelector,
offset: u64
) -> DescriptorBuilder
fn trap_gate_descriptor(
selector: SegmentSelector,
offset: u64
) -> DescriptorBuilder
sourceimpl LdtDescriptorBuilder<u32> for DescriptorBuilder
impl LdtDescriptorBuilder<u32> for DescriptorBuilder
fn ldt_descriptor(base: u32, limit: u32) -> DescriptorBuilder
sourceimpl LdtDescriptorBuilder<u64> for DescriptorBuilder
impl LdtDescriptorBuilder<u64> for DescriptorBuilder
fn ldt_descriptor(base: u64, limit: u64) -> DescriptorBuilder
sourceimpl SegmentDescriptorBuilder<u32> for DescriptorBuilder
impl SegmentDescriptorBuilder<u32> for DescriptorBuilder
fn code_descriptor(
base: u32,
limit: u32,
cst: CodeSegmentType
) -> DescriptorBuilder
fn data_descriptor(
base: u32,
limit: u32,
dst: DataSegmentType
) -> DescriptorBuilder
sourceimpl TaskGateDescriptorBuilder for DescriptorBuilder
impl TaskGateDescriptorBuilder for DescriptorBuilder
fn task_gate_descriptor(selector: SegmentSelector) -> DescriptorBuilder
Auto Trait Implementations
impl RefUnwindSafe for DescriptorBuilder
impl Send for DescriptorBuilder
impl Sync for DescriptorBuilder
impl Unpin for DescriptorBuilder
impl UnwindSafe for DescriptorBuilder
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more