API cs_option(): @value now has size_t, so mapping opaque pointer is possible for future options
diff --git a/bindings/python/capstone/capstone.py b/bindings/python/capstone/capstone.py
index 5baf3de..fd7945d 100644
--- a/bindings/python/capstone/capstone.py
+++ b/bindings/python/capstone/capstone.py
@@ -157,7 +157,7 @@
 _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_size_t)
-_setup_prototype(_cs, "cs_option", ctypes.c_int, ctypes.c_size_t, ctypes.c_int, ctypes.c_int)
+_setup_prototype(_cs, "cs_option", ctypes.c_int, ctypes.c_size_t, ctypes.c_int, ctypes.c_size_t)
 
 
 def cs_version():
diff --git a/cs.c b/cs.c
index a6e2ae2..461e63b 100644
--- a/cs.c
+++ b/cs.c
@@ -196,7 +196,7 @@
 	insn->mnemonic[sizeof(insn->mnemonic) - 1] = '\0';
 }
 
-cs_err cs_option(csh ud, cs_opt_type type, cs_opt_value value)
+cs_err cs_option(csh ud, cs_opt_type type, size_t value)
 {
 	cs_struct *handle = (cs_struct *)(uintptr_t)ud;
 	if (!handle)
diff --git a/include/capstone.h b/include/capstone.h
index 5c24d36..f04af71 100644
--- a/include/capstone.h
+++ b/include/capstone.h
@@ -144,7 +144,7 @@
  @return CS_ERR_OK on success, or other value on failure (refer to cs_err enum
  for detailed error).
 */
-cs_err cs_option(csh handle, cs_opt_type type, cs_opt_value value);
+cs_err cs_option(csh handle, cs_opt_type type, size_t value);
 
 /*
  Report the last error number when some API function fail.