1. ELF header -> Elf32_Ehdr
    1. e_ident[EI_NIDENT]
      1. Subtopic 1
    2. e_type
    3. e_machine
    4. e_version
    5. e_entry
    6. e_phoff
      1. program header table's file offset
    7. e_shoff
      1. section header table's file offset
    8. e_flags
    9. e_ehsize
      1. ELF header's size
    10. e_phentsize
      1. one entry of program header's size
    11. e_phnum
      1. number of entries in program header table
    12. e_shentsize
      1. a section header's size, a section header is one entry in the section header table
    13. e_shnum
      1. number of entries in the section header table
    14. e_shstrndx
  2. program header table -> array of Elf32_Phdr
    1. p_type
      1. tell what kind of segment this array element describes or how to interpret it
    2. p_offset
      1. offset from the beginning of the file to the first byte of the segment
    3. p_vaddr
      1. virtual address of the first byte of the segment
    4. p_paddr
      1. segment's physical address
    5. p_filesz
      1. segment size
    6. p_memsz
      1. size of memory image of segment
    7. p_flags
      1. bit mask of flags of the segment
    8. p_align
      1. Subtopic 1
  3. section header table -> array of Elf32_Shdr
    1. sh_name
      1. name of the section
    2. sh_type
    3. sh_flags
    4. sh_addr
    5. sh_offset
    6. sh_size
    7. sh_link
    8. sh_info
    9. sh_addralign
    10. sh_entsize
  4. string table
  5. symbol table -> array of Elf32_Sym
    1. st_name
    2. st_value
    3. st_size
    4. st_info
    5. st_other
    6. st_shndx