LIEF: Library to Instrument Executable Formats Version 0.15.0
Loading...
Searching...
No Matches
PE/EnumToString.hpp
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_PE_ENUM_TO_STRING_H
17#define LIEF_PE_ENUM_TO_STRING_H
18
19#include <cstdint>
20#include <cstddef>
21
22#include "LIEF/visibility.h"
23
24namespace LIEF {
25namespace PE {
26
27enum SYMBOL_SECTION_NUMBER : int;
28enum SYMBOL_STORAGE_CLASS : int;
29enum class ACCELERATOR_FLAGS : size_t;
30enum class ACCELERATOR_VK_CODES : size_t;
31enum class ALGORITHMS : uint32_t;
32enum class CODE_PAGES : size_t;
33enum class DIALOG_BOX_STYLES : size_t;
34enum class EXTENDED_WINDOW_STYLES : size_t;
35enum class FIXED_VERSION_FILE_FLAGS : size_t;
36enum class FIXED_VERSION_FILE_SUB_TYPES : size_t;
37enum class FIXED_VERSION_FILE_TYPES : size_t;
38enum class FIXED_VERSION_OS : size_t;
39enum class PE_SECTION_TYPES : uint8_t;
40enum class PE_TYPE : uint16_t;
41enum class RELOCATIONS_AMD64 : size_t;
42enum class RELOCATIONS_ARM : size_t;
43enum class RELOCATIONS_BASE_TYPES : size_t;
44enum class RELOCATIONS_I386 : size_t;
45enum class SUBSYSTEM : size_t;
46enum class SYMBOL_BASE_TYPES : size_t;
47enum class SYMBOL_COMPLEX_TYPES : size_t;
48enum class WINDOW_STYLES : size_t;
49
50LIEF_API const char* to_string(PE_TYPE e);
51
52LIEF_API const char* to_string(PE_SECTION_TYPES e);
53
54LIEF_API const char* to_string(SYMBOL_BASE_TYPES e);
55LIEF_API const char* to_string(SYMBOL_COMPLEX_TYPES e);
56LIEF_API const char* to_string(SYMBOL_SECTION_NUMBER e);
57LIEF_API const char* to_string(SYMBOL_STORAGE_CLASS e);
58
59LIEF_API const char* to_string(RELOCATIONS_BASE_TYPES e);
60LIEF_API const char* to_string(RELOCATIONS_I386 e);
61LIEF_API const char* to_string(RELOCATIONS_AMD64 e);
62LIEF_API const char* to_string(RELOCATIONS_ARM e);
63
64LIEF_API const char* to_string(CODE_PAGES e);
65
66LIEF_API const char* to_string(EXTENDED_WINDOW_STYLES e);
67LIEF_API const char* to_string(WINDOW_STYLES e);
68LIEF_API const char* to_string(DIALOG_BOX_STYLES e);
69
70LIEF_API const char* to_string(FIXED_VERSION_OS e);
71LIEF_API const char* to_string(FIXED_VERSION_FILE_FLAGS e);
72LIEF_API const char* to_string(FIXED_VERSION_FILE_TYPES e);
73LIEF_API const char* to_string(FIXED_VERSION_FILE_SUB_TYPES e);
74
75LIEF_API const char* to_string(ACCELERATOR_FLAGS e);
76LIEF_API const char* to_string(ACCELERATOR_VK_CODES e);
77
78LIEF_API const char* to_string(ALGORITHMS e);
79
80} // namespace PE
81} // namespace LIEF
82#endif
83
84
PE_SECTION_TYPES
Common section type.
Definition PE/enums.hpp:666
ALGORITHMS
Cryptography algorithms.
Definition PE/enums.hpp:686
ACCELERATOR_VK_CODES
From https://docs.microsoft.com/en-us/windows/win32/inputdev/virtual-key-codes.
Definition PE/enums.hpp:487
EXTENDED_WINDOW_STYLES
From https://docs.microsoft.com/en-us/windows/win32/winmsg/extended-window-styles.
Definition PE/enums.hpp:204
SYMBOL_BASE_TYPES
Definition PE/enums.hpp:72
WINDOW_STYLES
From: https://docs.microsoft.com/en-us/windows/win32/winmsg/window-styles.
Definition PE/enums.hpp:229
ACCELERATOR_FLAGS
From https://docs.microsoft.com/en-us/windows/win32/menurc/acceltableentry.
Definition PE/enums.hpp:477
SYMBOL_STORAGE_CLASS
Storage class tells where and what the symbol represents.
Definition PE/enums.hpp:39
CODE_PAGES
Code page from https://docs.microsoft.com/en-us/windows/win32/intl/code-page-identifiers.
Definition PE/enums.hpp:333
SYMBOL_COMPLEX_TYPES
Definition PE/enums.hpp:91
PE_TYPE
Definition PE/enums.hpp:680
DIALOG_BOX_STYLES
From https://docs.microsoft.com/en-us/windows/win32/dlgbox/dialog-box-styles.
Definition PE/enums.hpp:255
LIEF namespace.
Definition Abstract/Binary.hpp:32