userspace/file/format/elf/header/
class_32.rs1use crate::file::format::elf::dtype::class_32::*;
2
3ample::r#struct!(
4 #[repr(C)]
5 pub struct Header32 {
6 pub e_ident: super::Identifier,
7 pub e_type: Half,
8 pub e_machine: Half,
9 pub e_version: Word,
10 pub e_entry: Addr,
11 pub e_phoff: Off,
12 pub e_shoff: Off,
13 pub e_flags: Word,
14 pub e_ehsize: Half,
15 pub e_phentsize: Half,
16 pub e_phnum: Half,
17 pub e_shentsize: Half,
18 pub e_shnum: Half,
19 pub e_shstrndx: Half,
20 }
21);
22
23impl core::fmt::Debug for Header32 {
24 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
25 write!(f, "Header32 {{\n")?;
26 write!(f, "\tident ({:?})\n", self.e_ident)?;
27 write!(f, "\ttype ({:?})\n", self.e_type)?;
28 write!(f, "\tmachine ({:?})\n", self.e_machine)?;
29 write!(f, "\tversion ({:?})\n", self.e_version)?;
30 write!(f, "\tentry ({:?})\n", self.e_entry)?;
31 write!(f, "\tphoff ({:?})\n", self.e_phoff)?;
32 write!(f, "\tshoff ({:?})\n", self.e_shoff)?;
33 write!(f, "\tflags ({:?})\n", self.e_flags)?;
34 write!(f, "\tehsize ({:?})\n", self.e_ehsize)?;
35 write!(f, "\tphentsize ({:?})\n", self.e_phentsize)?;
36 write!(f, "\tphnum ({:?})\n", self.e_phnum)?;
37 write!(f, "\tshentsize ({:?})\n", self.e_shentsize)?;
38 write!(f, "\tshnum ({:?})\n", self.e_shnum)?;
39 write!(f, "\tshstrndx ({:?})\n", self.e_shstrndx)?;
40 write!(f, "}} Header64")
41 }
42}