LIEF: Library to Instrument Executable Formats
Version 0.17.0
Loading...
Searching...
No Matches
lief-static-install
include
LIEF
ELF
ELF/Header.h
Go to the documentation of this file.
1
/* Copyright 2017 - 2024 R. Thomas
2
* Copyright 2017 - 2024 Quarkslab
3
*
4
* Licensed under the Apache License, Version 2.0 (the "License");
5
* you may not use this file except in compliance with the License.
6
* You may obtain a copy of the License at
7
*
8
* http://www.apache.org/licenses/LICENSE-2.0
9
*
10
* Unless required by applicable law or agreed to in writing, software
11
* distributed under the License is distributed on an "AS IS" BASIS,
12
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
* See the License for the specific language governing permissions and
14
* limitations under the License.
15
*/
16
#ifndef LIEF_C_ELF_HEADER_H
17
#define LIEF_C_ELF_HEADER_H
18
#include <inttypes.h>
19
20
#include "
LIEF/ELF/enums.h
"
21
22
#ifdef __cplusplus
23
extern
"C"
{
24
#endif
25
26
struct
Elf_Header_t
{
27
uint8_t
identity
[
LIEF_EI_NIDENT
];
28
uint32_t
file_type
;
29
uint32_t
machine_type
;
30
uint32_t
object_file_version
;
31
uint64_t
entrypoint
;
32
uint64_t
program_headers_offset
;
33
uint64_t
section_headers_offset
;
34
uint32_t
processor_flags
;
35
uint32_t
header_size
;
36
uint32_t
program_header_size
;
37
uint32_t
numberof_segments
;
38
uint32_t
section_header_size
;
39
uint32_t
numberof_sections
;
40
uint32_t
name_string_table_idx
;
41
};
42
43
typedef
struct
Elf_Header_t
Elf_Header_t
;
44
45
46
#ifdef __cplusplus
47
}
48
#endif
49
50
#endif
enums.h
LIEF_EI_NIDENT
@ LIEF_EI_NIDENT
Definition
ELF/enums.h:21
Elf_Header_t
Definition
ELF/Header.h:26
Elf_Header_t::name_string_table_idx
uint32_t name_string_table_idx
Definition
ELF/Header.h:40
Elf_Header_t::numberof_sections
uint32_t numberof_sections
Definition
ELF/Header.h:39
Elf_Header_t::file_type
uint32_t file_type
Definition
ELF/Header.h:28
Elf_Header_t::program_header_size
uint32_t program_header_size
Definition
ELF/Header.h:36
Elf_Header_t::program_headers_offset
uint64_t program_headers_offset
Definition
ELF/Header.h:32
Elf_Header_t::identity
uint8_t identity[LIEF_EI_NIDENT]
Definition
ELF/Header.h:27
Elf_Header_t::object_file_version
uint32_t object_file_version
Definition
ELF/Header.h:30
Elf_Header_t::entrypoint
uint64_t entrypoint
Definition
ELF/Header.h:31
Elf_Header_t::processor_flags
uint32_t processor_flags
Definition
ELF/Header.h:34
Elf_Header_t::section_header_size
uint32_t section_header_size
Definition
ELF/Header.h:38
Elf_Header_t::machine_type
uint32_t machine_type
Definition
ELF/Header.h:29
Elf_Header_t::section_headers_offset
uint64_t section_headers_offset
Definition
ELF/Header.h:33
Elf_Header_t::numberof_segments
uint32_t numberof_segments
Definition
ELF/Header.h:37
Elf_Header_t::header_size
uint32_t header_size
Definition
ELF/Header.h:35
Generated by
1.13.0