]> xenbits.xensource.com Git - libvirt.git/commitdiff
Add internal API
authorStefan Berger <stefanb@us.ibm.com>
Thu, 25 Mar 2010 17:46:01 +0000 (13:46 -0400)
committerDaniel P. Berrange <berrange@redhat.com>
Fri, 26 Mar 2010 18:01:15 +0000 (18:01 +0000)
This patch adds the internal API extensions for network filtering (ACL) support.

Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
src/driver.h

index 16089eb46c420a2322b4b70b12cb4add9c8a7a8d..8f864638c73f7b6069230907a2d02ccbe20725f6 100644 (file)
@@ -1009,6 +1009,58 @@ struct _virStreamDriver {
 };
 
 
+typedef int
+    (*virDrvConnectNumOfNWFilters)        (virConnectPtr conn);
+typedef int
+    (*virDrvConnectListNWFilters)         (virConnectPtr conn,
+                                           char **const names,
+                                           int maxnames);
+typedef virNWFilterPtr
+    (*virDrvNWFilterLookupByName)             (virConnectPtr conn,
+                                               const char *name);
+typedef virNWFilterPtr
+    (*virDrvNWFilterLookupByUUID)             (virConnectPtr conn,
+                                               const unsigned char *uuid);
+typedef virNWFilterPtr
+    (*virDrvNWFilterDefineXML)                (virConnectPtr conn,
+                                               const char *xmlDesc,
+                                               unsigned int flags);
+typedef int
+    (*virDrvNWFilterUndefine)                 (virNWFilterPtr pool);
+
+typedef char *
+    (*virDrvNWFilterGetXMLDesc)              (virNWFilterPtr pool,
+                                              unsigned int flags);
+
+
+typedef struct _virNWFilterDriver virNWFilterDriver;
+typedef virNWFilterDriver *virNWFilterDriverPtr;
+
+/**
+ * _virNWFilterDriver:
+ *
+ * Structure associated to a network filter driver, defining the various
+ * entry points for it.
+ *
+ * All drivers must support the following fields/methods:
+ *  - open
+ *  - close
+ */
+struct _virNWFilterDriver {
+    const char * name;    /* the name of the driver */
+    virDrvOpen            open;
+    virDrvClose           close;
+
+    virDrvConnectNumOfNWFilters numOfNWFilters;
+    virDrvConnectListNWFilters listNWFilters;
+    virDrvNWFilterLookupByName nwfilterLookupByName;
+    virDrvNWFilterLookupByUUID nwfilterLookupByUUID;
+    virDrvNWFilterDefineXML defineXML;
+    virDrvNWFilterUndefine undefine;
+    virDrvNWFilterGetXMLDesc getXMLDesc;
+};
+
+
 /*
  * Registration
  * TODO: also need ways to (des)activate a given driver
@@ -1020,6 +1072,7 @@ int virRegisterInterfaceDriver(virInterfaceDriverPtr);
 int virRegisterStorageDriver(virStorageDriverPtr);
 int virRegisterDeviceMonitor(virDeviceMonitorPtr);
 int virRegisterSecretDriver(virSecretDriverPtr);
+int virRegisterNWFilterDriver(virNWFilterDriverPtr);
 # ifdef WITH_LIBVIRTD
 int virRegisterStateDriver(virStateDriverPtr);
 # endif