1*9a0e4156SSadaf Ebrahimi /* Capstone Disassembly Engine */ 2*9a0e4156SSadaf Ebrahimi /* M68K Backend by Daniel Collin <[email protected]> 2015 */ 3*9a0e4156SSadaf Ebrahimi 4*9a0e4156SSadaf Ebrahimi #ifdef CAPSTONE_HAS_M68K 5*9a0e4156SSadaf Ebrahimi 6*9a0e4156SSadaf Ebrahimi #include "../../utils.h" 7*9a0e4156SSadaf Ebrahimi #include "../../MCRegisterInfo.h" 8*9a0e4156SSadaf Ebrahimi #include "M68KDisassembler.h" 9*9a0e4156SSadaf Ebrahimi #include "M68KInstPrinter.h" 10*9a0e4156SSadaf Ebrahimi #include "M68KModule.h" 11*9a0e4156SSadaf Ebrahimi M68K_global_init(cs_struct * ud)12*9a0e4156SSadaf Ebrahimics_err M68K_global_init(cs_struct *ud) 13*9a0e4156SSadaf Ebrahimi { 14*9a0e4156SSadaf Ebrahimi m68k_info *info; 15*9a0e4156SSadaf Ebrahimi 16*9a0e4156SSadaf Ebrahimi info = cs_mem_malloc(sizeof(m68k_info)); 17*9a0e4156SSadaf Ebrahimi if (!info) { 18*9a0e4156SSadaf Ebrahimi return CS_ERR_MEM; 19*9a0e4156SSadaf Ebrahimi } 20*9a0e4156SSadaf Ebrahimi 21*9a0e4156SSadaf Ebrahimi ud->printer = M68K_printInst; 22*9a0e4156SSadaf Ebrahimi ud->printer_info = info; 23*9a0e4156SSadaf Ebrahimi ud->getinsn_info = NULL; 24*9a0e4156SSadaf Ebrahimi ud->disasm = M68K_getInstruction; 25*9a0e4156SSadaf Ebrahimi ud->skipdata_size = 2; 26*9a0e4156SSadaf Ebrahimi ud->post_printer = NULL; 27*9a0e4156SSadaf Ebrahimi 28*9a0e4156SSadaf Ebrahimi ud->reg_name = M68K_reg_name; 29*9a0e4156SSadaf Ebrahimi ud->insn_id = M68K_get_insn_id; 30*9a0e4156SSadaf Ebrahimi ud->insn_name = M68K_insn_name; 31*9a0e4156SSadaf Ebrahimi ud->group_name = M68K_group_name; 32*9a0e4156SSadaf Ebrahimi 33*9a0e4156SSadaf Ebrahimi return CS_ERR_OK; 34*9a0e4156SSadaf Ebrahimi } 35*9a0e4156SSadaf Ebrahimi M68K_option(cs_struct * handle,cs_opt_type type,size_t value)36*9a0e4156SSadaf Ebrahimics_err M68K_option(cs_struct *handle, cs_opt_type type, size_t value) 37*9a0e4156SSadaf Ebrahimi { 38*9a0e4156SSadaf Ebrahimi return CS_ERR_OK; 39*9a0e4156SSadaf Ebrahimi } 40*9a0e4156SSadaf Ebrahimi 41*9a0e4156SSadaf Ebrahimi #endif 42*9a0e4156SSadaf Ebrahimi 43