Commit Graph

202 Commits

Author SHA1 Message Date
Nguyen Anh Quynh
4fe224b1ed change API cs_disasm_dyn(): break cs_insn into 2 structures, and put all details into new structure cs_detail. this break API compatibility 2013-12-24 16:49:36 +08:00
Nguyen Anh Quynh
b880678a25 old cs_version() and new cs_version() are not compatible, so revert old one, and create new separate API cs_version_ex() 2013-12-22 15:20:07 +08:00
Nguyen Anh Quynh
0877747bcd cs_version() can accept NULL arguments. this is useful if you dont care about major/minor, but only want to get returned combined version 2013-12-22 14:16:28 +08:00
Nguyen Anh Quynh
9a197b35a1 nullify handle when cs_open() fails. besides, return CS_ERR_ARCH when arch is unsupported 2013-12-22 13:41:38 +08:00
Nguyen Anh Quynh
58747adcbb to be sure, initialize arch_init[] with NULL 2013-12-22 13:37:13 +08:00
Nguyen Anh Quynh
d345839bce support cs_option() for arm64 module 2013-12-22 11:10:56 +08:00
Nguyen Anh Quynh
39a42eddfb Change the way of supporting arch modularization
- Always use libapstone.so as library name, no matter which archs are compiled in.

- Add new API cs_support() to check if a particular arch is supported.

- Change cs_version(): return hexical version which encodes both major & minor version.
    the return value can be comparable.

- Bump API version to 1.1
2013-12-22 10:40:58 +08:00
Nguyen Anh Quynh
f185180436 cleaner implementation for arch modularization 2013-12-21 12:16:47 +08:00
Nguyen Anh Quynh
31baeb570f Merge branch 'next' of https://github.com/aquynh/capstone into module 2013-12-21 10:01:02 +08:00
Nguyen Anh Quynh
7d02c92de8 code style: more fix for cs.c 2013-12-21 09:59:31 +08:00
Nguyen Anh Quynh
7008356bc5 change cs_insn struct to follow the commit 18103e4a. fixed Python & Java bindings accordingly. attn: bindings 2013-12-20 22:02:20 +08:00
danghvu
629a6d8901 Rename arch.h -> module.h 2013-12-20 01:44:17 -06:00
danghvu
0b6ea044ff Move cs_option dispatch into arch specific 2013-12-19 23:07:26 -06:00
danghvu
2b19296439 Fix indentation problem 2013-12-19 22:40:28 -06:00
danghvu
34d49d935b Support compilation of individual arch 2013-12-19 12:10:24 -06:00
Nguyen Anh Quynh
1bdb23a76d add CS_OPT_MODE option. this allows us to change engine's mode at run-time 2013-12-20 00:04:26 +08:00
Nguyen Anh Quynh
9a0dbabc23 simplify checking on condition to end the loop in cs_disasm(). issue spotted by Pancake 2013-12-15 22:25:58 +08:00
Nguyen Anh Quynh
1f44928d97 mips: fix for micromips 2013-12-15 14:04:59 +08:00
Nguyen Anh Quynh
4d3e852fbb detail option: provide instruction id even when detail option is OFF 2013-12-14 10:45:09 +08:00
Nguyen Anh Quynh
a209e67f8a support to turn on/off building instruction details 2013-12-14 00:23:41 +08:00
Nguyen Anh Quynh
e5c658c407 move PKG_* away from cs.c to CONFIG 2013-12-13 09:24:41 +08:00
Nguyen Anh Quynh
a01d1546d6 x86: handle outs instruction in 16bit mode 2013-12-12 15:54:30 +08:00
Nguyen Anh Quynh
86dc393e81 properly handle output string having space as separator 2013-12-12 14:43:39 +08:00
Nguyen Anh Quynh
defb9bcf2f more flexible on extracting insn menemonic, as sometimes space can be used as separator, not only tab 2013-12-12 14:00:12 +08:00
pancake
f0e4eed89d Use const on all read-only buffers 2013-12-11 22:14:42 +01:00
Nguyen Anh Quynh
2215895ebc mips: no need cs_struct.micro_mips, as we can get that from cs_struct.mode 2013-12-11 18:11:49 +08:00
Nguyen Anh Quynh
36df4bb6a7 revert the cs_version() API 2013-12-10 13:31:20 +08:00
Nguyen Anh Quynh
bb64b0bdca more API version to capstone.h, and remove cs_version(). reset API back to 1.0 for public release 2013-12-10 07:56:17 +08:00
Nguyen Anh Quynh
a253c7a8e8 x86: map EFLAGS to string of 'flags', 'eflags' or 'rflags' depending on current CS_MODE 2013-12-09 10:26:18 +08:00
Nguyen Anh Quynh
fe8030bdf0 update errno in cs_option() upon failure with CS_ERR_OPTION 2013-12-06 10:09:43 +08:00
Nguyen Anh Quynh
041e25dd66 add CS_ERR_OPTION type. cs_option() returns this error code on invalid option 2013-12-06 00:37:32 +08:00
Nguyen Anh Quynh
26a43715d9 bump API to 1.7 due to the addition of @bytes to cs_insn 2013-12-04 23:08:32 +08:00
Nguyen Anh Quynh
8f13f3c6ab rename @hex_code to @bytes, and move it to next to @size 2013-12-04 22:57:04 +08:00
Nguyen Anh Quynh
c45b1588ef Merge branch 'master' of https://github.com/joxeankoret/capstone into hexcode 2013-12-04 19:28:54 +08:00
Joxean
114df0ef2a Added @hex_code member
It's used to retrieve the bytes of the instruction.
2013-12-04 07:11:32 +01:00
Nguyen Anh Quynh
4b95d9fa67 bump API to 1.6 to reflect the addition of the new API cs_option() 2013-12-04 13:48:52 +08:00
Nguyen Anh Quynh
da8adaded2 API cs_option(): @value now has size_t, so mapping opaque pointer is possible for future options 2013-12-04 09:44:07 +08:00
Nguyen Anh Quynh
c618db4473 change option names for cs_option(), and update python binding accordingly to support new cs_option() 2013-12-04 00:05:04 +08:00
Nguyen Anh Quynh
b8ce68ec05 change cs_option() API to be more flexible with option value 2013-12-03 23:45:08 +08:00
Nguyen Anh Quynh
4a60a56be6 handle cs_option() according to arch & mode 2013-12-03 21:56:54 +08:00
Nguyen Anh Quynh
01aba002e3 add cs_option() API. move ATT & Intel syntax here, rather than having them as CS_MODE, which is wrong 2013-12-03 21:00:09 +08:00
Nguyen Anh Quynh
5dbe12a85b bump API to 1.5 due to the change in cs_disasm*(), and add PKG_{MAJOR|MINOR} for package version 2013-12-03 12:27:46 +08:00
Nguyen Anh Quynh
7d5f96d3a7 merge Radare's pull request on API change on @address of cs_disasm*() 2013-12-03 11:53:42 +08:00
Nguyen Anh Quynh
f35e2ad35c add @regs_read_count, @regs_write_count, @groups_count to @cs_insn. bump API to 1.4 2013-12-03 11:10:26 +08:00
pancake
c04f873791 Use uint64_t instead of size_t for addresses 2013-12-03 02:51:46 +01:00
Nguyen Anh Quynh
45078f87f1 finally drop ugly support for using arch as handle in cs_reg_name(). this doesnt change API 2013-12-01 00:22:15 +08:00
Nguyen Anh Quynh
ad61c49288 arm64: handle decomposer properly for alias insn 2013-11-30 16:23:31 +08:00
Nguyen Anh Quynh
6b7abe3c81 arm64: handle alias insn in a better way, and add support for MNEG. bug reported by Patroklos Argyroudis 2013-11-30 00:54:24 +08:00
Nguyen Anh Quynh
402f3fcfb4 bump API to 1.3 2013-11-29 17:40:49 +08:00
Nguyen Anh Quynh
b42a657873 change cs_disasm() and cs_disasm_dyn() to be portable API. fix related code using these API 2013-11-29 17:40:07 +08:00
Nguyen Anh Quynh
3eb9ac9bb9 mingw doesnt accept .errno of cs_struct. this fixes make it happy, and enable Windows cross-compile again 2013-11-27 15:24:47 +08:00
Nguyen Anh Quynh
26ee41aa67 initial import 2013-11-27 12:11:31 +08:00