X-Git-Url: https://sigrok.org/gitweb/?p=libsigrokdecode.git;a=blobdiff_plain;f=sigrokdecode.h.in;h=3de1271eab3f1679cfcb038a44a8b6f5fb046df0;hp=033e30ee4652e557097c2facd5f62998eebde4db;hb=3e1a99c0f8c5e9ace4748ff818146a70b9549092;hpb=d523eae6e0617e6ad5055738ea4864deacae4313 diff --git a/sigrokdecode.h.in b/sigrokdecode.h.in index 033e30e..3de1271 100644 --- a/sigrokdecode.h.in +++ b/sigrokdecode.h.in @@ -30,6 +30,22 @@ extern "C" { #endif +/** + * @file + * + * The public libsigrokdecode header file to be used by frontends. + * + * This is the only file that libsigrokdecode users (frontends) are supposed + * to use and include. There are other header files which get installed with + * libsigrokdecode, but those are not meant to be used directly by frontends. + * + * The correct way to get/use the libsigrokdecode API functions is: + * + * @code{.c} + * #include + * @endcode + */ + /* * Package version macros (can be used for conditional compilation). */ @@ -139,7 +155,6 @@ enum { #define SRD_MAX_NUM_PROBES 64 -/* TODO: Documentation. */ struct srd_decoder { /** The decoder ID. Must be non-NULL and unique for all decoders. */ char *id; @@ -171,6 +186,9 @@ struct srd_decoder { */ GSList *annotations; + /** List of decoder options. */ + GSList *options; + /** Python module. */ PyObject *py_mod; @@ -193,6 +211,12 @@ struct srd_probe { int order; }; +struct srd_decoder_option { + char *id; + char *desc; + GVariant *def; +}; + struct srd_decoder_inst { struct srd_decoder *decoder; PyObject *py_inst; @@ -251,20 +275,19 @@ typedef struct { SRD_API int srd_init(const char *path); SRD_API int srd_exit(void); SRD_API int srd_inst_option_set(struct srd_decoder_inst *di, - GHashTable *options); + GHashTable *options); SRD_API int srd_inst_probe_set_all(struct srd_decoder_inst *di, - GHashTable *probes); + GHashTable *probes); SRD_API struct srd_decoder_inst *srd_inst_new(const char *id, - GHashTable *options); + GHashTable *options); SRD_API int srd_inst_stack(struct srd_decoder_inst *di_from, - struct srd_decoder_inst *di_to); + struct srd_decoder_inst *di_to); SRD_API struct srd_decoder_inst *srd_inst_find_by_id(const char *inst_id); -SRD_API int srd_session_start(int num_probes, int unitsize, - uint64_t samplerate); +SRD_API int srd_session_start(int num_probes, int unitsize, uint64_t samplerate); SRD_API int srd_session_send(uint64_t start_samplenum, const uint8_t *inbuf, - uint64_t inbuflen); + uint64_t inbuflen); SRD_API int srd_pd_output_callback_add(int output_type, - srd_pd_output_callback_t cb, void *cb_data); + srd_pd_output_callback_t cb, void *cb_data); /*--- decoder.c -------------------------------------------------------------*/