-SRD_PRIV int srd_inst_start(struct srd_decoder_inst *di, PyObject *args);
-SRD_PRIV int srd_inst_decode(uint64_t start_samplenum,
- const struct srd_decoder_inst *dec,
- const uint8_t *inbuf, uint64_t inbuflen);
+
+/* session.c */
+SRD_PRIV int session_is_valid(struct srd_session *sess);
+SRD_PRIV struct srd_pd_callback *srd_pd_output_callback_find(struct srd_session *sess,
+ int output_type);
+
+/* instance.c */
+SRD_PRIV struct srd_decoder_inst *srd_inst_find_by_obj( const GSList *stack,
+ const PyObject *obj);
+SRD_PRIV int srd_inst_start(struct srd_decoder_inst *di);
+SRD_PRIV void match_array_free(struct srd_decoder_inst *di);
+SRD_PRIV void condition_list_free(struct srd_decoder_inst *di);
+SRD_PRIV int srd_inst_decode(struct srd_decoder_inst *di,
+ uint64_t start_samplenum, uint64_t 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);