--- /dev/null
+#include <Python.h>
+#include <stdlib.h>
+
+static PyObject *
+spam_system(PyObject *self, PyObject *args)
+{
+ const char *command;
+ int sts;
+
+ if (!PyArg_ParseTuple(args, "s", &command))
+ return NULL;
+ sts = system(command);
+ return PyLong_FromLong(sts);
+}
+
+static PyMethodDef SpamMethods[] = {
+ {"system", spam_system, METH_VARARGS,
+ "Execute a shell command."},
+ {NULL, NULL, 0, NULL} /* Sentinel */
+};
+
+static struct PyModuleDef spammodule = {
+ PyModuleDef_HEAD_INIT,
+ "spam", /* name of module */
+ spam_doc, /* module documentation, may be NULL */
+ 0, /* size of per-interpreter state of the module */
+ SpamMethods
+};
+
+PyMODINIT_FUNC
+PyInit_spam(void)
+{
+ return PyModule_Create(&spammodule);
+}