#include <ubixos/elf.h>
const struct {
char *elfTypeName;
uInt32 id;
} elfType[] = {
{ "ET_NONE", 0 },
{ "ET_REL", 1 },
{ "ET_EXEC", 2 },
{ "ET_DYN", 3 },
{ "ET_CORE", 4 },
{ "ET_LOPROC", 0xff00 },
{ "ET_HIPROC", 0xffff },
};
const struct {
char *phTypeName;
uInt32 id;
} elfPhType[] = {
{ "PT_NULL", 0 },
{ "PT_LOAD", 1 },
{ "PT_DYNAMIC", 2 },
{ "PT_INTERP", 3 },
{ "PT_NOTE", 4 },
{ "PT_SHLIB", 5 },
{ "PT_PHDR", 6 },
{ "PT_LOPROC", 0x70000000 },
{ "PT_HIPROC", 0x7fffffff },
};
const struct {
char *shTypeName;
uInt32 id;
} elfShType[] = {
{"SHT_NULL", 0 },
{"SHT_PROGBITS", 1 },
{"SHT_SYMTAB", 2 },
{"SHT_STRTAB", 3 },
{"SHT_RELA", 4 },
{"SHT_HASH", 5 },
{"SHT_DYNAMIC", 6 },
{"SHT_NOTE", 7 },
{"SHT_NOBITS", 8 },
{"SHT_REL", 9 },
{"SHT_SHLIB", 10 },
{"SHT_DYNSYM", 11 },
};
char *elfGetShType(int shType) {
return((char *)elfShType[shType].shTypeName);
}
char *elfGetPhType(int phType) {
return((char *)elfPhType[phType].phTypeName);
}