Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
wine-mirror
GitHub Repository: wine-mirror/wine
Path: blob/master/libs/capstone/arch/ARM/ARMMapping.h
4394 views
1
/* Capstone Disassembly Engine */
2
/* By Nguyen Anh Quynh <[email protected]>, 2013-2019 */
3
4
#ifndef CS_ARM_MAP_H
5
#define CS_ARM_MAP_H
6
7
#include "../../include/capstone/capstone.h"
8
#include "../../utils.h"
9
10
// return name of regiser in friendly string
11
const char *ARM_reg_name(csh handle, unsigned int reg);
12
const char *ARM_reg_name2(csh handle, unsigned int reg);
13
14
// given internal insn id, return public instruction ID
15
void ARM_get_insn_id(cs_struct *h, cs_insn *insn, unsigned int id);
16
17
const char *ARM_insn_name(csh handle, unsigned int id);
18
19
const char *ARM_group_name(csh handle, unsigned int id);
20
21
// check if this insn is relative branch
22
bool ARM_rel_branch(cs_struct *h, unsigned int insn_id);
23
24
bool ARM_blx_to_arm_mode(cs_struct *h, unsigned int insn_id);
25
26
const uint8_t *ARM_get_op_access(cs_struct *h, unsigned int id);
27
28
void ARM_reg_access(const cs_insn *insn,
29
cs_regs regs_read, uint8_t *regs_read_count,
30
cs_regs regs_write, uint8_t *regs_write_count);
31
32
typedef struct BankedReg {
33
const char *Name;
34
arm_sysreg sysreg;
35
uint16_t Encoding;
36
} BankedReg;
37
38
const BankedReg *lookupBankedRegByEncoding(uint8_t encoding);
39
40
#endif
41
42