Device Functions
-
const struct iio_context *iio_device_get_context(const struct iio_device *dev)
Retrieve a pointer to the iio_context structure.
- Parameters:
dev – A pointer to an iio_device structure
- Returns:
A pointer to an iio_context structure
-
const char *iio_device_get_id(const struct iio_device *dev)
Retrieve the device ID (e.g. )
- Parameters:
dev – A pointer to an iio_device structure
- Returns:
A pointer to a static NULL-terminated string
-
const char *iio_device_get_name(const struct iio_device *dev)
Retrieve the device name (e.g. )
NOTE: if the device has no name, NULL is returned.
- Parameters:
dev – A pointer to an iio_device structure
- Returns:
A pointer to a static NULL-terminated string
-
const char *iio_device_get_label(const struct iio_device *dev)
Retrieve the device label (e.g. )
NOTE: if the device has no label, NULL is returned.
- Parameters:
dev – A pointer to an iio_device structure
- Returns:
A pointer to a static NULL-terminated string
-
unsigned int iio_device_get_channels_count(const struct iio_device *dev)
Enumerate the channels of the given device.
- Parameters:
dev – A pointer to an iio_device structure
- Returns:
The number of channels found
-
unsigned int iio_device_get_attrs_count(const struct iio_device *dev)
Enumerate the device-specific attributes of the given device.
- Parameters:
dev – A pointer to an iio_device structure
- Returns:
The number of device-specific attributes found
-
unsigned int iio_device_get_buffers_count(const struct iio_device *dev)
Enumerate the buffers of the given device.
- Parameters:
dev – A pointer to an iio_device structure
- Returns:
The number of buffers found
-
struct iio_channel *iio_device_get_channel(const struct iio_device *dev, unsigned int index)
Get the channel present at the given index.
- Parameters:
dev – A pointer to an iio_device structure
index – The index corresponding to the channel
- Returns:
On success, a pointer to an iio_channel structure
- Returns:
If the index is invalid, NULL is returned
-
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.
- Parameters:
dev – A pointer to an iio_device structure
index – The index corresponding to the attribute
- Returns:
On success, a pointer to an iio_attr structure
- Returns:
If the index is invalid, NULL is returned
-
struct iio_buffer *iio_device_get_buffer(const struct iio_device *dev, unsigned int index)
Get the buffer present at the given index.
- Parameters:
dev – A pointer to an iio_device structure
index – The index corresponding to the buffer
- Returns:
On success, a pointer to an iio_buffer structure
- Returns:
If the index is invalid, NULL is returned
-
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.
- Parameters:
dev – A pointer to an iio_device structure
name – A NULL-terminated string corresponding to ID, label or name of the channel to search for
output – True if the searched channel is output, False otherwise
- Returns:
On success, a pointer to an iio_channel structure
- Returns:
If the ID, label or name does not correspond to any known channel of the given device, NULL is returned
-
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.
NOTE: This function is useful to detect the presence of an attribute. It can also be used to retrieve the name of an attribute as a pointer to a static string from a dynamically allocated string.
- Parameters:
dev – A pointer to an iio_device structure
name – A NULL-terminated string corresponding to the name of the attribute
- Returns:
On success, a pointer to an iio_attr structure
- Returns:
If the name does not correspond to any known attribute of the given device, NULL is returned
-
void iio_device_set_data(struct iio_device *dev, void *data)
Associate a pointer to an iio_device structure.
- Parameters:
dev – A pointer to an iio_device structure
data – The pointer to be associated
-
void *iio_device_get_data(const struct iio_device *dev)
Retrieve a previously associated pointer of an iio_device structure.
- Parameters:
dev – A pointer to an iio_device structure
- Returns:
The pointer previously associated if present, or NULL
-
const struct iio_device *iio_device_get_trigger(const struct iio_device *dev)
Retrieve the trigger of a given device.
- Parameters:
dev – A pointer to an iio_device structure
- Returns:
On success, a pointer to the trigger’s iio_device structure is returned.
- Returns:
On failure, a pointer-encoded error is returned. If no trigger has been associated with the given device, the error code will be -ENODEV.
-
int iio_device_set_trigger(const struct iio_device *dev, const struct iio_device *trigger)
Associate a trigger to a given device.
- Parameters:
dev – A pointer to an iio_device structure
trigger – a pointer to the iio_device structure corresponding to the trigger that should be associated.
- Returns:
On success, 0 is returned
- Returns:
On error, a negative errno code is returned
-
bool iio_device_is_trigger(const struct iio_device *dev)
Return True if the given device is a trigger.
- Parameters:
dev – A pointer to an iio_device structure
- Returns:
True if the device is a trigger, False otherwise