Rizin
unix-like reverse engineering framework and cli tools
SystemZModule.c
Go to the documentation of this file.
1 /* Capstone Disassembly Engine */
2 /* By Nguyen Anh Quynh <aquynh@gmail.com>, 2013-2015 */
3 
4 #ifdef CAPSTONE_HAS_SYSZ
5 
6 #include "../../utils.h"
7 #include "../../MCRegisterInfo.h"
8 #include "SystemZDisassembler.h"
9 #include "SystemZInstPrinter.h"
10 #include "SystemZMapping.h"
11 #include "SystemZModule.h"
12 
14 {
15  MCRegisterInfo *mri;
16  mri = cs_mem_malloc(sizeof(*mri));
17 
18  SystemZ_init(mri);
20  ud->printer_info = mri;
21  ud->getinsn_info = mri;
24 
29 
30  return CS_ERR_OK;
31 }
32 
34 {
35  if (type == CS_OPT_SYNTAX)
36  handle->syntax = (int) value;
37 
38  // Do not set mode because only CS_MODE_BIG_ENDIAN is valid; we cannot
39  // test for CS_MODE_LITTLE_ENDIAN because it is 0
40 
41  return CS_ERR_OK;
42 }
43 
44 #endif
void SystemZ_init(MCRegisterInfo *MRI)
bool SystemZ_getInstruction(csh ud, const uint8_t *code, size_t code_len, MCInst *instr, uint16_t *size, uint64_t address, void *info)
void SystemZ_printInst(MCInst *MI, SStream *O, void *Info)
void SystemZ_post_printer(csh ud, cs_insn *insn, char *insn_asm, MCInst *mci)
void SystemZ_get_insn_id(cs_struct *h, cs_insn *insn, unsigned int id)
const char * SystemZ_reg_name(csh handle, unsigned int reg)
const char * SystemZ_group_name(csh handle, unsigned int id)
const char * SystemZ_insn_name(csh handle, unsigned int id)
cs_err SystemZ_global_init(cs_struct *ud)
cs_err SystemZ_option(cs_struct *handle, cs_opt_type type, size_t value)
static mcore_handle handle
Definition: asm_mcore.c:8
cs_opt_type
Runtime option for the disassembled engine.
Definition: capstone.h:168
@ CS_OPT_SYNTAX
Assembly output syntax.
Definition: capstone.h:170
static int value
Definition: cmd_api.c:93
cs_malloc_t cs_mem_malloc
Definition: cs.c:348
int type
Definition: mipsasm.c:17
int CS_ERR_OK
Definition: __init__.py:235
static int
Definition: sfsocketcall.h:114
GetName_t insn_name
Definition: cs_priv.h:62
GetName_t reg_name
Definition: cs_priv.h:61
void * printer_info
Definition: cs_priv.h:58
Printer_t printer
Definition: cs_priv.h:57
GetID_t insn_id
Definition: cs_priv.h:64
GetName_t group_name
Definition: cs_priv.h:63
Disasm_t disasm
Definition: cs_priv.h:59
void * getinsn_info
Definition: cs_priv.h:60
PostPrinter_t post_printer
Definition: cs_priv.h:65