kernel/inc/drivers/builtin/elf/elf.h

32 lines
844 B
C

// 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