39 lines
903 B
C
39 lines
903 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_LINK,
|
|
ELF_SECTION_NOTE,
|
|
ELF_SECTION_NOBITS,
|
|
|
|
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
|