Main Page
Related Pages
Modules
Namespaces
Namespace List
Namespace Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
y
z
Enumerations
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
r
s
t
u
v
w
Enumerator
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
z
Classes
Class List
Class Hierarchy
Class Members
All
:
[
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
[
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
y
Enumerations
a
b
c
d
e
f
h
i
k
l
m
n
o
p
r
s
t
u
v
w
Enumerator
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
z
Properties
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
Related Functions
:
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
u
v
w
z
Files
File List
File Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Enumerations
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
w
x
Enumerator
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
x
Macros
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
grpc
third_party
bloaty
third_party
capstone
bindings
java
capstone
Arm.java
Go to the documentation of this file.
1
// Capstone Java binding
2
// By Nguyen Anh Quynh & Dang Hoang Vu, 2013
3
4
package
capstone;
5
6
import
com
.sun.jna.Structure;
7
import
com
.sun.jna.Union;
8
9
import
java
.util.List;
10
import
java
.util.Arrays;
11
12
import
static
capstone
.
Arm_const
.*;
13
14
public
class
Arm
{
15
16
public
static
class
MemType
extends
Structure {
17
public
int
base
;
18
public
int
index
;
19
public
int
scale
;
20
public
int
disp
;
21
public
int
lshift
;
22
23
@Override
24
public
List
getFieldOrder
() {
25
return
Arrays.asList(
"base"
,
"index"
,
"scale"
,
"disp"
,
"lshift"
);
26
}
27
}
28
29
public
static
class
OpValue
extends
Union {
30
public
int
reg
;
31
public
int
imm
;
32
public
double
fp
;
33
public
MemType
mem
;
34
public
int
setend
;
35
36
@Override
37
public
List
getFieldOrder
() {
38
return
Arrays.asList(
"reg"
,
"imm"
,
"fp"
,
"mem"
,
"setend"
);
39
}
40
}
41
42
public
static
class
OpShift
extends
Structure {
43
public
int
type
;
44
public
int
value
;
45
46
@Override
47
public
List
getFieldOrder
() {
48
return
Arrays.asList(
"type"
,
"value"
);
49
}
50
}
51
52
public
static
class
Operand
extends
Structure {
53
public
int
vector_index
;
54
public
OpShift
shift
;
55
public
int
type
;
56
public
OpValue
value
;
57
public
boolean
subtracted
;
58
public
byte
access
;
59
public
byte
neon_lane
;
60
61
public
void
read
() {
62
readField(
"vector_index"
);
63
readField(
"type"
);
64
if
(
type
==
ARM_OP_MEM
)
65
value
.setType(
MemType
.class);
66
if
(
type
==
ARM_OP_FP
)
67
value
.setType(
Double
.TYPE);
68
if
(
type
==
ARM_OP_PIMM
||
type
==
ARM_OP_IMM
||
type
==
ARM_OP_CIMM
)
69
value
.setType(Integer.TYPE);
70
if
(
type
==
ARM_OP_REG
)
71
value
.setType(Integer.TYPE);
72
if
(
type
==
ARM_OP_INVALID
)
73
return
;
74
readField(
"value"
);
75
readField(
"shift"
);
76
readField(
"subtracted"
);
77
readField(
"access"
);
78
readField(
"neon_lane"
);
79
}
80
81
@Override
82
public
List
getFieldOrder
() {
83
return
Arrays.asList(
"vector_index"
,
"shift"
,
"type"
,
"value"
,
"subtracted"
,
"access"
,
"neon_lane"
);
84
}
85
}
86
87
public
static
class
UnionOpInfo
extends
Capstone.
UnionOpInfo
{
88
public
boolean
usermode
;
89
public
int
vector_size
;
90
public
int
vector_data
;
91
public
int
cps_mode
;
92
public
int
cps_flag
;
93
public
int
cc
;
94
public
byte
update_flags
;
95
public
byte
writeback
;
96
public
int
mem_barrier
;
97
public
byte
op_count
;
98
99
public
Operand
[]
op
;
100
101
public
UnionOpInfo
() {
102
op
=
new
Operand
[36];
103
}
104
105
public
void
read
() {
106
readField(
"usermode"
);
107
readField(
"vector_size"
);
108
readField(
"vector_data"
);
109
readField(
"cps_mode"
);
110
readField(
"cps_flag"
);
111
readField(
"cc"
);
112
readField(
"update_flags"
);
113
readField(
"writeback"
);
114
readField(
"mem_barrier"
);
115
readField(
"op_count"
);
116
op
=
new
Operand
[
op_count
];
117
if
(
op_count
!= 0)
118
readField(
"op"
);
119
}
120
121
@Override
122
public
List
getFieldOrder
() {
123
return
Arrays.asList(
"usermode"
,
"vector_size"
,
"vector_data"
,
124
"cps_mode"
,
"cps_flag"
,
"cc"
,
"update_flags"
,
"writeback"
,
"mem_barrier"
,
"op_count"
,
"op"
);
125
}
126
}
127
128
public
static
class
OpInfo
extends
Capstone.
OpInfo
{
129
public
boolean
usermode
;
130
public
int
vectorSize
;
131
public
int
vectorData
;
132
public
int
cpsMode
;
133
public
int
cpsFlag
;
134
public
int
cc
;
135
public
boolean
updateFlags
;
136
public
boolean
writeback
;
137
public
int
memBarrier
;
138
public
Operand
[]
op
=
null
;
139
140
public
OpInfo
(
UnionOpInfo
op_info) {
141
usermode
= op_info.
usermode
;
142
vectorSize
= op_info.
vector_size
;
143
vectorData
= op_info.
vector_data
;
144
cpsMode
= op_info.
cps_mode
;
145
cpsFlag
= op_info.
cps_flag
;
146
cc
= op_info.
cc
;
147
updateFlags
= (op_info.
update_flags
> 0);
148
writeback
= (op_info.
writeback
> 0);
149
memBarrier
= op_info.
mem_barrier
;
150
op
= op_info.
op
;
151
}
152
}
153
}
capstone.Arm.OpInfo.op
Operand[] op
Definition:
Arm.java:138
capstone.Arm.OpInfo.writeback
boolean writeback
Definition:
Arm.java:136
capstone.Arm.Operand
Definition:
Arm.java:52
capstone.Arm.OpInfo.vectorSize
int vectorSize
Definition:
Arm.java:130
capstone.Arm.OpValue.getFieldOrder
List getFieldOrder()
Definition:
Arm.java:37
capstone.Arm.Operand.neon_lane
byte neon_lane
Definition:
Arm.java:59
capstone.Arm.UnionOpInfo.cps_mode
int cps_mode
Definition:
Arm.java:91
capstone.Arm.Operand.access
byte access
Definition:
Arm.java:58
capstone.Arm.UnionOpInfo.op_count
byte op_count
Definition:
Arm.java:97
capstone.Arm.OpValue.fp
double fp
Definition:
Arm.java:32
capstone.Arm.UnionOpInfo.writeback
byte writeback
Definition:
Arm.java:95
capstone.Arm.MemType.base
int base
Definition:
Arm.java:17
capstone.Arm.OpInfo.memBarrier
int memBarrier
Definition:
Arm.java:137
capstone.Arm.UnionOpInfo.UnionOpInfo
UnionOpInfo()
Definition:
Arm.java:101
capstone.Arm.UnionOpInfo.getFieldOrder
List getFieldOrder()
Definition:
Arm.java:122
capstone.Arm.OpShift.type
int type
Definition:
Arm.java:43
capstone.Arm.UnionOpInfo.update_flags
byte update_flags
Definition:
Arm.java:94
capstone.Arm.Operand.getFieldOrder
List getFieldOrder()
Definition:
Arm.java:82
capstone.Arm.OpInfo.cc
int cc
Definition:
Arm.java:134
capstone.Arm.MemType
Definition:
Arm.java:16
capstone.Arm.OpInfo.vectorData
int vectorData
Definition:
Arm.java:131
capstone.Arm.UnionOpInfo.usermode
boolean usermode
Definition:
Arm.java:88
capstone.Arm.Operand.value
OpValue value
Definition:
Arm.java:56
ARM_OP_PIMM
@ ARM_OP_PIMM
P-Immediate (coprocessor registers)
Definition:
arm.h:168
capstone.Arm.OpInfo.OpInfo
OpInfo(UnionOpInfo op_info)
Definition:
Arm.java:140
capstone.Arm.OpShift
Definition:
Arm.java:42
capstone.Arm.UnionOpInfo.vector_size
int vector_size
Definition:
Arm.java:89
ARM_OP_REG
@ ARM_OP_REG
= CS_OP_REG (Register operand).
Definition:
arm.h:163
capstone.Arm.UnionOpInfo.read
void read()
Definition:
Arm.java:105
capstone.Arm.Operand.read
void read()
Definition:
Arm.java:61
capstone
Definition:
Arm.java:4
capstone.Arm.OpValue.reg
int reg
Definition:
Arm.java:30
ARM_OP_FP
@ ARM_OP_FP
= CS_OP_FP (Floating-Point operand).
Definition:
arm.h:166
capstone.Arm_const
Definition:
Arm_const.java:4
capstone.Arm.OpValue
Definition:
Arm.java:29
capstone.Arm.OpShift.getFieldOrder
List getFieldOrder()
Definition:
Arm.java:47
capstone.Arm.MemType.index
int index
Definition:
Arm.java:18
capstone.Arm.OpInfo.usermode
boolean usermode
Definition:
Arm.java:129
capstone.Arm.Operand.type
int type
Definition:
Arm.java:55
capstone.Arm.OpValue.imm
int imm
Definition:
Arm.java:31
capstone.Arm.OpValue.setend
int setend
Definition:
Arm.java:34
java
capstone.Arm.UnionOpInfo.cps_flag
int cps_flag
Definition:
Arm.java:92
capstone.Arm.MemType.scale
int scale
Definition:
Arm.java:19
capstone.Arm.OpInfo
Definition:
Arm.java:128
capstone.Arm.MemType.disp
int disp
Definition:
Arm.java:20
capstone.Arm.UnionOpInfo.op
Operand[] op
Definition:
Arm.java:99
capstone.Arm.UnionOpInfo.vector_data
int vector_data
Definition:
Arm.java:90
capstone.Arm.UnionOpInfo
Definition:
Arm.java:87
ARM_OP_IMM
@ ARM_OP_IMM
= CS_OP_IMM (Immediate operand).
Definition:
arm.h:164
capstone.Arm.Operand.vector_index
int vector_index
Definition:
Arm.java:53
testing::internal::Double
FloatingPoint< double > Double
Definition:
bloaty/third_party/googletest/googletest/include/gtest/internal/gtest-internal.h:397
com
capstone.Arm.MemType.getFieldOrder
List getFieldOrder()
Definition:
Arm.java:24
capstone.Arm.OpShift.value
int value
Definition:
Arm.java:44
capstone.Arm.UnionOpInfo.cc
int cc
Definition:
Arm.java:93
ARM_OP_CIMM
@ ARM_OP_CIMM
C-Immediate (coprocessor registers)
Definition:
arm.h:167
ARM_OP_INVALID
@ ARM_OP_INVALID
= CS_OP_INVALID (Uninitialized).
Definition:
arm.h:162
capstone.Arm
Definition:
Arm.java:14
capstone.Arm.OpInfo.cpsMode
int cpsMode
Definition:
Arm.java:132
capstone.Arm.Operand.subtracted
boolean subtracted
Definition:
Arm.java:57
capstone.Arm.UnionOpInfo.mem_barrier
int mem_barrier
Definition:
Arm.java:96
ARM_OP_MEM
@ ARM_OP_MEM
= CS_OP_MEM (Memory operand).
Definition:
arm.h:165
capstone.Arm.Operand.shift
OpShift shift
Definition:
Arm.java:54
capstone.Arm.OpInfo.cpsFlag
int cpsFlag
Definition:
Arm.java:133
capstone.Arm.MemType.lshift
int lshift
Definition:
Arm.java:21
capstone.Arm.OpValue.mem
MemType mem
Definition:
Arm.java:33
capstone.Arm.OpInfo.updateFlags
boolean updateFlags
Definition:
Arm.java:135
grpc
Author(s):
autogenerated on Thu Mar 13 2025 02:58:33