kernel/inc/drivers/elf/symbol.h

33 lines
688 B
C

// This file is part of noxos and licensed under the MIT open source license
#ifndef NOX_ELF_SYMBOL_H
#define NOX_ELF_SYMBOL_H
#include "utils/stdtypes.h"
#include "utils/string.h"
#define ELF_SYMBOL_TYPE(info) ((info) & 0xF)
extern string_t g_elf_symbol_type_strings[7];
typedef enum {
ELF_SYMBOL_NONE,
ELF_SYMBOL_OBJECT,
ELF_SYMBOL_FUNC,
ELF_SYMBOL_SECTION,
ELF_SYMBOL_FILE,
ELF_SYMBOL_COMMON,
ELF_SYMBOL_TLS
} elf_symbol_type_E;
typedef struct {
uint32_t name_offset;
uint8_t info;
uint8_t other;
uint16_t related_section_index;
uint64_t value;
uint64_t length;
} elf_symbol_T;
#endif //NOX_ELF_SYMBOL_H