15struct iio_buffer_impl_pdata;
16struct iio_block_impl_pdata;
20struct iio_buffer_pdata {
22 struct iio_buffer_impl_pdata *pdata;
25 bool dmabuf_supported;
30struct iio_block_pdata {
31 struct iio_buffer_pdata *buf;
32 struct iio_block_impl_pdata *pdata;
36 bool cpu_access_disabled;
39int ioctl_nointr(
int fd,
unsigned long request,
void *data);
41int buffer_check_ready(
struct iio_buffer_pdata *pdata,
int fd,
42 short events,
struct timespec *start);
44struct iio_block_pdata *
45local_create_dmabuf(
struct iio_buffer_pdata *pdata,
size_t size,
void **data);
46void local_free_dmabuf(
struct iio_block_pdata *pdata);
48int local_enqueue_dmabuf(
struct iio_block_pdata *pdata,
49 size_t bytes_used,
bool cyclic);
50int local_dequeue_dmabuf(
struct iio_block_pdata *pdata,
bool nonblock);
52int local_dmabuf_get_fd(
struct iio_block_pdata *pdata);
53int local_dmabuf_disable_cpu_access(
struct iio_block_pdata *pdata,
bool disable);
55struct iio_block_pdata *
56local_create_mmap_block(
struct iio_buffer_pdata *pdata,
57 size_t size,
void **data);
58void local_free_mmap_block(
struct iio_block_pdata *pdata);
60int local_enqueue_mmap_block(
struct iio_block_pdata *pdata,
61 size_t bytes_used,
bool cyclic);
62int local_dequeue_mmap_block(
struct iio_block_pdata *pdata,
bool nonblock);
64struct iio_buffer_impl_pdata * local_alloc_mmap_buffer_impl(
void);
Represents a device in the IIO context.