mirror of
https://github.com/idapython/src
synced 2026-06-08 14:47:00 +00:00
added PyWraps sources. This will facilitate deployment, development and debugging of IDAPython additions
This commit is contained in:
@@ -0,0 +1,56 @@
|
||||
#include "py_expr.hpp"
|
||||
|
||||
#pragma warning(push)
|
||||
#pragma warning(disable: 4244)
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
static PyObject *ex_pyw_register_idc_func(PyObject *self, PyObject *args)
|
||||
{
|
||||
char *name, *arg;
|
||||
PyObject *py_fp;
|
||||
if ( !PyArg_ParseTuple(args, "ssO", &name, &arg, &py_fp) )
|
||||
return NULL;
|
||||
else
|
||||
return PyLong_FromUnsignedLongLong(pyw_register_idc_func(name, arg, py_fp));
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
static PyObject *ex_pyw_unregister_idc_func(PyObject *self, PyObject *args)
|
||||
{
|
||||
unsigned PY_LONG_LONG ctxptr;
|
||||
if ( !PyArg_ParseTuple(args, "K", &ctxptr) )
|
||||
return NULL;
|
||||
return PyLong_FromLong(pyw_unregister_idc_func(ctxptr));
|
||||
}
|
||||
|
||||
static PyObject *ex_py_set_idc_func_ex(PyObject *self, PyObject *pyargs)
|
||||
{
|
||||
const char *name;
|
||||
unsigned PY_LONG_LONG fp_ptr;
|
||||
const char *args;
|
||||
int flags;
|
||||
if ( !PyArg_ParseTuple(pyargs, "sKsi", &name, &fp_ptr, &args, &flags) )
|
||||
return NULL;
|
||||
else
|
||||
return PyLong_FromLong(py_set_idc_func_ex(name, fp_ptr, args, flags));
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
static PyObject *ex_py_get_call_idc_func(PyObject *self, PyObject *args)
|
||||
{
|
||||
return PyLong_FromUnsignedLongLong(py_get_call_idc_func());
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
#pragma warning(pop)
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
static PyMethodDef py_methods_expr[] =
|
||||
{
|
||||
{"pyw_register_idc_func", ex_pyw_register_idc_func, METH_VARARGS, ""},
|
||||
{"pyw_unregister_idc_func", ex_pyw_unregister_idc_func, METH_VARARGS, ""},
|
||||
{"py_get_call_idc_func", ex_py_get_call_idc_func, METH_VARARGS, ""},
|
||||
{"py_set_idc_func_ex", ex_py_set_idc_func_ex, METH_VARARGS, ""},
|
||||
{NULL, NULL, 0, NULL} // End of methods
|
||||
};
|
||||
DRIVER_INIT_METHODS(expr);
|
||||
Reference in New Issue
Block a user