Struct SectionFlags

Source
pub struct SectionFlags(/* private fields */);
Expand description

Additional attributes for object file sections.

Implementations§

Source§

impl SectionFlags

Source

pub fn write(&self) -> bool

Indicates the section contains data that should be writable by the process.

Source

pub fn allocate(&self) -> bool

Indicates this section should be loaded into memory when the process is run.

Source

pub fn execute(&self) -> bool

Indicates this section contains code that should be executable by the process.

Source

pub fn merged(&self) -> bool

Indicates that multiple sections of this type can be combined while deleting duplicate contents.

Source

pub fn strings(&self) -> bool

Indicates the section contains null-terminate strings.

Indicates that the extra_info field of the section header contains an index to another section header.

Source

pub fn keep_order(&self) -> bool

Indicates that this section and the [associated_section_index] should maintain their relative order when linking.

Source

pub fn os_nonconforming(&self) -> bool

Indicates that the section must be processed in an OS-defined way during linking.

Source

pub fn group_member(&self) -> bool

Indicates the section is listed by a section with type SectionType::Group.

Source

pub fn thread_locals(&self) -> bool

Indicates the section contains a template for the thread-local storage area.

Source

pub fn os_defined(&self) -> u8

Bits that are left for OS-defined flags.

Source

pub fn arch_defined(&self) -> u8

Bits that are left for CPU architecture-defined flags.

Source

pub fn set_write(&mut self, value: bool)

Indicates the section contains data that should be writable by the process.

Source

pub fn with_write(&mut self, value: bool) -> Self

Indicates the section contains data that should be writable by the process.

Source

pub fn set_allocate(&mut self, value: bool)

Indicates this section should be loaded into memory when the process is run.

Source

pub fn with_allocate(&mut self, value: bool) -> Self

Indicates this section should be loaded into memory when the process is run.

Source

pub fn set_execute(&mut self, value: bool)

Indicates this section contains code that should be executable by the process.

Source

pub fn with_execute(&mut self, value: bool) -> Self

Indicates this section contains code that should be executable by the process.

Source

pub fn set_merged(&mut self, value: bool)

Indicates that multiple sections of this type can be combined while deleting duplicate contents.

Source

pub fn with_merged(&mut self, value: bool) -> Self

Indicates that multiple sections of this type can be combined while deleting duplicate contents.

Source

pub fn set_strings(&mut self, value: bool)

Indicates the section contains null-terminate strings.

Source

pub fn with_strings(&mut self, value: bool) -> Self

Indicates the section contains null-terminate strings.

Indicates that the extra_info field of the section header contains an index to another section header.

Indicates that the extra_info field of the section header contains an index to another section header.

Source

pub fn set_keep_order(&mut self, value: bool)

Indicates that this section and the [associated_section_index] should maintain their relative order when linking.

Source

pub fn with_keep_order(&mut self, value: bool) -> Self

Indicates that this section and the [associated_section_index] should maintain their relative order when linking.

Source

pub fn set_os_nonconforming(&mut self, value: bool)

Indicates that the section must be processed in an OS-defined way during linking.

Source

pub fn with_os_nonconforming(&mut self, value: bool) -> Self

Indicates that the section must be processed in an OS-defined way during linking.

Source

pub fn set_group_member(&mut self, value: bool)

Indicates the section is listed by a section with type SectionType::Group.

Source

pub fn with_group_member(&mut self, value: bool) -> Self

Indicates the section is listed by a section with type SectionType::Group.

Source

pub fn set_thread_locals(&mut self, value: bool)

Indicates the section contains a template for the thread-local storage area.

Source

pub fn with_thread_locals(&mut self, value: bool) -> Self

Indicates the section contains a template for the thread-local storage area.

Source

pub fn set_os_defined(&mut self, value: u8)

Bits that are left for OS-defined flags.

Source

pub fn with_os_defined(&self, value: u8) -> Self

Bits that are left for OS-defined flags.

Source

pub fn set_arch_defined(&mut self, value: u8)

Bits that are left for CPU architecture-defined flags.

Source

pub fn with_arch_defined(&self, value: u8) -> Self

Bits that are left for CPU architecture-defined flags.

Trait Implementations§

Source§

impl Bitfield<u32> for SectionFlags

§

fn new(value: T) -> Self

Construct a new bitfield type from its underlying representation
§

fn value(self) -> T

Unwrap the bitfield into its underlying representation
Source§

impl Clone for SectionFlags

Source§

fn clone(&self) -> SectionFlags

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 SectionFlags

Source§

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

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

impl Default for SectionFlags

Source§

fn default() -> SectionFlags

Returns the “default value” for a type. Read more
Source§

impl From<SectionFlags> for u32

Source§

fn from(val: SectionFlags) -> Self

Converts to this type from the input type.
Source§

impl From<SectionFlags> for usize

Source§

fn from(flags: SectionFlags) -> usize

Converts to this type from the input type.
Source§

impl From<u32> for SectionFlags

Source§

fn from(val: u32) -> Self

Converts to this type from the input type.
Source§

impl From<usize> for SectionFlags

Source§

fn from(value: usize) -> SectionFlags

Converts to this type from the input type.
Source§

impl PartialEq for SectionFlags

Source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

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

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for SectionFlags

Source§

impl Eq for SectionFlags

Source§

impl StructuralPartialEq for SectionFlags

Auto Trait Implementations§

Blanket Implementations§

Source§

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

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

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

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

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

Source§

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

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. 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 T
where 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 T
where U: Into<T>,

Source§

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 T
where U: TryFrom<T>,

Source§

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.