aboutsummaryrefslogtreecommitdiffstats
path: root/tools/lib/api/fs
diff options
context:
space:
mode:
authorJiri Olsa <jolsa@kernel.org>2016-02-14 11:03:44 -0500
committerArnaldo Carvalho de Melo <acme@redhat.com>2016-02-16 15:12:57 -0500
commit51c0396c600f49de9c3ff8f6fd83055de3709c3d (patch)
tree0c2119d1d56c78ac124e12fa9e271da40aec3be1 /tools/lib/api/fs
parent607bfbd7ffc60156ae0831c917497dc91a57dd8d (diff)
tools lib api fs: Add sysfs__read_str function
Adding sysfs__read_str function to ease up reading string files from sysfs. New interface is: int sysfs__read_str(const char *entry, char **buf, size_t *sizep); Signed-off-by: Jiri Olsa <jolsa@kernel.org> Cc: David Ahern <dsahern@gmail.com> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> Link: http://lkml.kernel.org/r/1455465826-8426-4-git-send-email-jolsa@kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/lib/api/fs')
-rw-r--r--tools/lib/api/fs/fs.c13
-rw-r--r--tools/lib/api/fs/fs.h1
2 files changed, 14 insertions, 0 deletions
diff --git a/tools/lib/api/fs/fs.c b/tools/lib/api/fs/fs.c
index 2cbf6773ca5d..ef78c22ff44d 100644
--- a/tools/lib/api/fs/fs.c
+++ b/tools/lib/api/fs/fs.c
@@ -377,6 +377,19 @@ int sysfs__read_int(const char *entry, int *value)
377 return filename__read_int(path, value); 377 return filename__read_int(path, value);
378} 378}
379 379
380int sysfs__read_str(const char *entry, char **buf, size_t *sizep)
381{
382 char path[PATH_MAX];
383 const char *sysfs = sysfs__mountpoint();
384
385 if (!sysfs)
386 return -1;
387
388 snprintf(path, sizeof(path), "%s/%s", sysfs, entry);
389
390 return filename__read_str(path, buf, sizep);
391}
392
380int sysctl__read_int(const char *sysctl, int *value) 393int sysctl__read_int(const char *sysctl, int *value)
381{ 394{
382 char path[PATH_MAX]; 395 char path[PATH_MAX];
diff --git a/tools/lib/api/fs/fs.h b/tools/lib/api/fs/fs.h
index 858922b61141..9f6598098dc5 100644
--- a/tools/lib/api/fs/fs.h
+++ b/tools/lib/api/fs/fs.h
@@ -32,4 +32,5 @@ int filename__read_str(const char *filename, char **buf, size_t *sizep);
32int sysctl__read_int(const char *sysctl, int *value); 32int sysctl__read_int(const char *sysctl, int *value);
33int sysfs__read_int(const char *entry, int *value); 33int sysfs__read_int(const char *entry, int *value);
34int sysfs__read_ull(const char *entry, unsigned long long *value); 34int sysfs__read_ull(const char *entry, unsigned long long *value);
35int sysfs__read_str(const char *entry, char **buf, size_t *sizep);
35#endif /* __API_FS__ */ 36#endif /* __API_FS__ */