X-Git-Url: https://sigrok.org/gitweb/?p=libsigrokdecode.git;a=blobdiff_plain;f=libsigrokdecode.h;h=d37c432a537c9c5a8cbacbc6b4e27674eec69149;hp=8d1d5ae8212cc5f49eafd4d88488fe5c5f85376e;hb=ba2eca6e2d52e6ebe342a50ebf7b0c00a55bdc55;hpb=4564e8e53af85e696a58e43677bae87470c52771 diff --git a/libsigrokdecode.h b/libsigrokdecode.h index 8d1d5ae..d37c432 100644 --- a/libsigrokdecode.h +++ b/libsigrokdecode.h @@ -154,6 +154,12 @@ struct srd_decoder { */ char *license; + /** List of possible decoder input IDs. */ + GSList *inputs; + + /** List of possible decoder output IDs. */ + GSList *outputs; + /** List of channels required by this decoder. */ GSList *channels; @@ -188,6 +194,12 @@ struct srd_decoder { void *py_dec; }; +enum srd_initial_pin { + SRD_INITIAL_PIN_LOW, + SRD_INITIAL_PIN_HIGH, + SRD_INITIAL_PIN_SAME_AS_SAMPLE0, +}; + /** * Structure which contains information about one protocol decoder channel. * For example, I2C has two channels, SDA and SCL. @@ -261,6 +273,9 @@ struct srd_decoder_inst { /** Indicates whether the worker thread has handled all samples. */ gboolean handled_all_samples; + /** Requests termination of wait() and decode(). */ + gboolean want_wait_terminate; + GCond got_new_samples_cond; GCond handled_all_samples_cond; GMutex data_mutex; @@ -338,6 +353,8 @@ SRD_API int srd_inst_stack(struct srd_session *sess, struct srd_decoder_inst *di_from, struct srd_decoder_inst *di_to); SRD_API struct srd_decoder_inst *srd_inst_find_by_id(struct srd_session *sess, const char *inst_id); +SRD_API int srd_inst_initial_pins_set_all(struct srd_decoder_inst *di, + GArray *initial_pins); /* log.c */ typedef int (*srd_log_callback)(void *cb_data, int loglevel, @@ -360,6 +377,8 @@ SRD_API int srd_lib_version_current_get(void); SRD_API int srd_lib_version_revision_get(void); SRD_API int srd_lib_version_age_get(void); SRD_API const char *srd_lib_version_string_get(void); +SRD_API GSList *srd_buildinfo_libs_get(void); +SRD_API char *srd_buildinfo_host_get(void); #include "version.h"