LIEF: Library to Instrument Executable Formats
Version 0.15.0
Loading...
Searching...
No Matches
LIEF-0.15.0-Linux-x86_64
include
LIEF
PE
PE/Binary.h
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_BINARY_H_
17
#define C_LIEF_PE_BINARY_H_
18
19
#include <stddef.h>
20
21
#include "LIEF/visibility.h"
22
23
#include "LIEF/PE/enums.h"
24
25
#include "LIEF/PE/DosHeader.h"
26
#include "LIEF/PE/Header.h"
27
#include "LIEF/PE/OptionalHeader.h"
28
#include "LIEF/PE/DataDirectory.h"
29
#include "LIEF/PE/Section.h"
30
#include "LIEF/PE/Import.h"
31
32
#ifdef __cplusplus
33
extern
"C"
{
34
#endif
35
37
struct
Pe_Binary_t
{
38
void
* handler;
39
Pe_DosHeader_t
dos_header;
40
Pe_Header_t
header;
41
Pe_OptionalHeader_t
optional_header;
42
Pe_DataDirectory_t
** data_directories;
43
Pe_Section_t
** sections;
44
Pe_Import_t
** imports;
45
};
46
47
typedef
struct
Pe_Binary_t
Pe_Binary_t
;
48
50
LIEF_API
Pe_Binary_t
* pe_parse(
const
char
*file);
51
52
LIEF_API
void
pe_binary_destroy(
Pe_Binary_t
* binary);
53
54
#ifdef __cplusplus
55
}
56
#endif
57
58
#endif
Pe_Binary_t
LIEF::PE::Binary C Handler.
Definition
PE/Binary.h:37
Pe_DataDirectory_t
Definition
DataDirectory.h:49
Pe_DosHeader_t
Definition
DosHeader.h:26
Pe_Header_t
Definition
PE/Header.h:74
Pe_Import_t
Definition
Import.h:28
Pe_OptionalHeader_t
Definition
OptionalHeader.h:58
Pe_Section_t
Definition
PE/Section.h:66
Generated by
1.10.0