[libvirt] [PATCH 06/16] util: Add virSysfsDirOpen

Martin Kletzander mkletzan at redhat.com
Thu Mar 30 14:03:38 UTC 2017


Signed-off-by: Martin Kletzander <mkletzan at redhat.com>
---
 src/libvirt_private.syms |  1 +
 src/util/virsysfs.c      | 17 ++++++++++++++++-
 src/util/virsysfs.h      |  6 ++++++
 3 files changed, 23 insertions(+), 1 deletion(-)

diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms
index 9e61accda3fc..3965ef3f89c9 100644
--- a/src/libvirt_private.syms
+++ b/src/libvirt_private.syms
@@ -2621,6 +2621,7 @@ virVasprintfInternal;


 # util/virsysfs.h
+virSysfsDirOpen;
 virSysfsGetCpuValueBitmap;
 virSysfsGetCpuValueInt;
 virSysfsGetCpuValueString;
diff --git a/src/util/virsysfs.c b/src/util/virsysfs.c
index c482e188a301..6686d8ddbfcb 100644
--- a/src/util/virsysfs.c
+++ b/src/util/virsysfs.c
@@ -25,7 +25,6 @@
 #include "virsysfspriv.h"

 #include "viralloc.h"
-#include "virfile.h"
 #include "virlog.h"
 #include "virstring.h"

@@ -120,6 +119,22 @@ virSysfsGetValueBitmap(const char *file,
  * Per-CPU getters
  */
 int
+virSysfsDirOpen(const char *file,
+                DIR **dirp)
+{
+    char *path = NULL;
+
+    if (virAsprintf(&path, "%s/%s", sysfs_system_path, file) < 0)
+        return -1;
+
+    if (!virFileIsDir(path))
+        return -2;
+
+    return virDirOpen(dirp, path);
+}
+
+
+int
 virSysfsGetCpuValueInt(unsigned int cpu,
                        const char *file,
                        int *value)
diff --git a/src/util/virsysfs.h b/src/util/virsysfs.h
index 1b24fc193a16..ff5012d62747 100644
--- a/src/util/virsysfs.h
+++ b/src/util/virsysfs.h
@@ -23,6 +23,8 @@

 # include "internal.h"
 # include "virbitmap.h"
+# include "virfile.h"
+

 /*
  * Generic getters
@@ -41,6 +43,10 @@ int
 virSysfsGetValueBitmap(const char *file,
                        virBitmapPtr *value);

+int
+virSysfsDirOpen(const char *file,
+                DIR **dirp);
+

 /*
  * Per-CPU getters
-- 
2.12.2




More information about the libvir-list mailing list