aboutsummaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
Diffstat (limited to 'tools')
-rw-r--r--tools/lib/api/fs/fs.c13
-rw-r--r--tools/lib/api/fs/fs.h2
2 files changed, 15 insertions, 0 deletions
diff --git a/tools/lib/api/fs/fs.c b/tools/lib/api/fs/fs.c
index ef78c22ff44d..08556cf2c70d 100644
--- a/tools/lib/api/fs/fs.c
+++ b/tools/lib/api/fs/fs.c
@@ -351,6 +351,19 @@ int filename__read_str(const char *filename, char **buf, size_t *sizep)
351 return err; 351 return err;
352} 352}
353 353
354int procfs__read_str(const char *entry, char **buf, size_t *sizep)
355{
356 char path[PATH_MAX];
357 const char *procfs = procfs__mountpoint();
358
359 if (!procfs)
360 return -1;
361
362 snprintf(path, sizeof(path), "%s/%s", procfs, entry);
363
364 return filename__read_str(path, buf, sizep);
365}
366
354int sysfs__read_ull(const char *entry, unsigned long long *value) 367int sysfs__read_ull(const char *entry, unsigned long long *value)
355{ 368{
356 char path[PATH_MAX]; 369 char path[PATH_MAX];
diff --git a/tools/lib/api/fs/fs.h b/tools/lib/api/fs/fs.h
index 9f6598098dc5..16c9c2ed7c5b 100644
--- a/tools/lib/api/fs/fs.h
+++ b/tools/lib/api/fs/fs.h
@@ -29,6 +29,8 @@ int filename__read_int(const char *filename, int *value);
29int filename__read_ull(const char *filename, unsigned long long *value); 29int filename__read_ull(const char *filename, unsigned long long *value);
30int filename__read_str(const char *filename, char **buf, size_t *sizep); 30int filename__read_str(const char *filename, char **buf, size_t *sizep);
31 31
32int procfs__read_str(const char *entry, char **buf, size_t *sizep);
33
32int sysctl__read_int(const char *sysctl, int *value); 34int sysctl__read_int(const char *sysctl, int *value);
33int sysfs__read_int(const char *entry, int *value); 35int sysfs__read_int(const char *entry, int *value);
34int sysfs__read_ull(const char *entry, unsigned long long *value); 36int sysfs__read_ull(const char *entry, unsigned long long *value);