elf_utilities/header/
data.rs

1pub enum Data {
2    // invalid data encoding
3    None,
4    // 2's complement little endian
5    LSB2,
6    // 2's complement big endian
7    MSB2,
8    Num,
9
10    // for architecture-specific-value
11    Any(u8),
12}
13
14impl Data {
15    pub const INDEX: usize = 5;
16    pub fn to_identifier(&self) -> u8 {
17        match self {
18            Self::None => 0,
19            Self::LSB2 => 1,
20            Self::MSB2 => 2,
21            Self::Num => 3,
22            Self::Any(c) => *c,
23        }
24    }
25}
26
27impl From<u8> for Data {
28    fn from(byte: u8) -> Self {
29        match byte {
30            0 => Self::None,
31            1 => Self::LSB2,
32            2 => Self::MSB2,
33            3 => Self::Num,
34            _ => Self::Any(byte),
35        }
36    }
37}