LIEF: Library to Instrument Executable Formats
Version 2.0.0
Toggle main menu visibility
Loading...
Searching...
No Matches
lief-install
x86_64
static
include
LIEF
OAT
OAT/enums.hpp
Go to the documentation of this file.
1
/* Copyright 2017 - 2026 R. Thomas
2
* Copyright 2017 - 2026 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_OAT_ENUMS_H
17
#define LIEF_OAT_ENUMS_H
18
19
20
namespace
LIEF::OAT
{
21
22
enum
OAT_CLASS_TYPES
{
23
OAT_CLASS_ALL_COMPILED
=
24
0,
25
OAT_CLASS_SOME_COMPILED
=
26
1,
27
OAT_CLASS_NONE_COMPILED
=
28
2,
29
};
30
31
// From art/runtime/mirror/class.h
32
enum
OAT_CLASS_STATUS
{
33
STATUS_RETIRED
=
34
-2,
// Retired, should not be used. Use the newly cloned one instead.
35
STATUS_ERROR
= -1,
36
STATUS_NOTREADY
= 0,
37
STATUS_IDX
=
38
1,
// Loaded, DEX idx in super_class_type_idx_ and interfaces_type_idx_.
39
STATUS_LOADED
= 2,
// DEX idx values resolved.
40
STATUS_RESOLVING
= 3,
// Just cloned from temporary class object.
41
STATUS_RESOLVED
= 4,
// Part of linking.
42
STATUS_VERIFYING
= 5,
// In the process of being verified.
43
STATUS_RETRY_VERIFICATION_AT_RUNTIME
=
44
6,
// Compile time verification failed, retry at runtime.
45
STATUS_VERIFYING_AT_RUNTIME
= 7,
// Retrying verification at runtime.
46
STATUS_VERIFIED
= 8,
// Logically part of linking; done pre-init.
47
STATUS_INITIALIZING
= 9,
// Class init in progress.
48
STATUS_INITIALIZED
= 10,
// Ready to go.
49
};
50
51
enum
HEADER_KEYS
{
52
KEY_IMAGE_LOCATION
= 0,
53
KEY_DEX2OAT_CMD_LINE
= 1,
54
KEY_DEX2OAT_HOST
= 2,
55
KEY_PIC
= 3,
56
KEY_HAS_PATCH_INFO
= 4,
57
KEY_DEBUGGABLE
= 5,
58
KEY_NATIVE_DEBUGGABLE
= 6,
59
KEY_COMPILER_FILTER
= 7,
60
KEY_CLASS_PATH
= 8,
61
KEY_BOOT_CLASS_PATH
= 9,
62
KEY_CONCURRENT_COPYING
= 10,
63
KE_COMPILATION_REASON
= 11,
64
};
65
66
enum
INSTRUCTION_SETS
{
67
INST_SET_NONE
= 0,
68
INST_SET_ARM
= 1,
69
INST_SET_ARM_64
= 2,
70
INST_SET_THUMB2
= 3,
71
INST_SET_X86
= 4,
72
INST_SET_X86_64
= 5,
73
INST_SET_MIPS
= 6,
74
INST_SET_MIPS_64
= 7,
75
};
76
77
78
static
const
HEADER_KEYS
header_keys_list[] = {
79
HEADER_KEYS::KEY_IMAGE_LOCATION
,
HEADER_KEYS::KEY_DEX2OAT_CMD_LINE
,
80
HEADER_KEYS::KEY_DEX2OAT_HOST
,
HEADER_KEYS::KEY_PIC
,
81
HEADER_KEYS::KEY_HAS_PATCH_INFO
,
HEADER_KEYS::KEY_DEBUGGABLE
,
82
HEADER_KEYS::KEY_NATIVE_DEBUGGABLE
,
HEADER_KEYS::KEY_COMPILER_FILTER
,
83
HEADER_KEYS::KEY_CLASS_PATH
,
HEADER_KEYS::KEY_BOOT_CLASS_PATH
,
84
HEADER_KEYS::KEY_CONCURRENT_COPYING
,
HEADER_KEYS::KE_COMPILATION_REASON
,
85
};
86
87
}
88
89
#endif
LIEF::OAT
Definition
ELF/Parser.hpp:32
LIEF::OAT::OAT_CLASS_TYPES
OAT_CLASS_TYPES
Definition
OAT/enums.hpp:22
LIEF::OAT::OAT_CLASS_NONE_COMPILED
@ OAT_CLASS_NONE_COMPILED
A bitmap of which OatMethodOffsets are present follows the OatClass.
Definition
OAT/enums.hpp:27
LIEF::OAT::OAT_CLASS_SOME_COMPILED
@ OAT_CLASS_SOME_COMPILED
OatClass is followed by an OatMethodOffsets for each method.
Definition
OAT/enums.hpp:25
LIEF::OAT::OAT_CLASS_ALL_COMPILED
@ OAT_CLASS_ALL_COMPILED
Definition
OAT/enums.hpp:23
LIEF::OAT::HEADER_KEYS
HEADER_KEYS
Definition
OAT/enums.hpp:51
LIEF::OAT::KEY_DEX2OAT_CMD_LINE
@ KEY_DEX2OAT_CMD_LINE
Definition
OAT/enums.hpp:53
LIEF::OAT::KEY_DEBUGGABLE
@ KEY_DEBUGGABLE
Definition
OAT/enums.hpp:57
LIEF::OAT::KEY_HAS_PATCH_INFO
@ KEY_HAS_PATCH_INFO
Definition
OAT/enums.hpp:56
LIEF::OAT::KEY_COMPILER_FILTER
@ KEY_COMPILER_FILTER
Definition
OAT/enums.hpp:59
LIEF::OAT::KE_COMPILATION_REASON
@ KE_COMPILATION_REASON
Definition
OAT/enums.hpp:63
LIEF::OAT::KEY_CLASS_PATH
@ KEY_CLASS_PATH
Definition
OAT/enums.hpp:60
LIEF::OAT::KEY_PIC
@ KEY_PIC
Definition
OAT/enums.hpp:55
LIEF::OAT::KEY_CONCURRENT_COPYING
@ KEY_CONCURRENT_COPYING
Definition
OAT/enums.hpp:62
LIEF::OAT::KEY_NATIVE_DEBUGGABLE
@ KEY_NATIVE_DEBUGGABLE
Definition
OAT/enums.hpp:58
LIEF::OAT::KEY_BOOT_CLASS_PATH
@ KEY_BOOT_CLASS_PATH
Definition
OAT/enums.hpp:61
LIEF::OAT::KEY_DEX2OAT_HOST
@ KEY_DEX2OAT_HOST
Definition
OAT/enums.hpp:54
LIEF::OAT::KEY_IMAGE_LOCATION
@ KEY_IMAGE_LOCATION
Definition
OAT/enums.hpp:52
LIEF::OAT::OAT_CLASS_STATUS
OAT_CLASS_STATUS
Definition
OAT/enums.hpp:32
LIEF::OAT::STATUS_ERROR
@ STATUS_ERROR
Definition
OAT/enums.hpp:35
LIEF::OAT::STATUS_IDX
@ STATUS_IDX
Definition
OAT/enums.hpp:37
LIEF::OAT::STATUS_VERIFYING
@ STATUS_VERIFYING
Definition
OAT/enums.hpp:42
LIEF::OAT::STATUS_VERIFIED
@ STATUS_VERIFIED
Definition
OAT/enums.hpp:46
LIEF::OAT::STATUS_RESOLVED
@ STATUS_RESOLVED
Definition
OAT/enums.hpp:41
LIEF::OAT::STATUS_RETIRED
@ STATUS_RETIRED
Definition
OAT/enums.hpp:33
LIEF::OAT::STATUS_VERIFYING_AT_RUNTIME
@ STATUS_VERIFYING_AT_RUNTIME
Definition
OAT/enums.hpp:45
LIEF::OAT::STATUS_RESOLVING
@ STATUS_RESOLVING
Definition
OAT/enums.hpp:40
LIEF::OAT::STATUS_INITIALIZED
@ STATUS_INITIALIZED
Definition
OAT/enums.hpp:48
LIEF::OAT::STATUS_RETRY_VERIFICATION_AT_RUNTIME
@ STATUS_RETRY_VERIFICATION_AT_RUNTIME
Definition
OAT/enums.hpp:43
LIEF::OAT::STATUS_NOTREADY
@ STATUS_NOTREADY
Definition
OAT/enums.hpp:36
LIEF::OAT::STATUS_INITIALIZING
@ STATUS_INITIALIZING
Definition
OAT/enums.hpp:47
LIEF::OAT::STATUS_LOADED
@ STATUS_LOADED
Definition
OAT/enums.hpp:39
LIEF::OAT::INSTRUCTION_SETS
INSTRUCTION_SETS
Definition
OAT/enums.hpp:66
LIEF::OAT::INST_SET_ARM_64
@ INST_SET_ARM_64
Definition
OAT/enums.hpp:69
LIEF::OAT::INST_SET_THUMB2
@ INST_SET_THUMB2
Definition
OAT/enums.hpp:70
LIEF::OAT::INST_SET_ARM
@ INST_SET_ARM
Definition
OAT/enums.hpp:68
LIEF::OAT::INST_SET_X86
@ INST_SET_X86
Definition
OAT/enums.hpp:71
LIEF::OAT::INST_SET_MIPS_64
@ INST_SET_MIPS_64
Definition
OAT/enums.hpp:74
LIEF::OAT::INST_SET_MIPS
@ INST_SET_MIPS
Definition
OAT/enums.hpp:73
LIEF::OAT::INST_SET_NONE
@ INST_SET_NONE
Definition
OAT/enums.hpp:67
LIEF::OAT::INST_SET_X86_64
@ INST_SET_X86_64
Definition
OAT/enums.hpp:72
Generated by
1.18.0