40 lines · 693 B · C
RawDownload
#ifndef _ELF_H_#define _ELF_H_ 1 #define ELF_MAGIC 0x464C457F	/* little endian */ struct Elf32 {	uint32_t e_magic;	uint8_t e_elf[12];	uint16_t e_type;	uint16_t e_machine;	uint32_t e_version;	uint32_t e_entry;	uint32_t e_phoff;	uint32_t e_shoff;	uint32_t e_flags;	uint16_t e_ehsize;	uint16_t e_phentsize;	uint16_t e_phnum;	uint16_t e_shentsize;	uint16_t e_shnum;	uint16_t e_shstrndx;}; #define ELF_PROG_LOAD 1#define ELF_PROG_FLAG_EXEC 1#define ELF_PROG_FLAG_WRITE 2#define ELF_PROG_FLAG_READ 4 struct Proghdr {	uint32_t p_type;	uint32_t p_offset;	uint32_t p_va;	uint32_t p_pa;	uint32_t p_filesz;	uint32_t p_memsz;	uint32_t p_flags;	uint32_t p_align;}; #endif