LIEF: Library to Instrument Executable Formats Version 0.17.0
Loading...
Searching...
No Matches
OptionalHeader.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 C_LIEF_PE_OPTIONAL_HEADER_H
17#define C_LIEF_PE_OPTIONAL_HEADER_H
18#include <inttypes.h>
19
20#include "LIEF/PE/enums.h"
21#include "LIEF/visibility.h"
22
23#ifdef __cplusplus
24extern "C" {
25#endif
26
40
57
90
92
94
95#ifdef __cplusplus
96}
97#endif
98
99#endif
LIEF_PE_SUBSYSTEM
Definition OptionalHeader.h:41
@ LIEF_PE_SUBSYSTEM_OS2_CUI
Definition OptionalHeader.h:46
@ LIEF_PE_SUBSYSTEM_EFI_RUNTIME_DRIVER
Definition OptionalHeader.h:52
@ LIEF_PE_SUBSYSTEM_POSIX_CUI
Definition OptionalHeader.h:47
@ LIEF_PE_SUBSYSTEM_WINDOWS_CUI
Definition OptionalHeader.h:45
@ LIEF_PE_SUBSYSTEM_WINDOWS_CE_GUI
Definition OptionalHeader.h:49
@ LIEF_PE_SUBSYSTEM_EFI_ROM
Definition OptionalHeader.h:53
@ LIEF_PE_SUBSYSTEM_NATIVE
Definition OptionalHeader.h:43
@ LIEF_PE_SUBSYSTEM_EFI_BOOT_SERVICE_DRIVER
Definition OptionalHeader.h:51
@ LIEF_PE_SUBSYSTEM_EFI_APPLICATION
Definition OptionalHeader.h:50
@ LIEF_PE_SUBSYSTEM_XBOX
Definition OptionalHeader.h:54
@ LIEF_PE_SUBSYSTEM_NATIVE_WINDOWS
Definition OptionalHeader.h:48
@ LIEF_PE_SUBSYSTEM_WINDOWS_BOOT_APPLICATION
Definition OptionalHeader.h:55
@ LIEF_PE_SUBSYSTEM_UNKNOWN
Definition OptionalHeader.h:42
@ LIEF_PE_SUBSYSTEM_WINDOWS_GUI
Definition OptionalHeader.h:44
LIEF_PE_DLL_CHARACTERISTICS
Definition OptionalHeader.h:27
@ LIEF_PE_DLL_CHARACTERISTICS_NO_ISOLATION
Definition OptionalHeader.h:32
@ LIEF_PE_DLL_CHARACTERISTICS_TERMINAL_SERVER_AWARE
Definition OptionalHeader.h:38
@ LIEF_PE_DLL_CHARACTERISTICS_HIGH_ENTROPY_VA
Definition OptionalHeader.h:28
@ LIEF_PE_DLL_CHARACTERISTICS_NO_SEH
Definition OptionalHeader.h:33
@ LIEF_PE_DLL_CHARACTERISTICS_DYNAMIC_BASE
Definition OptionalHeader.h:29
@ LIEF_PE_DLL_CHARACTERISTICS_NO_BIND
Definition OptionalHeader.h:34
@ LIEF_PE_DLL_CHARACTERISTICS_WDM_DRIVER
Definition OptionalHeader.h:36
@ LIEF_PE_DLL_CHARACTERISTICS_GUARD_CF
Definition OptionalHeader.h:37
@ LIEF_PE_DLL_CHARACTERISTICS_NX_COMPAT
Definition OptionalHeader.h:31
@ LIEF_PE_DLL_CHARACTERISTICS_APPCONTAINER
Definition OptionalHeader.h:35
@ LIEF_PE_DLL_CHARACTERISTICS_FORCE_INTEGRITY
Definition OptionalHeader.h:30
const char * lief_pe_subsytem_str(enum LIEF_PE_SUBSYSTEM e)
Definition OptionalHeader.h:58
uint16_t major_image_version
Definition OptionalHeader.h:73
uint32_t baseof_code
Definition OptionalHeader.h:66
uint32_t win32_version_value
Definition OptionalHeader.h:77
uint8_t major_linker_version
Definition OptionalHeader.h:60
uint32_t baseof_data
Definition OptionalHeader.h:67
uint16_t major_operating_system_version
Definition OptionalHeader.h:71
uint16_t minor_image_version
Definition OptionalHeader.h:74
uint32_t sizeof_headers
Definition OptionalHeader.h:79
uint32_t sizeof_uninitialized_data
Definition OptionalHeader.h:64
uint16_t major_subsystem_version
Definition OptionalHeader.h:75
uint32_t numberof_rva_and_size
Definition OptionalHeader.h:88
uint32_t file_alignment
Definition OptionalHeader.h:70
uint32_t sizeof_image
Definition OptionalHeader.h:78
uint16_t minor_subsystem_version
Definition OptionalHeader.h:76
uint8_t minor_linker_version
Definition OptionalHeader.h:61
uint64_t sizeof_heap_commit
Definition OptionalHeader.h:86
uint32_t section_alignment
Definition OptionalHeader.h:69
enum LIEF_PE_SUBSYSTEM subsystem
Definition OptionalHeader.h:81
uint64_t imagebase
Definition OptionalHeader.h:68
uint16_t minor_operating_system_version
Definition OptionalHeader.h:72
uint64_t sizeof_stack_reserve
Definition OptionalHeader.h:83
uint32_t dll_characteristics
Definition OptionalHeader.h:82
uint64_t sizeof_heap_reserve
Definition OptionalHeader.h:85
uint32_t sizeof_code
Definition OptionalHeader.h:62
uint32_t sizeof_initialized_data
Definition OptionalHeader.h:63
uint32_t checksum
Definition OptionalHeader.h:80
uint32_t loader_flags
Definition OptionalHeader.h:87
uint32_t addressof_entrypoint
Definition OptionalHeader.h:65
uint64_t sizeof_stack_commit
Definition OptionalHeader.h:84
enum LIEF_PE_PE_TYPES magic
Definition OptionalHeader.h:59
#define LIEF_API
Definition visibility.h:41