device-util: introduce device_get_seat() helper function

This commit is contained in:
Yu Watanabe
2025-05-14 02:06:02 +09:00
parent ab1bd9daed
commit 2012d6d74e
8 changed files with 44 additions and 18 deletions
+15
View File
@@ -191,6 +191,21 @@ int device_sysname_startswith_strv(sd_device *device, char * const *prefixes, co
return !!suffix;
}
int device_get_seat(sd_device *device, const char **ret) {
const char *seat = NULL;
int r;
assert(device);
assert(ret);
r = sd_device_get_property_value(device, "ID_SEAT", &seat);
if (r < 0 && r != -ENOENT)
return r;
*ret = isempty(seat) ? "seat0" : seat;
return 0;
}
bool device_property_can_set(const char *property) {
return property &&
!STR_IN_SET(property,
+2
View File
@@ -111,6 +111,8 @@ int device_is_devtype(sd_device *device, const char *devtype);
int device_is_subsystem_devtype(sd_device *device, const char *subsystem, const char *devtype);
int device_get_seat(sd_device *device, const char **ret);
int device_sysname_startswith_strv(sd_device *device, char * const *prefixes, const char **ret_suffix);
#define device_sysname_startswith(device, ...) \
device_sysname_startswith_strv(device, STRV_MAKE(__VA_ARGS__), NULL)