struct iio_buffer — general buffer structure
struct iio_buffer {
int length;
int bytes_per_datum;
struct attribute_group * scan_el_attrs;
long * scan_mask;
bool scan_timestamp;
const struct iio_buffer_access_funcs * access;
struct list_head scan_el_dev_attr_list;
struct attribute_group scan_el_group;
wait_queue_head_t pollq;
bool stufftoread;
struct list_head demux_list;
void * demux_bounce;
struct list_head buffer_list;
struct kref ref;
unsigned int watermark;
}; [DEVICE] number of datums in buffer
[DEVICE] size of individual datum including timestamp
[DRIVER] control of scan elements if that scan mode control method is used
[INTERN] bitmask used in masking scan mode elements
[INTERN] does the scan mode include a timestamp
[DRIVER] buffer access functions associated with the implementation.
[INTERN] list of scan element related attributes.
[DRIVER] attribute group for those attributes not created from the iio_chan_info array.
[INTERN] wait queue to allow for polling on the buffer.
[INTERN] flag to indicate new data.
[INTERN] list of operations required to demux the scan.
[INTERN] buffer for doing gather from incoming scan.
[INTERN] entry in the devices list of current buffers.
[INTERN] reference count of the buffer.
[INTERN] number of datums to wait for poll/read.