Utilizzare le syscall dei kernel Unbit in python

#include <Python.h>


static PyObject * unbit_get_process_count(PyObject *self,PyObject *args;)
{
    long num;

    num = syscall(318);
    return Py_BuildValue("i", num);

}


PyMethodDef methods[] = {
  {"get_process_count", unbit_get_process_count},
  {NULL, NULL},
};

void initunbit() {
    (void)Py_InitModule("unbit", methods);
}

compilazione

gcc -shared -I /usr/include/python2.4/ -o unbit.so unbitmodule.c

... usando ctypes in python2.5

import ctypes
libc = ctypes.cdll.LoadLibrary('libc.so.6')
print libc.syscall(318)

PythonSyscall (l'ultima modifica รจ del 2008-02-19 12:40:46, fatta da RobertoDeIoris)