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(a)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