From: Thomas Weißschuh Date: Wed, 21 Dec 2022 13:39:35 +0000 (+0000) Subject: sysfs: add helper for /sys/kernel/address_bits X-Git-Tag: v2.39-rc1~358^2~1 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=74c9e0d8c51af3b45eb58631d05682c986a0aca9;p=thirdparty%2Futil-linux.git sysfs: add helper for /sys/kernel/address_bits --- diff --git a/include/pathnames.h b/include/pathnames.h index afb6af56e8..56f64c3870 100644 --- a/include/pathnames.h +++ b/include/pathnames.h @@ -120,6 +120,7 @@ #define _PATH_SYS_CLASS "/sys/class" #define _PATH_SYS_SCSI "/sys/bus/scsi" #define _PATH_SYS_CPU_BYTEORDER "/sys/kernel/cpu_byteorder" +#define _PATH_SYS_ADDRESS_BITS "/sys/kernel/address_bits" #define _PATH_SYS_SELINUX "/sys/fs/selinux" #define _PATH_SYS_APPARMOR "/sys/kernel/security/apparmor" diff --git a/include/sysfs.h b/include/sysfs.h index 56e125b71f..c538f33a72 100644 --- a/include/sysfs.h +++ b/include/sysfs.h @@ -117,5 +117,6 @@ enum sysfs_byteorder { }; extern enum sysfs_byteorder sysfs_get_byteorder(struct path_cxt *pc); +extern int sysfs_get_address_bits(struct path_cxt *pc); #endif /* UTIL_LINUX_SYSFS_H */ diff --git a/lib/sysfs.c b/lib/sysfs.c index 56eea5c645..e112606d67 100644 --- a/lib/sysfs.c +++ b/lib/sysfs.c @@ -1103,6 +1103,19 @@ out: return ret; } +int sysfs_get_address_bits(struct path_cxt *pc) +{ + int rc; + int address_bits; + + rc = ul_path_scanf(pc, _PATH_SYS_ADDRESS_BITS, "%d", &address_bits); + if (rc < 0) + return rc; + if (address_bits < 0) + return -EINVAL; + return address_bits; +} + #ifdef TEST_PROGRAM_SYSFS #include