capstone.h
Go to the documentation of this file.
1 #ifndef CAPSTONE_ENGINE_H
2 #define CAPSTONE_ENGINE_H
3 
4 /* Capstone Disassembly Engine */
5 /* By Nguyen Anh Quynh <aquynh@gmail.com>, 2013-2016 */
6 
7 #ifdef __cplusplus
8 extern "C" {
9 #endif
10 
11 #include <stdarg.h>
12 
13 #if defined(CAPSTONE_HAS_OSXKERNEL)
14 #include <libkern/libkern.h>
15 #else
16 #include <stdlib.h>
17 #include <stdio.h>
18 #endif
19 
20 #include "platform.h"
21 
22 #ifdef _MSC_VER
23 #pragma warning(disable:4201)
24 #pragma warning(disable:4100)
25 #define CAPSTONE_API __cdecl
26 #ifdef CAPSTONE_SHARED
27 #define CAPSTONE_EXPORT __declspec(dllexport)
28 #else // defined(CAPSTONE_STATIC)
29 #define CAPSTONE_EXPORT
30 #endif
31 #else
32 #define CAPSTONE_API
33 #if defined(__GNUC__) && !defined(CAPSTONE_STATIC)
34 #define CAPSTONE_EXPORT __attribute__((visibility("default")))
35 #else // defined(CAPSTONE_STATIC)
36 #define CAPSTONE_EXPORT
37 #endif
38 #endif
39 
40 #ifdef __GNUC__
41 #define CAPSTONE_DEPRECATED __attribute__((deprecated))
42 #elif defined(_MSC_VER)
43 #define CAPSTONE_DEPRECATED __declspec(deprecated)
44 #else
45 #pragma message("WARNING: You need to implement CAPSTONE_DEPRECATED for this compiler")
46 #define CAPSTONE_DEPRECATED
47 #endif
48 
49 // Capstone API version
50 #define CS_API_MAJOR 5
51 #define CS_API_MINOR 0
52 
53 // Version for bleeding edge code of the Github's "next" branch.
54 // Use this if you want the absolutely latest development code.
55 // This version number will be bumped up whenever we have a new major change.
56 #define CS_NEXT_VERSION 5
57 
58 // Capstone package version
59 #define CS_VERSION_MAJOR CS_API_MAJOR
60 #define CS_VERSION_MINOR CS_API_MINOR
61 #define CS_VERSION_EXTRA 0
62 
65 #define CS_MAKE_VERSION(major, minor) ((major << 8) + minor)
66 
68 #define CS_MNEMONIC_SIZE 32
69 
70 // Handle using with all API
71 typedef size_t csh;
72 
74 typedef enum cs_arch {
89  CS_ARCH_ALL = 0xFFFF, // All architectures - for cs_support()
90 } cs_arch;
91 
92 // Support value to verify diet mode of the engine.
93 // If cs_support(CS_SUPPORT_DIET) return True, the engine was compiled
94 // in diet mode.
95 #define CS_SUPPORT_DIET (CS_ARCH_ALL + 1)
96 
97 // Support value to verify X86 reduce mode of the engine.
98 // If cs_support(CS_SUPPORT_X86_REDUCE) return True, the engine was compiled
99 // in X86 reduce mode.
100 #define CS_SUPPORT_X86_REDUCE (CS_ARCH_ALL + 2)
101 
103 typedef enum cs_mode {
106  CS_MODE_16 = 1 << 1,
107  CS_MODE_32 = 1 << 2,
108  CS_MODE_64 = 1 << 3,
109  CS_MODE_THUMB = 1 << 4,
110  CS_MODE_MCLASS = 1 << 5,
111  CS_MODE_V8 = 1 << 6,
112  CS_MODE_MICRO = 1 << 4,
113  CS_MODE_MIPS3 = 1 << 5,
114  CS_MODE_MIPS32R6 = 1 << 6,
115  CS_MODE_MIPS2 = 1 << 7,
116  CS_MODE_V9 = 1 << 4,
117  CS_MODE_QPX = 1 << 4,
118  CS_MODE_M68K_000 = 1 << 1,
119  CS_MODE_M68K_010 = 1 << 2,
120  CS_MODE_M68K_020 = 1 << 3,
121  CS_MODE_M68K_030 = 1 << 4,
122  CS_MODE_M68K_040 = 1 << 5,
123  CS_MODE_M68K_060 = 1 << 6,
124  CS_MODE_BIG_ENDIAN = 1 << 31,
136  CS_MODE_M680X_HCS08 = 1 << 10,
138 } cs_mode;
139 
140 typedef void* (CAPSTONE_API *cs_malloc_t)(size_t size);
141 typedef void* (CAPSTONE_API *cs_calloc_t)(size_t nmemb, size_t size);
142 typedef void* (CAPSTONE_API *cs_realloc_t)(void *ptr, size_t size);
143 typedef void (CAPSTONE_API *cs_free_t)(void *ptr);
144 typedef int (CAPSTONE_API *cs_vsnprintf_t)(char *str, size_t size, const char *format, va_list ap);
145 
146 
149 typedef struct cs_opt_mem {
155 } cs_opt_mem;
156 
161 typedef struct cs_opt_mnem {
163  unsigned int id;
165  const char *mnemonic;
166 } cs_opt_mnem;
167 
169 typedef enum cs_opt_type {
179 } cs_opt_type;
180 
182 typedef enum cs_opt_value {
184  CS_OPT_ON = 3,
190 } cs_opt_value;
191 
193 typedef enum cs_op_type {
199 } cs_op_type;
200 
203 typedef enum cs_ac_type {
205  CS_AC_READ = 1 << 0,
206  CS_AC_WRITE = 1 << 1,
207 } cs_ac_type;
208 
210 typedef enum cs_group_type {
219 } cs_group_type;
220 
235 typedef size_t (CAPSTONE_API *cs_skipdata_cb_t)(const uint8_t *code, size_t code_size, size_t offset, void *user_data);
236 
238 typedef struct cs_opt_skipdata {
242  const char *mnemonic;
243 
262  cs_skipdata_cb_t callback; // default value is NULL
263 
265  void *user_data;
266 } cs_opt_skipdata;
267 
268 
269 #include "arm.h"
270 #include "arm64.h"
271 #include "m68k.h"
272 #include "mips.h"
273 #include "ppc.h"
274 #include "sparc.h"
275 #include "systemz.h"
276 #include "x86.h"
277 #include "xcore.h"
278 #include "tms320c64x.h"
279 #include "m680x.h"
280 #include "evm.h"
281 #include "mos65xx.h"
282 
288 typedef struct cs_detail {
289  uint16_t regs_read[16];
290  uint8_t regs_read_count;
291 
292  uint16_t regs_write[20];
293  uint8_t regs_write_count;
294 
295  uint8_t groups[8];
296  uint8_t groups_count;
297 
299  union {
300  cs_x86 x86;
301  cs_arm64 arm64;
302  cs_arm arm;
303  cs_m68k m68k;
304  cs_mips mips;
305  cs_ppc ppc;
306  cs_sparc sparc;
307  cs_sysz sysz;
308  cs_xcore xcore;
309  cs_tms320c64x tms320c64x;
310  cs_m680x m680x;
311  cs_evm evm;
312  cs_mos65xx mos65xx;
313  };
314 } cs_detail;
315 
317 typedef struct cs_insn {
324  unsigned int id;
325 
328  uint64_t address;
329 
332  uint16_t size;
333 
336  uint8_t bytes[24];
337 
340  char mnemonic[CS_MNEMONIC_SIZE];
341 
344  char op_str[160];
345 
353  cs_detail *detail;
354 } cs_insn;
355 
356 
360 #define CS_INSN_OFFSET(insns, post) (insns[post - 1].address - insns[0].address)
361 
362 
365 typedef enum cs_err {
366  CS_ERR_OK = 0,
367  CS_ERR_MEM,
368  CS_ERR_ARCH,
369  CS_ERR_HANDLE,
370  CS_ERR_CSH,
371  CS_ERR_MODE,
372  CS_ERR_OPTION,
373  CS_ERR_DETAIL,
376  CS_ERR_DIET,
381 } cs_err;
382 
401 unsigned int CAPSTONE_API cs_version(int *major, int *minor);
402 
403 
418 bool CAPSTONE_API cs_support(int query);
419 
432 
449 
466 
477 
478 
488 const char * CAPSTONE_API cs_strerror(cs_err code);
489 
525  const uint8_t *code, size_t code_size,
526  uint64_t address,
527  size_t count,
528  cs_insn **insn);
529 
537  const uint8_t *code, size_t code_size,
538  uint64_t address,
539  size_t count,
540  cs_insn **insn);
541 
550 void CAPSTONE_API cs_free(cs_insn *insn, size_t count);
551 
552 
562 cs_insn * CAPSTONE_API cs_malloc(csh handle);
563 
601  const uint8_t **code, size_t *size,
602  uint64_t *address, cs_insn *insn);
603 
618 const char * CAPSTONE_API cs_reg_name(csh handle, unsigned int reg_id);
619 
633 const char * CAPSTONE_API cs_insn_name(csh handle, unsigned int insn_id);
634 
648 const char * CAPSTONE_API cs_group_name(csh handle, unsigned int group_id);
649 
667 bool CAPSTONE_API cs_insn_group(csh handle, const cs_insn *insn, unsigned int group_id);
668 
685 bool CAPSTONE_API cs_reg_read(csh handle, const cs_insn *insn, unsigned int reg_id);
686 
703 bool CAPSTONE_API cs_reg_write(csh handle, const cs_insn *insn, unsigned int reg_id);
704 
719 int CAPSTONE_API cs_op_count(csh handle, const cs_insn *insn, unsigned int op_type);
720 
738 int CAPSTONE_API cs_op_index(csh handle, const cs_insn *insn, unsigned int op_type,
739  unsigned int position);
740 
742 typedef uint16_t cs_regs[64];
743 
762 cs_err CAPSTONE_API cs_regs_access(csh handle, const cs_insn *insn,
763  cs_regs regs_read, uint8_t *regs_read_count,
764  cs_regs regs_write, uint8_t *regs_write_count);
765 
766 #ifdef __cplusplus
767 }
768 #endif
769 
770 #endif
xcore.h
xds_interop_client.str
str
Definition: xds_interop_client.py:487
ptr
char * ptr
Definition: abseil-cpp/absl/base/internal/low_level_alloc_test.cc:45
CS_MNEMONIC_SIZE
#define CS_MNEMONIC_SIZE
Maximum size of an instruction mnemonic string.
Definition: capstone.h:68
CS_MODE_MIPS2
@ CS_MODE_MIPS2
Mips II ISA.
Definition: capstone.h:115
cs_op_index
CAPSTONE_EXPORT int CAPSTONE_API cs_op_index(csh ud, const cs_insn *insn, unsigned int op_type, unsigned int post)
Definition: cs.c:1396
evm.h
cs_close
CAPSTONE_EXPORT cs_err CAPSTONE_API cs_close(csh *handle)
Definition: cs.c:522
CS_OPT_SYNTAX_NOREGNAME
@ CS_OPT_SYNTAX_NOREGNAME
Prints register name with only number (CS_OPT_SYNTAX)
Definition: capstone.h:188
capstone.CS_ERR_DETAIL
CS_ERR_DETAIL
Definition: third_party/bloaty/third_party/capstone/bindings/python/capstone/__init__.py:244
CS_OPT_MEM
@ CS_OPT_MEM
User-defined dynamic memory related functions.
Definition: capstone.h:174
arm
Definition: test_winkernel.cpp:55
http2_test_server.format
format
Definition: http2_test_server.py:118
cs_opt_type
cs_opt_type
Runtime option for the disassembled engine.
Definition: capstone.h:169
CS_OPT_SYNTAX
@ CS_OPT_SYNTAX
Assembly output syntax.
Definition: capstone.h:171
CS_GRP_INVALID
@ CS_GRP_INVALID
uninitialized/invalid group.
Definition: capstone.h:211
cs_opt_mem::calloc
cs_calloc_t calloc
Definition: capstone.h:151
CS_MODE_32
@ CS_MODE_32
32-bit mode (X86)
Definition: capstone.h:107
CS_MODE_M680X_6800
@ CS_MODE_M680X_6800
M680X Motorola 6800,6802 mode.
Definition: capstone.h:129
CS_OP_INVALID
@ CS_OP_INVALID
uninitialized/invalid operand.
Definition: capstone.h:194
sparc
Definition: test_winkernel.cpp:75
CS_OP_IMM
@ CS_OP_IMM
Immediate operand.
Definition: capstone.h:196
cs_opt_mnem::id
unsigned int id
ID of instruction to be customized.
Definition: capstone.h:163
CS_GRP_JUMP
@ CS_GRP_JUMP
all jump instructions (conditional+direct+indirect jumps)
Definition: capstone.h:212
CS_OP_MEM
@ CS_OP_MEM
Memory operand.
Definition: capstone.h:197
CS_MODE_LITTLE_ENDIAN
@ CS_MODE_LITTLE_ENDIAN
little-endian mode (default mode)
Definition: capstone.h:104
cs_sysz
Definition: systemz.h:194
CS_OPT_INVALID
@ CS_OPT_INVALID
No option specified.
Definition: capstone.h:170
uint16_t
unsigned short uint16_t
Definition: stdint-msvc2008.h:79
CS_MODE_M680X_6805
@ CS_MODE_M680X_6805
M680X Motorola/Freescale 6805 mode.
Definition: capstone.h:131
position
intern position
Definition: bloaty/third_party/protobuf/php/ext/google/protobuf/array.c:487
CS_ARCH_M68K
@ CS_ARCH_M68K
68K architecture
Definition: capstone.h:83
CS_ARCH_MOS65XX
@ CS_ARCH_MOS65XX
MOS65XX architecture (including MOS6502)
Definition: capstone.h:87
systemz.h
CS_MODE_ARM
@ CS_MODE_ARM
32-bit ARM
Definition: capstone.h:105
cs_disasm
CAPSTONE_EXPORT size_t CAPSTONE_API cs_disasm(csh ud, const uint8_t *buffer, size_t size, uint64_t offset, size_t count, cs_insn **insn)
Definition: cs.c:822
CS_MODE_M680X_CPU12
@ CS_MODE_M680X_CPU12
used on M68HC12/HCS12
Definition: capstone.h:135
CS_ARCH_PPC
@ CS_ARCH_PPC
PowerPC architecture.
Definition: capstone.h:79
ppc
Definition: test_winkernel.cpp:71
CS_MODE_M680X_6801
@ CS_MODE_M680X_6801
M680X Motorola 6801,6803 mode.
Definition: capstone.h:130
CS_ARCH_MAX
@ CS_ARCH_MAX
Definition: capstone.h:88
m68k.h
cs_op_type
cs_op_type
Common instruction operand types - to be consistent across all architectures.
Definition: capstone.h:193
CS_OPT_UNSIGNED
@ CS_OPT_UNSIGNED
print immediate operands in unsigned form
Definition: capstone.h:178
tms320c64x.h
cs_open
CAPSTONE_EXPORT cs_err CAPSTONE_API cs_open(cs_arch arch, cs_mode mode, csh *handle)
Definition: cs.c:474
CS_GRP_INT
@ CS_GRP_INT
all interrupt instructions (int+syscall)
Definition: capstone.h:215
cs_arch
cs_arch
Architecture type.
Definition: capstone.h:74
mode
const char int mode
Definition: bloaty/third_party/zlib/contrib/minizip/ioapi.h:135
CS_OPT_SYNTAX_DEFAULT
@ CS_OPT_SYNTAX_DEFAULT
Default asm syntax (CS_OPT_SYNTAX).
Definition: capstone.h:185
cs_reg_write
CAPSTONE_EXPORT bool CAPSTONE_API cs_reg_write(csh ud, const cs_insn *insn, unsigned int reg_id)
Definition: cs.c:1266
cs_realloc_t
void *(CAPSTONE_API * cs_realloc_t)(void *ptr, size_t size)
Definition: capstone.h:142
CS_GRP_BRANCH_RELATIVE
@ CS_GRP_BRANCH_RELATIVE
all relative branching instructions
Definition: capstone.h:218
CS_OPT_DETAIL
@ CS_OPT_DETAIL
Break down instruction structure into details.
Definition: capstone.h:172
CS_MODE_M68K_060
@ CS_MODE_M68K_060
M68K 68060 mode.
Definition: capstone.h:123
CS_OPT_SYNTAX_INTEL
@ CS_OPT_SYNTAX_INTEL
X86 Intel asm syntax - default on X86 (CS_OPT_SYNTAX).
Definition: capstone.h:186
CS_OPT_OFF
@ CS_OPT_OFF
Turn OFF an option - default for CS_OPT_DETAIL, CS_OPT_SKIPDATA, CS_OPT_UNSIGNED.
Definition: capstone.h:183
mips.h
uint8_t
unsigned char uint8_t
Definition: stdint-msvc2008.h:78
CS_MODE_M68K_000
@ CS_MODE_M68K_000
M68K 68000 mode.
Definition: capstone.h:118
CS_MODE_16
@ CS_MODE_16
16-bit mode (X86)
Definition: capstone.h:106
CS_OP_REG
@ CS_OP_REG
Register operand.
Definition: capstone.h:195
CS_AC_READ
@ CS_AC_READ
Operand read from memory or register.
Definition: capstone.h:205
capstone.CS_ERR_X86_MASM
CS_ERR_X86_MASM
Definition: third_party/bloaty/third_party/capstone/bindings/python/capstone/__init__.py:251
cs_regs_access
CAPSTONE_EXPORT cs_err CAPSTONE_API cs_regs_access(csh ud, const cs_insn *insn, cs_regs regs_read, uint8_t *regs_read_count, cs_regs regs_write, uint8_t *regs_write_count)
Definition: cs.c:1539
arm64.h
grpc_status._async.code
code
Definition: grpcio_status/grpc_status/_async.py:34
CS_ARCH_EVM
@ CS_ARCH_EVM
Ethereum architecture.
Definition: capstone.h:86
CS_ARCH_M680X
@ CS_ARCH_M680X
680X architecture
Definition: capstone.h:85
cs_free_t
void(CAPSTONE_API * cs_free_t)(void *ptr)
Definition: capstone.h:143
CS_ARCH_TMS320C64X
@ CS_ARCH_TMS320C64X
TMS320C64x architecture.
Definition: capstone.h:84
cs_option
CAPSTONE_EXPORT cs_err CAPSTONE_API cs_option(csh ud, cs_opt_type type, size_t value)
Definition: cs.c:670
CS_MODE_M68K_010
@ CS_MODE_M68K_010
M68K 68010 mode.
Definition: capstone.h:119
cs_tms320c64x
Definition: tms320c64x.h:64
CS_MODE_M680X_6808
@ CS_MODE_M680X_6808
M680X Motorola/Freescale/NXP 68HC08 mode.
Definition: capstone.h:132
CS_MODE_MICRO
@ CS_MODE_MICRO
MicroMips mode (MIPS)
Definition: capstone.h:112
cs_mode
cs_mode
Mode type.
Definition: capstone.h:103
cs_op_count
CAPSTONE_EXPORT int CAPSTONE_API cs_op_count(csh ud, const cs_insn *insn, unsigned int op_type)
Definition: cs.c:1293
query
Definition: ares_private.h:198
cs_insn_name
const CAPSTONE_EXPORT char *CAPSTONE_API cs_insn_name(csh ud, unsigned int insn)
Definition: cs.c:1188
capstone.CS_ERR_OK
CS_ERR_OK
Definition: third_party/bloaty/third_party/capstone/bindings/python/capstone/__init__.py:237
cs_m68k
The M68K instruction and it's operands.
Definition: m68k.h:207
xds_interop_client.int
int
Definition: xds_interop_client.py:113
CAPSTONE_API
#define CAPSTONE_API
Definition: capstone.h:32
cs_xcore
Instruction structure.
Definition: xcore.h:85
capstone.CS_ERR_HANDLE
CS_ERR_HANDLE
Definition: third_party/bloaty/third_party/capstone/bindings/python/capstone/__init__.py:240
capstone.CS_ERR_MEM
CS_ERR_MEM
Definition: third_party/bloaty/third_party/capstone/bindings/python/capstone/__init__.py:238
cs_ppc
Instruction structure.
Definition: ppc.h:294
cs_opt_value
cs_opt_value
Runtime option value (associated with option type above)
Definition: capstone.h:182
CS_ARCH_SYSZ
@ CS_ARCH_SYSZ
SystemZ architecture.
Definition: capstone.h:81
capstone.CS_ERR_ARCH
CS_ERR_ARCH
Definition: third_party/bloaty/third_party/capstone/bindings/python/capstone/__init__.py:239
CS_MODE_QPX
@ CS_MODE_QPX
Quad Processing eXtensions mode (PPC)
Definition: capstone.h:117
cs_reg_name
const CAPSTONE_EXPORT char *CAPSTONE_API cs_reg_name(csh ud, unsigned int reg)
Definition: cs.c:1176
CS_ARCH_X86
@ CS_ARCH_X86
X86 architecture (including x86 & x86-64)
Definition: capstone.h:78
platform.h
uint64_t
unsigned __int64 uint64_t
Definition: stdint-msvc2008.h:90
capstone.CS_ERR_DIET
CS_ERR_DIET
Definition: third_party/bloaty/third_party/capstone/bindings/python/capstone/__init__.py:247
cs_arm
Instruction structure.
Definition: arm.h:424
cs_opt_mnem::mnemonic
const char * mnemonic
Customized instruction mnemonic.
Definition: capstone.h:165
CS_OPT_SYNTAX_ATT
@ CS_OPT_SYNTAX_ATT
X86 ATT asm syntax (CS_OPT_SYNTAX).
Definition: capstone.h:187
cs_support
CAPSTONE_EXPORT bool CAPSTONE_API cs_support(int query)
Definition: cs.c:388
CS_OPT_ON
@ CS_OPT_ON
Turn ON an option (CS_OPT_DETAIL, CS_OPT_SKIPDATA).
Definition: capstone.h:184
cs_x86
Instruction structure.
Definition: x86.h:312
CS_MODE_M68K_020
@ CS_MODE_M68K_020
M68K 68020 mode.
Definition: capstone.h:120
CS_MODE_M68K_040
@ CS_MODE_M68K_040
M68K 68040 mode.
Definition: capstone.h:122
CS_MODE_THUMB
@ CS_MODE_THUMB
ARM's Thumb mode, including Thumb-2.
Definition: capstone.h:109
capstone.CS_ERR_X86_ATT
CS_ERR_X86_ATT
Definition: third_party/bloaty/third_party/capstone/bindings/python/capstone/__init__.py:249
cs_ac_type
cs_ac_type
Definition: capstone.h:203
capstone.CS_ERR_CSH
CS_ERR_CSH
Definition: third_party/bloaty/third_party/capstone/bindings/python/capstone/__init__.py:241
CS_GRP_PRIVILEGE
@ CS_GRP_PRIVILEGE
all privileged instructions
Definition: capstone.h:217
m68k
Definition: test_winkernel.cpp:67
callback
static void callback(void *arg, int status, int timeouts, struct hostent *host)
Definition: acountry.c:224
CS_MODE_BIG_ENDIAN
@ CS_MODE_BIG_ENDIAN
big-endian mode
Definition: capstone.h:124
cs_opt_mem::vsnprintf
cs_vsnprintf_t vsnprintf
Definition: capstone.h:154
cs_opt_mem
Definition: capstone.h:149
cs_sparc
Instruction structure.
Definition: sparc.h:199
CS_MODE_MIPS32R6
@ CS_MODE_MIPS32R6
Mips32r6 ISA.
Definition: capstone.h:114
CS_GRP_RET
@ CS_GRP_RET
all return instructions
Definition: capstone.h:214
CS_OPT_SKIPDATA
@ CS_OPT_SKIPDATA
Skip data when disassembling. Then engine is in SKIPDATA mode.
Definition: capstone.h:175
CS_MODE_M68K_030
@ CS_MODE_M68K_030
M68K 68030 mode.
Definition: capstone.h:121
CS_MODE_MCLASS
@ CS_MODE_MCLASS
ARM's Cortex-M series.
Definition: capstone.h:110
arch
cs_arch arch
Definition: cstool.c:13
cs_m680x
The M680X instruction and it's operands.
Definition: m680x.h:165
CS_MODE_M680X_6809
@ CS_MODE_M680X_6809
M680X Motorola 6809 mode.
Definition: capstone.h:133
CS_OP_FP
@ CS_OP_FP
Floating-Point operand.
Definition: capstone.h:198
cs_disasm_ex
CAPSTONE_EXPORT CAPSTONE_DEPRECATED size_t CAPSTONE_API cs_disasm_ex(csh ud, const uint8_t *buffer, size_t size, uint64_t offset, size_t count, cs_insn **insn)
Definition: cs.c:1033
x86.h
xcore
Definition: test_winkernel.cpp:87
CS_AC_INVALID
@ CS_AC_INVALID
Uninitialized/invalid access type.
Definition: capstone.h:204
CS_MODE_M680X_6309
@ CS_MODE_M680X_6309
M680X Hitachi 6309 mode.
Definition: capstone.h:128
arm64
Definition: test_winkernel.cpp:59
CS_ARCH_SPARC
@ CS_ARCH_SPARC
Sparc architecture.
Definition: capstone.h:80
CS_ARCH_MIPS
@ CS_ARCH_MIPS
Mips architecture.
Definition: capstone.h:77
CS_MODE_M680X_HCS08
@ CS_MODE_M680X_HCS08
M680X Freescale/NXP HCS08 mode.
Definition: capstone.h:137
value
const char * value
Definition: hpack_parser_table.cc:165
csh
size_t csh
Definition: capstone.h:71
CS_GRP_CALL
@ CS_GRP_CALL
all call instructions
Definition: capstone.h:213
cs_mos65xx
The MOS65XX address mode and it's operands.
Definition: mos65xx.h:134
capstone.CS_ERR_MODE
CS_ERR_MODE
Definition: third_party/bloaty/third_party/capstone/bindings/python/capstone/__init__.py:242
cs_evm
Instruction structure.
Definition: evm.h:18
cs_opt_mem
struct cs_opt_mem cs_opt_mem
make_dist_html.groups
list groups
Definition: make_dist_html.py:120
cs_disasm_iter
CAPSTONE_EXPORT bool CAPSTONE_API cs_disasm_iter(csh ud, const uint8_t **code, size_t *size, uint64_t *address, cs_insn *insn)
Definition: cs.c:1080
CS_MODE_MIPS64
@ CS_MODE_MIPS64
Mips64 ISA (Mips)
Definition: capstone.h:126
bytes
uint8 bytes[10]
Definition: bloaty/third_party/protobuf/src/google/protobuf/io/coded_stream_unittest.cc:153
count
int * count
Definition: bloaty/third_party/googletest/googlemock/test/gmock_stress_test.cc:96
CS_MODE_64
@ CS_MODE_64
64-bit mode (X86, PPC)
Definition: capstone.h:108
cs_strerror
const CAPSTONE_EXPORT char *CAPSTONE_API cs_strerror(cs_err code)
Definition: cs.c:435
cs_calloc_t
void *(CAPSTONE_API * cs_calloc_t)(size_t nmemb, size_t size)
Definition: capstone.h:141
CS_OPT_SKIPDATA_SETUP
@ CS_OPT_SKIPDATA_SETUP
Setup user-defined function for SKIPDATA option.
Definition: capstone.h:176
capstone.CS_ERR_SKIPDATA
CS_ERR_SKIPDATA
Definition: third_party/bloaty/third_party/capstone/bindings/python/capstone/__init__.py:248
CS_ARCH_ARM
@ CS_ARCH_ARM
ARM architecture (including Thumb, Thumb-2)
Definition: capstone.h:75
x86
Definition: test_winkernel.cpp:83
cs_opt_mnem
struct cs_opt_mnem cs_opt_mnem
cs_group_name
const CAPSTONE_EXPORT char *CAPSTONE_API cs_group_name(csh ud, unsigned int group)
Definition: cs.c:1200
m680x.h
sparc.h
cs_malloc_t
void *(CAPSTONE_API * cs_malloc_t)(size_t size)
Definition: capstone.h:140
cs_malloc
CAPSTONE_EXPORT cs_insn *CAPSTONE_API cs_malloc(csh ud)
Definition: cs.c:1052
CS_MODE_MIPS3
@ CS_MODE_MIPS3
Mips III ISA.
Definition: capstone.h:113
cs_group_type
cs_group_type
Common instruction groups - to be consistent across all architectures.
Definition: capstone.h:210
cs_free
CAPSTONE_EXPORT void CAPSTONE_API cs_free(cs_insn *insn, size_t count)
Definition: cs.c:1039
capstone.CS_ERR_VERSION
CS_ERR_VERSION
Definition: third_party/bloaty/third_party/capstone/bindings/python/capstone/__init__.py:246
CS_MODE_V9
@ CS_MODE_V9
SparcV9 mode (Sparc)
Definition: capstone.h:116
handle
static csh handle
Definition: test_arm_regression.c:16
CS_MODE_M680X_6301
@ CS_MODE_M680X_6301
M680X Hitachi 6301,6303 mode.
Definition: capstone.h:127
cs_opt_mem::free
cs_free_t free
Definition: capstone.h:153
mos65xx.h
CS_OPT_MODE
@ CS_OPT_MODE
Change engine's mode at run-time.
Definition: capstone.h:173
arm.h
CAPSTONE_EXPORT
#define CAPSTONE_EXPORT
Definition: capstone.h:36
capstone.CS_ERR_OPTION
CS_ERR_OPTION
Definition: third_party/bloaty/third_party/capstone/bindings/python/capstone/__init__.py:243
CS_ARCH_ARM64
@ CS_ARCH_ARM64
ARM-64, also called AArch64.
Definition: capstone.h:76
asyncio_get_stats.type
type
Definition: asyncio_get_stats.py:37
code
Definition: bloaty/third_party/zlib/contrib/infback9/inftree9.h:24
CS_ARCH_ALL
@ CS_ARCH_ALL
Definition: capstone.h:89
mips
Definition: test_winkernel.cpp:63
cs_insn_group
CAPSTONE_EXPORT bool CAPSTONE_API cs_insn_group(csh ud, const cs_insn *insn, unsigned int group_id)
Definition: cs.c:1212
size
voidpf void uLong size
Definition: bloaty/third_party/zlib/contrib/minizip/ioapi.h:136
CS_GRP_IRET
@ CS_GRP_IRET
all interrupt return instructions
Definition: capstone.h:216
capstone.CS_ERR_X86_INTEL
CS_ERR_X86_INTEL
Definition: third_party/bloaty/third_party/capstone/bindings/python/capstone/__init__.py:250
CS_MODE_MIPS32
@ CS_MODE_MIPS32
Mips32 ISA (Mips)
Definition: capstone.h:125
CS_MODE_M680X_6811
@ CS_MODE_M680X_6811
M680X Motorola/Freescale/NXP 68HC11 mode.
Definition: capstone.h:134
CS_ARCH_XCORE
@ CS_ARCH_XCORE
XCore architecture.
Definition: capstone.h:82
cs_opt_mnem
Definition: capstone.h:161
CS_MODE_V8
@ CS_MODE_V8
ARMv8 A32 encodings for ARM.
Definition: capstone.h:111
capstone.CS_ERR_MEMSETUP
CS_ERR_MEMSETUP
Definition: third_party/bloaty/third_party/capstone/bindings/python/capstone/__init__.py:245
cs_version
CAPSTONE_EXPORT unsigned int CAPSTONE_API cs_version(int *major, int *minor)
Definition: cs.c:377
cs_mips
Instruction structure.
Definition: mips.h:250
cs_opt_mem::realloc
cs_realloc_t realloc
Definition: capstone.h:152
cs_reg_read
CAPSTONE_EXPORT bool CAPSTONE_API cs_reg_read(csh ud, const cs_insn *insn, unsigned int reg_id)
Definition: cs.c:1239
CS_AC_WRITE
@ CS_AC_WRITE
Operand write to memory or register.
Definition: capstone.h:206
offset
voidpf uLong offset
Definition: bloaty/third_party/zlib/contrib/minizip/ioapi.h:142
ppc.h
CS_OPT_SYNTAX_MASM
@ CS_OPT_SYNTAX_MASM
X86 Intel Masm syntax (CS_OPT_SYNTAX).
Definition: capstone.h:189
cs_vsnprintf_t
int(CAPSTONE_API * cs_vsnprintf_t)(char *str, size_t size, const char *format, va_list ap)
Definition: capstone.h:144
id
uint32_t id
Definition: flow_control_fuzzer.cc:70
cs_errno
CAPSTONE_EXPORT cs_err CAPSTONE_API cs_errno(csh handle)
Definition: cs.c:423
CS_OPT_MNEMONIC
@ CS_OPT_MNEMONIC
Customize instruction mnemonic.
Definition: capstone.h:177
test_evm.detail
detail
Definition: test_evm.py:9
cs_opt_mem::malloc
cs_malloc_t malloc
Definition: capstone.h:150
cs_arm64
Instruction structure.
Definition: arm64.h:658
CAPSTONE_DEPRECATED
#define CAPSTONE_DEPRECATED
Definition: capstone.h:46


grpc
Author(s):
autogenerated on Thu Mar 13 2025 02:58:43