Skip to content

Commit c91ca1e

Browse files
committed
utils: Add helpers to read/write dev attributes of type bool
Signed-off-by: Dan Nechita <[email protected]>
1 parent 0f371a6 commit c91ca1e

File tree

2 files changed

+22
-0
lines changed

2 files changed

+22
-0
lines changed

Diff for: iio_utils.c

+20
Original file line numberDiff line numberDiff line change
@@ -176,6 +176,16 @@ int dev_attr_read_raw(struct iio_device *dev, const char *attr_name, char *dst,
176176
return -ENOENT;
177177
}
178178

179+
int dev_attr_read_bool(struct iio_device *dev, const char *attr_name, bool *value)
180+
{
181+
const struct iio_attr *attr = iio_device_find_attr(dev, attr_name);
182+
183+
if (attr)
184+
return iio_attr_read_bool(attr, value);
185+
else
186+
return -ENOENT;
187+
}
188+
179189
int dev_attr_read_double(struct iio_device *dev, const char *attr_name, double *value)
180190
{
181191
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
226236
return -ENOENT;
227237
}
228238

239+
int dev_attr_write_bool(struct iio_device *dev, const char *attr_name, bool value)
240+
{
241+
const struct iio_attr *attr = iio_device_find_attr(dev, attr_name);
242+
243+
if (attr)
244+
return iio_attr_write_bool(attr, value);
245+
else
246+
return -ENOENT;
247+
}
248+
229249
int dev_attr_write_double(struct iio_device *dev, const char *attr_name, double value)
230250
{
231251
const struct iio_attr *attr = iio_device_find_attr(dev, attr_name);

Diff for: iio_utils.h

+2
Original file line numberDiff line numberDiff line change
@@ -28,13 +28,15 @@ bool iio_attr_not_found(struct iio_device *dev, struct iio_channel *chn, const c
2828

2929
/* Helpers to read from iio attributes of devices */
3030
inline int dev_attr_read_raw(struct iio_device *dev, const char *attr_name, char *dst, size_t len);
31+
inline int dev_attr_read_bool(struct iio_device *dev, const char *attr_name, bool *value);
3132
inline int dev_attr_read_double(struct iio_device *dev, const char *attr_name, double *value);
3233
inline int dev_attr_read_longlong(struct iio_device *dev, const char *attr_name, long long *value);
3334
inline int dev_debug_attr_read_raw(struct iio_device *dev, const char *attr_name, char *dst, size_t len);
3435
inline int dev_debug_attr_read_longlong(struct iio_device *dev, const char *attr_name, long long *value);
3536

3637
/* Helpers to write to iio attributes of devices */
3738
inline int dev_attr_write_raw(struct iio_device *dev, const char *attr_name, const char *src, size_t len);
39+
inline int dev_attr_write_bool(struct iio_device *dev, const char *attr_name, bool value);
3840
inline int dev_attr_write_double(struct iio_device *dev, const char *attr_name, double value);
3941
inline int dev_attr_write_longlong(struct iio_device *dev, const char *attr_name, long long value);
4042
inline int dev_debug_attr_write_string(struct iio_device *dev, const char *attr_name, const char *value);

0 commit comments

Comments
 (0)