about summary refs log tree commit diff stats
path: root/miasm2/jitter/vm_mngr_py.c
diff options
context:
space:
mode:
Diffstat (limited to 'miasm2/jitter/vm_mngr_py.c')
-rw-r--r--miasm2/jitter/vm_mngr_py.c38
1 files changed, 37 insertions, 1 deletions
diff --git a/miasm2/jitter/vm_mngr_py.c b/miasm2/jitter/vm_mngr_py.c
index 215517ee..af41709e 100644
--- a/miasm2/jitter/vm_mngr_py.c
+++ b/miasm2/jitter/vm_mngr_py.c
@@ -460,6 +460,39 @@ PyObject* vm_is_mapped(VmMngr* self, PyObject* args)
 	return PyLong_FromUnsignedLongLong((uint64_t)ret);
 }
 
+PyObject* vm_reset_code_bloc_write(VmMngr* self, PyObject* args)
+{
+	reset_code_bloc_write(&self->vm_mngr);
+	Py_INCREF(Py_None);
+	return Py_None;
+}
+
+PyObject* vm_get_code_bloc_write(VmMngr* self, PyObject* args)
+{
+	uint64_t start, stop;
+	PyObject* range;
+	PyObject* result;
+	uint32_t valid;
+
+	valid = get_code_bloc_write(&self->vm_mngr, &start, &stop);
+	if (!valid) {
+		result = PyList_New(0);
+		return result;
+	}
+
+	range = PyTuple_New(2);
+	PyTuple_SetItem(range, 0, PyLong_FromUnsignedLongLong((uint64_t)start));
+	PyTuple_SetItem(range, 1, PyLong_FromUnsignedLongLong((uint64_t)stop));
+
+
+	result = PyList_New(1);
+	PyList_SET_ITEM(result, 0, range);
+
+	return result;
+}
+
+
+
 
 static PyObject *
 vm_set_big_endian(VmMngr *self, PyObject *value, void *closure)
@@ -529,6 +562,8 @@ static PyMethodDef VmMngr_methods[] = {
 	 "X"},
 	{"is_mapped", (PyCFunction)vm_is_mapped, METH_VARARGS,
 	 "X"},
+	{"reset_code_bloc_write", (PyCFunction)vm_reset_code_bloc_write, METH_VARARGS,
+	 "X"},
 	{"add_code_bloc",(PyCFunction)vm_add_code_bloc, METH_VARARGS,
 	 "X"},
 	{"get_mem", (PyCFunction)vm_get_mem, METH_VARARGS,
@@ -551,13 +586,14 @@ static PyMethodDef VmMngr_methods[] = {
 	 "X"},
 	{"reset_code_bloc_pool", (PyCFunction)vm_reset_code_bloc_pool, METH_VARARGS,
 	 "X"},
+	{"get_code_bloc_write", (PyCFunction)vm_get_code_bloc_write, METH_VARARGS,
+	 "X"},
 	{"set_alarm", (PyCFunction)set_alarm, METH_VARARGS,
 	 "X"},
 	{"get_exception",(PyCFunction)vm_get_exception, METH_VARARGS,
 	 "X"},
 	{"get_exception",(PyCFunction)vm_get_exception, METH_VARARGS,
 	 "X"},
-
 	{"set_big_endian",(PyCFunction)vm_set_big_endian, METH_VARARGS,
 	 "X"},
 	{"set_little_endian",(PyCFunction)vm_set_little_endian, METH_VARARGS,