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

42 lines
980 B
C

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