X-Git-Url: https://sigrok.org/gitweb/?p=libsigrokdecode.git;a=blobdiff_plain;f=sigrokdecode.h;h=2a78a4dd39f3f573679aa7d0691ac4d67417c246;hp=0f332b2cc7b965110e2789bdcea782d46d2e1329;hb=156509ca42f0df2380c9f205f9aad337e1a07802;hpb=b3b2cae8e36ca939f1a8535e95431ceefa8a1cb8 diff --git a/sigrokdecode.h b/sigrokdecode.h index 0f332b2..2a78a4d 100644 --- a/sigrokdecode.h +++ b/sigrokdecode.h @@ -67,10 +67,10 @@ enum { SRD_OUTPUT_ANN, SRD_OUTPUT_PROTO, SRD_OUTPUT_BINARY, - /* When adding an output type, don't forget to expose it to PDs in: - * controller.c:PyInit_sigrokdecode() - * and add a check in: - * module_sigrokdecode.c:Decoder_put() + /* When adding an output type, don't forget to... + * - expose it to PDs in controller.c:PyInit_sigrokdecode() + * - add a check in module_sigrokdecode.c:Decoder_put() + * - add a debug string in type_decoder.c:OUTPUT_TYPES */ }; @@ -103,7 +103,7 @@ struct srd_decoder { GSList *probes; /** Optional probes */ - GSList *extra_probes; + GSList *opt_probes; /* List of NULL-terminated char[], containing descriptions of the * supported annotation output. @@ -186,10 +186,14 @@ struct srd_decoder_instance *srd_instance_new(const char *id, GHashTable *options); int srd_instance_stack(struct srd_decoder_instance *di_from, struct srd_decoder_instance *di_to); -struct srd_decoder_instance *srd_instance_find(char *instance_id); +struct srd_decoder_instance *srd_instance_find_by_id(char *instance_id); +struct srd_decoder_instance *srd_instance_find_by_obj(GSList *stack, + PyObject *obj); int srd_instance_start(struct srd_decoder_instance *di, PyObject *args); int srd_instance_decode(uint64_t start_samplenum, struct srd_decoder_instance *dec, uint8_t *inbuf, uint64_t inbuflen); +void srd_instance_free(struct srd_decoder_instance *di); +void srd_instance_free_all(GSList *stack); int srd_session_start(int num_probes, int unitsize, uint64_t samplerate); int srd_session_feed(uint64_t start_samplenum, uint8_t *inbuf, uint64_t inbuflen); int pd_add(struct srd_decoder_instance *di, int output_type, char *output_id); @@ -216,8 +220,14 @@ int py_str_as_str(PyObject *py_str, char **outstr); int py_strlist_to_char(PyObject *py_strlist, char ***outstr); /*--- log.c -----------------------------------------------------------------*/ +typedef int (*srd_log_handler_t)(void *data, int loglevel, const char *format, + va_list args); int srd_set_loglevel(int loglevel); int srd_get_loglevel(void); +int srd_log_set_handler(srd_log_handler_t handler, void *data); +int srd_log_set_default_handler(void); +int srd_log_set_logdomain(const char *logdomain); +char *srd_log_get_logdomain(void); #ifdef __cplusplus }