"hook-script",
);
+static virClassPtr virNetworkXMLOptionClass;
+
+static void
+virNetworkXMLOptionDispose(void *obj ATTRIBUTE_UNUSED)
+{
+ return;
+}
+
+static int
+virNetworkXMLOnceInit(void)
+{
+ if (!VIR_CLASS_NEW(virNetworkXMLOption, virClassForObject()))
+ return -1;
+
+ return 0;
+}
+
+VIR_ONCE_GLOBAL_INIT(virNetworkXML);
+
+virNetworkXMLOptionPtr
+virNetworkXMLOptionNew(void)
+{
+ virNetworkXMLOptionPtr xmlopt;
+
+ if (virNetworkXMLInitialize() < 0)
+ return NULL;
+
+ if (!(xmlopt = virObjectNew(virNetworkXMLOptionClass)))
+ return NULL;
+
+ return xmlopt;
+}
+
static void
virPortGroupDefClear(virPortGroupDefPtr def)
{
#include "virmacmap.h"
#include "virenum.h"
+
+struct _virNetworkXMLOption {
+ virObject parent;
+};
+typedef struct _virNetworkXMLOption virNetworkXMLOption;
+typedef virNetworkXMLOption *virNetworkXMLOptionPtr;
+
+
typedef enum {
VIR_NETWORK_FORWARD_NONE = 0,
VIR_NETWORK_FORWARD_NAT,
VIR_NETWORK_OBJ_LIST_ADD_CHECK_LIVE = (1 << 1),
};
+virNetworkXMLOptionPtr
+virNetworkXMLOptionNew(void);
+
virNetworkDefPtr
virNetworkDefCopy(virNetworkDefPtr def, unsigned int flags);
virNetworkSetBridgeMacAddr;
virNetworkTaintTypeFromString;
virNetworkTaintTypeToString;
+virNetworkXMLOptionNew;
virPortGroupFindByName;
return 0;
}
+static virNetworkXMLOptionPtr
+networkDnsmasqCreateXMLConf(void)
+{
+ return virNetworkXMLOptionNew();
+}
+
static int
networkStateCleanup(void);
network_driver->privileged = privileged;
+ if (!(network_driver->xmlopt = networkDnsmasqCreateXMLConf()))
+ goto error;
+
/* configuration/state paths are one of
* ~/.config/libvirt/... (session/unprivileged)
* /etc/libvirt/... && /var/(run|lib)/libvirt/... (system/privileged).
return -1;
virObjectUnref(network_driver->networkEventState);
+ virObjectUnref(network_driver->xmlopt);
/* free inactive networks */
virObjectUnref(network_driver->networks);
/* Immutable pointer, self-locking APIs */
virObjectEventStatePtr networkEventState;
+
+ virNetworkXMLOptionPtr xmlopt;
};
typedef struct _virNetworkDriverState virNetworkDriverState;