]> sigrok.org Git - libsigrokdecode.git/blobdiff - module_sigrokdecode.c
onewire: preparations for protocol separation between link and network layers
[libsigrokdecode.git] / module_sigrokdecode.c
index 30ea6471615b900a443bf0223adb18c584aca878..a76645c582c6e205912d03d6f4299eb069551303 100644 (file)
 #include "sigrokdecode-internal.h"
 #include "config.h"
 
+/* type_decoder.c */
+extern SRD_PRIV PyTypeObject srd_Decoder_type;
 
-/* lives in type_decoder.c */
-extern PyTypeObject srd_Decoder_type;
+/* type_logic.c */
+extern SRD_PRIV PyTypeObject srd_logic_type;
 
-/* lives in type_logic.c */
-extern PyTypeObject srd_logic_type;
-
-
-/* When initialized, a reference to this module inside the python interpreter
+/*
+ * When initialized, a reference to this module inside the Python interpreter
  * lives here.
  */
-PyObject *mod_sigrokdecode = NULL;
+SRD_PRIV PyObject *mod_sigrokdecode = NULL;
 
 static struct PyModuleDef sigrokdecode_module = {
        PyModuleDef_HEAD_INIT,
@@ -41,12 +40,12 @@ static struct PyModuleDef sigrokdecode_module = {
        .m_size = -1,
 };
 
-
+/* FIXME: SRD_PRIV causes issues on MinGW. Investigate. */
 PyMODINIT_FUNC PyInit_sigrokdecode(void)
 {
        PyObject *mod;
 
-       /* tp_new needs to be assigned here for compiler portability */
+       /* tp_new needs to be assigned here for compiler portability. */
        srd_Decoder_type.tp_new = PyType_GenericNew;
        if (PyType_Ready(&srd_Decoder_type) < 0)
                return NULL;
@@ -57,22 +56,25 @@ PyMODINIT_FUNC PyInit_sigrokdecode(void)
 
        mod = PyModule_Create(&sigrokdecode_module);
        Py_INCREF(&srd_Decoder_type);
-       if (PyModule_AddObject(mod, "Decoder", (PyObject *)&srd_Decoder_type) == -1)
+       if (PyModule_AddObject(mod, "Decoder",
+           (PyObject *)&srd_Decoder_type) == -1)
                return NULL;
        Py_INCREF(&srd_logic_type);
-       if (PyModule_AddObject(mod, "srd_logic", (PyObject *)&srd_logic_type) == -1)
+       if (PyModule_AddObject(mod, "srd_logic",
+           (PyObject *)&srd_logic_type) == -1)
                return NULL;
 
        /* expose output types as symbols in the sigrokdecode module */
-       if(PyModule_AddIntConstant(mod, "OUTPUT_ANN", SRD_OUTPUT_ANN) == -1)
+       if (PyModule_AddIntConstant(mod, "OUTPUT_ANN", SRD_OUTPUT_ANN) == -1)
                return NULL;
-       if(PyModule_AddIntConstant(mod, "OUTPUT_PROTO", SRD_OUTPUT_PROTO) == -1)
+       if (PyModule_AddIntConstant(mod, "OUTPUT_PROTO",
+           SRD_OUTPUT_PROTO) == -1)
                return NULL;
-       if(PyModule_AddIntConstant(mod, "OUTPUT_BINARY", SRD_OUTPUT_BINARY) == -1)
+       if (PyModule_AddIntConstant(mod, "OUTPUT_BINARY",
+           SRD_OUTPUT_BINARY) == -1)
                return NULL;
 
        mod_sigrokdecode = mod;
 
        return mod;
 }
-