#[derive(PartialEq, Eq, Copy, Clone, Debug)]
#[repr(u16)]
#[allow(clippy::upper_case_acronyms)]
pub enum MachineTypes {
AMD64 = 0x8664,
ARMNT = 0x1C4,
ARM64 = 0xAA64,
ARM64EC = 0xA641,
ARM64X = 0xA64E,
I386 = 0x14C,
}
impl From<MachineTypes> for u16 {
fn from(val: MachineTypes) -> Self {
val as u16
}
}
pub fn is_arm64ec(machine: MachineTypes) -> bool {
machine == MachineTypes::ARM64EC || machine == MachineTypes::ARM64X
}
pub fn is_any_arm64(machine: MachineTypes) -> bool {
machine == MachineTypes::ARM64 || is_arm64ec(machine)
}
pub fn is_64_bit(machine: MachineTypes) -> bool {
machine == MachineTypes::AMD64 || is_any_arm64(machine)
}
#[derive(PartialEq, Eq, Copy, Clone)]
#[repr(u16)]
pub enum ImportType {
Code = 0,
Data = 1,
Const = 2,
}
impl From<ImportType> for u16 {
fn from(val: ImportType) -> Self {
val as u16
}
}
#[derive(PartialEq, Eq, Copy, Clone)]
#[repr(u16)]
pub enum ImportNameType {
Ordinal = 0,
Name = 1,
NameNoprefix = 2,
NameUndecorate = 3,
NameExportas = 4,
}
impl From<ImportNameType> for u16 {
fn from(val: ImportNameType) -> Self {
val as u16
}
}