X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=libsigrokdecode-internal.h;h=0e3cb64231c3af30431056293fc6b60cf28288dd;hb=ec5fc441e38e59a57cd508abf420e30fc3c28e0d;hp=af245f6ad197f5b75ab8a2782a0399bb43b2a95c;hpb=1cb40e1077894db4c92cfa01b285e28b202cce6f;p=libsigrokdecode.git diff --git a/libsigrokdecode-internal.h b/libsigrokdecode-internal.h index af245f6..0e3cb64 100644 --- a/libsigrokdecode-internal.h +++ b/libsigrokdecode-internal.h @@ -27,6 +27,17 @@ #include /* First, so we avoid a _POSIX_C_SOURCE warning. */ #include "libsigrokdecode.h" +/* + * Static definition of tables ending with an all-zero sentinel entry + * may raise warnings when compiling with -Wmissing-field-initializers. + * GCC suppresses the warning only with { 0 }, clang wants { } instead. + */ +#ifdef __clang__ +# define ALL_ZERO { } +#else +# define ALL_ZERO { 0 } +#endif + enum { SRD_TERM_ALWAYS_FALSE, SRD_TERM_HIGH, @@ -82,6 +93,8 @@ SRD_PRIV int srd_inst_decode(struct srd_decoder_inst *di, uint64_t abs_start_samplenum, uint64_t abs_end_samplenum, const uint8_t *inbuf, uint64_t inbuflen, uint64_t unitsize); SRD_PRIV int process_samples_until_condition_match(struct srd_decoder_inst *di, gboolean *found_match); +SRD_PRIV int srd_inst_flush(struct srd_decoder_inst *di); +SRD_PRIV int srd_inst_send_eof(struct srd_decoder_inst *di); SRD_PRIV int srd_inst_terminate_reset(struct srd_decoder_inst *di); SRD_PRIV void srd_inst_free(struct srd_decoder_inst *di); SRD_PRIV void srd_inst_free_all(struct srd_session *sess);