Files
elf-viewer/elf_machine_type.c

32 lines
772 B
C

#include "elf_machine_type.h"
#include <stdint.h>
#include <stdio.h>
#include <string.h>
char* ELF_MACHINE_TYPE_TEXT[] = {
"No ISA Set",
"\x00\x01""AT&T WE 32100",
"\x00\x3E""Advanced Micro Devices x86_64"
};
void GetELFMachineTypeText(ELFMachine type, char buffer[256]) {
if (!buffer) return;
memset(buffer, '\0', 256);
if (type == 0) {
strncpy(buffer, ELF_MACHINE_TYPE_TEXT[0], strlen(ELF_MACHINE_TYPE_TEXT[0]));
return;
}
for(unsigned int i = 1; i < sizeof(ELF_MACHINE_TYPE_TEXT) / sizeof(char*); i++) {
char* text = ELF_MACHINE_TYPE_TEXT[i];
if (type == (unsigned int) text[0] + text[1]) {
strncpy(buffer, &text[2], strlen(&text[2]));
return;
}
}
}