#ifndef LIBSIGROKDECODE_SIGROKDECODE_INTERNAL_H
#define LIBSIGROKDECODE_SIGROKDECODE_INTERNAL_H
+#include "sigrokdecode.h"
// #include <stdarg.h>
// #include <glib.h>
#define ARRAY_AND_SIZE(a) (a), ARRAY_SIZE(a)
#endif
+/*--- controller.c ----------------------------------------------------------*/
+
+SRD_PRIV int pd_add(struct srd_decoder_inst *di, int output_type,
+ char *output_id);
+
+/*--- exception.c -----------------------------------------------------------*/
+
+SRD_PRIV void catch_exception(const char *format, ...);
+
/*--- log.c -----------------------------------------------------------------*/
-int srd_log(int loglevel, const char *format, ...);
-int srd_spew(const char *format, ...);
-int srd_dbg(const char *format, ...);
-int srd_info(const char *format, ...);
-int srd_warn(const char *format, ...);
-int srd_err(const char *format, ...);
+SRD_PRIV int srd_log(int loglevel, const char *format, ...);
+SRD_PRIV int srd_spew(const char *format, ...);
+SRD_PRIV int srd_dbg(const char *format, ...);
+SRD_PRIV int srd_info(const char *format, ...);
+SRD_PRIV int srd_warn(const char *format, ...);
+SRD_PRIV int srd_err(const char *format, ...);
+
+/*--- util.c ----------------------------------------------------------------*/
+
+SRD_PRIV int py_attr_as_str(PyObject *py_obj, const char *attr, char **outstr);
+SRD_PRIV int py_dictitem_as_str(PyObject *py_obj, const char *key, char **outstr);
+SRD_PRIV int py_str_as_str(PyObject *py_str, char **outstr);
+SRD_PRIV int py_strlist_to_char(PyObject *py_strlist, char ***outstr);
#endif