Nguyen Anh Quynh
39b812d9e9
switch detail to be CS_OPT_OFF by default
2014-01-07 23:36:26 +08:00
Nguyen Anh Quynh
9fac512efc
no longer need to free insn_cache for each arch: simply do it from cs_close()
2014-01-07 10:56:04 +08:00
Nguyen Anh Quynh
1acfd0b883
move insn_cache into cs_struct to gurantee thread-safe
2014-01-06 10:56:59 +08:00
Nguyen Anh Quynh
8f7ab4981d
fix a potential memleak in cs_open() - happened when arch is invalid/unsupported
2014-01-06 09:52:57 +08:00
Nguyen Anh Quynh
c52352d6d9
add new error code CS_ERR_MEMSETUP to report error when user-defined dynamic mem management is uninitialized
2014-01-06 09:06:30 +08:00
Nguyen Anh Quynh
59492c2688
enable system's my_malloc/calloc/realloc/free via compile time option
2014-01-05 23:41:31 +08:00
Nguyen Anh Quynh
c7404075ff
move internal memory management declarations from utils.h to cs_priv.h
2014-01-05 11:35:47 +08:00
Nguyen Anh Quynh
24bf0d9079
add new option CS_OPT_MEM for cs_option(): this enable user-defined dynamic memory management. idea proposed by Pancake
2014-01-05 11:19:04 +08:00
Nguyen Anh Quynh
34f96389a9
add new API: cs_strerror() return a string describing a given error code. this should be used together with cs_errno()
2014-01-03 22:49:07 +08:00
Nguyen Anh Quynh
ee143c8c6c
fix a crashed bug in cs_close(): call destroy function before freeing handle's memory
2014-01-03 21:51:59 +08:00
Nguyen Anh Quynh
b265406960
cache insns for fast lookup in mapping.c. based on the idea of Dang Hoang Vu
2014-01-03 17:08:58 +08:00
Nguyen Anh Quynh
42c6b1acc7
initial support for PPC
2013-12-30 00:15:25 +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
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