diff --git a/iio_utils.c b/iio_utils.c index e81be32a..8df9d0d6 100644 --- a/iio_utils.c +++ b/iio_utils.c @@ -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); @@ -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); diff --git a/iio_utils.h b/iio_utils.h index 1c324dcf..eff87eff 100644 --- a/iio_utils.h +++ b/iio_utils.h @@ -28,6 +28,7 @@ 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); @@ -35,6 +36,7 @@ inline int dev_debug_attr_read_longlong(struct iio_device *dev, const char *attr /* 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);