LIEF: Library to Instrument Executable Formats Version 0.15.0
Loading...
Searching...
No Matches
Abstract/enums.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_ABSTRACT_ENUMS_H
17#define LIEF_ABSTRACT_ENUMS_H
18
19#include "LIEF/types.hpp"
20
21namespace LIEF {
22
23enum OBJECT_TYPES {
24 TYPE_NONE = 0,
25 TYPE_EXECUTABLE = 1,
26 TYPE_LIBRARY = 2,
27 TYPE_OBJECT = 3,
28};
29
30// Inspired from capstone
31enum ARCHITECTURES {
32 ARCH_NONE = 0,
33 ARCH_ARM = 1,
34 ARCH_ARM64 = 2,
35 ARCH_MIPS = 3,
36 ARCH_X86 = 4,
37 ARCH_PPC = 5,
38 ARCH_SPARC = 6,
39 ARCH_SYSZ = 7,
40 ARCH_XCORE = 8,
41 ARCH_INTEL = 9,
42 ARCH_RISCV = 10,
43 ARCH_LOONGARCH = 11,
44};
45
46enum MODES {
47 MODE_NONE = 0,
48 MODE_16 = 1,
49 MODE_32 = 2,
50 MODE_64 = 3,
51 MODE_ARM = 4,
52 MODE_THUMB = 5,
53 MODE_MCLASS = 6,
54 MODE_MICRO = 7,
55 MODE_MIPS3 = 8,
56 MODE_MIPS32R6 = 9,
57 MODE_MIPSGP64 = 10,
58 MODE_V7 = 11,
59 MODE_V8 = 12,
60 MODE_V9 = 13,
61 MODE_MIPS32 = 14,
62 MODE_MIPS64 = 15,
63};
64
65enum ENDIANNESS {
66 ENDIAN_NONE = 0,
67 ENDIAN_BIG = 1,
68 ENDIAN_LITTLE = 2,
69};
70
71
72
73
74
75} // namespace LIEF
76#endif
LIEF namespace.
Definition Abstract/Binary.hpp:32