xv6-65oo2/elf.h

40 lines
630 B
C
Raw Normal View History

2006-06-12 15:22:12 +00:00
#define ELF_MAGIC 0x464C457FU /* "\x7FELF" in little endian */
struct elfhdr {
2006-07-20 09:07:53 +00:00
uint magic; // must equal ELF_MAGIC
uchar elf[12];
ushort type;
ushort machine;
uint version;
uint entry;
uint phoff;
uint shoff;
uint flags;
ushort ehsize;
ushort phentsize;
ushort phnum;
ushort shentsize;
ushort shnum;
ushort shstrndx;
2006-06-12 15:22:12 +00:00
};
struct proghdr {
2006-07-20 09:07:53 +00:00
uint type;
uint offset;
uint va;
uint pa;
uint filesz;
uint memsz;
uint flags;
uint align;
2006-06-12 15:22:12 +00:00
};
// Values for Proghdr type
2006-06-12 15:22:12 +00:00
#define ELF_PROG_LOAD 1
// Flag bits for Proghdr flags
2006-06-12 15:22:12 +00:00
#define ELF_PROG_FLAG_EXEC 1
#define ELF_PROG_FLAG_WRITE 2
#define ELF_PROG_FLAG_READ 4