15 struct iio_buffer_impl_pdata;
16 struct iio_block_impl_pdata;
20 struct iio_buffer_pdata {
21 const struct iio_device *dev;
22 struct iio_buffer_impl_pdata *pdata;
25 bool dmabuf_supported;
30 struct iio_block_pdata {
31 struct iio_buffer_pdata *buf;
32 struct iio_block_impl_pdata *pdata;
38 int ioctl_nointr(
int fd,
unsigned long request,
void *data);
40 int buffer_check_ready(
struct iio_buffer_pdata *pdata,
int fd,
41 short events,
struct timespec *start);
43 struct iio_block_pdata *
44 local_create_dmabuf(
struct iio_buffer_pdata *pdata,
size_t size,
void **data);
45 void local_free_dmabuf(
struct iio_block_pdata *pdata);
47 int local_enqueue_dmabuf(
struct iio_block_pdata *pdata,
48 size_t bytes_used,
bool cyclic);
49 int local_dequeue_dmabuf(
struct iio_block_pdata *pdata,
bool nonblock);
51 struct iio_block_pdata *
52 local_create_mmap_block(
struct iio_buffer_pdata *pdata,
53 size_t size,
void **data);
54 void local_free_mmap_block(
struct iio_block_pdata *pdata);
56 int local_enqueue_mmap_block(
struct iio_block_pdata *pdata,
57 size_t bytes_used,
bool cyclic);
58 int local_dequeue_mmap_block(
struct iio_block_pdata *pdata,
bool nonblock);
60 struct iio_buffer_impl_pdata * local_alloc_mmap_buffer_impl(
void);