int device_get_property_int(sd_device *device, const char *key, int *ret);
int device_get_property_uint(sd_device *device, const char *key, unsigned *ret);
int device_get_ifname(sd_device *device, const char **ret);
+int device_get_sysattr_streq(sd_device *device, const char *sysattr, const char *expected);
int device_get_sysattr_safe_string(sd_device *device, const char *sysattr, const char **ret);
int device_get_sysattr_int(sd_device *device, const char *sysattr, int *ret);
int device_get_sysattr_unsigned_full(sd_device *device, const char *sysattr, unsigned base, unsigned *ret);
return sd_device_get_sysattr_value_with_size(device, sysattr, ret, NULL);
}
+int device_get_sysattr_streq(sd_device *device, const char *sysattr, const char *expected) {
+ const char *value;
+ int r;
+
+ assert(expected);
+
+ r = sd_device_get_sysattr_value(device, sysattr, &value);
+ if (r < 0)
+ return r;
+
+ return streq(value, expected);
+}
+
int device_get_sysattr_safe_string(sd_device *device, const char *sysattr, const char **ret) {
const char *value;
int r;
ASSERT_OK_POSITIVE(device_get_sysattr_u8(d, "ifindex", &u8));
ASSERT_EQ(u8, (uint8_t) ifindex);
}
+
+ const char *s;
+ ASSERT_OK(sd_device_get_sysattr_value(d, "ifindex", &s));
+ ASSERT_OK_POSITIVE(device_get_sysattr_streq(d, "ifindex", s));
+ ASSERT_OK_ZERO(device_get_sysattr_streq(d, "ifindex", "hoge"));
}
}