From fc964bfc277b469eb2e7ffeb4b088b4b7ab23630 Mon Sep 17 00:00:00 2001 From: "Daniel P. Berrange" Date: Thu, 23 Oct 2014 11:28:16 +0100 Subject: [PATCH] Move virInterface related APIs out of libvirt.h.in Create a new libvirt-interface.h file to hold the public API definitions for the virInterface type. This header file is not self-contained, so applications will not directly include it. They will continue to #include --- docs/apibuild.py | 1 + include/libvirt/Makefile.am | 1 + include/libvirt/libvirt-interface.h | 110 ++++++++++++++++++++++++++++ include/libvirt/libvirt.h.in | 81 +------------------- libvirt.spec.in | 1 + mingw-libvirt.spec.in | 2 + 6 files changed, 116 insertions(+), 80 deletions(-) create mode 100644 include/libvirt/libvirt-interface.h diff --git a/docs/apibuild.py b/docs/apibuild.py index 18128917a7..0e0f0525ee 100755 --- a/docs/apibuild.py +++ b/docs/apibuild.py @@ -23,6 +23,7 @@ debugsym=None included_files = { "libvirt.h": "header with general libvirt API definitions", "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", "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 83c519de6e..9e7b1fb1ee 100644 --- a/include/libvirt/Makefile.am +++ b/include/libvirt/Makefile.am @@ -20,6 +20,7 @@ virincdir = $(includedir)/libvirt virinc_HEADERS = libvirt.h \ libvirt-domain-snapshot.h \ + libvirt-interface.h \ libvirt-network.h \ libvirt-lxc.h \ libvirt-qemu.h \ diff --git a/include/libvirt/libvirt-interface.h b/include/libvirt/libvirt-interface.h new file mode 100644 index 0000000000..60c53e6b4d --- /dev/null +++ b/include/libvirt/libvirt-interface.h @@ -0,0 +1,110 @@ +/* + * libvirt-interface.h + * Summary: APIs for management of interfaces + * Description: Provides APIs for the management of interfaces + * Author: Daniel Veillard + * + * 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 + * . + */ + +#ifndef __VIR_LIBVIRT_INTERFACE_H__ +# define __VIR_LIBVIRT_INTERFACE_H__ + +# ifndef __VIR_LIBVIRT_H_INCLUDES__ +# error "Don't include this file directly, only use libvirt/libvirt.h" +# endif + +/** + * virInterface: + * + * a virInterface is a private structure representing a virtual interface. + */ +typedef struct _virInterface virInterface; + +/** + * virInterfacePtr: + * + * a virInterfacePtr is pointer to a virInterface private structure, this is the + * type used to reference a virtual interface in the API. + */ +typedef virInterface *virInterfacePtr; + +virConnectPtr virInterfaceGetConnect (virInterfacePtr iface); + +int virConnectNumOfInterfaces (virConnectPtr conn); +int virConnectListInterfaces (virConnectPtr conn, + char **const names, + int maxnames); + +int virConnectNumOfDefinedInterfaces (virConnectPtr conn); +int virConnectListDefinedInterfaces (virConnectPtr conn, + char **const names, + int maxnames); +/* + * virConnectListAllInterfaces: + * + * Flags used to filter the returned interfaces. + */ +typedef enum { + VIR_CONNECT_LIST_INTERFACES_INACTIVE = 1 << 0, + VIR_CONNECT_LIST_INTERFACES_ACTIVE = 1 << 1, +} virConnectListAllInterfacesFlags; + +int virConnectListAllInterfaces (virConnectPtr conn, + virInterfacePtr **ifaces, + unsigned int flags); + +virInterfacePtr virInterfaceLookupByName (virConnectPtr conn, + const char *name); +virInterfacePtr virInterfaceLookupByMACString (virConnectPtr conn, + const char *mac); + +const char* virInterfaceGetName (virInterfacePtr iface); +const char* virInterfaceGetMACString (virInterfacePtr iface); + +typedef enum { + VIR_INTERFACE_XML_INACTIVE = 1 << 0 /* dump inactive interface information */ +} virInterfaceXMLFlags; + +char * virInterfaceGetXMLDesc (virInterfacePtr iface, + unsigned int flags); +virInterfacePtr virInterfaceDefineXML (virConnectPtr conn, + const char *xmlDesc, + unsigned int flags); + +int virInterfaceUndefine (virInterfacePtr iface); + +int virInterfaceCreate (virInterfacePtr iface, + unsigned int flags); + +int virInterfaceDestroy (virInterfacePtr iface, + unsigned int flags); + +int virInterfaceRef (virInterfacePtr iface); +int virInterfaceFree (virInterfacePtr iface); + +int virInterfaceChangeBegin (virConnectPtr conn, + unsigned int flags); +int virInterfaceChangeCommit (virConnectPtr conn, + unsigned int flags); +int virInterfaceChangeRollback(virConnectPtr conn, + unsigned int flags); + +int virInterfaceIsActive(virInterfacePtr iface); + + +#endif /* __VIR_LIBVIRT_INTERFACE_H__ */ diff --git a/include/libvirt/libvirt.h.in b/include/libvirt/libvirt.h.in index d79d4c9f8c..e231bded65 100644 --- a/include/libvirt/libvirt.h.in +++ b/include/libvirt/libvirt.h.in @@ -2856,85 +2856,6 @@ int virNodeGetCellsFreeMemory(virConnectPtr conn, int maxCells); -/* - * Physical host interface configuration API - */ - -/** - * virInterface: - * - * a virInterface is a private structure representing a virtual interface. - */ -typedef struct _virInterface virInterface; - -/** - * virInterfacePtr: - * - * a virInterfacePtr is pointer to a virInterface private structure, this is the - * type used to reference a virtual interface in the API. - */ -typedef virInterface *virInterfacePtr; - -virConnectPtr virInterfaceGetConnect (virInterfacePtr iface); - -int virConnectNumOfInterfaces (virConnectPtr conn); -int virConnectListInterfaces (virConnectPtr conn, - char **const names, - int maxnames); - -int virConnectNumOfDefinedInterfaces (virConnectPtr conn); -int virConnectListDefinedInterfaces (virConnectPtr conn, - char **const names, - int maxnames); -/* - * virConnectListAllInterfaces: - * - * Flags used to filter the returned interfaces. - */ -typedef enum { - VIR_CONNECT_LIST_INTERFACES_INACTIVE = 1 << 0, - VIR_CONNECT_LIST_INTERFACES_ACTIVE = 1 << 1, -} virConnectListAllInterfacesFlags; - -int virConnectListAllInterfaces (virConnectPtr conn, - virInterfacePtr **ifaces, - unsigned int flags); - -virInterfacePtr virInterfaceLookupByName (virConnectPtr conn, - const char *name); -virInterfacePtr virInterfaceLookupByMACString (virConnectPtr conn, - const char *mac); - -const char* virInterfaceGetName (virInterfacePtr iface); -const char* virInterfaceGetMACString (virInterfacePtr iface); - -typedef enum { - VIR_INTERFACE_XML_INACTIVE = 1 << 0 /* dump inactive interface information */ -} virInterfaceXMLFlags; - -char * virInterfaceGetXMLDesc (virInterfacePtr iface, - unsigned int flags); -virInterfacePtr virInterfaceDefineXML (virConnectPtr conn, - const char *xmlDesc, - unsigned int flags); - -int virInterfaceUndefine (virInterfacePtr iface); - -int virInterfaceCreate (virInterfacePtr iface, - unsigned int flags); - -int virInterfaceDestroy (virInterfacePtr iface, - unsigned int flags); - -int virInterfaceRef (virInterfacePtr iface); -int virInterfaceFree (virInterfacePtr iface); - -int virInterfaceChangeBegin (virConnectPtr conn, - unsigned int flags); -int virInterfaceChangeCommit (virConnectPtr conn, - unsigned int flags); -int virInterfaceChangeRollback(virConnectPtr conn, - unsigned int flags); /** * virStoragePool: @@ -4059,7 +3980,6 @@ int virDomainIsUpdated(virDomainPtr dom); int virStoragePoolIsActive(virStoragePoolPtr pool); int virStoragePoolIsPersistent(virStoragePoolPtr pool); -int virInterfaceIsActive(virInterfacePtr iface); int virConnectIsEncrypted(virConnectPtr conn); int virConnectIsSecure(virConnectPtr conn); @@ -5343,6 +5263,7 @@ typedef virMemoryParameter *virMemoryParameterPtr; #define __VIR_LIBVIRT_H_INCLUDES__ #include +#include #include #undef __VIR_LIBVIRT_H_INCLUDES__ diff --git a/libvirt.spec.in b/libvirt.spec.in index 5b08868af0..5f21d93e7f 100644 --- a/libvirt.spec.in +++ b/libvirt.spec.in @@ -2252,6 +2252,7 @@ exit 0 %{_includedir}/libvirt/virterror.h %{_includedir}/libvirt/libvirt.h %{_includedir}/libvirt/libvirt-domain-snapshot.h +%{_includedir}/libvirt/libvirt-interface.h %{_includedir}/libvirt/libvirt-network.h %{_includedir}/libvirt/libvirt-qemu.h %{_includedir}/libvirt/libvirt-lxc.h diff --git a/mingw-libvirt.spec.in b/mingw-libvirt.spec.in index 8a105a0ed4..b5890fefaf 100644 --- a/mingw-libvirt.spec.in +++ b/mingw-libvirt.spec.in @@ -230,6 +230,7 @@ rm -rf $RPM_BUILD_ROOT%{mingw64_libexecdir}/libvirt-guests.sh %dir %{mingw32_includedir}/libvirt %{mingw32_includedir}/libvirt/libvirt.h %{mingw32_includedir}/libvirt/libvirt-domain-snapshot.h +%{mingw32_includedir}/libvirt/libvirt-interface.h %{mingw32_includedir}/libvirt/libvirt-network.h %{mingw32_includedir}/libvirt/virterror.h %{mingw32_includedir}/libvirt/libvirt-lxc.h @@ -295,6 +296,7 @@ rm -rf $RPM_BUILD_ROOT%{mingw64_libexecdir}/libvirt-guests.sh %dir %{mingw64_includedir}/libvirt %{mingw64_includedir}/libvirt/libvirt.h %{mingw64_includedir}/libvirt/libvirt-domain-snapshot.h +%{mingw64_includedir}/libvirt/libvirt-interface.h %{mingw64_includedir}/libvirt/libvirt-network.h %{mingw64_includedir}/libvirt/virterror.h %{mingw64_includedir}/libvirt/libvirt-lxc.h