// This file is part of noxos and licensed under the MIT open source license #ifndef NOX_SECTION_H #define NOX_SECTION_H #include "utils/stdtypes.h" #include "utils/string.h" typedef enum { ELF_SECTION_NULL, ELF_SECTION_PROGRAM_DATA, ELF_SECTION_SYMBOL_TABLE, ELF_SECTION_STRING_TABLE, ELF_SECTION_RELOCATION_A, ELF_SECTION_HASH, ELF_SECTION_DYNAMIC, ELF_SECTION_NOTE, ELF_SECTION_NOBITS, ELF_SECTION_REL, ELF_SECTION_SHLIB, ELF_SECTION_DYNAMIC_SYMBOL_TABLE, ELF_SECTION_ENUM_END } elf_section_type_E; typedef struct { uint32_t name_offset; uint32_t type; uint64_t flags; uint64_t virtual_address; uint64_t offset; uint64_t length; uint32_t link; uint32_t info; uint64_t alignment; uint64_t entry_size; } elf_section_T; extern string_t g_elf_section_type_strings[ELF_SECTION_ENUM_END+1]; #endif //NOX_SECTION_H