diff options
Diffstat (limited to 'Doc/includes/custom.c')
-rw-r--r-- | Doc/includes/custom.c | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/Doc/includes/custom.c b/Doc/includes/custom.c new file mode 100644 index 0000000000..fb2c7b2a43 --- /dev/null +++ b/Doc/includes/custom.c @@ -0,0 +1,39 @@ +#include <Python.h> + +typedef struct { + PyObject_HEAD + /* Type-specific fields go here. */ +} CustomObject; + +static PyTypeObject CustomType = { + PyVarObject_HEAD_INIT(NULL, 0) + .tp_name = "custom.Custom", + .tp_doc = "Custom objects", + .tp_basicsize = sizeof(CustomObject), + .tp_itemsize = 0, + .tp_flags = Py_TPFLAGS_DEFAULT, + .tp_new = PyType_GenericNew, +}; + +static PyModuleDef custommodule = { + PyModuleDef_HEAD_INIT, + .m_name = "custom", + .m_doc = "Example module that creates an extension type.", + .m_size = -1, +}; + +PyMODINIT_FUNC +PyInit_custom(void) +{ + PyObject *m; + if (PyType_Ready(&CustomType) < 0) + return NULL; + + m = PyModule_Create(&custommodule); + if (m == NULL) + return NULL; + + Py_INCREF(&CustomType); + PyModule_AddObject(m, "Custom", (PyObject *) &CustomType); + return m; +} |