generator.c ----------- #include PyObject * seed_generator(PyObject *self, PyObject *args) { int a; int ok = PyArg_ParseTuple(args, "i",&a); if(!ok) return NULL; srand((int)a); PyObject *py_result = Py_BuildValue("i", (int)0); return py_result; } void initgenerator(void) { PyMethodDef generatorMethods[] = { {"seed", seed_generator, METH_VARARGS}, {NULL, NULL}, }; PyObject *m = Py_InitModule4( "generator", generatorMethods, "Some rubbish", 0, PYTHON_API_VERSION); return; } begin usage ----------- >>> import generator >>> generator.seed(1) Traceback (most recent call last): File "", line 1, in ? SystemError: ../Objects/methodobject.c:112: bad argument to internal function >>>