X-Git-Url: https://sigrok.org/gitweb/?p=libsigrokdecode.git;a=blobdiff_plain;f=libsigrokdecode.h.in;h=a654373c570048e6a944ac110eb6e73085e27059;hp=c61a0e4d17d6c0a11c094fd8509b9d79d676d62e;hb=7ee0c40b4ac605c68a8ec2008ef4ab61a1872475;hpb=32cfb920625182c03eb4a4564ffdfa9d2b08f15c diff --git a/libsigrokdecode.h.in b/libsigrokdecode.h.in index c61a0e4..a654373 100644 --- a/libsigrokdecode.h.in +++ b/libsigrokdecode.h.in @@ -160,16 +160,15 @@ enum { */ enum { SRD_OUTPUT_ANN, - SRD_OUTPUT_PROTO, + SRD_OUTPUT_PYTHON, SRD_OUTPUT_BINARY, + SRD_OUTPUT_META, }; #define SRD_MAX_NUM_PROBES 64 enum { - SRD_CONF_NUM_PROBES = 10000, - SRD_CONF_UNITSIZE, - SRD_CONF_SAMPLERATE, + SRD_CONF_SAMPLERATE = 10000, }; struct srd_decoder { @@ -242,9 +241,7 @@ struct srd_decoder_inst { GSList *pd_output; int dec_num_probes; int *dec_probemap; - int data_num_probes; int data_unitsize; - uint64_t data_samplerate; GSList *next_di; }; @@ -253,15 +250,22 @@ struct srd_pd_output { int output_type; struct srd_decoder_inst *di; char *proto_id; + /* Only used for OUTPUT_META. */ + const GVariantType *meta_type; + char *meta_name; + char *meta_descr; }; struct srd_proto_data { uint64_t start_sample; uint64_t end_sample; struct srd_pd_output *pdo; - int ann_format; void *data; }; +struct srd_proto_data_annotation { + int ann_format; + char **ann_text; +}; typedef void (*srd_pd_output_callback_t)(struct srd_proto_data *pdata, void *cb_data); @@ -304,10 +308,11 @@ SRD_API struct srd_decoder_inst *srd_inst_find_by_id(struct srd_session *sess, const char *inst_id); SRD_API int srd_session_new(struct srd_session **sess); SRD_API int srd_session_start(struct srd_session *sess); -SRD_API int srd_session_config_set(struct srd_session *sess, int key, +SRD_API int srd_session_metadata_set(struct srd_session *sess, int key, GVariant *data); SRD_API int srd_session_send(struct srd_session *sess, - uint64_t start_samplenum, const uint8_t *inbuf, uint64_t inbuflen); + uint64_t start_samplenum, uint64_t end_samplenum, + const uint8_t *inbuf, uint64_t inbuflen); SRD_API int srd_session_destroy(struct srd_session *sess); SRD_API int srd_pd_output_callback_add(struct srd_session *sess, int output_type, srd_pd_output_callback_t cb, void *cb_data);