55#if (defined(_WIN32) || defined(__MBED__))
56#ifndef _SSIZE_T_DEFINED
57typedef ptrdiff_t ssize_t;
58#define _SSIZE_T_DEFINED
64#if defined(_MSC_VER) && (_MSC_VER < 1800) && !defined(__BOOL_DEFINED)
75#if defined(__GNUC__) && !defined(MATLAB_MEX_FILE) && !defined(MATLAB_LOADLIBRARY)
77#define __cnst __attribute__((const))
80#define __pure __attribute__((pure))
82#define __notused __attribute__((unused))
84#define __check_ret __attribute__((warn_unused_result))
95#if !defined(_WIN32) && __GNUC__ >= 4 && \
96 !defined(MATLAB_MEX_FILE) && !defined(MATLAB_LOADLIBRARY)
97# define __iio_api_export __attribute__((visibility ("default")))
98# define __iio_api_import
99#elif defined(_WIN32) && !defined(LIBIIO_STATIC)
100# define __iio_api_export __declspec(dllexport)
101# define __iio_api_import __declspec(dllimport)
103# define __iio_api_export
104# define __iio_api_import
108# define __iio_api __iio_api_export
110# define __iio_api __iio_api_import
113#define __api __iio_api
122struct iio_channels_mask;
123struct iio_event_stream;
238 IIO_HUMIDITYRELATIVE,
248 IIO_ELECTRICALCONDUCTIVITY,
252 IIO_POSITIONRELATIVE,
254 IIO_MASSCONCENTRATION,
261 IIO_CHAN_TYPE_UNKNOWN = INT_MAX
279 IIO_MOD_X_AND_Y_AND_Z,
286 IIO_MOD_ROOT_SUM_SQUARED_X_Y,
287 IIO_MOD_SUM_SQUARED_X_Y_Z,
293 IIO_MOD_TEMP_AMBIENT,
297 IIO_MOD_NORTH_MAGN_TILT_COMP,
298 IIO_MOD_NORTH_TRUE_TILT_COMP,
303 IIO_MOD_ROOT_SUM_SQUARED_X_Y_Z,
342 IIO_EV_TYPE_THRESH_ADAPTIVE,
343 IIO_EV_TYPE_MAG_ADAPTIVE,
345 IIO_EV_TYPE_MAG_REFERENCED,
361 IIO_EV_DIR_SINGLETAP,
362 IIO_EV_DIR_DOUBLETAP,
363 IIO_EV_DIR_FAULT_OPENWIRE,
376static inline __check_ret
void *iio_ptr(
int err)
378 return (
void *)(intptr_t) err;
384static inline __check_ret
int iio_err(
const void *ptr)
386 return (uintptr_t) ptr >= (uintptr_t) -4095 ? (
int)(intptr_t) ptr : 0;
392static inline __check_ret
void *iio_err_cast(
const void *ptr)
411__api __check_ret ssize_t
420#define iio_attr_read(attr, ptr) \
422 bool *: iio_attr_read_bool, \
423 long long *: iio_attr_read_longlong, \
424 double *: iio_attr_read_double)(attr, ptr)
433__api __check_ret ssize_t
442#define iio_attr_write(attr, val) \
444 const char *: iio_attr_write_string, \
445 char *: iio_attr_write_string, \
446 bool: iio_attr_write_bool, \
447 long long: iio_attr_write_longlong, \
448 double: iio_attr_write_double)(attr, val)
454__api __pure
const char *
460__api __check_ret __pure
const char *
467__api __pure
const char *
520 size_t buflen,
char **list,
size_t *count);
567__api __check_ret __pure
size_t
576__api __check_ret __pure
const char *
585__api __check_ret __pure
const char *
608__api __check_ret
bool
614__api __check_ret __cnst
unsigned int
622__api __check_ret __cnst
const char *
761__api __check_ret __pure
const struct iio_attr *
772__api __check_ret __pure
const struct iio_attr *
789 const struct iio_context *ctx,
unsigned int index);
880__api __check_ret __pure
unsigned int
886__api __check_ret __pure
unsigned int
895 const struct iio_device *dev,
unsigned int index);
903__api __check_ret __pure
const struct iio_attr *
912 const struct iio_device *dev,
unsigned int index);
923 const struct iio_device *dev,
const char *name,
bool output);
937__api __check_ret __pure
const struct iio_attr *
1034__api __check_ret __pure
unsigned int
1043__api __check_ret __pure
const struct iio_attr *
1054__api __check_ret __pure
const struct iio_attr *
1062 struct iio_channels_mask *mask);
1069 struct iio_channels_mask *mask);
1076__api __check_ret
bool
1078 const struct iio_channels_mask *mask);
1091 const struct iio_block *block,
1092 void *dst,
size_t len,
bool raw);
1105 struct iio_block *block,
1106 const void *src,
size_t len,
1156__api __check_ret __pure
unsigned int
1165__api __check_ret __pure
const struct iio_attr *
1176__api __check_ret __pure
const struct iio_attr *
1242__api
const struct iio_channels_mask *
1258__api __check_ret
struct iio_block *
1337__api __check_ret ssize_t
1339 const struct iio_channels_mask *mask,
1340 ssize_t (*callback)(
const struct iio_channel *chn,
1341 void *src,
size_t bytes,
void *d),
1356__api
int iio_block_enqueue(
struct iio_block *block,
size_t bytes_used,
bool cyclic);
1389__api __check_ret
struct iio_stream *
1391 size_t samples_count,
struct iio_channels_mask *mask);
1409__api __check_ret
const struct iio_block *
1437 HWMON_CHAN_TYPE_UNKNOWN = IIO_CHAN_TYPE_UNKNOWN,
1447hwmon_channel_get_type(
const struct iio_channel *chn)
1457static inline bool iio_device_is_hwmon(
const struct iio_device *dev)
1461 return id[0] ==
'h';
1487iio_event_get_type(
const struct iio_event *event)
1500iio_event_get_direction(
const struct iio_event *event)
1521__api __check_ret
struct iio_event_stream *
1595__api
struct iio_channels_mask *
1613__api __check_ret ssize_t
1615 const struct iio_channels_mask *mask);
1638 void *dst,
const void *src);
1647 void *dst,
const void *src);
1653__api __check_ret __pure
unsigned int
1662__api __check_ret __pure
const struct iio_attr *
1673__api __check_ret __pure
const struct iio_attr *
1684 uint32_t address, uint32_t value);
1694 uint32_t address, uint32_t *value);
1703__api __check_ret
int
1704iio_attr_read_bool(
const struct iio_attr *attr,
bool *val);
1706__api __check_ret
int
1707iio_attr_read_longlong(
const struct iio_attr *attr,
long long *val);
1709__api __check_ret
int
1710iio_attr_read_double(
const struct iio_attr *attr,
double *val);
1712__api __check_ret ssize_t
1713iio_attr_write_string(
const struct iio_attr *attr,
const char *src);
1715__api __check_ret
int
1716iio_attr_write_bool(
const struct iio_attr *attr,
bool val);
1718__api __check_ret
int
1719iio_attr_write_longlong(
const struct iio_attr *attr,
long long val);
1721__api __check_ret
int
1722iio_attr_write_double(
const struct iio_attr *attr,
double val);
__api __check_ret __pure const char * iio_attr_get_filename(const struct iio_attr *attr)
Retrieve the filename of an attribute.
Definition attr.c:165
__api __check_ret ssize_t iio_attr_write_raw(const struct iio_attr *attr, const void *src, size_t len)
Set the value of the given attribute.
Definition attr.c:83
__api __pure const char * iio_attr_get_name(const struct iio_attr *attr)
Retrieve the name of an attribute.
Definition attr.c:159
__api __pure const char * iio_attr_get_static_value(const struct iio_attr *attr)
Retrieve the static value of an attribute.
Definition attr.c:171
__api int iio_attr_get_available(const struct iio_attr *attr, char ***list, size_t *count)
Extract the list of elements from an attribute with suffix '_available'.
Definition attr.c:402
__api int iio_attr_get_available_buf(const struct iio_attr *attr, char *buf, size_t buflen, char **list, size_t *count)
A variant of iio_attr_get_available() that uses a caller-supplied, preallocated buffer....
Definition attr.c:486
__api __check_ret ssize_t iio_attr_read_raw(const struct iio_attr *attr, char *dst, size_t len)
Read the content of the given attribute.
Definition attr.c:24
__api void iio_available_list_free(char **list, size_t count)
Free the resources allocated only by iio_attr_get_available()
Definition attr.c:474
__api int iio_attr_get_range(const struct iio_attr *attr, double *min, double *step, double *max)
Extract the range from an attribute with suffix '_available'.
Definition attr.c:350
__api void * iio_block_start(const struct iio_block *block)
Get the start address of the block.
Definition block.c:198
__api int iio_block_disable_cpu_access(struct iio_block *block, bool disable)
Disable CPU access of a given block.
Definition block.c:313
__api __check_ret int iio_block_get_dmabuf_fd(const struct iio_block *block)
Get the file descriptor of the underlying DMABUF object.
Definition block.c:308
__api void iio_block_destroy(struct iio_block *block)
Destroy the given block.
Definition block.c:89
__api __check_ret struct iio_block * iio_buffer_stream_create_block(struct iio_buffer_stream *buf_stream, size_t size)
Create a data block for the given buffer stream.
Definition block.c:29
__api void * iio_block_first(const struct iio_block *block, const struct iio_channel *chn)
Find the first sample of a channel in a block.
Definition block.c:208
__api int iio_block_enqueue(struct iio_block *block, size_t bytes_used, bool cyclic)
Enqueue the given iio_block to the buffer's queue.
Definition block.c:143
__api __check_ret ssize_t iio_block_foreach_sample(const struct iio_block *block, const struct iio_channels_mask *mask, ssize_t(*callback)(const struct iio_channel *chn, void *src, size_t bytes, void *d), void *data)
Call the supplied callback for each sample found in a block.
__api int iio_block_dequeue(struct iio_block *block, bool nonblock)
Dequeue the given iio_block from the buffer's queue.
Definition block.c:170
__api void * iio_block_end(const struct iio_block *block)
Get the address after the last sample in a block.
Definition block.c:203
__api struct iio_buffer_stream * iio_block_get_buffer_stream(const struct iio_block *block)
Retrieve a pointer to the iio_buffer_stream structure.
Definition block.c:303
__api const struct iio_channels_mask * iio_buffer_stream_get_channels_mask(const struct iio_buffer_stream *buf_stream)
Retrieve the channels mask of a buffer stream.
Definition buffer.c:202
__api __check_ret struct iio_buffer_stream * iio_buffer_open(struct iio_buffer *buf, const struct iio_channels_mask *mask)
Open a buffer for data streaming.
Definition buffer.c:124
__api int iio_buffer_stream_stop(struct iio_buffer_stream *buf_stream)
Stop the buffer stream.
Definition buffer.c:105
__api __check_ret int iio_buffer_stream_start(struct iio_buffer_stream *buf_stream)
Start the buffer stream.
Definition buffer.c:86
__api void iio_buffer_stream_cancel(struct iio_buffer_stream *buf_stream)
Cancel all buffer stream operations.
Definition buffer.c:55
__api void iio_buffer_close(struct iio_buffer_stream *buf_stream)
Close a buffer stream.
Definition buffer.c:186
__api void iio_buffer_set_data(struct iio_buffer *buf, void *data)
Associate a pointer to an iio_buffer structure.
Definition buffer.c:18
bool is_signed
Contains True if the sample is signed.
Definition iio.h:1568
__api __check_ret __pure const struct iio_attr * iio_buffer_find_attr(const struct iio_buffer *buf, const char *name)
Try to find a buffer-specific attribute by its name.
Definition buffer.c:219
bool is_be
Contains True if the sample is in big-endian format.
Definition iio.h:1574
bool with_scale
Contains True if the sample should be scaled when converted.
Definition iio.h:1577
unsigned int flags
Flags that control context behavior. Bitmask of values from enum iio_context_flags.
Definition iio.h:199
__api __check_ret __pure unsigned int iio_buffer_get_attrs_count(const struct iio_buffer *buf)
Enumerate the attributes of the given buffer.
Definition buffer.c:207
double scale
Contains the scale to apply if with_scale is set.
Definition iio.h:1580
FILE * err
Handle to the error output. If NULL, defaults to stderr.
Definition iio.h:172
char __rsrv[32]
Reserved for future fields.
Definition iio.h:202
__api __check_ret __pure bool iio_buffer_is_output(const struct iio_buffer *buf)
Returns true if the buffer is an output buffer.
Definition buffer.c:28
unsigned int repeat
Number of times length repeats (added in v0.8)
Definition iio.h:1583
enum iio_log_level log_level
Log level to use. Defaults to the log level that was specified at compilation.
Definition iio.h:176
unsigned int length
Total length of the sample, in bits.
Definition iio.h:1559
enum iio_log_level timestamp_level
Under this log level (excluded), messages are sent without timestamp; above this log level (included)...
Definition iio.h:189
bool is_fully_defined
Contains True if the sample is fully defined, sign extended, etc.
Definition iio.h:1571
enum iio_log_level stderr_level
Under this log level (included), messages are sent to the error output ; above this log level (exclud...
Definition iio.h:182
FILE * out
Handle to the standard output. If NULL, defaults to stdout.
Definition iio.h:169
__api __check_ret __pure const struct iio_device * iio_buffer_get_device(const struct iio_buffer *buf)
Retrieve a pointer to the iio_device structure.
Definition buffer.c:50
__api __check_ret __pure const struct iio_attr * iio_buffer_get_attr(const struct iio_buffer *buf, unsigned int index)
Get the buffer-specific attribute present at the given index.
Definition buffer.c:213
unsigned int shift
Right-shift to apply when converting sample.
Definition iio.h:1565
double offset
Contains a value to be added to the raw sample before applying the scale.
Definition iio.h:1587
unsigned int bits
Length of valuable data in the sample, in bits.
Definition iio.h:1562
@ IIO_CTX_XML_INCLUDE_VALUES
Include values in XML output When set, iio_context_get_xml() will read and serialize attribute values...
Definition iio.h:157
__api void * iio_buffer_get_data(const struct iio_buffer *buf)
Retrieve a previously associated pointer of an iio_buffer structure.
Definition buffer.c:23
int timeout_ms
Timeout for I/O operations in milliseconds.
Definition iio.h:195
__api __check_ret __pure bool iio_channel_is_scan_element(const struct iio_channel *chn)
Return True if the given channel is a scan element.
Definition channel.c:365
__api void iio_channel_disable(const struct iio_channel *chn, struct iio_channels_mask *mask)
Disable the given channel.
Definition channel.c:451
__api __check_ret __pure unsigned int iio_channel_get_attrs_count(const struct iio_channel *chn)
Enumerate the channel-specific attributes of the given channel.
Definition channel.c:380
__api __check_ret __pure enum iio_chan_type iio_channel_get_type(const struct iio_channel *chn)
Get the type of the given channel.
Definition channel.c:375
__api __check_ret size_t iio_channel_read(const struct iio_channel *chn, const struct iio_block *block, void *dst, size_t len, bool raw)
Demultiplex and convert the samples of a given channel.
Definition channel.c:627
__api __check_ret __pure bool iio_channel_is_output(const struct iio_channel *chn)
Return True if the given channel is an output channel.
Definition channel.c:360
__api void * iio_channel_get_data(const struct iio_channel *chn)
Retrieve a previously associated pointer of an iio_channel structure.
Definition channel.c:422
__api void iio_channel_enable(const struct iio_channel *chn, struct iio_channels_mask *mask)
Enable the given channel.
Definition channel.c:444
__api __check_ret size_t iio_channel_write(const struct iio_channel *chn, struct iio_block *block, const void *src, size_t len, bool raw)
Convert and multiplex the samples of a given channel.
Definition channel.c:668
__api __check_ret __pure enum iio_modifier iio_channel_get_modifier(const struct iio_channel *chn)
Get the modifier type of the given channel.
Definition channel.c:370
__api __check_ret __pure const struct iio_attr * iio_channel_get_attr(const struct iio_channel *chn, unsigned int index)
Get the channel-specific attribute present at the given index.
Definition channel.c:386
__api void iio_channel_set_data(struct iio_channel *chn, void *data)
Associate a pointer to an iio_channel structure.
Definition channel.c:417
__api __check_ret __pure const struct iio_device * iio_channel_get_device(const struct iio_channel *chn)
Retrieve a pointer to the iio_device structure.
Definition channel.c:708
__api __check_ret __pure const char * iio_channel_get_label(const struct iio_channel *chn)
Retrieve the channel label (e.g. anglY)
Definition channel.c:355
__api __check_ret __pure const char * iio_channel_get_id(const struct iio_channel *chn)
Retrieve the channel ID (e.g. voltage0)
Definition channel.c:345
__api __check_ret bool iio_channel_is_enabled(const struct iio_channel *chn, const struct iio_channels_mask *mask)
Returns True if the channel is enabled.
Definition channel.c:438
__api __check_ret __pure const struct iio_attr * iio_channel_find_attr(const struct iio_channel *chn, const char *name)
Try to find a channel-specific attribute by its name.
Definition channel.c:392
__api __check_ret __pure const char * iio_channel_get_name(const struct iio_channel *chn)
Retrieve the channel name (e.g. vccint)
Definition channel.c:350
__api __check_ret __pure const char * iio_context_get_description(const struct iio_context *ctx)
Get a description of the given context.
Definition compat.c:686
__api __check_ret __pure struct iio_device * iio_context_find_device(const struct iio_context *ctx, const char *name)
Try to find a device structure by its ID, label or name.
Definition compat.c:710
__api __cnst const struct iio_context_params * iio_context_get_params(const struct iio_context *ctx)
Get a pointer to the params structure.
Definition context.c:517
__api __check_ret struct iio_context * iio_create_context(const struct iio_context_params *params, const char *uri)
Create a context from a URI description.
Definition context.c:716
__api __check_ret __pure const struct iio_attr * iio_context_get_attr(const struct iio_context *ctx, unsigned int index)
Retrieve the context-specific attribute at the given index.
Definition context.c:788
__api void iio_context_destroy(struct iio_context *ctx)
Destroy the given context.
Definition compat.c:434
__api __pure unsigned int iio_context_get_version_minor(const struct iio_context *ctx)
Get the minor number of the library version.
Definition context.c:626
__api __check_ret __pure struct iio_device * iio_context_get_device(const struct iio_context *ctx, unsigned int index)
Get the device present at the given index.
Definition compat.c:703
__api __pure unsigned int iio_context_get_version_major(const struct iio_context *ctx)
Get the major number of the library version.
Definition context.c:618
__api void * iio_context_get_data(const struct iio_context *ctx)
Retrieve a previously associated pointer of an iio_context structure.
Definition context.c:936
__api __check_ret __pure unsigned int iio_context_get_attrs_count(const struct iio_context *ctx)
Get the number of context-specific attributes.
Definition compat.c:720
__api __pure const char * iio_context_get_version_tag(const struct iio_context *ctx)
Get the git hash string of the library version.
Definition context.c:634
__api __check_ret __pure unsigned int iio_context_get_devices_count(const struct iio_context *ctx)
Enumerate the devices found in the given context.
Definition compat.c:698
__api __check_ret __pure const char * iio_context_get_name(const struct iio_context *ctx)
Get the name of the given context.
Definition compat.c:681
__api __check_ret int iio_context_set_timeout(struct iio_context *ctx, unsigned int timeout_ms)
Set a timeout for I/O operations.
Definition compat.c:715
__api __check_ret __pure const struct iio_attr * iio_context_find_attr(const struct iio_context *ctx, const char *name)
Try to find a context-specific attribute by its name.
Definition context.c:794
__api void iio_context_set_data(struct iio_context *ctx, void *data)
Associate a pointer to an iio_context structure.
Definition context.c:931
__api __check_ret char * iio_context_get_xml(const struct iio_context *ctx)
Obtain a XML representation of the given context.
Definition compat.c:691
__api __check_ret int iio_device_reg_write(struct iio_device *dev, uint32_t address, uint32_t value)
Set the value of a hardware register.
Definition compat.c:851
__api struct iio_channels_mask * iio_create_channels_mask(unsigned int nb_channels)
Create a new empty channels mask.
Definition mask.c:14
__api __check_ret ssize_t iio_device_get_sample_size(const struct iio_device *dev, const struct iio_channels_mask *mask)
Get the current sample size.
Definition device.c:359
__api __check_ret int iio_device_reg_read(struct iio_device *dev, uint32_t address, uint32_t *value)
Get the value of a hardware register.
Definition compat.c:845
__api void iio_channels_mask_destroy(struct iio_channels_mask *mask)
Destroy a channels mask.
Definition mask.c:40
__api __check_ret __cnst const struct iio_data_format * iio_channel_get_data_format(const struct iio_channel *chn)
Get a pointer to a channel's data format structure.
Definition channel.c:432
__api __check_ret __pure unsigned int iio_device_get_debug_attrs_count(const struct iio_device *dev)
Enumerate the debug attributes of the given device.
Definition compat.c:934
__api __check_ret __pure const struct iio_attr * iio_device_get_debug_attr(const struct iio_device *dev, unsigned int index)
Get the debug attribute present at the given index.
Definition compat.c:939
__api __check_ret __pure const struct iio_attr * iio_device_find_debug_attr(const struct iio_device *dev, const char *name)
Try to find a debug attribute by its name.
Definition compat.c:951
__api void iio_channel_convert_inverse(const struct iio_channel *chn, void *dst, const void *src)
Convert the sample from host format to hardware format.
Definition channel.c:587
__api void iio_channel_convert(const struct iio_channel *chn, void *dst, const void *src)
Convert the sample from hardware format to host format.
Definition channel.c:555
__api __check_ret __pure long iio_channel_get_index(const struct iio_channel *chn)
Get the index of the given channel.
Definition channel.c:427
__api __check_ret __pure const struct iio_attr * iio_device_get_attr(const struct iio_device *dev, unsigned int index)
Get the device-specific attribute present at the given index.
Definition compat.c:867
__api __check_ret __pure struct iio_buffer * iio_device_get_buffer(const struct iio_device *dev, unsigned int index)
Get the buffer present at the given index.
Definition device.c:254
__api __check_ret __pure const struct iio_context * iio_device_get_context(const struct iio_device *dev)
Retrieve a pointer to the iio_context structure.
Definition compat.c:754
__api __check_ret __pure unsigned int iio_device_get_buffers_count(const struct iio_device *dev)
Enumerate the buffers of the given device.
Definition device.c:249
__api __check_ret __pure const char * iio_device_get_id(const struct iio_device *dev)
Retrieve the device ID (e.g. iio:device0)
Definition compat.c:759
__api __check_ret const struct iio_device * iio_device_get_trigger(const struct iio_device *dev)
Retrieve the trigger of a given device.
Definition device.c:319
__api __check_ret __pure unsigned int iio_device_get_attrs_count(const struct iio_device *dev)
Enumerate the device-specific attributes of the given device.
Definition compat.c:862
__api __check_ret __pure struct iio_channel * iio_device_find_channel(const struct iio_device *dev, const char *name, bool output)
Try to find a channel structure by its ID, label or name.
Definition compat.c:969
__api __check_ret int iio_device_set_trigger(const struct iio_device *dev, const struct iio_device *trigger)
Associate a trigger to a given device.
Definition compat.c:1606
__api __check_ret __pure const char * iio_device_get_label(const struct iio_device *dev)
Retrieve the device label (e.g. lo_pll0_rx_adf4351)
Definition compat.c:769
__api __check_ret __pure bool iio_device_is_trigger(const struct iio_device *dev)
Return True if the given device is a trigger.
Definition compat.c:1613
__api __check_ret __pure const struct iio_attr * iio_device_find_attr(const struct iio_device *dev, const char *name)
Try to find a device-specific attribute by its name.
Definition compat.c:879
__api void * iio_device_get_data(const struct iio_device *dev)
Retrieve a previously associated pointer of an iio_device structure.
Definition compat.c:774
__api __check_ret __pure struct iio_channel * iio_device_get_channel(const struct iio_device *dev, unsigned int index)
Get the channel present at the given index.
Definition compat.c:963
__api void iio_device_set_data(struct iio_device *dev, void *data)
Associate a pointer to an iio_device structure.
Definition compat.c:781
__api __check_ret __pure const char * iio_device_get_name(const struct iio_device *dev)
Retrieve the device name (e.g. xadc)
Definition compat.c:764
__api __check_ret __pure unsigned int iio_device_get_channels_count(const struct iio_device *dev)
Enumerate the channels of the given device.
Definition compat.c:857
__api int iio_event_stream_read(struct iio_event_stream *stream, struct iio_event *out_event, bool nonblock)
Read an event from the event stream.
Definition events.c:133
__api void iio_event_stream_destroy(struct iio_event_stream *stream)
Destroy the given event stream.
Definition events.c:125
__api __check_ret const struct iio_channel * iio_event_get_channel(const struct iio_event *event, const struct iio_device *dev, bool diff)
Get a pointer to the IIO channel that corresponds to this event.
Definition events.c:52
__api __check_ret struct iio_event_stream * iio_device_create_event_stream(const struct iio_device *dev)
Create an events stream for the given IIO device.
Definition events.c:101
hwmon_chan_type
Hwmon channel type.
Definition iio.h:1427
__api __check_ret __pure size_t iio_scan_get_results_count(const struct iio_scan *ctx)
Get number of results of a scan operation.
Definition scan.c:148
__api __check_ret __pure const char * iio_scan_get_description(const struct iio_scan *ctx, size_t idx)
Get description of scanned context.
Definition scan.c:154
struct iio_scan * iio_scan(const struct iio_context_params *params, const char *backends)
Scan backends for IIO contexts.
Definition scan.c:21
__api void iio_scan_destroy(struct iio_scan *ctx)
Destroy the given scan context.
Definition scan.c:135
__api __check_ret __pure const char * iio_scan_get_uri(const struct iio_scan *ctx, size_t idx)
Get URI of scanned context.
Definition scan.c:162
__api void iio_stream_destroy(struct iio_stream *stream)
Destroy the given stream object.
Definition stream.c:86
__api __check_ret struct iio_stream * iio_buffer_create_stream(struct iio_buffer *buffer, size_t nb_blocks, size_t samples_count, struct iio_channels_mask *mask)
Create a iio_stream object for the given iio_buffer.
Definition stream.c:26
__api void iio_stream_cancel(struct iio_stream *stream)
Cancel all stream operations.
Definition stream.c:81
__api __check_ret const struct iio_block * iio_stream_get_next_block(struct iio_stream *stream)
Get a pointer to the next data block.
Definition stream.c:110
__api __check_ret bool iio_has_backend(const struct iio_context_params *params, const char *backend)
Check if the specified backend is available.
Definition backend.c:40
__api void iio_strerror(int err, char *dst, size_t len)
Get a string description of an error code.
Definition compat.c:1991
__api __check_ret __cnst unsigned int iio_get_builtin_backends_count(void)
Get the number of available built-in backends.
Definition backend.c:15
__api __check_ret __cnst const char * iio_get_builtin_backend(unsigned int index)
Retrieve the name of a given built-in backend.
Definition backend.c:25
iio_event_type
IIO event type.
Definition iio.h:338
iio_chan_type
IIO channel type.
Definition iio.h:219
iio_event_direction
IIO event direction.
Definition iio.h:356
iio_modifier
IIO channel modifier.
Definition iio.h:271
iio_context_flags
Flags controlling context behavior;.
Definition iio.h:153
iio_log_level
Level of verbosity of libiio's log output.
Definition iio.h:132
Structure holding meta-data for an attribute.
Definition iio-backend.h:83
An opened buffer ready for data streaming.
An input or output buffer, used to read or write samples.
Represents an input or output channel of a device.
IIO context creation information.
Definition iio.h:167
Contains the representation of an IIO context.
Represents a device in the IIO context.
Represents a IIO event.
Definition iio.h:1474