Skip to content

Commit

Permalink
utils: Add helpers to read/write dev attributes of type bool
Browse files Browse the repository at this point in the history
Signed-off-by: Dan Nechita <[email protected]>
  • Loading branch information
dNechita committed Feb 7, 2025
1 parent 0f371a6 commit c91ca1e
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 0 deletions.
20 changes: 20 additions & 0 deletions iio_utils.c
Original file line number Diff line number Diff line change
Expand Up @@ -176,6 +176,16 @@ int dev_attr_read_raw(struct iio_device *dev, const char *attr_name, char *dst,
return -ENOENT;
}

int dev_attr_read_bool(struct iio_device *dev, const char *attr_name, bool *value)
{
const struct iio_attr *attr = iio_device_find_attr(dev, attr_name);

if (attr)
return iio_attr_read_bool(attr, value);
else
return -ENOENT;
}

int dev_attr_read_double(struct iio_device *dev, const char *attr_name, double *value)
{
const struct iio_attr *attr = iio_device_find_attr(dev, attr_name);
Expand Down Expand Up @@ -226,6 +236,16 @@ int dev_attr_write_raw(struct iio_device *dev, const char *attr_name, const char
return -ENOENT;
}

int dev_attr_write_bool(struct iio_device *dev, const char *attr_name, bool value)
{
const struct iio_attr *attr = iio_device_find_attr(dev, attr_name);

if (attr)
return iio_attr_write_bool(attr, value);
else
return -ENOENT;
}

int dev_attr_write_double(struct iio_device *dev, const char *attr_name, double value)
{
const struct iio_attr *attr = iio_device_find_attr(dev, attr_name);
Expand Down
2 changes: 2 additions & 0 deletions iio_utils.h
Original file line number Diff line number Diff line change
Expand Up @@ -28,13 +28,15 @@ bool iio_attr_not_found(struct iio_device *dev, struct iio_channel *chn, const c

/* Helpers to read from iio attributes of devices */
inline int dev_attr_read_raw(struct iio_device *dev, const char *attr_name, char *dst, size_t len);
inline int dev_attr_read_bool(struct iio_device *dev, const char *attr_name, bool *value);
inline int dev_attr_read_double(struct iio_device *dev, const char *attr_name, double *value);
inline int dev_attr_read_longlong(struct iio_device *dev, const char *attr_name, long long *value);
inline int dev_debug_attr_read_raw(struct iio_device *dev, const char *attr_name, char *dst, size_t len);
inline int dev_debug_attr_read_longlong(struct iio_device *dev, const char *attr_name, long long *value);

/* Helpers to write to iio attributes of devices */
inline int dev_attr_write_raw(struct iio_device *dev, const char *attr_name, const char *src, size_t len);
inline int dev_attr_write_bool(struct iio_device *dev, const char *attr_name, bool value);
inline int dev_attr_write_double(struct iio_device *dev, const char *attr_name, double value);
inline int dev_attr_write_longlong(struct iio_device *dev, const char *attr_name, long long value);
inline int dev_debug_attr_write_string(struct iio_device *dev, const char *attr_name, const char *value);
Expand Down

0 comments on commit c91ca1e

Please sign in to comment.