xref: /aosp_15_r20/external/capstone/arch/M68K/M68KModule.c (revision 9a0e4156d50a75a99ec4f1653a0e9602a5d45c18)
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 Ebrahimi cs_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 Ebrahimi cs_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