Example extension functions:
static PyObject* encrypt(PyObject *self, PyObject *args)
{
char *string, *returnstring, *p;
if (!PyArg_ParseTuple(args, "s", &string))
return NULL;
returnstring = strdup(string);
for (p=returnstring; *p; p++)
*p = rot13(*p);
return Py_BuildValue("s", returnstring);
}
static PyObject* helloworld(PyObject *self, PyObject *args)
{
if (!PyArg_ParseTuple(args, "")) /* No arguments expected */
return NULL;
printf("Hello, world!\n");
Py_INCREF(Py_None);
return Py_None; /* No return value */
}