[libvirt] [PATCH 05/12] Move virNodeDevice related APIs out of libvirt.h.in

Daniel P. Berrange berrange at redhat.com
Thu Oct 23 12:58:27 UTC 2014


Create a new libvirt-nodedev.h file to hold the public
API definitions for the virNodeDevice type. This header
file is not self-contained, so applications will not directly
include it. They will contain to #include <libvirt/libvirt.h>
---
 docs/apibuild.py                  |   1 +
 include/libvirt/Makefile.am       |   1 +
 include/libvirt/libvirt-nodedev.h | 125 ++++++++++++++++++++++++++++++++++++++
 include/libvirt/libvirt.h.in      |  96 +----------------------------
 4 files changed, 128 insertions(+), 95 deletions(-)
 create mode 100644 include/libvirt/libvirt-nodedev.h

diff --git a/docs/apibuild.py b/docs/apibuild.py
index 9a7cb72..32ac773 100755
--- a/docs/apibuild.py
+++ b/docs/apibuild.py
@@ -25,6 +25,7 @@ included_files = {
   "libvirt-domain-snapshot.h": "header with general libvirt API definitions",
   "libvirt-interface.h": "header with general libvirt API definitions",
   "libvirt-network.h": "header with general libvirt API definitions",
+  "libvirt-nodedev.h": "header with general libvirt API definitions",
   "libvirt-nwfilter.h": "header with general libvirt API definitions",
   "virterror.h": "header with error specific API definitions",
   "libvirt.c": "Main interfaces for the libvirt library",
diff --git a/include/libvirt/Makefile.am b/include/libvirt/Makefile.am
index e169104..75142d8 100644
--- a/include/libvirt/Makefile.am
+++ b/include/libvirt/Makefile.am
@@ -22,6 +22,7 @@ virinc_HEADERS = libvirt.h		\
 		 libvirt-domain-snapshot.h \
 		 libvirt-interface.h \
 		 libvirt-network.h \
+		 libvirt-nodedev.h \
 		 libvirt-nwfilter.h \
 		 libvirt-lxc.h		\
 		 libvirt-qemu.h		\
diff --git a/include/libvirt/libvirt-nodedev.h b/include/libvirt/libvirt-nodedev.h
new file mode 100644
index 0000000..cd0b548
--- /dev/null
+++ b/include/libvirt/libvirt-nodedev.h
@@ -0,0 +1,125 @@
+/*
+ * libvirt-nodedev.h
+ * Summary: APIs for management of nodedevs
+ * Description: Provides APIs for the management of nodedevs
+ * Author: Daniel Veillard <veillard at redhat.com>
+ *
+ * Copyright (C) 2006-2014 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.  If not, see
+ * <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef __VIR_LIBVIRT_NODEDEV_H__
+# define __VIR_LIBVIRT_NODEDEV_H__
+
+# ifndef __VIR_LIBVIRT_H_INCLUDES__
+#  error "Don't include this file directly, only use libvirt/libvirt.h"
+# endif
+
+
+/**
+ * virNodeDevice:
+ *
+ * A virNodeDevice contains a node (host) device details.
+ */
+
+typedef struct _virNodeDevice virNodeDevice;
+
+/**
+ * virNodeDevicePtr:
+ *
+ * A virNodeDevicePtr is a pointer to a virNodeDevice structure.  Get
+ * one via virNodeDeviceLookupByName, or virNodeDeviceCreate.  Be sure
+ * to call virNodeDeviceFree when done using a virNodeDevicePtr obtained
+ * from any of the above functions to avoid leaking memory.
+ */
+
+typedef virNodeDevice *virNodeDevicePtr;
+
+
+int                     virNodeNumOfDevices     (virConnectPtr conn,
+                                                 const char *cap,
+                                                 unsigned int flags);
+
+int                     virNodeListDevices      (virConnectPtr conn,
+                                                 const char *cap,
+                                                 char **const names,
+                                                 int maxnames,
+                                                 unsigned int flags);
+/*
+ * virConnectListAllNodeDevices:
+ *
+ * Flags used to filter the returned node devices. Flags in each group
+ * are exclusive. Currently only one group to filter the devices by cap
+ * type.
+ */
+typedef enum {
+    VIR_CONNECT_LIST_NODE_DEVICES_CAP_SYSTEM        = 1 << 0,  /* System capability */
+    VIR_CONNECT_LIST_NODE_DEVICES_CAP_PCI_DEV       = 1 << 1,  /* PCI device */
+    VIR_CONNECT_LIST_NODE_DEVICES_CAP_USB_DEV       = 1 << 2,  /* USB device */
+    VIR_CONNECT_LIST_NODE_DEVICES_CAP_USB_INTERFACE = 1 << 3,  /* USB interface */
+    VIR_CONNECT_LIST_NODE_DEVICES_CAP_NET           = 1 << 4,  /* Network device */
+    VIR_CONNECT_LIST_NODE_DEVICES_CAP_SCSI_HOST     = 1 << 5,  /* SCSI Host Bus Adapter */
+    VIR_CONNECT_LIST_NODE_DEVICES_CAP_SCSI_TARGET   = 1 << 6,  /* SCSI Target */
+    VIR_CONNECT_LIST_NODE_DEVICES_CAP_SCSI          = 1 << 7,  /* SCSI device */
+    VIR_CONNECT_LIST_NODE_DEVICES_CAP_STORAGE       = 1 << 8,  /* Storage device */
+    VIR_CONNECT_LIST_NODE_DEVICES_CAP_FC_HOST       = 1 << 9,  /* FC Host Bus Adapter */
+    VIR_CONNECT_LIST_NODE_DEVICES_CAP_VPORTS        = 1 << 10, /* Capable of vport */
+    VIR_CONNECT_LIST_NODE_DEVICES_CAP_SCSI_GENERIC  = 1 << 11, /* Capable of scsi_generic */
+} virConnectListAllNodeDeviceFlags;
+
+int                     virConnectListAllNodeDevices (virConnectPtr conn,
+                                                      virNodeDevicePtr **devices,
+                                                      unsigned int flags);
+
+virNodeDevicePtr        virNodeDeviceLookupByName (virConnectPtr conn,
+                                                   const char *name);
+
+virNodeDevicePtr        virNodeDeviceLookupSCSIHostByWWN (virConnectPtr conn,
+                                                          const char *wwnn,
+                                                          const char *wwpn,
+                                                          unsigned int flags);
+
+const char *            virNodeDeviceGetName     (virNodeDevicePtr dev);
+
+const char *            virNodeDeviceGetParent   (virNodeDevicePtr dev);
+
+int                     virNodeDeviceNumOfCaps   (virNodeDevicePtr dev);
+
+int                     virNodeDeviceListCaps    (virNodeDevicePtr dev,
+                                                  char **const names,
+                                                  int maxnames);
+
+char *                  virNodeDeviceGetXMLDesc (virNodeDevicePtr dev,
+                                                 unsigned int flags);
+
+int                     virNodeDeviceRef        (virNodeDevicePtr dev);
+int                     virNodeDeviceFree       (virNodeDevicePtr dev);
+
+int                     virNodeDeviceDettach    (virNodeDevicePtr dev);
+int                     virNodeDeviceDetachFlags(virNodeDevicePtr dev,
+                                                 const char *driverName,
+                                                 unsigned int flags);
+int                     virNodeDeviceReAttach   (virNodeDevicePtr dev);
+int                     virNodeDeviceReset      (virNodeDevicePtr dev);
+
+virNodeDevicePtr        virNodeDeviceCreateXML  (virConnectPtr conn,
+                                                 const char *xmlDesc,
+                                                 unsigned int flags);
+
+int                     virNodeDeviceDestroy    (virNodeDevicePtr dev);
+
+
+#endif /* __VIR_LIBVIRT_NODEDEV_H__ */
diff --git a/include/libvirt/libvirt.h.in b/include/libvirt/libvirt.h.in
index c37ab28..14cd205 100644
--- a/include/libvirt/libvirt.h.in
+++ b/include/libvirt/libvirt.h.in
@@ -3322,101 +3322,6 @@ virDomainPtr            virDomainCreateLinux    (virConnectPtr conn,
                                                  const char *xmlDesc,
                                                  unsigned int flags);
 
-/*
- * Host device enumeration
- */
-
-/**
- * virNodeDevice:
- *
- * A virNodeDevice contains a node (host) device details.
- */
-
-typedef struct _virNodeDevice virNodeDevice;
-
-/**
- * virNodeDevicePtr:
- *
- * A virNodeDevicePtr is a pointer to a virNodeDevice structure.  Get
- * one via virNodeDeviceLookupByName, or virNodeDeviceCreate.  Be sure
- * to call virNodeDeviceFree when done using a virNodeDevicePtr obtained
- * from any of the above functions to avoid leaking memory.
- */
-
-typedef virNodeDevice *virNodeDevicePtr;
-
-
-int                     virNodeNumOfDevices     (virConnectPtr conn,
-                                                 const char *cap,
-                                                 unsigned int flags);
-
-int                     virNodeListDevices      (virConnectPtr conn,
-                                                 const char *cap,
-                                                 char **const names,
-                                                 int maxnames,
-                                                 unsigned int flags);
-/*
- * virConnectListAllNodeDevices:
- *
- * Flags used to filter the returned node devices. Flags in each group
- * are exclusive. Currently only one group to filter the devices by cap
- * type.
- */
-typedef enum {
-    VIR_CONNECT_LIST_NODE_DEVICES_CAP_SYSTEM        = 1 << 0,  /* System capability */
-    VIR_CONNECT_LIST_NODE_DEVICES_CAP_PCI_DEV       = 1 << 1,  /* PCI device */
-    VIR_CONNECT_LIST_NODE_DEVICES_CAP_USB_DEV       = 1 << 2,  /* USB device */
-    VIR_CONNECT_LIST_NODE_DEVICES_CAP_USB_INTERFACE = 1 << 3,  /* USB interface */
-    VIR_CONNECT_LIST_NODE_DEVICES_CAP_NET           = 1 << 4,  /* Network device */
-    VIR_CONNECT_LIST_NODE_DEVICES_CAP_SCSI_HOST     = 1 << 5,  /* SCSI Host Bus Adapter */
-    VIR_CONNECT_LIST_NODE_DEVICES_CAP_SCSI_TARGET   = 1 << 6,  /* SCSI Target */
-    VIR_CONNECT_LIST_NODE_DEVICES_CAP_SCSI          = 1 << 7,  /* SCSI device */
-    VIR_CONNECT_LIST_NODE_DEVICES_CAP_STORAGE       = 1 << 8,  /* Storage device */
-    VIR_CONNECT_LIST_NODE_DEVICES_CAP_FC_HOST       = 1 << 9,  /* FC Host Bus Adapter */
-    VIR_CONNECT_LIST_NODE_DEVICES_CAP_VPORTS        = 1 << 10, /* Capable of vport */
-    VIR_CONNECT_LIST_NODE_DEVICES_CAP_SCSI_GENERIC  = 1 << 11, /* Capable of scsi_generic */
-} virConnectListAllNodeDeviceFlags;
-
-int                     virConnectListAllNodeDevices (virConnectPtr conn,
-                                                      virNodeDevicePtr **devices,
-                                                      unsigned int flags);
-
-virNodeDevicePtr        virNodeDeviceLookupByName (virConnectPtr conn,
-                                                   const char *name);
-
-virNodeDevicePtr        virNodeDeviceLookupSCSIHostByWWN (virConnectPtr conn,
-                                                          const char *wwnn,
-                                                          const char *wwpn,
-                                                          unsigned int flags);
-
-const char *            virNodeDeviceGetName     (virNodeDevicePtr dev);
-
-const char *            virNodeDeviceGetParent   (virNodeDevicePtr dev);
-
-int                     virNodeDeviceNumOfCaps   (virNodeDevicePtr dev);
-
-int                     virNodeDeviceListCaps    (virNodeDevicePtr dev,
-                                                  char **const names,
-                                                  int maxnames);
-
-char *                  virNodeDeviceGetXMLDesc (virNodeDevicePtr dev,
-                                                 unsigned int flags);
-
-int                     virNodeDeviceRef        (virNodeDevicePtr dev);
-int                     virNodeDeviceFree       (virNodeDevicePtr dev);
-
-int                     virNodeDeviceDettach    (virNodeDevicePtr dev);
-int                     virNodeDeviceDetachFlags(virNodeDevicePtr dev,
-                                                 const char *driverName,
-                                                 unsigned int flags);
-int                     virNodeDeviceReAttach   (virNodeDevicePtr dev);
-int                     virNodeDeviceReset      (virNodeDevicePtr dev);
-
-virNodeDevicePtr        virNodeDeviceCreateXML  (virConnectPtr conn,
-                                                 const char *xmlDesc,
-                                                 unsigned int flags);
-
-int                     virNodeDeviceDestroy    (virNodeDevicePtr dev);
 
 /*
  * Domain Event Notification
@@ -5202,6 +5107,7 @@ typedef virMemoryParameter *virMemoryParameterPtr;
 #include <libvirt/libvirt-domain-snapshot.h>
 #include <libvirt/libvirt-interface.h>
 #include <libvirt/libvirt-network.h>
+#include <libvirt/libvirt-nodedev.h>
 #include <libvirt/libvirt-nwfilter.h>
 #undef __VIR_LIBVIRT_H_INCLUDES__
 
-- 
2.1.0




More information about the libvir-list mailing list