X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=libsigrokdecode.h;h=a4d28d40b943db1a73da1e3e50a89643994a583f;hb=e500b376b5cf74f4862688f310b9b8008bfc3eea;hp=9d403dd497d3b246dfc469f3fda7b4b9be36b370;hpb=cda2d36cfeed3f921252ffa95377529d6bdc074b;p=libsigrokdecode.git diff --git a/libsigrokdecode.h b/libsigrokdecode.h index 9d403dd..a4d28d4 100644 --- a/libsigrokdecode.h +++ b/libsigrokdecode.h @@ -228,6 +228,43 @@ struct srd_decoder_inst { int data_unitsize; uint8_t *channel_samples; GSList *next_di; + + /** List of conditions a PD wants to wait for. */ + GSList *condition_list; + + /** Array of booleans denoting which conditions matched. */ + GArray *match_array; + + /** Absolute start sample number. */ + uint64_t start_samplenum; + + /** Absolute end sample number. */ + uint64_t end_samplenum; + + /** Pointer to the buffer/chunk of input samples. */ + const uint8_t *inbuf; + + /** Length (in bytes) of the input sample buffer. */ + uint64_t inbuflen; + + /** Absolute current samplenumber. */ + uint64_t cur_samplenum; + + /** Array of "old" (previous sample) pin values. */ + GArray *old_pins_array; + + /** Handle for this PD stack's worker thread. */ + GThread *thread_handle; + + /** Indicates whether new samples are available for processing. */ + gboolean got_new_samples; + + /** Indicates whether the worker thread has handled all samples. */ + gboolean handled_all_samples; + + GCond got_new_samples_cond; + GCond handled_all_samples_cond; + GMutex data_mutex; }; struct srd_pd_output { @@ -310,8 +347,6 @@ SRD_API int srd_log_loglevel_set(int loglevel); SRD_API int srd_log_loglevel_get(void); SRD_API int srd_log_callback_set(srd_log_callback cb, void *cb_data); SRD_API int srd_log_callback_set_default(void); -SRD_API int srd_log_logdomain_set(const char *logdomain); -SRD_API char *srd_log_logdomain_get(void); /* error.c */ SRD_API const char *srd_strerror(int error_code);