X-Git-Url: https://sigrok.org/gitweb/?p=libsigrokdecode.git;a=blobdiff_plain;f=libsigrokdecode.h.in;h=b75942808e2421207df994e49014263d7a43dc34;hp=cec6def197b598680fef718619c49379869c66c7;hb=a929afa618be52072786b51f1b9ea7be03edcd49;hpb=f2a5df42ea41e6c4370d4efa1a27ab942ba1ddff diff --git a/libsigrokdecode.h.in b/libsigrokdecode.h.in index cec6def..b759428 100644 --- a/libsigrokdecode.h.in +++ b/libsigrokdecode.h.in @@ -162,6 +162,7 @@ enum { SRD_OUTPUT_ANN, SRD_OUTPUT_PYTHON, SRD_OUTPUT_BINARY, + SRD_OUTPUT_META, }; #define SRD_MAX_NUM_PROBES 64 @@ -201,6 +202,12 @@ struct srd_decoder { */ GSList *annotations; + /** + * List of NULL-terminated char[], containing descriptions of the + * supported binary output. + */ + GSList *binary; + /** List of decoder options. */ GSList *options; @@ -249,15 +256,27 @@ 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; +}; +struct srd_proto_data_binary { + int bin_class; + uint64_t size; + const unsigned char *data; +}; typedef void (*srd_pd_output_callback_t)(struct srd_proto_data *pdata, void *cb_data);