Enum dynasmrt::relocations::RelocationSize

source ·
pub enum RelocationSize {
    Byte = 1,
    Word = 2,
    DWord = 4,
    QWord = 8,
}
Expand description

A descriptor for the size of a relocation. This also doubles as a relocation itself for relocations in data directives. Can be converted to relocations of any kind of architecture using Relocation::from_size.

Variants§

§

Byte = 1

A byte-sized relocation

§

Word = 2

A two-byte relocation

§

DWord = 4

A four-byte sized relocation

§

QWord = 8

An 8-byte sized relocation

Trait Implementations§

source§

impl Clone for RelocationSize

source§

fn clone(&self) -> RelocationSize

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 RelocationSize

source§

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

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

impl Hash for RelocationSize

source§

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

Feeds this value into the given Hasher. Read more
1.3.0 · source§

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

Feeds a slice of this type into the given Hasher. Read more
source§

impl PartialEq for RelocationSize

source§

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

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Relocation for RelocationSize

§

type Encoding = u8

The encoded representation for this relocation that is emitted by the dynasm! macro.
source§

fn from_encoding(encoding: Self::Encoding) -> Self

construct this relocation from an encoded representation.
source§

fn from_size(size: RelocationSize) -> Self

construct this relocation from a simple size. This is used to implement relocations in directives and literal pools.
source§

fn size(&self) -> usize

The size of the slice of bytes affected by this relocation
source§

fn write_value( &self, buf: &mut [u8], value: isize, ) -> Result<(), ImpossibleRelocation>

Write a value into a buffer of size self.size() in the format of this relocation. Any bits not part of the relocation should be preserved.
source§

fn read_value(&self, buf: &[u8]) -> isize

Read a value from a buffer of size self.size() in the format of this relocation.
source§

fn kind(&self) -> RelocationKind

Specifies what kind of relocation this relocation instance is.
source§

fn page_size() -> usize

Specifies the default page size on this platform.
source§

impl Copy for RelocationSize

source§

impl Eq for RelocationSize

source§

impl StructuralPartialEq for RelocationSize

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§

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

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
source§

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

source§

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

🔬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> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

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>,

§

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.