4 #include <lunaix/types.h>
6 typedef unsigned int elf32_ptr_t;
7 typedef unsigned short elf32_hlf_t;
8 typedef unsigned int elf32_off_t;
9 typedef unsigned int elf32_swd_t;
10 typedef unsigned int elf32_wrd_t;
26 #define ELFMAGIC 0x464c457fU
39 elf32_hlf_t e_machine;
40 elf32_wrd_t e_version;
46 elf32_hlf_t e_phentsize;
48 elf32_hlf_t e_shentsize;
50 elf32_hlf_t e_shstrndx;
65 #define SIZE_EHDR sizeof(struct elf32_ehdr)
66 #define SIZE_PHDR sizeof(struct elf32_phdr)
69 elf_check_exec(struct elf32_ehdr* ehdr)
71 return (*(u32_t*)(ehdr->e_ident) == ELFMAGIC) ||
72 ehdr->e_ident[EI_CLASS] == ELFCLASS32 ||
73 ehdr->e_ident[EI_DATA] == ELFDATA2LSB || ehdr->e_type == ET_EXEC;
75 #endif /* __LUNAIX_ELF_H */