Struct sc_pipe_buf_callbacks_params_t

Struct Documentation

struct sc_pipe_buf_callbacks_params_t

Parameter structure to be passed as the third argument in sc_pipe_open2 when creating a BUFFERED_DATA_CALLBACKS pipe.

This kind of pipe may be useful for language bindings where invocation of callback functions is slow (e.g. Python). The pipe issues callbacks only once a configurable minimum number of events has been buffered — so as to reduce the frequency of callbacks. Data is buffered in separate arrays of basic datatypes and the event data fields to be buffered can be selected.

See also

enum sc_data_field_t, BUFFERED_DATA_CALLBACKS

Public Members

void *priv

Private data.

void (*data)(void *priv, const sc_pipe_buf_callback_args*const)

Callback providing buffered data.

bool (*end_of_measurement)(void *priv)

Callback signalizing end of measurement. If callback returns true, all currently buffered data will be immediately transferred via an invocation of the ‘data’ callback.

unsigned data_field_selection

select which of the event data fields to buffer.

unsigned max_buffered_data_len

maximum number of entries per data field to be buffered.

int dld_events

if 0, buffer TDC events; if 1, buffer DLD events

int version

version must be set to zero (enables future extensions)

unsigned char reserved[24]

future use.