Struct ImageDosHeader

struct ImageDosHeader { ... }

DOS .EXE header

Fields

e_magic: crate::endian::U16<crate::endian::LittleEndian>

Magic number

e_cblp: crate::endian::U16<crate::endian::LittleEndian>

Bytes on last page of file

e_cp: crate::endian::U16<crate::endian::LittleEndian>

Pages in file

e_crlc: crate::endian::U16<crate::endian::LittleEndian>

Relocations

e_cparhdr: crate::endian::U16<crate::endian::LittleEndian>

Size of header in paragraphs

e_minalloc: crate::endian::U16<crate::endian::LittleEndian>

Minimum extra paragraphs needed

e_maxalloc: crate::endian::U16<crate::endian::LittleEndian>

Maximum extra paragraphs needed

e_ss: crate::endian::U16<crate::endian::LittleEndian>

Initial (relative) SS value

e_sp: crate::endian::U16<crate::endian::LittleEndian>

Initial SP value

e_csum: crate::endian::U16<crate::endian::LittleEndian>

Checksum

e_ip: crate::endian::U16<crate::endian::LittleEndian>

Initial IP value

e_cs: crate::endian::U16<crate::endian::LittleEndian>

Initial (relative) CS value

e_lfarlc: crate::endian::U16<crate::endian::LittleEndian>

File address of relocation table

e_ovno: crate::endian::U16<crate::endian::LittleEndian>

Overlay number

e_res: [crate::endian::U16<crate::endian::LittleEndian>; 4]

Reserved words

e_oemid: crate::endian::U16<crate::endian::LittleEndian>

OEM identifier (for e_oeminfo)

e_oeminfo: crate::endian::U16<crate::endian::LittleEndian>

OEM information; e_oemid specific

e_res2: [crate::endian::U16<crate::endian::LittleEndian>; 10]

Reserved words

e_lfanew: crate::endian::U32<crate::endian::LittleEndian>

File address of new exe header

Implementations

impl pe::ImageDosHeader

fn parse<'data, R: ReadRef<'data>>(data: R) -> read::Result<&'data Self>

Read the DOS header.

Also checks that the e_magic field in the header is valid.

fn nt_headers_offset(self: &Self) -> u32

Return the file offset of the nt_headers.

impl Clone for ImageDosHeader

fn clone(self: &Self) -> ImageDosHeader

impl Copy for ImageDosHeader

impl Debug for ImageDosHeader

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

impl Freeze for ImageDosHeader

impl Pod for ImageDosHeader

impl RefUnwindSafe for ImageDosHeader

impl Send for ImageDosHeader

impl Sync for ImageDosHeader

impl Unpin for ImageDosHeader

impl UnwindSafe for ImageDosHeader

impl<T> Any for ImageDosHeader

fn type_id(self: &Self) -> TypeId

impl<T> Borrow for ImageDosHeader

fn borrow(self: &Self) -> &T

impl<T> BorrowMut for ImageDosHeader

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

impl<T> CloneToUninit for ImageDosHeader

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

impl<T> From for ImageDosHeader

fn from(t: T) -> T

Returns the argument unchanged.

impl<T> ToOwned for ImageDosHeader

fn to_owned(self: &Self) -> T
fn clone_into(self: &Self, target: &mut T)

impl<T, U> Into for ImageDosHeader

fn into(self: Self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of [From]<T> for U chooses to do.

impl<T, U> TryFrom for ImageDosHeader

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

impl<T, U> TryInto for ImageDosHeader

fn try_into(self: Self) -> Result<U, <U as TryFrom<T>>::Error>