114 Commits

Author SHA1 Message Date
Nguyen Anh Quynh
4d22779f1c add the missing include/ppc.h 2013-12-31 21:01:01 +08:00
Nguyen Anh Quynh
42c6b1acc7 initial support for PPC 2013-12-30 00:15:25 +08:00
Nguyen Anh Quynh
0cb3d6cb24 we broke compatibility of bunch of important APIs, so bump API version to 2.0 rather than 1.1 2013-12-28 14:00:18 +08:00
Nguyen Anh Quynh
b90cb993ed API cs_version_ex(): since we already broke API compatibility, we are not afraid to break cs_version() too. this replaces cs_version() with cs_version_ex() 2013-12-28 13:59:09 +08:00
Nguyen Anh Quynh
04c19beefe rename API cs_disasm_dyn() to cs_disasm_ex(), and intentionally breaks compatibility with 1.0 2013-12-25 13:26:22 +08:00
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
2296d5e926 add macro CS_MAKE_VERSION, which is handy to create combined version from major & minor version so that can be compared to the result of cs_version_ex() 2013-12-22 21:01:17 +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
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
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
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
d06e2f5ac1 arm: expose alias registers SB, SL, FP & IP. attn: bindings 2013-12-19 16:50:57 +08:00
Nguyen Anh Quynh
df3fb00ed7 arm: add comments to arm.h for coprocessor register types 2013-12-19 12:41:50 +08:00
Nguyen Anh Quynh
7957ed1def arm64: add some alias registers. attn: bindings 2013-12-15 00:32:20 +08:00
Nguyen Anh Quynh
46a5afd810 add comment to clarify which information in cs_insn is available when CS_OPT_DETAIL = OFF 2013-12-14 11:52:06 +08:00
Nguyen Anh Quynh
4994c587ad bindings: support new 'detail' option for java & python 2013-12-14 11:39:33 +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
pancake
f0e4eed89d Use const on all read-only buffers 2013-12-11 22:14:42 +01:00
Nguyen Anh Quynh
ad89d25d05 mips: optimize Mips_map_register() to O(1). suggested by Pancake 2013-12-11 23:20:34 +08:00
Nguyen Anh Quynh
66f6c2283e mips: fix NEGU alias instruction. bug reported by Pancake 2013-12-11 21:37:24 +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
bdaf3b5089 x86: delete useless constant values assigned for instructions in x86.h 2013-12-09 00:55:49 +08:00
Nguyen Anh Quynh
162409e730 mips: upgrade core engine 2013-12-08 20:17:28 +08:00
Nguyen Anh Quynh
731bf2a714 arm64: update core engine 2013-12-08 15:13:47 +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
a236902656 fix CS_INSN_OFFSET: calculate offset based on the address of related instruction only 2013-12-05 20:21:09 +08:00
Nguyen Anh Quynh
a84d747f7c fix typo in CS_INSN_OFFSET 2013-12-05 18:33:34 +08:00
Nguyen Anh Quynh
bb5460348b add CS_INSN_OFFSET macro, so we can easily calculate offset of one insn, given its position in its array 2013-12-05 18:29:51 +08:00
Nguyen Anh Quynh
4d70daf83d note that Intel is default syntax 2013-12-05 09:50:50 +08:00
Nguyen Anh Quynh
a2f825ff07 support comments in autogen files, so constant files are more friendly 2013-12-04 23:56:24 +08:00
Nguyen Anh Quynh
79976c1370 fix some comments in capstone.h 2013-12-04 23:03:13 +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
367a4df66f Partially reverted previous commit
I added mistakenly various local-only changes.
2013-12-04 07:15:45 +01: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
f8db76ab94 arm64: correct value of ARM64_SFT_ROR 2013-12-04 12:37:55 +08:00
Nguyen Anh Quynh
ea5b79d058 move some alias registers around to after REG_MAX. this seems to fix some issues of clang, which struggles with enum that assign value from other enum 2013-12-04 12:10:47 +08:00
Nguyen Anh Quynh
b39ef0bfa6 arm: added some alias registers 2013-12-04 11:52:28 +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
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
612b5d23e8 consistently use same param name @address rather than @offset in all cs_disasm*() API 2013-12-03 12:23:09 +08:00
Nguyen Anh Quynh
f2a649e1ef cs_insn.address also needs to be changed after the change on @offset of cs_disasm*() API 2013-12-03 12:21:01 +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
029df200b4 add some comments referring to cs_errno() on failure of some APIs 2013-12-03 11:36:54 +08:00