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