Sparc.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.Sparc_const.*;
13 
14 public class Sparc {
15 
16  public static class MemType extends Structure {
17  public byte base;
18  public byte index;
19  public int disp;
20 
21  @Override
22  public List getFieldOrder() {
23  return Arrays.asList("base", "index", "disp");
24  }
25  }
26 
27  public static class OpValue extends Union {
28  public int reg;
29  public int imm;
30  public MemType mem;
31  }
32 
33  public static class Operand extends Structure {
34  public int type;
35  public OpValue value;
36 
37  public void read() {
38  readField("type");
39  if (type == SPARC_OP_MEM)
40  value.setType(MemType.class);
41  if (type == SPARC_OP_IMM || type == SPARC_OP_REG)
42  value.setType(Integer.TYPE);
43  if (type == SPARC_OP_INVALID)
44  return;
45  readField("value");
46  }
47 
48  @Override
49  public List getFieldOrder() {
50  return Arrays.asList("type", "value");
51  }
52  }
53 
54  public static class UnionOpInfo extends Capstone.UnionOpInfo {
55  public int cc;
56  public int hint;
57  public byte op_count;
58 
59  public Operand [] op;
60 
61  public UnionOpInfo() {
62  op = new Operand[4];
63  }
64 
65  public void read() {
66  readField("cc");
67  readField("hint");
68  readField("op_count");
69  op = new Operand[op_count];
70  if (op_count != 0)
71  readField("op");
72  }
73 
74  @Override
75  public List getFieldOrder() {
76  return Arrays.asList("cc", "hint", "op_count", "op");
77  }
78  }
79 
80  public static class OpInfo extends Capstone.OpInfo {
81  public int cc;
82  public int hint;
83 
84  public Operand [] op;
85 
86  public OpInfo(UnionOpInfo op_info) {
87  cc = op_info.cc;
88  hint = op_info.hint;
89  op = op_info.op;
90  }
91  }
92 }
SPARC_OP_IMM
@ SPARC_OP_IMM
= CS_OP_IMM (Immediate operand).
Definition: sparc.h:73
capstone.Sparc.OpInfo.op
Operand[] op
Definition: Sparc.java:84
capstone.Sparc.UnionOpInfo.op_count
byte op_count
Definition: Sparc.java:57
capstone.Sparc.UnionOpInfo.cc
int cc
Definition: Sparc.java:55
capstone.Sparc.Operand.getFieldOrder
List getFieldOrder()
Definition: Sparc.java:49
capstone.Sparc.UnionOpInfo.hint
int hint
Definition: Sparc.java:56
capstone.Sparc.UnionOpInfo.UnionOpInfo
UnionOpInfo()
Definition: Sparc.java:61
capstone.Sparc.Operand.type
int type
Definition: Sparc.java:34
capstone.Sparc.Operand.value
OpValue value
Definition: Sparc.java:35
capstone.Sparc.MemType
Definition: Sparc.java:16
capstone.Sparc
Definition: Sparc.java:14
capstone.Sparc.UnionOpInfo.getFieldOrder
List getFieldOrder()
Definition: Sparc.java:75
capstone.Sparc.OpInfo.hint
int hint
Definition: Sparc.java:82
capstone.Sparc.UnionOpInfo
Definition: Sparc.java:54
capstone.Sparc.OpValue
Definition: Sparc.java:27
SPARC_OP_INVALID
@ SPARC_OP_INVALID
= CS_OP_INVALID (Uninitialized).
Definition: sparc.h:71
capstone.Sparc.MemType.index
byte index
Definition: Sparc.java:18
capstone.Sparc.OpValue.reg
int reg
Definition: Sparc.java:28
SPARC_OP_REG
@ SPARC_OP_REG
= CS_OP_REG (Register operand).
Definition: sparc.h:72
capstone.Sparc.MemType.disp
int disp
Definition: Sparc.java:19
capstone.Sparc.OpInfo
Definition: Sparc.java:80
capstone.Sparc.MemType.base
byte base
Definition: Sparc.java:17
capstone
Definition: Arm.java:4
capstone.Sparc.UnionOpInfo.read
void read()
Definition: Sparc.java:65
capstone.Sparc.Operand.read
void read()
Definition: Sparc.java:37
java
capstone.Sparc.OpInfo.cc
int cc
Definition: Sparc.java:81
capstone.Sparc.MemType.getFieldOrder
List getFieldOrder()
Definition: Sparc.java:22
capstone.Sparc.OpValue.imm
int imm
Definition: Sparc.java:29
capstone.Sparc.OpInfo.OpInfo
OpInfo(UnionOpInfo op_info)
Definition: Sparc.java:86
capstone.Sparc_const
Definition: Sparc_const.java:4
com
capstone.Sparc.UnionOpInfo.op
Operand[] op
Definition: Sparc.java:59
capstone.Sparc.Operand
Definition: Sparc.java:33
SPARC_OP_MEM
@ SPARC_OP_MEM
= CS_OP_MEM (Memory operand).
Definition: sparc.h:74
capstone.Sparc.OpValue.mem
MemType mem
Definition: Sparc.java:30


grpc
Author(s):
autogenerated on Thu Mar 13 2025 03:01:20