1 /* Capstone Disassembly Engine */
2 /* By Nguyen Anh Quynh <aquynh@gmail.com>, 2013-2015 */
3 
4 #ifndef CS_ARM64_MAP_H
5 #define CS_ARM64_MAP_H
6 
7 #include "capstone/capstone.h"
8 
9 // return name of regiser in friendly string
10 const char *AArch64_reg_name(csh handle, unsigned int reg);
11 
12 // given internal insn id, return public instruction info
13 void AArch64_get_insn_id(cs_struct *h, cs_insn *insn, unsigned int id);
14 
15 const char *AArch64_insn_name(csh handle, unsigned int id);
16 
17 const char *AArch64_group_name(csh handle, unsigned int id);
18 
19 // map instruction name to public instruction ID
20 arm64_reg AArch64_map_insn(const char *name);
21 
22 // map internal vregister to public register
23 arm64_reg AArch64_map_vregister(unsigned int r);
24 
25 void arm64_op_addReg(MCInst *MI, int reg);
26 
27 void arm64_op_addVectorArrSpecifier(MCInst * MI, int sp);
28 
29 void arm64_op_addVectorElementSizeSpecifier(MCInst * MI, int sp);
30 
31 void arm64_op_addFP(MCInst *MI, float fp);
32 
33 void arm64_op_addImm(MCInst *MI, int64_t imm);
34 
35 uint8_t *AArch64_get_op_access(cs_struct *h, unsigned int id);
36 
37 void AArch64_reg_access(const cs_insn *insn,
38 		cs_regs regs_read, uint8_t *regs_read_count,
39 		cs_regs regs_write, uint8_t *regs_write_count);
40 
41 #endif
42