// This file is part of noxos and licensed under the MIT open source license #ifndef NOX_ELF_H #define NOX_ELF_H #include "drivers/elf/header.h" #include "drivers/elf/section.h" #include "drivers/elf/mapping.h" #include "utils/symbol.h" typedef struct { elf_header_T header; uint64_t num_symbols; symbol_T* symbols; uint64_t num_mappings; elf_mapping_T* mappings; void* string_table; } elf_executable_T; typedef struct { elf_executable_T* executable; elf_section_T* symbol_table; elf_section_T* section_header_string_table; uint8_t* buffer; } elf_executable_temp_T; elf_executable_T* elf_executable_create (uint8_t* buffer); void elf_executable_destruct (elf_executable_T* executable); #endif //NOX_ELF_H