ACK, we've discussed this public API enough now :-) Will wait till
we have a driver using it before re-reviewing it agian.
Daniel
diff --git a/include/libvirt/libvirt.h b/include/libvirt/libvirt.h
index 779ea72..f2e695a 100644
--- a/include/libvirt/libvirt.h
+++ b/include/libvirt/libvirt.h
@@ -854,6 +854,83 @@ int virNetworkGetAutostart (virNetworkPtr
network,
int virNetworkSetAutostart (virNetworkPtr network,
int autostart);
+/*
+ * 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;
+
+/*
+ * Get connection from interface.
+ */
+virConnectPtr virInterfaceGetConnect (virInterfacePtr interface);
+
+/*
+ * List defined interfaces
+ */
+int virConnectNumOfInterfaces (virConnectPtr conn);
+int virConnectListInterfaces (virConnectPtr conn,
+ char **const names,
+ int maxnames);
+
+/*
+ * Lookup interface by name or MAC address
+ */
+virInterfacePtr virInterfaceLookupByName (virConnectPtr conn,
+ const char *name);
+virInterfacePtr virInterfaceLookupByMAC (virConnectPtr conn,
+ const unsigned char *mac);
+virInterfacePtr virInterfaceLookupByMACString (virConnectPtr conn,
+ const char *mac);
+
+/*
+ * Define interface (or modify existing interface configuration)
+ */
+virInterfacePtr virInterfaceDefineXML (virConnectPtr conn,
+ const char *xmlDesc,
+ int flags);
+
+/*
+ * Delete interface
+ */
+int virInterfaceUndefine (virInterfacePtr interface);
+
+/*
+ * Activate interface (ie call "ifup")
+ */
+int virInterfaceCreate (virInterfacePtr interface,
+ int flags);
+
+/*
+ * De-activate interface (call "ifdown")
+ */
+int virInterfaceDestroy (virInterfacePtr interface,
+ int flags);
+
+/*
+ * Interface information
+ */
+const char* virInterfaceGetName (virInterfacePtr interface);
+int virInterfaceGetMAC (virInterfacePtr interface,
+ unsigned char *mac);
+int virInterfaceGetMACString (virInterfacePtr interface,
+ char *mac);
+
+char * virInterfaceGetXMLDesc (virInterfacePtr interface,
+ int flags);
/**
* virStoragePool:
diff --git a/include/libvirt/libvirt.h.in b/include/libvirt/libvirt.h.in
index a028b21..f2656a3 100644
--- a/include/libvirt/libvirt.h.in
+++ b/include/libvirt/libvirt.h.in
@@ -854,6 +854,83 @@ int virNetworkGetAutostart (virNetworkPtr
network,
int virNetworkSetAutostart (virNetworkPtr network,
int autostart);
+/*
+ * 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;
+
+/*
+ * Get connection from interface.
+ */
+virConnectPtr virInterfaceGetConnect (virInterfacePtr interface);
+
+/*
+ * List defined interfaces
+ */
+int virConnectNumOfInterfaces (virConnectPtr conn);
+int virConnectListInterfaces (virConnectPtr conn,
+ char **const names,
+ int maxnames);
+
+/*
+ * Lookup interface by name or MAC address
+ */
+virInterfacePtr virInterfaceLookupByName (virConnectPtr conn,
+ const char *name);
+virInterfacePtr virInterfaceLookupByMAC (virConnectPtr conn,
+ const unsigned char *mac);
+virInterfacePtr virInterfaceLookupByMACString (virConnectPtr conn,
+ const char *mac);
+
+/*
+ * Define interface (or modify existing interface configuration)
+ */
+virInterfacePtr virInterfaceDefineXML (virConnectPtr conn,
+ const char *xmlDesc,
+ int flags);
+
+/*
+ * Delete interface
+ */
+int virInterfaceUndefine (virInterfacePtr interface);
+
+/*
+ * Activate interface (ie call "ifup")
+ */
+int virInterfaceCreate (virInterfacePtr interface,
+ int flags);
+
+/*
+ * De-activate interface (call "ifdown")
+ */
+int virInterfaceDestroy (virInterfacePtr interface,
+ int flags);
+
+/*
+ * Interface information
+ */
+const char* virInterfaceGetName (virInterfacePtr interface);
+int virInterfaceGetMAC (virInterfacePtr interface,
+ unsigned char *mac);
+int virInterfaceGetMACString (virInterfacePtr interface,
+ char *mac);
+
+char * virInterfaceGetXMLDesc (virInterfacePtr interface,
+ int flags);
/**
* virStoragePool:
--
1.6.0.6
--
Libvir-list mailing list
Libvir-list(a)redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list :|
|: GnuPG: 7D3B9505 -o- F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|