#ifndef _PY_TERM_MOD_H #define _PY_TERM_MOD_H #define PY_SSIZE_T_CLEAN #include #include "term_obj.h" PyModuleDef term_mod = { PyModuleDef_HEAD_INIT, .m_name = "term", .m_doc = "RDF term module.", .m_size = -1, }; PyMODINIT_FUNC PyInit_term(void) { if (PyType_Ready (&TermType) < 0) return NULL; PyObject *m = PyModule_Create(&term_mod); if (m == NULL) return NULL; #define ENTRY(a, b) \ if (PyModule_AddIntConstant (m, "TERM_" #a, b) < 0) return NULL; TTYPE_TABLE #undef ENTRY Py_INCREF(&TermType); if (PyModule_AddObject(m, "Term", (PyObject *) &TermType) < 0) { Py_DECREF(&TermType); Py_DECREF(m); return NULL; } return m; } #endif