LIEF: Library to Instrument Executable Formats Version 0.15.0
Loading...
Searching...
No Matches
DEX/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_DEX_ENUMS_H
17#define LIEF_DEX_ENUMS_H
18
19namespace LIEF {
20namespace DEX {
21
22enum ACCESS_FLAGS {
23 ACC_UNKNOWN = 0x0,
24 ACC_PUBLIC = 0x1,
25 ACC_PRIVATE = 0x2,
26 ACC_PROTECTED = 0x4,
27 ACC_STATIC = 0x8,
28 ACC_FINAL = 0x10,
29 ACC_SYNCHRONIZED = 0x20,
30 ACC_VOLATILE = 0x40,
31 ACC_BRIDGE = 0x40,
32 ACC_TRANSIENT = 0x80,
33 ACC_VARARGS = 0x80,
34 ACC_NATIVE = 0x100,
35 ACC_INTERFACE = 0x200,
36 ACC_ABSTRACT = 0x400,
37 ACC_STRICT = 0x800,
38 ACC_SYNTHETIC = 0x1000,
39 ACC_ANNOTATION = 0x2000,
40 ACC_ENUM = 0x4000,
41 ACC_CONSTRUCTOR = 0x10000,
42 ACC_DECLARED_SYNCHRONIZED = 0x20000
43};
44
45
46enum METHOD_TYPES {
47 METHOD_UNKNOWN = 0x00,
48 METHOD_VIRTUAL = 0x01,
49 METHOD_DIRECT = 0x02, // Deprecated
50
51 METHOD_EXTERN = 0x03,
52 METHOD_CTOR = 0x04,
53 METHOD_STATIC = 0x05,
54 METHOD_STATIC_CTOR = 0x06,
55};
56
57static const ACCESS_FLAGS access_flags_list[] = {
58 ACCESS_FLAGS::ACC_UNKNOWN,
59 ACCESS_FLAGS::ACC_PUBLIC,
60 ACCESS_FLAGS::ACC_PRIVATE,
61 ACCESS_FLAGS::ACC_PROTECTED,
62 ACCESS_FLAGS::ACC_STATIC,
63 ACCESS_FLAGS::ACC_FINAL,
64 ACCESS_FLAGS::ACC_SYNCHRONIZED,
65 ACCESS_FLAGS::ACC_VOLATILE,
66 ACCESS_FLAGS::ACC_BRIDGE,
67 ACCESS_FLAGS::ACC_TRANSIENT,
68 ACCESS_FLAGS::ACC_VARARGS,
69 ACCESS_FLAGS::ACC_NATIVE,
70 ACCESS_FLAGS::ACC_INTERFACE,
71 ACCESS_FLAGS::ACC_ABSTRACT,
72 ACCESS_FLAGS::ACC_STRICT,
73 ACCESS_FLAGS::ACC_SYNTHETIC,
74 ACCESS_FLAGS::ACC_ANNOTATION,
75 ACCESS_FLAGS::ACC_ENUM,
76 ACCESS_FLAGS::ACC_CONSTRUCTOR,
77 ACCESS_FLAGS::ACC_DECLARED_SYNCHRONIZED,
78};
79
80}
81}
82#endif
LIEF namespace.
Definition Abstract/Binary.hpp:32