python: more fixes, so this works on x86
diff --git a/bindings/python/capstone/capstone.py b/bindings/python/capstone/capstone.py
index bb5baac..4d35bd5 100644
--- a/bindings/python/capstone/capstone.py
+++ b/bindings/python/capstone/capstone.py
@@ -133,18 +133,18 @@
getattr(lib, fname).restype = restype
getattr(lib, fname).argtypes = argtypes
-_setup_prototype(_cs, "cs_open", ctypes.c_int, ctypes.c_uint, ctypes.c_uint, ctypes.POINTER(ctypes.c_uint64))
+_setup_prototype(_cs, "cs_open", ctypes.c_int, ctypes.c_uint, ctypes.c_uint, ctypes.POINTER(ctypes.c_size_t))
_setup_prototype(_cs, "cs_disasm_dyn", ctypes.c_size_t, ctypes.c_size_t, ctypes.POINTER(ctypes.c_char), ctypes.c_size_t, \
ctypes.c_size_t, ctypes.c_size_t, ctypes.POINTER(ctypes.POINTER(_cs_insn)))
_setup_prototype(_cs, "cs_free", None, ctypes.c_void_p)
-_setup_prototype(_cs, "cs_close", ctypes.c_int, ctypes.POINTER(ctypes.c_uint64))
-_setup_prototype(_cs, "cs_reg_name", ctypes.c_char_p, ctypes.c_uint64, ctypes.c_uint)
-_setup_prototype(_cs, "cs_insn_name", ctypes.c_char_p, ctypes.c_uint64, ctypes.c_uint)
-_setup_prototype(_cs, "cs_insn_group", ctypes.c_bool, ctypes.c_uint64, ctypes.POINTER(_cs_insn), ctypes.c_uint)
-_setup_prototype(_cs, "cs_reg_read", ctypes.c_bool, ctypes.c_uint64, ctypes.POINTER(_cs_insn), ctypes.c_uint)
-_setup_prototype(_cs, "cs_reg_write", ctypes.c_bool, ctypes.c_uint64, ctypes.POINTER(_cs_insn), ctypes.c_uint)
-_setup_prototype(_cs, "cs_op_count", ctypes.c_int, ctypes.c_uint64, ctypes.POINTER(_cs_insn), ctypes.c_uint)
-_setup_prototype(_cs, "cs_op_index", ctypes.c_int, ctypes.c_uint64, ctypes.POINTER(_cs_insn), ctypes.c_uint, ctypes.c_uint)
+_setup_prototype(_cs, "cs_close", ctypes.c_int, ctypes.POINTER(ctypes.c_size_t))
+_setup_prototype(_cs, "cs_reg_name", ctypes.c_char_p, ctypes.c_size_t, ctypes.c_uint)
+_setup_prototype(_cs, "cs_insn_name", ctypes.c_char_p, ctypes.c_size_t, ctypes.c_uint)
+_setup_prototype(_cs, "cs_insn_group", ctypes.c_bool, ctypes.c_size_t, ctypes.POINTER(_cs_insn), ctypes.c_uint)
+_setup_prototype(_cs, "cs_reg_read", ctypes.c_bool, ctypes.c_size_t, ctypes.POINTER(_cs_insn), ctypes.c_uint)
+_setup_prototype(_cs, "cs_reg_write", ctypes.c_bool, ctypes.c_size_t, ctypes.POINTER(_cs_insn), ctypes.c_uint)
+_setup_prototype(_cs, "cs_op_count", ctypes.c_int, ctypes.c_size_t, ctypes.POINTER(_cs_insn), ctypes.c_uint)
+_setup_prototype(_cs, "cs_op_index", ctypes.c_int, ctypes.c_size_t, ctypes.POINTER(_cs_insn), ctypes.c_uint, ctypes.c_uint)
_setup_prototype(_cs, "cs_version", None, ctypes.POINTER(ctypes.c_int), ctypes.POINTER(ctypes.c_int))
_setup_prototype(_cs, "cs_errno", ctypes.c_int, ctypes.c_int64)
@@ -158,7 +158,7 @@
# quick & dirty Python function to disasm raw binary code
def cs_disasm_quick(arch, mode, code, offset, count = 0):
- csh = ctypes.c_uint64()
+ csh = ctypes.c_size_t()
status = _cs.cs_open(arch, mode, ctypes.byref(csh))
if status != CS_ERR_OK:
return
@@ -254,7 +254,7 @@
class cs:
def __init__(self, arch, mode):
self.arch, self.mode = arch, mode
- self.csh = ctypes.c_uint64()
+ self.csh = ctypes.c_size_t()
status = _cs.cs_open(arch, mode, ctypes.byref(self.csh))
if status != CS_ERR_OK:
raise ValueError("Error: Wrong arch or mode")