libiio  0.9
Library for interfacing with IIO devices
Data Structures | Functions
Debug and low-level functions

Data Structures

struct  iio_data_format
 Contains the format of a data sample. More...

Functions

__api ssize_t iio_device_get_sample_size (const struct iio_device *dev)
 Get the current sample size.
__api __pure long iio_channel_get_index (const struct iio_channel *chn)
 Get the index of the given channel.
__api __cnst struct
iio_data_format
iio_channel_get_data_format (const struct iio_channel *chn)
 Get a pointer to a channel's data format structure.
__api void iio_channel_convert (const struct iio_channel *chn, void *dst, const void *src)
 Convert the sample from hardware format to host format.
__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.
__api __pure unsigned int iio_device_get_debug_attrs_count (const struct iio_device *dev)
 Enumerate the debug attributes of the given device.
__api __pure const char * iio_device_get_debug_attr (const struct iio_device *dev, unsigned int index)
 Get the debug attribute present at the given index.
__api __pure const char * iio_device_find_debug_attr (const struct iio_device *dev, const char *name)
 Try to find a debug attribute by its name.
__api ssize_t iio_device_debug_attr_read (const struct iio_device *dev, const char *attr, char *dst, size_t len)
 Read the content of the given debug attribute.
__api int iio_device_debug_attr_read_all (struct iio_device *dev, int(*cb)(struct iio_device *dev, const char *attr, const char *value, size_t len, void *d), void *data)
 Read the content of all debug attributes.
__api ssize_t iio_device_debug_attr_write (const struct iio_device *dev, const char *attr, const char *src)
 Set the value of the given debug attribute.
__api ssize_t iio_device_debug_attr_write_raw (const struct iio_device *dev, const char *attr, const void *src, size_t len)
 Set the value of the given debug attribute.
__api int iio_device_debug_attr_write_all (struct iio_device *dev, ssize_t(*cb)(struct iio_device *dev, const char *attr, void *buf, size_t len, void *d), void *data)
 Set the values of all debug attributes.
__api int iio_device_debug_attr_read_bool (const struct iio_device *dev, const char *attr, bool *val)
 Read the content of the given debug attribute.
__api int iio_device_debug_attr_read_longlong (const struct iio_device *dev, const char *attr, long long *val)
 Read the content of the given debug attribute.
__api int iio_device_debug_attr_read_double (const struct iio_device *dev, const char *attr, double *val)
 Read the content of the given debug attribute.
__api int iio_device_debug_attr_write_bool (const struct iio_device *dev, const char *attr, bool val)
 Set the value of the given debug attribute.
__api int iio_device_debug_attr_write_longlong (const struct iio_device *dev, const char *attr, long long val)
 Set the value of the given debug attribute.
__api int iio_device_debug_attr_write_double (const struct iio_device *dev, const char *attr, double val)
 Set the value of the given debug attribute.
__api int iio_device_identify_filename (const struct iio_device *dev, const char *filename, struct iio_channel **chn, const char **attr)
 Identify the channel or debug attribute corresponding to a filename.
__api int iio_device_reg_write (struct iio_device *dev, uint32_t address, uint32_t value)
 Set the value of a hardware register.
__api int iio_device_reg_read (struct iio_device *dev, uint32_t address, uint32_t *value)
 Get the value of a hardware register.

Function Documentation

__api void iio_channel_convert ( const struct iio_channel chn,
void *  dst,
const void *  src 
)

Convert the sample from hardware format to host format.

Parameters:
chnA pointer to an iio_channel structure
dstA pointer to the destination buffer where the converted sample should be written
srcA pointer to the source buffer containing the sample
__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.

Parameters:
chnA pointer to an iio_channel structure
dstA pointer to the destination buffer where the converted sample should be written
srcA pointer to the source buffer containing the sample
__api __cnst struct iio_data_format* iio_channel_get_data_format ( const struct iio_channel chn) [read]

Get a pointer to a channel's data format structure.

Parameters:
chnA pointer to an iio_channel structure
Returns:
A pointer to the channel's iio_data_format structure
__api __pure long iio_channel_get_index ( const struct iio_channel chn)

Get the index of the given channel.

Parameters:
chnA pointer to an iio_channel structure
Returns:
On success, the index of the specified channel
On error, a negative errno code is returned
__api ssize_t iio_device_debug_attr_read ( const struct iio_device dev,
const char *  attr,
char *  dst,
size_t  len 
)

Read the content of the given debug attribute.

Parameters:
devA pointer to an iio_device structure
attrA NULL-terminated string corresponding to the name of the debug attribute
dstA pointer to the memory area where the NULL-terminated string corresponding to the value read will be stored
lenThe available length of the memory area, in bytes
Returns:
On success, the number of bytes written to the buffer
On error, a negative errno code is returned

NOTE:By passing NULL as the "attr" argument to iio_device_debug_attr_read, it is now possible to read all of the debug attributes of a device.

The buffer is filled with one block of data per debug attribute of the device, by the order they appear in the iio_device structure.

The first four bytes of one block correspond to a 32-bit signed value in network order. If negative, it corresponds to the errno code that were returned when reading the debug attribute; if positive, it corresponds to the length of the data read. In that case, the rest of the block contains the data.

__api int iio_device_debug_attr_read_all ( struct iio_device dev,
int(*)(struct iio_device *dev, const char *attr, const char *value, size_t len, void *d)  cb,
void *  data 
)

Read the content of all debug attributes.

Parameters:
devA pointer to an iio_device structure
cbA pointer to a callback function
dataA pointer that will be passed to the callback function
Returns:
On success, 0 is returned
On error, a negative errno code is returned

NOTE: This function is especially useful when used with the network backend, as all the debug attributes are read in one single command.

__api int iio_device_debug_attr_read_bool ( const struct iio_device dev,
const char *  attr,
bool *  val 
)

Read the content of the given debug attribute.

Parameters:
devA pointer to an iio_device structure
attrA NULL-terminated string corresponding to the name of the debug attribute
valA pointer to a bool variable where the value should be stored
Returns:
On success, 0 is returned
On error, a negative errno code is returned
__api int iio_device_debug_attr_read_double ( const struct iio_device dev,
const char *  attr,
double *  val 
)

Read the content of the given debug attribute.

Parameters:
devA pointer to an iio_device structure
attrA NULL-terminated string corresponding to the name of the debug attribute
valA pointer to a double variable where the value should be stored
Returns:
On success, 0 is returned
On error, a negative errno code is returned
__api int iio_device_debug_attr_read_longlong ( const struct iio_device dev,
const char *  attr,
long long *  val 
)

Read the content of the given debug attribute.

Parameters:
devA pointer to an iio_device structure
attrA NULL-terminated string corresponding to the name of the debug attribute
valA pointer to a long long variable where the value should be stored
Returns:
On success, 0 is returned
On error, a negative errno code is returned
__api ssize_t iio_device_debug_attr_write ( const struct iio_device dev,
const char *  attr,
const char *  src 
)

Set the value of the given debug attribute.

Parameters:
devA pointer to an iio_device structure
attrA NULL-terminated string corresponding to the name of the debug attribute
srcA NULL-terminated string to set the debug attribute to
Returns:
On success, the number of bytes written
On error, a negative errno code is returned

NOTE:By passing NULL as the "attr" argument to iio_device_debug_attr_write, it is now possible to write all of the debug attributes of a device.

The buffer must contain one block of data per debug attribute of the device, by the order they appear in the iio_device structure.

The first four bytes of one block correspond to a 32-bit signed value in network order. If negative, the debug attribute is not written; if positive, it corresponds to the length of the data to write. In that case, the rest of the block must contain the data.

__api int iio_device_debug_attr_write_all ( struct iio_device dev,
ssize_t(*)(struct iio_device *dev, const char *attr, void *buf, size_t len, void *d)  cb,
void *  data 
)

Set the values of all debug attributes.

Parameters:
devA pointer to an iio_device structure
cbA pointer to a callback function
dataA pointer that will be passed to the callback function
Returns:
On success, 0 is returned
On error, a negative errno code is returned

NOTE: This function is especially useful when used with the network backend, as all the debug attributes are written in one single command.

__api int iio_device_debug_attr_write_bool ( const struct iio_device dev,
const char *  attr,
bool  val 
)

Set the value of the given debug attribute.

Parameters:
devA pointer to an iio_device structure
attrA NULL-terminated string corresponding to the name of the debug attribute
valA bool value to set the debug attribute to
Returns:
On success, 0 is returned
On error, a negative errno code is returned
__api int iio_device_debug_attr_write_double ( const struct iio_device dev,
const char *  attr,
double  val 
)

Set the value of the given debug attribute.

Parameters:
devA pointer to an iio_device structure
attrA NULL-terminated string corresponding to the name of the debug attribute
valA double value to set the debug attribute to
Returns:
On success, 0 is returned
On error, a negative errno code is returned
__api int iio_device_debug_attr_write_longlong ( const struct iio_device dev,
const char *  attr,
long long  val 
)

Set the value of the given debug attribute.

Parameters:
devA pointer to an iio_device structure
attrA NULL-terminated string corresponding to the name of the debug attribute
valA long long value to set the debug attribute to
Returns:
On success, 0 is returned
On error, a negative errno code is returned
__api ssize_t iio_device_debug_attr_write_raw ( const struct iio_device dev,
const char *  attr,
const void *  src,
size_t  len 
)

Set the value of the given debug attribute.

Parameters:
devA pointer to an iio_device structure
attrA NULL-terminated string corresponding to the name of the debug attribute
srcA pointer to the data to be written
lenThe number of bytes that should be written
Returns:
On success, the number of bytes written
On error, a negative errno code is returned
__api __pure const char* iio_device_find_debug_attr ( const struct iio_device dev,
const char *  name 
)

Try to find a debug attribute by its name.

Parameters:
devA pointer to an iio_device structure
nameA NULL-terminated string corresponding to the name of the debug attribute
Returns:
On success, a pointer to a static NULL-terminated string
If the name does not correspond to any known debug attribute of the given device, NULL is returned

NOTE: This function is useful to detect the presence of a debug attribute. It can also be used to retrieve the name of a debug attribute as a pointer to a static string from a dynamically allocated string.

__api __pure const char* iio_device_get_debug_attr ( const struct iio_device dev,
unsigned int  index 
)

Get the debug attribute present at the given index.

Parameters:
devA pointer to an iio_device structure
indexThe index corresponding to the debug attribute
Returns:
On success, a pointer to a static NULL-terminated string
If the index is invalid, NULL is returned
__api __pure unsigned int iio_device_get_debug_attrs_count ( const struct iio_device dev)

Enumerate the debug attributes of the given device.

Parameters:
devA pointer to an iio_device structure
Returns:
The number of debug attributes found
__api ssize_t iio_device_get_sample_size ( const struct iio_device dev)

Get the current sample size.

Parameters:
devA pointer to an iio_device structure
Returns:
On success, the sample size in bytes
On error, a negative errno code is returned

NOTE: The sample size is not constant and will change when channels get enabled or disabled.

__api int iio_device_identify_filename ( const struct iio_device dev,
const char *  filename,
struct iio_channel **  chn,
const char **  attr 
)

Identify the channel or debug attribute corresponding to a filename.

Parameters:
devA pointer to an iio_device structure
filenameA NULL-terminated string corresponding to the filename
chnA pointer to a pointer of an iio_channel structure. The pointed pointer will be set to the address of the iio_channel structure if the filename correspond to the attribute of a channel, or NULL otherwise.
attrA pointer to a NULL-terminated string. The pointer pointer will be set to point to the name of the attribute corresponding to the filename.
Returns:
On success, 0 is returned, and *chn and *attr are modified.
On error, a negative errno code is returned. *chn and *attr are not modified.
__api int iio_device_reg_read ( struct iio_device dev,
uint32_t  address,
uint32_t *  value 
)

Get the value of a hardware register.

Parameters:
devA pointer to an iio_device structure
addressThe address of the register
valueA pointer to the variable where the value will be written
Returns:
On success, 0 is returned
On error, a negative errno code is returned
__api int iio_device_reg_write ( struct iio_device dev,
uint32_t  address,
uint32_t  value 
)

Set the value of a hardware register.

Parameters:
devA pointer to an iio_device structure
addressThe address of the register
valueThe value to set the register to
Returns:
On success, 0 is returned
On error, a negative errno code is returned
 All Data Structures Files Functions Variables Enumerations