blob: 9cb5cb36e651dd4b263ce3f658ee6b19ff606101 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
#ifndef _ELF_H
#define _ELF_H
#pragma pack(push, 1)
typedef struct {
unsigned int magic; // 0-3
unsigned char word_size; // 4
unsigned char endianness; // 5
unsigned char elf_version; // 6
unsigned char os_abi; // 7
unsigned int unused[2]; // 8-15
unsigned short type; // 16-17
unsigned short instr_set; // 18-19
unsigned int elf_version2; // 20-23
unsigned int prg_entry_addr; // 24-27
unsigned int prg_head_pos; // 28-31
unsigned int sec_head_pos; // 32-35
unsigned int flags; // 36-39
unsigned short head_size; // 40-41
unsigned short prg_entry_size; // 42-23
unsigned short prg_entry_count; // 44-45
unsigned short sec_entry_size; // 46-47
unsigned short sec_entry_count; // 48-49
unsigned short sec_names_index; // 50-51
} ELF_HEADER;
typedef struct {
unsigned int seg_type;
unsigned int p_offset;
unsigned int p_vaddr;
unsigned int undefined;
unsigned int p_filesz;
unsigned int p_memsz;
unsigned int flags;
unsigned int alignment;
} PRG_HEADER;
#pragma pack(pop)
#endif /* _ELF_H */
|