]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
sysfs: add helper for /sys/kernel/address_bits
authorThomas Weißschuh <thomas@t-8ch.de>
Wed, 21 Dec 2022 13:39:35 +0000 (13:39 +0000)
committerThomas Weißschuh <thomas@t-8ch.de>
Wed, 21 Dec 2022 16:04:51 +0000 (16:04 +0000)
include/pathnames.h
include/sysfs.h
lib/sysfs.c

index afb6af56e881139b4d957b97f38b120e83ebb480..56f64c3870e9ebac06a2d64d960534fa0db347a2 100644 (file)
 #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"
index 56e125b71f7d1e8bd4de68a5d2d7925bbc87dcef..c538f33a7250352347f228792f6448d9c6a663bf 100644 (file)
@@ -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 */
index 56eea5c6450a311bc45e4708bac031c19f349a15..e112606d676c051c25762295551bb226136a6517 100644 (file)
@@ -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 <errno.h>