• Home
  • Raw
  • Download

Lines Matching refs:handle

190 cs_err CAPSTONE_API cs_errno(csh handle)  in cs_errno()  argument
193 if (!handle) in cs_errno()
196 ud = (struct cs_struct *)(uintptr_t)handle; in cs_errno()
235 cs_err CAPSTONE_API cs_open(cs_arch arch, cs_mode mode, csh *handle) in cs_open() argument
266 *handle = 0; in cs_open()
270 *handle = (uintptr_t)ud; in cs_open()
274 *handle = 0; in cs_open()
280 cs_err CAPSTONE_API cs_close(csh *handle) in cs_close() argument
284 if (*handle == 0) in cs_close()
288 ud = (struct cs_struct *)(*handle); in cs_close()
300 *handle = 0; in cs_close()
306 static void fill_insn(struct cs_struct *handle, cs_insn *insn, char *buffer, MCInst *mci, in fill_insn() argument
325 postprinter((csh)handle, insn, buffer, mci); in fill_insn()
357 static uint8_t skipdata_size(cs_struct *handle) in skipdata_size() argument
359 switch(handle->arch) { in skipdata_size()
365 if (handle->mode & CS_MODE_THUMB) in skipdata_size()
392 struct cs_struct *handle; in cs_option() local
409 handle = (struct cs_struct *)(uintptr_t)ud; in cs_option()
410 if (!handle) in cs_option()
417 handle->detail = (cs_opt_value)value; in cs_option()
420 handle->skipdata = (value == CS_OPT_ON); in cs_option()
421 if (handle->skipdata) { in cs_option()
422 if (handle->skipdata_size == 0) { in cs_option()
424 handle->skipdata_size = skipdata_size(handle); in cs_option()
430 handle->skipdata_setup = *((cs_opt_skipdata *)value); in cs_option()
434 return arch_option[handle->arch](handle, type, value); in cs_option()
474 struct cs_struct *handle; in cs_disasm() local
491 handle = (struct cs_struct *)(uintptr_t)ud; in cs_disasm()
492 if (!handle) { in cs_disasm()
498 handle->errnum = CS_ERR_OK; in cs_disasm()
501 if (handle->arch == CS_ARCH_ARM) in cs_disasm()
502 handle->ITBlock.size = 0; in cs_disasm()
518 handle->errnum = CS_ERR_MEM; in cs_disasm()
526 mci.csh = handle; in cs_disasm()
531 if (handle->detail) { in cs_disasm()
547 r = handle->disasm(ud, buffer, size, &mci, &insn_size, offset, handle->getinsn_info); in cs_disasm()
556 handle->insn_id(handle, insn_cache, mci.Opcode); in cs_disasm()
558 handle->printer(&mci, &ss, handle->printer_info); in cs_disasm()
560 fill_insn(handle, insn_cache, ss.buffer, &mci, handle->post_printer, buffer); in cs_disasm()
567 if (handle->detail) { in cs_disasm()
573 if (!handle->skipdata || handle->skipdata_size > size) in cs_disasm()
576 if (handle->skipdata_setup.callback) { in cs_disasm()
577 skipdata_bytes = handle->skipdata_setup.callback(buffer_org, size_org, in cs_disasm()
578 (size_t)(offset - offset_org), handle->skipdata_setup.user_data); in cs_disasm()
587 skipdata_bytes = handle->skipdata_size; in cs_disasm()
598 strncpy(insn_cache->mnemonic, handle->skipdata_setup.mnemonic, in cs_disasm()
622 if (handle->detail) { in cs_disasm()
630 handle->errnum = CS_ERR_MEM; in cs_disasm()
657 if (handle->detail) { in cs_disasm()
666 handle->errnum = CS_ERR_MEM; in cs_disasm()
702 struct cs_struct *handle = (struct cs_struct *)(uintptr_t)ud; in cs_malloc() local
707 handle->errnum = CS_ERR_MEM; in cs_malloc()
710 if (handle->detail) { in cs_malloc()
715 handle->errnum = CS_ERR_MEM; in cs_malloc()
730 struct cs_struct *handle; in cs_disasm_iter() local
735 handle = (struct cs_struct *)(uintptr_t)ud; in cs_disasm_iter()
736 if (!handle) { in cs_disasm_iter()
740 handle->errnum = CS_ERR_OK; in cs_disasm_iter()
743 mci.csh = handle; in cs_disasm_iter()
757 r = handle->disasm(ud, *code, *size, &mci, &insn_size, *address, handle->getinsn_info); in cs_disasm_iter()
765 handle->insn_id(handle, insn, mci.Opcode); in cs_disasm_iter()
767 handle->printer(&mci, &ss, handle->printer_info); in cs_disasm_iter()
769 fill_insn(handle, insn, ss.buffer, &mci, handle->post_printer, *code); in cs_disasm_iter()
779 if (!handle->skipdata || handle->skipdata_size > *size) in cs_disasm_iter()
782 if (handle->skipdata_setup.callback) { in cs_disasm_iter()
783 skipdata_bytes = handle->skipdata_setup.callback(*code, *size, in cs_disasm_iter()
784 0, handle->skipdata_setup.user_data); in cs_disasm_iter()
793 skipdata_bytes = handle->skipdata_size; in cs_disasm_iter()
804 strncpy(insn->mnemonic, handle->skipdata_setup.mnemonic, in cs_disasm_iter()
821 struct cs_struct *handle = (struct cs_struct *)(uintptr_t)ud; in cs_reg_name() local
823 if (!handle || handle->reg_name == NULL) { in cs_reg_name()
827 return handle->reg_name(ud, reg); in cs_reg_name()
833 struct cs_struct *handle = (struct cs_struct *)(uintptr_t)ud; in cs_insn_name() local
835 if (!handle || handle->insn_name == NULL) { in cs_insn_name()
839 return handle->insn_name(ud, insn); in cs_insn_name()
845 struct cs_struct *handle = (struct cs_struct *)(uintptr_t)ud; in cs_group_name() local
847 if (!handle || handle->group_name == NULL) { in cs_group_name()
851 return handle->group_name(ud, group); in cs_group_name()
869 struct cs_struct *handle; in cs_insn_group() local
873 handle = (struct cs_struct *)(uintptr_t)ud; in cs_insn_group()
875 if (!handle->detail) { in cs_insn_group()
876 handle->errnum = CS_ERR_DETAIL; in cs_insn_group()
881 handle->errnum = CS_ERR_SKIPDATA; in cs_insn_group()
886 handle->errnum = CS_ERR_DETAIL; in cs_insn_group()
896 struct cs_struct *handle; in cs_reg_read() local
900 handle = (struct cs_struct *)(uintptr_t)ud; in cs_reg_read()
902 if (!handle->detail) { in cs_reg_read()
903 handle->errnum = CS_ERR_DETAIL; in cs_reg_read()
908 handle->errnum = CS_ERR_SKIPDATA; in cs_reg_read()
913 handle->errnum = CS_ERR_DETAIL; in cs_reg_read()
923 struct cs_struct *handle; in cs_reg_write() local
927 handle = (struct cs_struct *)(uintptr_t)ud; in cs_reg_write()
929 if (!handle->detail) { in cs_reg_write()
930 handle->errnum = CS_ERR_DETAIL; in cs_reg_write()
935 handle->errnum = CS_ERR_SKIPDATA; in cs_reg_write()
940 handle->errnum = CS_ERR_DETAIL; in cs_reg_write()
950 struct cs_struct *handle; in cs_op_count() local
955 handle = (struct cs_struct *)(uintptr_t)ud; in cs_op_count()
957 if (!handle->detail) { in cs_op_count()
958 handle->errnum = CS_ERR_DETAIL; in cs_op_count()
963 handle->errnum = CS_ERR_SKIPDATA; in cs_op_count()
968 handle->errnum = CS_ERR_DETAIL; in cs_op_count()
972 handle->errnum = CS_ERR_OK; in cs_op_count()
974 switch (handle->arch) { in cs_op_count()
976 handle->errnum = CS_ERR_HANDLE; in cs_op_count()
1027 struct cs_struct *handle; in cs_op_index() local
1032 handle = (struct cs_struct *)(uintptr_t)ud; in cs_op_index()
1034 if (!handle->detail) { in cs_op_index()
1035 handle->errnum = CS_ERR_DETAIL; in cs_op_index()
1040 handle->errnum = CS_ERR_SKIPDATA; in cs_op_index()
1045 handle->errnum = CS_ERR_DETAIL; in cs_op_index()
1049 handle->errnum = CS_ERR_OK; in cs_op_index()
1051 switch (handle->arch) { in cs_op_index()
1053 handle->errnum = CS_ERR_HANDLE; in cs_op_index()