MicrOS
elf_program_header.h
Go to the documentation of this file.
1
#ifndef ELF_PROGRAM_HEADER_H
2
#define ELF_PROGRAM_HEADER_H
3
4
#include <stdint.h>
5
6
typedef
enum
elf_type_of_segment
7
{
8
elf_type_of_segment_load
= 1,
9
elf_type_of_segment_dynamic
= 2,
10
elf_type_of_segment_iterpreter
= 3,
11
elf_type_of_segment_note
= 4,
12
13
_elf_type_of_segment_extend_to_32_bit
= 0xFFFFFFFF
14
}
elf_type_of_segment
;
15
16
typedef
struct
elf_program_header_flags
17
{
18
uint8_t
executable
: 1;
19
uint8_t
writable
: 1;
20
uint8_t
readable
: 1;
21
uint8_t
reserved
: 5;
22
} __attribute__((packed))
elf_program_header_flags
;
23
24
typedef
struct
elf_program_header
25
{
26
elf_type_of_segment
type_of_segment
;
27
uint32_t
offset
;
28
uint32_t
virtual_address
;
29
uint32_t
reserved
;
30
uint32_t
size_in_file
;
31
uint32_t
size_in_memory
;
32
elf_program_header_flags
flags
;
33
uint32_t
alignment
;
34
} __attribute__((packed))
elf_program_header
;
35
36
#endif
elf_program_header::size_in_memory
uint32_t size_in_memory
Definition:
elf_program_header.h:31
elf_type_of_segment_load
Definition:
elf_program_header.h:8
elf_program_header_flags
Definition:
elf_program_header.h:16
elf_type_of_segment
elf_type_of_segment
Definition:
elf_program_header.h:6
elf_program_header::virtual_address
uint32_t virtual_address
Definition:
elf_program_header.h:28
elf_program_header_flags::executable
uint8_t executable
Definition:
elf_program_header.h:18
elf_program_header_flags::writable
uint8_t writable
Definition:
elf_program_header.h:19
elf_program_header::flags
elf_program_header_flags flags
Definition:
elf_program_header.h:32
elf_type_of_segment_dynamic
Definition:
elf_program_header.h:9
elf_program_header::type_of_segment
elf_type_of_segment type_of_segment
Definition:
elf_program_header.h:26
_elf_type_of_segment_extend_to_32_bit
Definition:
elf_program_header.h:13
elf_program_header_flags::readable
uint8_t readable
Definition:
elf_program_header.h:20
elf_program_header::size_in_file
uint32_t size_in_file
Definition:
elf_program_header.h:30
elf_program_header::alignment
uint32_t alignment
Definition:
elf_program_header.h:33
elf_program_header
Definition:
elf_program_header.h:24
elf_type_of_segment_note
Definition:
elf_program_header.h:11
elf_program_header::offset
uint32_t offset
Definition:
elf_program_header.h:27
elf_type_of_segment_iterpreter
Definition:
elf_program_header.h:10
elf_program_header_flags::reserved
uint8_t reserved
Definition:
elf_program_header.h:21
uint32_t
size_t uint32_t
Unsigned integral type.
Definition:
string.h:8
elf_program_header::reserved
uint32_t reserved
Definition:
elf_program_header.h:29
os
kernel
src
process
elf
parser
elf_program_header.h
Generated by
1.8.13