package typerex-binutils

  1. Overview
  2. Docs
type verdef = {
  1. vd_version : int64;
  2. vd_flags : int64;
  3. vd_ndx : int64;
  4. vd_cnt : int64;
  5. vd_hash : int64;
  6. vd_aux : int64;
  7. vd_next : int64;
}
type verdaux = {
  1. vda_name : int64;
  2. vda_next : int64;
}
type verneed = {
  1. vn_version : int64;
  2. vn_cnt : int64;
  3. vn_file : str;
  4. vn_aux : int64;
  5. vn_next : int64;
}
type vernaux = {
  1. vna_hash : int64;
  2. vna_flags : int64;
  3. vna_other : int64;
  4. vna_name : str;
  5. vna_next : int64;
}
type elf_section_type =
  1. | SHT_NULL
  2. | SHT_PROGBITS
  3. | SHT_SYMTAB
  4. | SHT_STRTAB
  5. | SHT_RELA
  6. | SHT_HASH
  7. | SHT_DYNAMIC
  8. | SHT_NOTE
  9. | SHT_NOBITS
  10. | SHT_REL
  11. | SHT_SHLIB
  12. | SHT_DYNSYM
  13. | SHT_INIT_ARRAY
  14. | SHT_FINI_ARRAY
  15. | SHT_PREINIT_ARRAY
  16. | SHT_GROUP
  17. | SHT_SYMTAB_SHNDX
  18. | SHT_NUM of int
  19. | SHT_OS of int
  20. | SHT_PROC of int
  21. | SHT_USER of int
  22. | SHT_GNU_verdef
  23. | SHT_GNU_verneed
  24. | SHT_GNU_versym
type section_header = {
  1. sh_name : word;
  2. sh_type : elf_section_type;
  3. sh_flags : section_attribute list;
  4. sh_addr : addr;
  5. sh_offset : off;
  6. sh_size : word;
  7. sh_info : word;
  8. sh_addralign : word;
  9. sh_entsize : word;
}
type section = {
  1. section_name : string;
  2. section_content : string;
  3. section_header : section_header;
}
type program_header = {
  1. p_type : segment_type;
  2. p_flags : word;
  3. p_offset : off;
  4. p_vaddr : addr;
  5. p_paddr : addr;
  6. p_filesz : xword;
  7. p_memsz : xword;
  8. p_align : xword;
}
type program = {
  1. program_content : string;
  2. program_header : program_header;
}
type header = {
  1. e_ident : string;
  2. e_file_class : elf_file_class;
  3. e_data_encoding : elf_data_encoding;
  4. e_file_version : int;
  5. e_osabi : elf_osabi;
  6. e_abi_version : int;
  7. e_type : elf_type;
  8. e_machine : machine;
  9. e_version : word;
  10. e_entry : addr;
  11. e_phoff : off;
  12. e_shoff : off;
  13. e_flags : word;
  14. e_ehsize : half;
  15. e_phentsize : half;
  16. e_phnum : half;
  17. e_shentsize : half;
  18. e_shnum : half;
  19. e_shstrndx : half;
}
type t = {
  1. elf_content : string;
  2. elf_header : header;
  3. elf_programs : program array;
  4. elf_sections : section array;
}