xgadget/binary/
file_format.rs1use core::str::FromStr;
2
3use crate::error::Error;
4
5#[derive(Debug, PartialEq, Eq, Clone, Copy, Hash)]
7pub enum Format {
8 Unknown,
10 ELF,
12 PE,
14 MachO,
16 Raw,
18}
19
20impl FromStr for Format {
21 type Err = Error;
22
23 fn from_str(s: &str) -> Result<Self, Self::Err> {
24 match s {
25 "unknown" => Ok(Format::Unknown),
26 "elf" => Ok(Format::ELF),
27 "pe" => Ok(Format::PE),
28 "macho" => Ok(Format::MachO),
29 "raw" => Ok(Format::Raw),
30 _ => Err(Error::UnsupportedFileFormat),
31 }
32 }
33}