LIEF: Library to Instrument Executable Formats Version 0.15.0
Loading...
Searching...
No Matches
MachO/enums.hpp
1/* Copyright 2021 - 2024 R. Thomas
2 *
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 * http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15#ifndef LIEF_MACHO_ENUMS_H
16#define LIEF_MACHO_ENUMS_H
17
18#include "LIEF/MachO/undef.h"
19#include <cstdint>
20
21namespace LIEF {
22namespace MachO {
23
24enum class MACHO_TYPES: uint32_t {
25 UNKNOWN = 0,
26 MH_MAGIC = 0xFEEDFACEu,
27 MH_CIGAM = 0xCEFAEDFEu,
28 MH_MAGIC_64 = 0xFEEDFACFu,
29 MH_CIGAM_64 = 0xCFFAEDFEu,
30 FAT_MAGIC = 0xCAFEBABEu,
31 FAT_CIGAM = 0xBEBAFECAu
32};
33
42
50 X86_64_RELOC_SIGNED_1 = 6,
51 X86_64_RELOC_SIGNED_2 = 7,
52 X86_64_RELOC_SIGNED_4 = 8,
53 X86_64_RELOC_TLV = 9,
54};
55
56
57enum class PPC_RELOCATION {
58 PPC_RELOC_VANILLA = 0,
59 PPC_RELOC_PAIR = 1,
60 PPC_RELOC_BR14 = 2,
61 PPC_RELOC_BR24 = 3,
62 PPC_RELOC_HI16 = 4,
63 PPC_RELOC_LO16 = 5,
64 PPC_RELOC_HA16 = 6,
65 PPC_RELOC_LO14 = 7,
66 PPC_RELOC_SECTDIFF = 8,
67 PPC_RELOC_PB_LA_PTR = 9,
68 PPC_RELOC_HI16_SECTDIFF = 10,
69 PPC_RELOC_LO16_SECTDIFF = 11,
70 PPC_RELOC_HA16_SECTDIFF = 12,
71 PPC_RELOC_JBSR = 13,
72 PPC_RELOC_LO14_SECTDIFF = 14,
73 PPC_RELOC_LOCAL_SECTDIFF = 15,
74};
75
76
77enum class ARM_RELOCATION {
78 ARM_RELOC_VANILLA = 0,
79 ARM_RELOC_PAIR = 1,
80 ARM_RELOC_SECTDIFF = 2,
81 ARM_RELOC_LOCAL_SECTDIFF = 3,
82 ARM_RELOC_PB_LA_PTR = 4,
83 ARM_RELOC_BR24 = 5,
84 ARM_THUMB_RELOC_BR22 = 6,
85 ARM_THUMB_32BIT_BRANCH = 7, // obsolete
86 ARM_RELOC_HALF = 8,
87 ARM_RELOC_HALF_SECTDIFF = 9,
88};
89
90
104
105}
106}
107#endif
ARM64_RELOCATION
Definition MachO/enums.hpp:91
X86_64_RELOCATION
Definition MachO/enums.hpp:43
X86_RELOCATION
Definition MachO/enums.hpp:34
MACHO_TYPES
Definition MachO/enums.hpp:24
@ MH_CIGAM_64
64-bit little-endian magic
@ FAT_MAGIC
big-endian fat magic
@ FAT_CIGAM
little-endian fat magic
@ MH_MAGIC
32-bit big-endian magic
@ MH_CIGAM
32-bit little-endian magic
@ MH_MAGIC_64
64-bit big-endian magic
LIEF namespace.
Definition Abstract/Binary.hpp:31