MicrOS
elf_section_header.h
Go to the documentation of this file.
1
#ifndef ELF_SECTION_HEADER_H
2
#define ELF_SECTION_HEADER_H
3
4
typedef
enum
elf_section_header_type
5
{
6
elf_section_header_type_unused
= 0x00,
7
elf_section_header_type_program_data
= 0x01,
8
elf_section_header_type_symbol_table
= 0x02,
9
elf_section_header_type_string_table
= 0x03,
10
elf_section_header_type_relocation_entries_with_addens
= 0x04,
11
elf_section_header_type_symbol_hash_table
= 0x05,
12
elf_section_header_type_dynamic_linking_information
= 0x06,
13
elf_section_header_type_notes
= 0x07,
14
elf_section_header_type_bss
= 0x08,
15
elf_section_header_type_relocation_entries_without_addens
= 0x09,
16
elf_section_header_type_reserved
= 0x0A,
17
elf_section_header_type_dynamic_linker_symbol_table
= 0x0B,
18
elf_section_header_type_array_of_constructors
= 0x0E,
19
elf_section_header_type_array_of_destructors
= 0x0F,
20
elf_section_header_type_array_of_preconstructors
= 0x10,
21
elf_section_header_type_section_group
= 0x11,
22
elf_section_header_type_extended_section_indices
= 0x12,
23
elf_section_header_type_number_of_defined_types
= 0x13,
24
25
_elf_section_header_type_extend_to_32_bit
= 0xFFFFFFFF
26
}
elf_section_header_type
;
27
28
typedef
struct
elf_section_header_flags
29
{
30
uint8_t
writable
: 1;
31
uint8_t
occupies_memory_during_execution
: 1;
32
uint8_t
executable
: 1;
33
uint8_t
might_be_merged
: 1;
34
uint8_t
contains_null_terminated_strings
: 1;
35
uint8_t
contains_sht_index
: 1;
36
uint8_t
preserve_order_after_combining
: 1;
37
uint8_t
non_standard_handlind_required
: 1;
38
uint8_t
section_is_member_of_group
: 1;
39
uint8_t
section_hold_thread_local_data
: 1;
40
uint32_t
reserved
: 22;
41
} __attribute__((packed))
elf_section_header_flags
;
42
43
typedef
struct
elf_section_header
44
{
45
uint32_t
name_offset
;
46
elf_section_header_type
type
;
47
elf_section_header_flags
flags
;
48
uint32_t
virtual_address
;
49
uint32_t
file_offset
;
50
uint32_t
size
;
51
uint32_t
associated_section_index
;
52
uint32_t
extra_information
;
53
uint32_t
alignment
;
54
uint32_t
entry_size
;
55
} __attribute__((packed))
elf_section_header
;
56
57
#endif
elf_section_header::type
elf_section_header_type type
Definition:
elf_section_header.h:46
elf_section_header_flags::executable
uint8_t executable
Definition:
elf_section_header.h:32
elf_section_header_type_dynamic_linking_information
Definition:
elf_section_header.h:12
elf_section_header_type_string_table
Definition:
elf_section_header.h:9
elf_section_header_flags::section_is_member_of_group
uint8_t section_is_member_of_group
Definition:
elf_section_header.h:38
elf_section_header_type_symbol_table
Definition:
elf_section_header.h:8
elf_section_header_type_bss
Definition:
elf_section_header.h:14
elf_section_header_flags::contains_sht_index
uint8_t contains_sht_index
Definition:
elf_section_header.h:35
elf_section_header::flags
elf_section_header_flags flags
Definition:
elf_section_header.h:47
elf_section_header_type_symbol_hash_table
Definition:
elf_section_header.h:11
elf_section_header_type_notes
Definition:
elf_section_header.h:13
elf_section_header_flags::preserve_order_after_combining
uint8_t preserve_order_after_combining
Definition:
elf_section_header.h:36
elf_section_header_flags::contains_null_terminated_strings
uint8_t contains_null_terminated_strings
Definition:
elf_section_header.h:34
elf_section_header_type_section_group
Definition:
elf_section_header.h:21
elf_section_header_type_unused
Definition:
elf_section_header.h:6
elf_section_header_type_program_data
Definition:
elf_section_header.h:7
elf_section_header_type_dynamic_linker_symbol_table
Definition:
elf_section_header.h:17
elf_section_header::virtual_address
uint32_t virtual_address
Definition:
elf_section_header.h:48
elf_section_header_type_relocation_entries_with_addens
Definition:
elf_section_header.h:10
elf_section_header_flags::section_hold_thread_local_data
uint8_t section_hold_thread_local_data
Definition:
elf_section_header.h:39
elf_section_header_type_number_of_defined_types
Definition:
elf_section_header.h:23
elf_section_header_flags::occupies_memory_during_execution
uint8_t occupies_memory_during_execution
Definition:
elf_section_header.h:31
elf_section_header_type_extended_section_indices
Definition:
elf_section_header.h:22
elf_section_header_type_relocation_entries_without_addens
Definition:
elf_section_header.h:15
elf_section_header
Definition:
elf_section_header.h:43
elf_section_header::entry_size
uint32_t entry_size
Definition:
elf_section_header.h:54
elf_section_header::size
uint32_t size
Definition:
elf_section_header.h:50
elf_section_header_type_array_of_destructors
Definition:
elf_section_header.h:19
elf_section_header::associated_section_index
uint32_t associated_section_index
Definition:
elf_section_header.h:51
elf_section_header_type_reserved
Definition:
elf_section_header.h:16
elf_section_header_flags::writable
uint8_t writable
Definition:
elf_section_header.h:30
elf_section_header_flags::reserved
uint32_t reserved
Definition:
elf_section_header.h:40
elf_section_header_flags::non_standard_handlind_required
uint8_t non_standard_handlind_required
Definition:
elf_section_header.h:37
elf_section_header_type_array_of_preconstructors
Definition:
elf_section_header.h:20
elf_section_header_type_array_of_constructors
Definition:
elf_section_header.h:18
elf_section_header::alignment
uint32_t alignment
Definition:
elf_section_header.h:53
uint32_t
size_t uint32_t
Unsigned integral type.
Definition:
string.h:8
elf_section_header::extra_information
uint32_t extra_information
Definition:
elf_section_header.h:52
_elf_section_header_type_extend_to_32_bit
Definition:
elf_section_header.h:25
elf_section_header::name_offset
uint32_t name_offset
Definition:
elf_section_header.h:45
elf_section_header_flags::might_be_merged
uint8_t might_be_merged
Definition:
elf_section_header.h:33
elf_section_header::file_offset
uint32_t file_offset
Definition:
elf_section_header.h:49
elf_section_header_type
elf_section_header_type
Definition:
elf_section_header.h:4
elf_section_header_flags
Definition:
elf_section_header.h:28
os
kernel
src
process
elf
parser
elf_section_header.h
Generated by
1.8.13