]> sigrok.org Git - libsigrokdecode.git/blobdiff - libsigrokdecode.h
decoder: rephrase .has_channel() argument parse logic
[libsigrokdecode.git] / libsigrokdecode.h
index ae96d950e5f009f79bb4dd7d845ceb5e4faa0dea..982ae19759f94356baf09bd53b23ec8a012bc265 100644 (file)
@@ -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.
@@ -308,6 +320,7 @@ struct srd_pd_callback {
 /* srd.c */
 SRD_API int srd_init(const char *path);
 SRD_API int srd_exit(void);
+SRD_API GSList *srd_searchpaths_get(void);
 
 /* session.c */
 SRD_API int srd_session_new(struct srd_session **sess);
@@ -341,6 +354,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,