[libvirt] [PATCH] mark mig->flags as QEMU_MIGRATION_COOKIE_GRAPHICS only when mig->graphics is not NULL
by Wen Congyang
Steps to reproduce this problem:
1. remove all <graphics ...> from xml.
2. start the domain
3. migrate the domain to another host, and libvirtd on the target host
will crash.
The reason of this bug is that we mark mig->flags as QEMU_MIGRATION_COOKIE_GRAPHICS
even if we have no graphics. We will use mig->graphics when mig->flgas is
QEMU_MIGRATION_COOKIE_GRAPHICS in the function qemuMigrationCookieXMLFormat()
---
src/qemu/qemu_migration.c | 12 +++++++-----
1 files changed, 7 insertions(+), 5 deletions(-)
diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c
index cb408ac..3def14b 100644
--- a/src/qemu/qemu_migration.c
+++ b/src/qemu/qemu_migration.c
@@ -252,11 +252,13 @@ qemuMigrationCookieAddGraphics(qemuMigrationCookiePtr mig,
if (dom->def->ngraphics == 1 &&
(dom->def->graphics[0]->type == VIR_DOMAIN_GRAPHICS_TYPE_VNC ||
- dom->def->graphics[0]->type == VIR_DOMAIN_GRAPHICS_TYPE_SPICE) &&
- !(mig->graphics = qemuMigrationCookieGraphicsAlloc(driver, dom->def->graphics[0])))
- return -1;
-
- mig->flags |= QEMU_MIGRATION_COOKIE_GRAPHICS;
+ dom->def->graphics[0]->type == VIR_DOMAIN_GRAPHICS_TYPE_SPICE)) {
+ mig->graphics = qemuMigrationCookieGraphicsAlloc(driver,
+ dom->def->graphics[0]);
+ if (mig->graphics == NULL)
+ return -1;
+ mig->flags |= QEMU_MIGRATION_COOKIE_GRAPHICS;
+ }
return 0;
}
--
1.7.1
13 years, 7 months
[libvirt] [PATCHv4 0/6] Add virNodeGetCPUTimeParameters() API
by Minoru Usui
Hi,
This is v4 of virNodeGetCpuTime() API.
(This time, I rename it to virNodeGetCPUTimeParameters())
It returns cpu utilization or
cumulative cpu time of the node from /proc/stat since node boots up.
This patch only supports linux host.
Changes
v3->v4
- Rebase this patch like virDomainGetMemoryParameters() from v2 patches.
(drop v3 patches except virsh subcommand)
- Rename API name to virNodeGetCPUTimeParameters()
v2->v3
- Change user I/F. It is able to request what the user want by the @flags.
- Minor change of virsh nodecputime I/F.
v1->v2
- Change user I/F like virDomainGetMemoryStats()
- It can return either cpu utilization or cumulative cpu time of the node
depends on each driver.
Minoru Usui (6):
[v4] virNodeGetCPUTimeParameters: Expose new API
[v4] virNodeGetCPUTimeParameters: Define internal driver API
[v4] virNodeGetCPUTimeParameters: Implement public API
[v4] virNodeGetCPUTimeParameters: Implement remote protocol
[v4] virNodeGetCPUTimeParameters: Implement virsh support
[v4] virNodeGetCPUTimeParameters: Implement linux support
daemon/remote.c | 81 +++++++++++++++++++++++++++
include/libvirt/libvirt.h.in | 65 +++++++++++++++++++++
src/driver.h | 8 +++
src/esx/esx_driver.c | 1 +
src/libvirt.c | 87 ++++++++++++++++++++++++++++
src/libvirt_private.syms | 1 +
src/libvirt_public.syms | 1 +
src/libxl/libxl_driver.c | 1 +
src/lxc/lxc_driver.c | 1 +
src/nodeinfo.c | 127 ++++++++++++++++++++++++++++++++++++++++++
src/nodeinfo.h | 5 +-
src/openvz/openvz_driver.c | 1 +
src/phyp/phyp_driver.c | 1 +
src/qemu/qemu_driver.c | 1 +
src/remote/remote_driver.c | 65 +++++++++++++++++++++
src/remote/remote_protocol.x | 21 +++++++-
src/test/test_driver.c | 1 +
src/uml/uml_driver.c | 1 +
src/vbox/vbox_tmpl.c | 1 +
src/vmware/vmware_driver.c | 1 +
src/xen/xen_driver.c | 1 +
src/xenapi/xenapi_driver.c | 1 +
tools/virsh.c | 107 +++++++++++++++++++++++++++++++++++
tools/virsh.pod | 4 +
24 files changed, 582 insertions(+), 2 deletions(-)
--
Minoru Usui <usui(a)mxm.nes.nec.co.jp>
13 years, 7 months
[libvirt] [PATCH] virsh: Improve editing
by Michal Privoznik
When users (pool-/net-)edit and they make a mistake, temporary file
and thus all changes are gone. Better way is to let them decide if
they want to get back to edit and correct what's wrong.
However, this is suitable only in interactive mode.
---
tools/virsh.c | 42 ++++++++++++++++++++++++++++++++++++++++--
1 files changed, 40 insertions(+), 2 deletions(-)
diff --git a/tools/virsh.c b/tools/virsh.c
index fbeb7c8..0dccc17 100644
--- a/tools/virsh.c
+++ b/tools/virsh.c
@@ -338,6 +338,7 @@ static const char *vshDomainStateToString(int state);
static const char *vshDomainVcpuStateToString(int state);
static bool vshConnectionUsability(vshControl *ctl, virConnectPtr conn);
+static char * vshReadline (vshControl *ctl, const char *prompt);
static char *editWriteToTempFile (vshControl *ctl, const char *doc);
static int editFile (vshControl *ctl, const char *filename);
static char *editReadBackFile (vshControl *ctl, const char *filename);
@@ -10099,6 +10100,7 @@ cmdEdit (vshControl *ctl, const vshCmd *cmd)
char *doc_edited = NULL;
char *doc_reread = NULL;
int flags = VIR_DOMAIN_XML_SECURE | VIR_DOMAIN_XML_INACTIVE;
+ char *response;
if (!vshConnectionUsability(ctl, ctl->conn))
goto cleanup;
@@ -10116,6 +10118,7 @@ cmdEdit (vshControl *ctl, const vshCmd *cmd)
tmp = editWriteToTempFile (ctl, doc);
if (!tmp) goto cleanup;
+again:
/* Start the editor. */
if (editFile (ctl, tmp) == -1) goto cleanup;
@@ -10148,8 +10151,43 @@ cmdEdit (vshControl *ctl, const vshCmd *cmd)
/* Everything checks out, so redefine the domain. */
virDomainFree (dom);
dom = virDomainDefineXML (ctl->conn, doc_edited);
- if (!dom)
- goto cleanup;
+ if (!dom) {
+ if (ctl->imode) {
+ virshReportError(ctl);
+ response = vshReadline(ctl, "Do you want to edit again [Y/n] ");
+ while (true) {
+ char *c = response;
+ while (c && *c) {
+ *c = tolower(*c);
+ c++;
+ }
+
+ if (STREQ(response, "") || STREQ(response, "y") ||
+ STREQ(response, "yes")) {
+ dom = vshCommandOptDomain (ctl, cmd, NULL);
+ if (!dom)
+ goto cleanup;
+ goto again;
+ } else if (!response || STREQ(response, "n") ||
+ STREQ(response, "no")) {
+ /* Ok, this is a little hack. Command did not succeed,
+ * but the error was already reported. So we do not
+ * want it to get reported twice */
+ ret = true;
+ goto cleanup;
+ } else {
+ char *prompt;
+ if (virAsprintf(&prompt, _("Sorry, response '%s' not "
+ "understood. [Y/n] "), response) < 0)
+ goto cleanup;
+ response = vshReadline(ctl, prompt);
+ VIR_FREE(prompt);
+ }
+ }
+ } else {
+ goto cleanup;
+ }
+ }
vshPrint (ctl, _("Domain %s XML configuration edited.\n"),
virDomainGetName(dom));
--
1.7.5.rc3
13 years, 7 months
[libvirt] FreeBSD and sysconf(_SC_GETPW_R_SIZE_MAX)
by Matthias Bolte
On FreeBSD virsh fails to enter interactive mode because
vshReadlineInit fails, because virGetUserDirectory fails, because
virGetUserEnt fails, because sysconf(_SC_GETPW_R_SIZE_MAX) returns -1
and sets errno to EINVAL.
Is this something that gnulib should/could deal with, Eric?
Or should we work around it in libvrt and fallback to PATH_MAX when
sysconf(_SC_GETPW_R_SIZE_MAX) fails?
Matthias
13 years, 7 months
[libvirt] [PATCH] Fix leak of mime type string in screenshot dispatcher
by Daniel P. Berrange
* daemon/remote.c: Free mime string
---
daemon/remote.c | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/daemon/remote.c b/daemon/remote.c
index bb01c89..ea36bf5 100644
--- a/daemon/remote.c
+++ b/daemon/remote.c
@@ -1746,6 +1746,7 @@ remoteDispatchDomainScreenshot(struct qemud_server *server ATTRIBUTE_UNUSED,
cleanup:
if (rv < 0)
remoteDispatchError(rerr);
+ VIR_FREE(mime);
if (dom)
virDomainFree(dom);
if (stream && rv != 0) {
--
1.7.4.4
13 years, 7 months
[libvirt] [PATCH] Remove obsolete remoteDispatchOOMError method
by Daniel P. Berrange
No new code should be using remoteDispatchOOMError()
* daemon/dispatch.c, daemon/dispatch.h: Remove remoteDispatchOOMError
---
daemon/dispatch.c | 8 --------
daemon/dispatch.h | 1 -
2 files changed, 0 insertions(+), 9 deletions(-)
diff --git a/daemon/dispatch.c b/daemon/dispatch.c
index 7453451..010be1e 100644
--- a/daemon/dispatch.c
+++ b/daemon/dispatch.c
@@ -104,14 +104,6 @@ void remoteDispatchGenericError (remote_error *rerr)
}
-void remoteDispatchOOMError (remote_error *rerr)
-{
- remoteDispatchStringError(rerr,
- VIR_ERR_NO_MEMORY,
- "out of memory");
-}
-
-
void remoteDispatchError(remote_error *rerr)
{
virErrorPtr verr = virGetLastError();
diff --git a/daemon/dispatch.h b/daemon/dispatch.h
index 79d35ac..f24f494 100644
--- a/daemon/dispatch.h
+++ b/daemon/dispatch.h
@@ -45,7 +45,6 @@ void remoteDispatchFormatError (remote_error *rerr,
void remoteDispatchAuthError (remote_error *rerr);
void remoteDispatchGenericError (remote_error *rerr);
-void remoteDispatchOOMError (remote_error *rerr);
void remoteDispatchError(remote_error *rerr);
--
1.7.4.4
13 years, 7 months
[libvirt] [PATCH] Fix remote dispatcher for screenshot command
by Daniel P. Berrange
* daemon/remote.c: Update screenshot dispatcher to follow
standard practice
---
daemon/remote.c | 53 +++++++++++++++++++++++++++++------------------------
1 files changed, 29 insertions(+), 24 deletions(-)
diff --git a/daemon/remote.c b/daemon/remote.c
index 181f149..bb01c89 100644
--- a/daemon/remote.c
+++ b/daemon/remote.c
@@ -1694,59 +1694,64 @@ no_memory:
}
static int
-remoteDispatchDomainScreenshot (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
- virConnectPtr conn,
- remote_message_header *hdr,
- remote_error *rerr,
- remote_domain_screenshot_args *args,
- remote_domain_screenshot_ret *ret)
+remoteDispatchDomainScreenshot(struct qemud_server *server ATTRIBUTE_UNUSED,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_message_header *hdr,
+ remote_error *rerr,
+ remote_domain_screenshot_args *args,
+ remote_domain_screenshot_ret *ret)
{
int rv = -1;
struct qemud_client_stream *stream = NULL;
- virDomainPtr dom;
+ virDomainPtr dom = NULL;
char *mime, **mime_p;
+ if (!conn) {
+ virNetError(VIR_ERR_INTERNAL_ERROR, "%s", _("connection not open"));
+ goto cleanup;
+ }
+
ret->mime = NULL;
- dom = get_nonnull_domain (conn, args->dom);
- if (dom == NULL)
- goto err;
+ if (!(dom = get_nonnull_domain (conn, args->dom)))
+ goto cleanup;
- stream = remoteCreateClientStream(conn, hdr);
- if (!stream)
- goto err;
+ if (!(stream = remoteCreateClientStream(conn, hdr)))
+ goto cleanup;
- mime = virDomainScreenshot(dom, stream->st, args->screen, args->flags);
- if (!mime)
- goto err;
+ if (!(mime = virDomainScreenshot(dom, stream->st, args->screen, args->flags)))
+ goto cleanup;
if (remoteAddClientStream(client, stream, 1) < 0) {
virStreamAbort(stream->st);
- goto err;
+ goto cleanup;
}
if (VIR_ALLOC(mime_p) < 0) {
- remoteDispatchOOMError(rerr);
+ virReportOOMError();
goto cleanup;
}
*mime_p = strdup(mime);
if (*mime_p == NULL) {
- remoteDispatchOOMError(rerr);
+ virReportOOMError();
goto cleanup;
}
ret->mime = mime_p;
+
rv = 0;
-err:
+cleanup:
if (rv < 0)
remoteDispatchError(rerr);
-cleanup:
- virDomainFree(dom);
- if (stream && rv != 0)
+ if (dom)
+ virDomainFree(dom);
+ if (stream && rv != 0) {
+ virStreamAbort(stream->st);
remoteFreeClientStream(client, stream);
+ }
return rv;
}
--
1.7.4.4
13 years, 7 months
[libvirt] [PATCH] cleanup: use c99 initializations
by Lai Jiangshan
It help us avoid to touch many files when we define the internal APIs
of a public API like commit b19bd85e15332405623ed46a3ee8b99812aa6007.
---
src/esx/esx_device_monitor.c | 15 +--
src/esx/esx_driver.c | 175 +++++++++++-------------------
src/esx/esx_interface_driver.c | 18 +---
src/esx/esx_network_driver.c | 23 +----
src/esx/esx_nwfilter_driver.c | 13 +--
src/esx/esx_secret_driver.c | 15 +--
src/esx/esx_storage_driver.c | 68 +++++-------
src/interface/netcf_driver.c | 30 +++---
src/libxl/libxl_driver.c | 165 +++++++++-------------------
src/lxc/lxc_driver.c | 161 ++++++++-------------------
src/network/bridge_driver.c | 40 ++++----
src/openvz/openvz_driver.c | 152 +++++++-------------------
src/phyp/phyp_driver.c | 136 +++++------------------
src/qemu/qemu_driver.c | 220 ++++++++++++++++++-------------------
src/remote/remote_driver.c | 224 +++++++++++++++++++-------------------
src/test/test_driver.c | 240 ++++++++++++++++------------------------
src/uml/uml_driver.c | 156 ++++++++-------------------
src/vbox/vbox_tmpl.c | 208 +++++++++++------------------------
src/vmware/vmware_driver.c | 140 +++++-------------------
src/xen/xen_driver.c | 188 +++++++++++++-------------------
src/xen/xen_hypervisor.c | 56 +++-------
src/xen/xen_inotify.c | 40 +-------
src/xen/xend_internal.c | 73 ++++++-------
src/xen/xm_internal.c | 52 +++-------
src/xen/xs_internal.c | 47 ++-------
src/xenapi/xenapi_driver.c | 157 ++++++++-------------------
26 files changed, 958 insertions(+), 1854 deletions(-)
diff --git a/src/esx/esx_device_monitor.c b/src/esx/esx_device_monitor.c
index 3fa63d5..957edbe 100644
--- a/src/esx/esx_device_monitor.c
+++ b/src/esx/esx_device_monitor.c
@@ -66,18 +66,9 @@ esxDeviceClose(virConnectPtr conn)
static virDeviceMonitor esxDeviceMonitor = {
- "ESX", /* name */
- esxDeviceOpen, /* open */
- esxDeviceClose, /* close */
- NULL, /* numOfDevices */
- NULL, /* listDevices */
- NULL, /* deviceLookupByName */
- NULL, /* deviceGetXMLDesc */
- NULL, /* deviceGetParent */
- NULL, /* deviceNumOfCaps */
- NULL, /* deviceListCaps */
- NULL, /* deviceCreateXML */
- NULL, /* deviceDestroy */
+ .name = "ESX",
+ .open = esxDeviceOpen,
+ .close = esxDeviceClose,
};
diff --git a/src/esx/esx_driver.c b/src/esx/esx_driver.c
index ef7838a..a45f9d0 100644
--- a/src/esx/esx_driver.c
+++ b/src/esx/esx_driver.c
@@ -4589,118 +4589,69 @@ esxDomainGetMemoryParameters(virDomainPtr domain, virMemoryParameterPtr params,
static virDriver esxDriver = {
- VIR_DRV_ESX,
- "ESX",
- esxOpen, /* open */
- esxClose, /* close */
- esxSupportsFeature, /* supports_feature */
- esxGetType, /* type */
- esxGetVersion, /* version */
- NULL, /* libvirtVersion (impl. in libvirt.c) */
- esxGetHostname, /* hostname */
- NULL, /* getSysinfo */
- NULL, /* getMaxVcpus */
- esxNodeGetInfo, /* nodeGetInfo */
- esxGetCapabilities, /* getCapabilities */
- esxListDomains, /* listDomains */
- esxNumberOfDomains, /* numOfDomains */
- NULL, /* domainCreateXML */
- esxDomainLookupByID, /* domainLookupByID */
- esxDomainLookupByUUID, /* domainLookupByUUID */
- esxDomainLookupByName, /* domainLookupByName */
- esxDomainSuspend, /* domainSuspend */
- esxDomainResume, /* domainResume */
- esxDomainShutdown, /* domainShutdown */
- esxDomainReboot, /* domainReboot */
- esxDomainDestroy, /* domainDestroy */
- esxDomainGetOSType, /* domainGetOSType */
- esxDomainGetMaxMemory, /* domainGetMaxMemory */
- esxDomainSetMaxMemory, /* domainSetMaxMemory */
- esxDomainSetMemory, /* domainSetMemory */
- NULL, /* domainSetMemoryFlags */
- esxDomainSetMemoryParameters, /* domainSetMemoryParameters */
- esxDomainGetMemoryParameters, /* domainGetMemoryParameters */
- NULL, /* domainSetBlkioParameters */
- NULL, /* domainGetBlkioParameters */
- esxDomainGetInfo, /* domainGetInfo */
- NULL, /* domainSave */
- NULL, /* domainRestore */
- NULL, /* domainCoreDump */
- NULL, /* domainScreenshot */
- esxDomainSetVcpus, /* domainSetVcpus */
- esxDomainSetVcpusFlags, /* domainSetVcpusFlags */
- esxDomainGetVcpusFlags, /* domainGetVcpusFlags */
- NULL, /* domainPinVcpu */
- NULL, /* domainGetVcpus */
- esxDomainGetMaxVcpus, /* domainGetMaxVcpus */
- NULL, /* domainGetSecurityLabel */
- NULL, /* nodeGetSecurityModel */
- esxDomainGetXMLDesc, /* domainGetXMLDesc */
- esxDomainXMLFromNative, /* domainXMLFromNative */
- esxDomainXMLToNative, /* domainXMLToNative */
- esxListDefinedDomains, /* listDefinedDomains */
- esxNumberOfDefinedDomains, /* numOfDefinedDomains */
- esxDomainCreate, /* domainCreate */
- esxDomainCreateWithFlags, /* domainCreateWithFlags */
- esxDomainDefineXML, /* domainDefineXML */
- esxDomainUndefine, /* domainUndefine */
- NULL, /* domainAttachDevice */
- NULL, /* domainAttachDeviceFlags */
- NULL, /* domainDetachDevice */
- NULL, /* domainDetachDeviceFlags */
- NULL, /* domainUpdateDeviceFlags */
- esxDomainGetAutostart, /* domainGetAutostart */
- esxDomainSetAutostart, /* domainSetAutostart */
- esxDomainGetSchedulerType, /* domainGetSchedulerType */
- esxDomainGetSchedulerParameters, /* domainGetSchedulerParameters */
- esxDomainSetSchedulerParameters, /* domainSetSchedulerParameters */
- esxDomainMigratePrepare, /* domainMigratePrepare */
- esxDomainMigratePerform, /* domainMigratePerform */
- esxDomainMigrateFinish, /* domainMigrateFinish */
- NULL, /* domainBlockStats */
- NULL, /* domainInterfaceStats */
- NULL, /* domainMemoryStats */
- NULL, /* domainBlockPeek */
- NULL, /* domainMemoryPeek */
- NULL, /* domainGetBlockInfo */
- NULL, /* nodeGetCellsFreeMemory */
- esxNodeGetFreeMemory, /* nodeGetFreeMemory */
- NULL, /* domainEventRegister */
- NULL, /* domainEventDeregister */
- NULL, /* domainMigratePrepare2 */
- NULL, /* domainMigrateFinish2 */
- NULL, /* nodeDeviceDettach */
- NULL, /* nodeDeviceReAttach */
- NULL, /* nodeDeviceReset */
- NULL, /* domainMigratePrepareTunnel */
- esxIsEncrypted, /* isEncrypted */
- esxIsSecure, /* isSecure */
- esxDomainIsActive, /* domainIsActive */
- esxDomainIsPersistent, /* domainIsPersistent */
- esxDomainIsUpdated, /* domainIsUpdated */
- NULL, /* cpuCompare */
- NULL, /* cpuBaseline */
- NULL, /* domainGetJobInfo */
- NULL, /* domainAbortJob */
- NULL, /* domainMigrateSetMaxDowntime */
- NULL, /* domainMigrateSetMaxSpeed */
- NULL, /* domainEventRegisterAny */
- NULL, /* domainEventDeregisterAny */
- NULL, /* domainManagedSave */
- NULL, /* domainHasManagedSaveImage */
- NULL, /* domainManagedSaveRemove */
- esxDomainSnapshotCreateXML, /* domainSnapshotCreateXML */
- esxDomainSnapshotGetXMLDesc, /* domainSnapshotGetXMLDesc */
- esxDomainSnapshotNum, /* domainSnapshotNum */
- esxDomainSnapshotListNames, /* domainSnapshotListNames */
- esxDomainSnapshotLookupByName, /* domainSnapshotLookupByName */
- esxDomainHasCurrentSnapshot, /* domainHasCurrentSnapshot */
- esxDomainSnapshotCurrent, /* domainSnapshotCurrent */
- esxDomainRevertToSnapshot, /* domainRevertToSnapshot */
- esxDomainSnapshotDelete, /* domainSnapshotDelete */
- NULL, /* qemuDomainMonitorCommand */
- NULL, /* domainOpenConsole */
- NULL, /* domainInjectNMI */
+ .no = VIR_DRV_ESX,
+ .name = "ESX",
+ .open = esxOpen,
+ .close = esxClose,
+ .supports_feature = esxSupportsFeature,
+ .type = esxGetType,
+ .version = esxGetVersion,
+ .getHostname = esxGetHostname,
+ .nodeGetInfo = esxNodeGetInfo,
+ .getCapabilities = esxGetCapabilities,
+ .listDomains = esxListDomains,
+ .numOfDomains = esxNumberOfDomains,
+ .domainLookupByID = esxDomainLookupByID,
+ .domainLookupByUUID = esxDomainLookupByUUID,
+ .domainLookupByName = esxDomainLookupByName,
+ .domainSuspend = esxDomainSuspend,
+ .domainResume = esxDomainResume,
+ .domainShutdown = esxDomainShutdown,
+ .domainReboot = esxDomainReboot,
+ .domainDestroy = esxDomainDestroy,
+ .domainGetOSType = esxDomainGetOSType,
+ .domainGetMaxMemory = esxDomainGetMaxMemory,
+ .domainSetMaxMemory = esxDomainSetMaxMemory,
+ .domainSetMemory = esxDomainSetMemory,
+ .domainSetMemoryParameters = esxDomainSetMemoryParameters,
+ .domainGetMemoryParameters = esxDomainGetMemoryParameters,
+ .domainGetInfo = esxDomainGetInfo,
+ .domainSetVcpus = esxDomainSetVcpus,
+ .domainSetVcpusFlags = esxDomainSetVcpusFlags,
+ .domainGetVcpusFlags = esxDomainGetVcpusFlags,
+ .domainGetMaxVcpus = esxDomainGetMaxVcpus,
+ .domainGetXMLDesc = esxDomainGetXMLDesc,
+ .domainXMLFromNative = esxDomainXMLFromNative,
+ .domainXMLToNative = esxDomainXMLToNative,
+ .listDefinedDomains = esxListDefinedDomains,
+ .numOfDefinedDomains = esxNumberOfDefinedDomains,
+ .domainCreate = esxDomainCreate,
+ .domainCreateWithFlags = esxDomainCreateWithFlags,
+ .domainDefineXML = esxDomainDefineXML,
+ .domainUndefine = esxDomainUndefine,
+ .domainGetAutostart = esxDomainGetAutostart,
+ .domainSetAutostart = esxDomainSetAutostart,
+ .domainGetSchedulerType = esxDomainGetSchedulerType,
+ .domainGetSchedulerParameters = esxDomainGetSchedulerParameters,
+ .domainSetSchedulerParameters = esxDomainSetSchedulerParameters,
+ .domainMigratePrepare = esxDomainMigratePrepare,
+ .domainMigratePerform = esxDomainMigratePerform,
+ .domainMigrateFinish = esxDomainMigrateFinish,
+ .getFreeMemory = esxNodeGetFreeMemory,
+ .isEncrypted = esxIsEncrypted,
+ .isSecure = esxIsSecure,
+ .domainIsActive = esxDomainIsActive,
+ .domainIsPersistent = esxDomainIsPersistent,
+ .domainIsUpdated = esxDomainIsUpdated,
+ .domainSnapshotCreateXML = esxDomainSnapshotCreateXML,
+ .domainSnapshotGetXMLDesc = esxDomainSnapshotGetXMLDesc,
+ .domainSnapshotNum = esxDomainSnapshotNum,
+ .domainSnapshotListNames = esxDomainSnapshotListNames,
+ .domainSnapshotLookupByName = esxDomainSnapshotLookupByName,
+ .domainHasCurrentSnapshot = esxDomainHasCurrentSnapshot,
+ .domainSnapshotCurrent = esxDomainSnapshotCurrent,
+ .domainRevertToSnapshot = esxDomainRevertToSnapshot,
+ .domainSnapshotDelete = esxDomainSnapshotDelete,
};
diff --git a/src/esx/esx_interface_driver.c b/src/esx/esx_interface_driver.c
index 4bac3d5..15e93bb 100644
--- a/src/esx/esx_interface_driver.c
+++ b/src/esx/esx_interface_driver.c
@@ -66,21 +66,9 @@ esxInterfaceClose(virConnectPtr conn)
static virInterfaceDriver esxInterfaceDriver = {
- "ESX", /* name */
- esxInterfaceOpen, /* open */
- esxInterfaceClose, /* close */
- NULL, /* numOfInterfaces */
- NULL, /* listInterfaces */
- NULL, /* numOfDefinedInterfaces */
- NULL, /* listDefinedInterfaces */
- NULL, /* interfaceLookupByName */
- NULL, /* interfaceLookupByMACString */
- NULL, /* interfaceGetXMLDesc */
- NULL, /* interfaceDefineXML */
- NULL, /* interfaceUndefine */
- NULL, /* interfaceCreate */
- NULL, /* interfaceDestroy */
- NULL, /* interfaceIsActive */
+ .name = "ESX",
+ .open = esxInterfaceOpen,
+ .close = esxInterfaceClose,
};
diff --git a/src/esx/esx_network_driver.c b/src/esx/esx_network_driver.c
index bbc2541..4571fec 100644
--- a/src/esx/esx_network_driver.c
+++ b/src/esx/esx_network_driver.c
@@ -66,26 +66,9 @@ esxNetworkClose(virConnectPtr conn)
static virNetworkDriver esxNetworkDriver = {
- "ESX", /* name */
- esxNetworkOpen, /* open */
- esxNetworkClose, /* close */
- NULL, /* numOfNetworks */
- NULL, /* listNetworks */
- NULL, /* numOfDefinedNetworks */
- NULL, /* listDefinedNetworks */
- NULL, /* networkLookupByUUID */
- NULL, /* networkLookupByName */
- NULL, /* networkCreateXML */
- NULL, /* networkDefineXML */
- NULL, /* networkUndefine */
- NULL, /* networkCreate */
- NULL, /* networkDestroy */
- NULL, /* networkGetXMLDesc */
- NULL, /* networkGetBridgeName */
- NULL, /* networkGetAutostart */
- NULL, /* networkSetAutostart */
- NULL, /* networkIsActive */
- NULL, /* networkIsPersistent */
+ .name = "ESX",
+ .open = esxNetworkOpen,
+ .close = esxNetworkClose,
};
diff --git a/src/esx/esx_nwfilter_driver.c b/src/esx/esx_nwfilter_driver.c
index a9d046d..9dce603 100644
--- a/src/esx/esx_nwfilter_driver.c
+++ b/src/esx/esx_nwfilter_driver.c
@@ -65,16 +65,9 @@ esxNWFilterClose(virConnectPtr conn)
static virNWFilterDriver esxNWFilterDriver = {
- "ESX", /* name */
- esxNWFilterOpen, /* open */
- esxNWFilterClose, /* close */
- NULL, /* numOfNWFilters */
- NULL, /* listNWFilters */
- NULL, /* nwfilterLookupByName */
- NULL, /* nwfilterLookupByUUID */
- NULL, /* defineXML */
- NULL, /* undefine */
- NULL, /* getXMLDesc */
+ .name = "ESX",
+ .open = esxNWFilterOpen,
+ .close = esxNWFilterClose,
};
diff --git a/src/esx/esx_secret_driver.c b/src/esx/esx_secret_driver.c
index 1ae7ddc..e10a5ab 100644
--- a/src/esx/esx_secret_driver.c
+++ b/src/esx/esx_secret_driver.c
@@ -64,18 +64,9 @@ esxSecretClose(virConnectPtr conn)
static virSecretDriver esxSecretDriver = {
- "ESX", /* name */
- esxSecretOpen, /* open */
- esxSecretClose, /* close */
- NULL, /* numOfSecrets */
- NULL, /* listSecrets */
- NULL, /* lookupByUUID */
- NULL, /* lookupByUsage */
- NULL, /* defineXML */
- NULL, /* getXMLDesc */
- NULL, /* setValue */
- NULL, /* getValue */
- NULL, /* undefine */
+ .name = "ESX",
+ .open = esxSecretOpen,
+ .close = esxSecretClose,
};
diff --git a/src/esx/esx_storage_driver.c b/src/esx/esx_storage_driver.c
index f37d064..6b7c2d9 100644
--- a/src/esx/esx_storage_driver.c
+++ b/src/esx/esx_storage_driver.c
@@ -1641,45 +1641,35 @@ esxStoragePoolIsPersistent(virStoragePoolPtr pool ATTRIBUTE_UNUSED)
static virStorageDriver esxStorageDriver = {
- "ESX", /* name */
- esxStorageOpen, /* open */
- esxStorageClose, /* close */
- esxNumberOfStoragePools, /* numOfPools */
- esxListStoragePools, /* listPools */
- esxNumberOfDefinedStoragePools, /* numOfDefinedPools */
- esxListDefinedStoragePools, /* listDefinedPools */
- NULL, /* findPoolSources */
- esxStoragePoolLookupByName, /* poolLookupByName */
- esxStoragePoolLookupByUUID, /* poolLookupByUUID */
- esxStoragePoolLookupByVolume, /* poolLookupByVolume */
- NULL, /* poolCreateXML */
- NULL, /* poolDefineXML */
- NULL, /* poolBuild */
- NULL, /* poolUndefine */
- NULL, /* poolCreate */
- NULL, /* poolDestroy */
- NULL, /* poolDelete */
- esxStoragePoolRefresh, /* poolRefresh */
- esxStoragePoolGetInfo, /* poolGetInfo */
- esxStoragePoolGetXMLDesc, /* poolGetXMLDesc */
- esxStoragePoolGetAutostart, /* poolGetAutostart */
- esxStoragePoolSetAutostart, /* poolSetAutostart */
- esxStoragePoolNumberOfStorageVolumes, /* poolNumOfVolumes */
- esxStoragePoolListStorageVolumes, /* poolListVolumes */
- esxStorageVolumeLookupByName, /* volLookupByName */
- esxStorageVolumeLookupByKey, /* volLookupByKey */
- esxStorageVolumeLookupByPath, /* volLookupByPath */
- esxStorageVolumeCreateXML, /* volCreateXML */
- esxStorageVolumeCreateXMLFrom, /* volCreateXMLFrom */
- NULL, /* volDownload */
- NULL, /* volUpload */
- esxStorageVolumeDelete, /* volDelete */
- esxStorageVolumeWipe, /* volWipe */
- esxStorageVolumeGetInfo, /* volGetInfo */
- esxStorageVolumeGetXMLDesc, /* volGetXMLDesc */
- esxStorageVolumeGetPath, /* volGetPath */
- esxStoragePoolIsActive, /* poolIsActive */
- esxStoragePoolIsPersistent, /* poolIsPersistent */
+ .name = "ESX",
+ .open = esxStorageOpen,
+ .close = esxStorageClose,
+ .numOfPools = esxNumberOfStoragePools,
+ .listPools = esxListStoragePools,
+ .numOfDefinedPools = esxNumberOfDefinedStoragePools,
+ .listDefinedPools = esxListDefinedStoragePools,
+ .poolLookupByName = esxStoragePoolLookupByName,
+ .poolLookupByUUID = esxStoragePoolLookupByUUID,
+ .poolLookupByVolume = esxStoragePoolLookupByVolume,
+ .poolRefresh = esxStoragePoolRefresh,
+ .poolGetInfo = esxStoragePoolGetInfo,
+ .poolGetXMLDesc = esxStoragePoolGetXMLDesc,
+ .poolGetAutostart = esxStoragePoolGetAutostart,
+ .poolSetAutostart = esxStoragePoolSetAutostart,
+ .poolNumOfVolumes = esxStoragePoolNumberOfStorageVolumes,
+ .poolListVolumes = esxStoragePoolListStorageVolumes,
+ .volLookupByName = esxStorageVolumeLookupByName,
+ .volLookupByKey = esxStorageVolumeLookupByKey,
+ .volLookupByPath = esxStorageVolumeLookupByPath,
+ .volCreateXML = esxStorageVolumeCreateXML,
+ .volCreateXMLFrom = esxStorageVolumeCreateXMLFrom,
+ .volDelete = esxStorageVolumeDelete,
+ .volWipe = esxStorageVolumeWipe,
+ .volGetInfo = esxStorageVolumeGetInfo,
+ .volGetXMLDesc = esxStorageVolumeGetXMLDesc,
+ .volGetPath = esxStorageVolumeGetPath,
+ .poolIsActive = esxStoragePoolIsActive,
+ .poolIsPersistent = esxStoragePoolIsPersistent,
};
diff --git a/src/interface/netcf_driver.c b/src/interface/netcf_driver.c
index 709f09b..aa6f7bf 100644
--- a/src/interface/netcf_driver.c
+++ b/src/interface/netcf_driver.c
@@ -541,21 +541,21 @@ cleanup:
}
static virInterfaceDriver interfaceDriver = {
- "Interface",
- interfaceOpenInterface, /* open */
- interfaceCloseInterface, /* close */
- interfaceNumOfInterfaces, /* numOfInterfaces */
- interfaceListInterfaces, /* listInterfaces */
- interfaceNumOfDefinedInterfaces, /* numOfInterfaces */
- interfaceListDefinedInterfaces, /* listInterfaces */
- interfaceLookupByName, /* interfaceLookupByName */
- interfaceLookupByMACString, /* interfaceLookupByMACSTring */
- interfaceGetXMLDesc, /* interfaceGetXMLDesc */
- interfaceDefineXML, /* interfaceDefineXML */
- interfaceUndefine, /* interfaceUndefine */
- interfaceCreate, /* interfaceCreate */
- interfaceDestroy, /* interfaceDestroy */
- interfaceIsActive, /* interfaceIsActive */
+ .name = "Interface",
+ .open = interfaceOpenInterface,
+ .close = interfaceCloseInterface,
+ .numOfInterfaces = interfaceNumOfInterfaces,
+ .listInterfaces = interfaceListInterfaces,
+ .numOfInterfaces = interfaceNumOfDefinedInterfaces,
+ .listInterfaces = interfaceListDefinedInterfaces,
+ .interfaceLookupByName = interfaceLookupByName,
+ .interfaceLookupByMACSTring = interfaceLookupByMACString,
+ .interfaceGetXMLDesc = interfaceGetXMLDesc,
+ .interfaceDefineXML = interfaceDefineXML,
+ .interfaceUndefine = interfaceUndefine,
+ .interfaceCreate = interfaceCreate,
+ .interfaceDestroy = interfaceDestroy,
+ .interfaceIsActive = interfaceIsActive,
};
int interfaceRegister(void) {
diff --git a/src/libxl/libxl_driver.c b/src/libxl/libxl_driver.c
index 60557fc..5ec7157 100644
--- a/src/libxl/libxl_driver.c
+++ b/src/libxl/libxl_driver.c
@@ -2645,118 +2645,59 @@ libxlDomainEventDeregisterAny(virConnectPtr conn, int callbackID)
static virDriver libxlDriver = {
- VIR_DRV_LIBXL,
- "xenlight",
- libxlOpen, /* open */
- libxlClose, /* close */
- NULL, /* supports_feature */
- libxlGetType, /* type */
- libxlGetVersion, /* version */
- NULL, /* libvirtVersion (impl. in libvirt.c) */
- virGetHostname, /* getHostname */
- NULL, /* getSysinfo */
- libxlGetMaxVcpus, /* getMaxVcpus */
- libxlNodeGetInfo, /* nodeGetInfo */
- libxlGetCapabilities, /* getCapabilities */
- libxlListDomains, /* listDomains */
- libxlNumDomains, /* numOfDomains */
- libxlDomainCreateXML, /* domainCreateXML */
- libxlDomainLookupByID, /* domainLookupByID */
- libxlDomainLookupByUUID, /* domainLookupByUUID */
- libxlDomainLookupByName, /* domainLookupByName */
- libxlDomainSuspend, /* domainSuspend */
- libxlDomainResume, /* domainResume */
- libxlDomainShutdown, /* domainShutdown */
- libxlDomainReboot, /* domainReboot */
- libxlDomainDestroy, /* domainDestroy */
- libxlDomainGetOSType, /* domainGetOSType */
- libxlDomainGetMaxMemory, /* domainGetMaxMemory */
- NULL, /* domainSetMaxMemory */
- libxlDomainSetMemory, /* domainSetMemory */
- libxlDomainSetMemoryFlags, /* domainSetMemoryFlags */
- NULL, /* domainSetMemoryParameters */
- NULL, /* domainGetMemoryParameters */
- NULL, /* domainSetBlkioParameters */
- NULL, /* domainGetBlkioParameters */
- libxlDomainGetInfo, /* domainGetInfo */
- NULL, /* domainSave */
- NULL, /* domainRestore */
- NULL, /* domainCoreDump */
- NULL, /* domainScreenshot */
- libxlDomainSetVcpus, /* domainSetVcpus */
- libxlDomainSetVcpusFlags, /* domainSetVcpusFlags */
- libxlDomainGetVcpusFlags, /* domainGetVcpusFlags */
- libxlDomainPinVcpu, /* domainPinVcpu */
- libxlDomainGetVcpus, /* domainGetVcpus */
- NULL, /* domainGetMaxVcpus */
- NULL, /* domainGetSecurityLabel */
- NULL, /* nodeGetSecurityModel */
- libxlDomainGetXMLDesc, /* domainGetXMLDesc */
- libxlDomainXMLFromNative, /* domainXmlFromNative */
- libxlDomainXMLToNative, /* domainXmlToNative */
- libxlListDefinedDomains, /* listDefinedDomains */
- libxlNumDefinedDomains, /* numOfDefinedDomains */
- libxlDomainCreate, /* domainCreate */
- libxlDomainCreateWithFlags, /* domainCreateWithFlags */
- libxlDomainDefineXML, /* domainDefineXML */
- libxlDomainUndefine, /* domainUndefine */
- NULL, /* domainAttachDevice */
- NULL, /* domainAttachDeviceFlags */
- NULL, /* domainDetachDevice */
- NULL, /* domainDetachDeviceFlags */
- NULL, /* domainUpdateDeviceFlags */
- libxlDomainGetAutostart, /* domainGetAutostart */
- libxlDomainSetAutostart, /* domainSetAutostart */
- libxlDomainGetSchedulerType,/* domainGetSchedulerType */
- libxlDomainGetSchedulerParameters,/* domainGetSchedulerParameters */
- libxlDomainSetSchedulerParameters,/* domainSetSchedulerParameters */
- NULL, /* domainMigratePrepare */
- NULL, /* domainMigratePerform */
- NULL, /* domainMigrateFinish */
- NULL, /* domainBlockStats */
- NULL, /* domainInterfaceStats */
- NULL, /* domainMemoryStats */
- NULL, /* domainBlockPeek */
- NULL, /* domainMemoryPeek */
- NULL, /* domainGetBlockInfo */
- NULL, /* nodeGetCellsFreeMemory */
- libxlNodeGetFreeMemory, /* getFreeMemory */
- libxlDomainEventRegister, /* domainEventRegister */
- libxlDomainEventDeregister, /* domainEventDeregister */
- NULL, /* domainMigratePrepare2 */
- NULL, /* domainMigrateFinish2 */
- NULL, /* nodeDeviceDettach */
- NULL, /* nodeDeviceReAttach */
- NULL, /* nodeDeviceReset */
- NULL, /* domainMigratePrepareTunnel */
- NULL, /* IsEncrypted */
- NULL, /* IsSecure */
- libxlDomainIsActive, /* DomainIsActive */
- libxlDomainIsPersistent, /* DomainIsPersistent */
- libxlDomainIsUpdated, /* domainIsUpdated */
- NULL, /* cpuCompare */
- NULL, /* cpuBaseline */
- NULL, /* domainGetJobInfo */
- NULL, /* domainAbortJob */
- NULL, /* domainMigrateSetMaxDowntime */
- NULL, /* domainMigrateSetMaxSpeed */
- libxlDomainEventRegisterAny,/* domainEventRegisterAny */
- libxlDomainEventDeregisterAny,/* domainEventDeregisterAny */
- NULL, /* domainManagedSave */
- NULL, /* domainHasManagedSaveImage */
- NULL, /* domainManagedSaveRemove */
- NULL, /* domainSnapshotCreateXML */
- NULL, /* domainSnapshotGetXMLDesc */
- NULL, /* domainSnapshotNum */
- NULL, /* domainSnapshotListNames */
- NULL, /* domainSnapshotLookupByName */
- NULL, /* domainHasCurrentSnapshot */
- NULL, /* domainSnapshotCurrent */
- NULL, /* domainRevertToSnapshot */
- NULL, /* domainSnapshotDelete */
- NULL, /* qemuDomainMonitorCommand */
- NULL, /* domainOpenConsole */
- NULL, /* domainInjectNMI */
+ .no = VIR_DRV_LIBXL,
+ .name = "xenlight",
+ .open = libxlOpen,
+ .close = libxlClose,
+ .type = libxlGetType,
+ .version = libxlGetVersion,
+ .getHostname = virGetHostname,
+ .getMaxVcpus = libxlGetMaxVcpus,
+ .nodeGetInfo = libxlNodeGetInfo,
+ .getCapabilities = libxlGetCapabilities,
+ .listDomains = libxlListDomains,
+ .numOfDomains = libxlNumDomains,
+ .domainCreateXML = libxlDomainCreateXML,
+ .domainLookupByID = libxlDomainLookupByID,
+ .domainLookupByUUID = libxlDomainLookupByUUID,
+ .domainLookupByName = libxlDomainLookupByName,
+ .domainSuspend = libxlDomainSuspend,
+ .domainResume = libxlDomainResume,
+ .domainShutdown = libxlDomainShutdown,
+ .domainReboot = libxlDomainReboot,
+ .domainDestroy = libxlDomainDestroy,
+ .domainGetOSType = libxlDomainGetOSType,
+ .domainGetMaxMemory = libxlDomainGetMaxMemory,
+ .domainSetMemory = libxlDomainSetMemory,
+ .domainSetMemoryFlags = libxlDomainSetMemoryFlags,
+ .domainGetInfo = libxlDomainGetInfo,
+ .domainSetVcpus = libxlDomainSetVcpus,
+ .domainSetVcpusFlags = libxlDomainSetVcpusFlags,
+ .domainGetVcpusFlags = libxlDomainGetVcpusFlags,
+ .domainPinVcpu = libxlDomainPinVcpu,
+ .domainGetVcpus = libxlDomainGetVcpus,
+ .domainGetXMLDesc = libxlDomainGetXMLDesc,
+ .domainXmlFromNative = libxlDomainXMLFromNative,
+ .domainXmlToNative = libxlDomainXMLToNative,
+ .listDefinedDomains = libxlListDefinedDomains,
+ .numOfDefinedDomains = libxlNumDefinedDomains,
+ .domainCreate = libxlDomainCreate,
+ .domainCreateWithFlags = libxlDomainCreateWithFlags,
+ .domainDefineXML = libxlDomainDefineXML,
+ .domainUndefine = libxlDomainUndefine,
+ .domainGetAutostart = libxlDomainGetAutostart,
+ .domainSetAutostart = libxlDomainSetAutostart,
+ .domainGetSchedulerType = libxlDomainGetSchedulerType,
+ .domainGetSchedulerParameters = libxlDomainGetSchedulerParameters,
+ .domainSetSchedulerParameters = libxlDomainSetSchedulerParameters,
+ .getFreeMemory = libxlNodeGetFreeMemory,
+ .domainEventRegister = libxlDomainEventRegister,
+ .domainEventDeregister = libxlDomainEventDeregister,
+ .domainIsActive = libxlDomainIsActive,
+ .domainIsPersistent = libxlDomainIsPersistent,
+ .domainIsUpdated = libxlDomainIsUpdated,
+ .domainEventRegisterAny = libxlDomainEventRegisterAny,
+ .domainEventDeregisterAny = libxlDomainEventDeregisterAny,
};
static virStateDriver libxlStateDriver = {
diff --git a/src/lxc/lxc_driver.c b/src/lxc/lxc_driver.c
index 68824e4..d2eb3fe 100644
--- a/src/lxc/lxc_driver.c
+++ b/src/lxc/lxc_driver.c
@@ -2674,118 +2674,55 @@ cleanup:
/* Function Tables */
static virDriver lxcDriver = {
- VIR_DRV_LXC, /* the number virDrvNo */
- "LXC", /* the name of the driver */
- lxcOpen, /* open */
- lxcClose, /* close */
- NULL, /* supports_feature */
- NULL, /* type */
- lxcVersion, /* version */
- NULL, /* libvirtVersion (impl. in libvirt.c) */
- virGetHostname, /* getHostname */
- NULL, /* getSysinfo */
- NULL, /* getMaxVcpus */
- nodeGetInfo, /* nodeGetInfo */
- lxcGetCapabilities, /* getCapabilities */
- lxcListDomains, /* listDomains */
- lxcNumDomains, /* numOfDomains */
- lxcDomainCreateAndStart, /* domainCreateXML */
- lxcDomainLookupByID, /* domainLookupByID */
- lxcDomainLookupByUUID, /* domainLookupByUUID */
- lxcDomainLookupByName, /* domainLookupByName */
- lxcDomainSuspend, /* domainSuspend */
- lxcDomainResume, /* domainResume */
- NULL, /* domainShutdown */
- NULL, /* domainReboot */
- lxcDomainDestroy, /* domainDestroy */
- lxcGetOSType, /* domainGetOSType */
- lxcDomainGetMaxMemory, /* domainGetMaxMemory */
- lxcDomainSetMaxMemory, /* domainSetMaxMemory */
- lxcDomainSetMemory, /* domainSetMemory */
- NULL, /* domainSetMemoryFlags */
- lxcDomainSetMemoryParameters, /* domainSetMemoryParameters */
- lxcDomainGetMemoryParameters, /* domainGetMemoryParameters */
- NULL, /* domainSetBlkioParameters */
- NULL, /* domainGetBlkioParameters */
- lxcDomainGetInfo, /* domainGetInfo */
- NULL, /* domainSave */
- NULL, /* domainRestore */
- NULL, /* domainCoreDump */
- NULL, /* domainScreenshot */
- NULL, /* domainSetVcpus */
- NULL, /* domainSetVcpusFlags */
- NULL, /* domainGetVcpusFlags */
- NULL, /* domainPinVcpu */
- NULL, /* domainGetVcpus */
- NULL, /* domainGetMaxVcpus */
- NULL, /* domainGetSecurityLabel */
- NULL, /* nodeGetSecurityModel */
- lxcDomainGetXMLDesc, /* domainGetXMLDesc */
- NULL, /* domainXMLFromNative */
- NULL, /* domainXMLToNative */
- lxcListDefinedDomains, /* listDefinedDomains */
- lxcNumDefinedDomains, /* numOfDefinedDomains */
- lxcDomainStart, /* domainCreate */
- lxcDomainStartWithFlags, /* domainCreateWithFlags */
- lxcDomainDefine, /* domainDefineXML */
- lxcDomainUndefine, /* domainUndefine */
- NULL, /* domainAttachDevice */
- NULL, /* domainAttachDeviceFlags */
- NULL, /* domainDetachDevice */
- NULL, /* domainDetachDeviceFlags */
- NULL, /* domainUpdateDeviceFlags */
- lxcDomainGetAutostart, /* domainGetAutostart */
- lxcDomainSetAutostart, /* domainSetAutostart */
- lxcGetSchedulerType, /* domainGetSchedulerType */
- lxcGetSchedulerParameters, /* domainGetSchedulerParameters */
- lxcSetSchedulerParameters, /* domainSetSchedulerParameters */
- NULL, /* domainMigratePrepare */
- NULL, /* domainMigratePerform */
- NULL, /* domainMigrateFinish */
- NULL, /* domainBlockStats */
- lxcDomainInterfaceStats, /* domainInterfaceStats */
- NULL, /* domainMemoryStats */
- NULL, /* domainBlockPeek */
- NULL, /* domainMemoryPeek */
- NULL, /* domainGetBlockInfo */
- nodeGetCellsFreeMemory, /* nodeGetCellsFreeMemory */
- nodeGetFreeMemory, /* getFreeMemory */
- lxcDomainEventRegister, /* domainEventRegister */
- lxcDomainEventDeregister, /* domainEventDeregister */
- NULL, /* domainMigratePrepare2 */
- NULL, /* domainMigrateFinish2 */
- NULL, /* nodeDeviceDettach */
- NULL, /* nodeDeviceReAttach */
- NULL, /* nodeDeviceReset */
- NULL, /* domainMigratePrepareTunnel */
- lxcIsEncrypted, /* isEncrypted */
- lxcIsSecure, /* isSecure */
- lxcDomainIsActive, /* domainIsActive */
- lxcDomainIsPersistent, /* domainIsPersistent */
- lxcDomainIsUpdated, /* domainIsUpdated */
- NULL, /* cpuCompare */
- NULL, /* cpuBaseline */
- NULL, /* domainGetJobInfo */
- NULL, /* domainAbortJob */
- NULL, /* domainMigrateSetMaxDowntime */
- NULL, /* domainMigrateSetMaxSpeed */
- lxcDomainEventRegisterAny, /* domainEventRegisterAny */
- lxcDomainEventDeregisterAny, /* domainEventDeregisterAny */
- NULL, /* domainManagedSave */
- NULL, /* domainHasManagedSaveImage */
- NULL, /* domainManagedSaveRemove */
- NULL, /* domainSnapshotCreateXML */
- NULL, /* domainSnapshotGetXMLDesc */
- NULL, /* domainSnapshotNum */
- NULL, /* domainSnapshotListNames */
- NULL, /* domainSnapshotLookupByName */
- NULL, /* domainHasCurrentSnapshot */
- NULL, /* domainSnapshotCurrent */
- NULL, /* domainRevertToSnapshot */
- NULL, /* domainSnapshotDelete */
- NULL, /* qemuDomainMonitorCommand */
- lxcDomainOpenConsole, /* domainOpenConsole */
- NULL, /* domainInjectNMI */
+ .no = VIR_DRV_LXC,
+ .name = "LXC",
+ .open = lxcOpen,
+ .close = lxcClose,
+ .version = lxcVersion,
+ .getHostname = virGetHostname,
+ .nodeGetInfo = nodeGetInfo,
+ .getCapabilities = lxcGetCapabilities,
+ .listDomains = lxcListDomains,
+ .numOfDomains = lxcNumDomains,
+ .domainCreateXML = lxcDomainCreateAndStart,
+ .domainLookupByID = lxcDomainLookupByID,
+ .domainLookupByUUID = lxcDomainLookupByUUID,
+ .domainLookupByName = lxcDomainLookupByName,
+ .domainSuspend = lxcDomainSuspend,
+ .domainResume = lxcDomainResume,
+ .domainDestroy = lxcDomainDestroy,
+ .domainGetOSType = lxcGetOSType,
+ .domainGetMaxMemory = lxcDomainGetMaxMemory,
+ .domainSetMaxMemory = lxcDomainSetMaxMemory,
+ .domainSetMemory = lxcDomainSetMemory,
+ .domainSetMemoryParameters = lxcDomainSetMemoryParameters,
+ .domainGetMemoryParameters = lxcDomainGetMemoryParameters,
+ .domainGetInfo = lxcDomainGetInfo,
+ .domainGetXMLDesc = lxcDomainGetXMLDesc,
+ .listDefinedDomains = lxcListDefinedDomains,
+ .numOfDefinedDomains = lxcNumDefinedDomains,
+ .domainCreate = lxcDomainStart,
+ .domainCreateWithFlags = lxcDomainStartWithFlags,
+ .domainDefineXML = lxcDomainDefine,
+ .domainUndefine = lxcDomainUndefine,
+ .domainGetAutostart = lxcDomainGetAutostart,
+ .domainSetAutostart = lxcDomainSetAutostart,
+ .domainGetSchedulerType = lxcGetSchedulerType,
+ .domainGetSchedulerParameters = lxcGetSchedulerParameters,
+ .domainSetSchedulerParameters = lxcSetSchedulerParameters,
+ .domainInterfaceStats = lxcDomainInterfaceStats,
+ .nodeGetCellsFreeMemory = nodeGetCellsFreeMemory,
+ .getFreeMemory = nodeGetFreeMemory,
+ .domainEventRegister = lxcDomainEventRegister,
+ .domainEventDeregister = lxcDomainEventDeregister,
+ .isEncrypted = lxcIsEncrypted,
+ .isSecure = lxcIsSecure,
+ .domainIsActive = lxcDomainIsActive,
+ .domainIsPersistent = lxcDomainIsPersistent,
+ .domainIsUpdated = lxcDomainIsUpdated,
+ .domainEventRegisterAny = lxcDomainEventRegisterAny,
+ .domainEventDeregisterAny = lxcDomainEventDeregisterAny,
+ .domainOpenConsole = lxcDomainOpenConsole,
};
static virStateDriver lxcStateDriver = {
diff --git a/src/network/bridge_driver.c b/src/network/bridge_driver.c
index d6030a4..0373fca 100644
--- a/src/network/bridge_driver.c
+++ b/src/network/bridge_driver.c
@@ -2503,26 +2503,26 @@ cleanup:
static virNetworkDriver networkDriver = {
- "Network",
- networkOpenNetwork, /* open */
- networkCloseNetwork, /* close */
- networkNumNetworks, /* numOfNetworks */
- networkListNetworks, /* listNetworks */
- networkNumDefinedNetworks, /* numOfDefinedNetworks */
- networkListDefinedNetworks, /* listDefinedNetworks */
- networkLookupByUUID, /* networkLookupByUUID */
- networkLookupByName, /* networkLookupByName */
- networkCreate, /* networkCreateXML */
- networkDefine, /* networkDefineXML */
- networkUndefine, /* networkUndefine */
- networkStart, /* networkCreate */
- networkDestroy, /* networkDestroy */
- networkGetXMLDesc, /* networkGetXMLDesc */
- networkGetBridgeName, /* networkGetBridgeName */
- networkGetAutostart, /* networkGetAutostart */
- networkSetAutostart, /* networkSetAutostart */
- networkIsActive,
- networkIsPersistent,
+ .name = "Network",
+ .open = networkOpenNetwork,
+ .close = networkCloseNetwork,
+ .numOfNetworks = networkNumNetworks,
+ .listNetworks = networkListNetworks,
+ .numOfDefinedNetworks = networkNumDefinedNetworks,
+ .listDefinedNetworks = networkListDefinedNetworks,
+ .networkLookupByUUID = networkLookupByUUID,
+ .networkLookupByName = networkLookupByName,
+ .networkCreateXML = networkCreate,
+ .networkDefineXML = networkDefine,
+ .networkUndefine = networkUndefine,
+ .networkCreate = networkStart,
+ .networkDestroy = networkDestroy,
+ .networkGetXMLDesc = networkGetXMLDesc,
+ .networkGetBridgeName = networkGetBridgeName,
+ .networkGetAutostart = networkGetAutostart,
+ .networkSetAutostart = networkSetAutostart,
+ .networkIsActive = networkIsActive,
+ .networkIsPersistent = networkIsPersistent,
};
static virStateDriver networkStateDriver = {
diff --git a/src/openvz/openvz_driver.c b/src/openvz/openvz_driver.c
index 3e1952f..157f73f 100644
--- a/src/openvz/openvz_driver.c
+++ b/src/openvz/openvz_driver.c
@@ -1543,118 +1543,46 @@ cleanup:
}
static virDriver openvzDriver = {
- VIR_DRV_OPENVZ,
- "OPENVZ",
- openvzOpen, /* open */
- openvzClose, /* close */
- NULL, /* supports_feature */
- openvzGetType, /* type */
- openvzGetVersion, /* version */
- NULL, /* libvirtVersion (impl. in libvirt.c) */
- NULL, /* getHostname */
- NULL, /* getSysinfo */
- openvzGetMaxVCPUs, /* getMaxVcpus */
- nodeGetInfo, /* nodeGetInfo */
- openvzGetCapabilities, /* getCapabilities */
- openvzListDomains, /* listDomains */
- openvzNumDomains, /* numOfDomains */
- openvzDomainCreateXML, /* domainCreateXML */
- openvzDomainLookupByID, /* domainLookupByID */
- openvzDomainLookupByUUID, /* domainLookupByUUID */
- openvzDomainLookupByName, /* domainLookupByName */
- openvzDomainSuspend, /* domainSuspend */
- openvzDomainResume, /* domainResume */
- openvzDomainShutdown, /* domainShutdown */
- openvzDomainReboot, /* domainReboot */
- openvzDomainShutdown, /* domainDestroy */
- openvzGetOSType, /* domainGetOSType */
- NULL, /* domainGetMaxMemory */
- NULL, /* domainSetMaxMemory */
- NULL, /* domainSetMemory */
- NULL, /* domainSetMemoryFlags */
- NULL, /* domainSetMemoryParameters */
- NULL, /* domainGetMemoryParameters */
- NULL, /* domainSetBlkioParameters */
- NULL, /* domainGetBlkioParameters */
- openvzDomainGetInfo, /* domainGetInfo */
- NULL, /* domainSave */
- NULL, /* domainRestore */
- NULL, /* domainCoreDump */
- NULL, /* domainScreenshot */
- openvzDomainSetVcpus, /* domainSetVcpus */
- openvzDomainSetVcpusFlags, /* domainSetVcpusFlags */
- openvzDomainGetVcpusFlags, /* domainGetVcpusFlags */
- NULL, /* domainPinVcpu */
- NULL, /* domainGetVcpus */
- openvzDomainGetMaxVcpus, /* domainGetMaxVcpus */
- NULL, /* domainGetSecurityLabel */
- NULL, /* nodeGetSecurityModel */
- openvzDomainGetXMLDesc, /* domainGetXMLDesc */
- NULL, /* domainXmlFromNative */
- NULL, /* domainXmlToNative */
- openvzListDefinedDomains, /* listDefinedDomains */
- openvzNumDefinedDomains, /* numOfDefinedDomains */
- openvzDomainCreate, /* domainCreate */
- openvzDomainCreateWithFlags, /* domainCreateWithFlags */
- openvzDomainDefineXML, /* domainDefineXML */
- openvzDomainUndefine, /* domainUndefine */
- NULL, /* domainAttachDevice */
- NULL, /* domainAttachDeviceFlags */
- NULL, /* domainDetachDevice */
- NULL, /* domainDetachDeviceFlags */
- NULL, /* domainUpdateDeviceFlags */
- openvzDomainGetAutostart, /* domainGetAutostart */
- openvzDomainSetAutostart, /* domainSetAutostart */
- NULL, /* domainGetSchedulerType */
- NULL, /* domainGetSchedulerParameters */
- NULL, /* domainSetSchedulerParameters */
- NULL, /* domainMigratePrepare */
- NULL, /* domainMigratePerform */
- NULL, /* domainMigrateFinish */
- NULL, /* domainBlockStats */
- NULL, /* domainInterfaceStats */
- NULL, /* domainMemoryStats */
- NULL, /* domainBlockPeek */
- NULL, /* domainMemoryPeek */
- NULL, /* domainGetBlockInfo */
- NULL, /* nodeGetCellsFreeMemory */
- NULL, /* getFreeMemory */
- NULL, /* domainEventRegister */
- NULL, /* domainEventDeregister */
- NULL, /* domainMigratePrepare2 */
- NULL, /* domainMigrateFinish2 */
- NULL, /* nodeDeviceDettach */
- NULL, /* nodeDeviceReAttach */
- NULL, /* nodeDeviceReset */
- NULL, /* domainMigratePrepareTunnel */
- openvzIsEncrypted,
- openvzIsSecure,
- openvzDomainIsActive,
- openvzDomainIsPersistent,
- openvzDomainIsUpdated, /* domainIsUpdated */
- NULL, /* cpuCompare */
- NULL, /* cpuBaseline */
- NULL, /* domainGetJobInfo */
- NULL, /* domainAbortJob */
- NULL, /* domainMigrateSetMaxDowntime */
- NULL, /* domainMigrateSetMaxSpeed */
- NULL, /* domainEventRegisterAny */
- NULL, /* domainEventDeregisterAny */
- NULL, /* domainManagedSave */
- NULL, /* domainHasManagedSaveImage */
- NULL, /* domainManagedSaveRemove */
- NULL, /* domainSnapshotCreateXML */
- NULL, /* domainSnapshotGetXMLDesc */
- NULL, /* domainSnapshotNum */
- NULL, /* domainSnapshotListNames */
- NULL, /* domainSnapshotLookupByName */
- NULL, /* domainHasCurrentSnapshot */
- NULL, /* domainSnapshotCurrent */
- NULL, /* domainRevertToSnapshot */
- NULL, /* domainSnapshotDelete */
- NULL, /* qemuDomainMonitorCommand */
- NULL, /* domainOpenConsole */
- NULL, /* domainInjectNMI */
+ .no = VIR_DRV_OPENVZ,
+ .name = "OPENVZ",
+ .open = openvzOpen,
+ .close = openvzClose,
+ .type = openvzGetType,
+ .version = openvzGetVersion,
+ .getMaxVcpus = openvzGetMaxVCPUs,
+ .nodeGetInfo = nodeGetInfo,
+ .getCapabilities = openvzGetCapabilities,
+ .listDomains = openvzListDomains,
+ .numOfDomains = openvzNumDomains,
+ .domainCreateXML = openvzDomainCreateXML,
+ .domainLookupByID = openvzDomainLookupByID,
+ .domainLookupByUUID = openvzDomainLookupByUUID,
+ .domainLookupByName = openvzDomainLookupByName,
+ .domainSuspend = openvzDomainSuspend,
+ .domainResume = openvzDomainResume,
+ .domainShutdown = openvzDomainShutdown,
+ .domainReboot = openvzDomainReboot,
+ .domainDestroy = openvzDomainShutdown,
+ .domainGetOSType = openvzGetOSType,
+ .domainGetInfo = openvzDomainGetInfo,
+ .domainSetVcpus = openvzDomainSetVcpus,
+ .domainSetVcpusFlags = openvzDomainSetVcpusFlags,
+ .domainGetVcpusFlags = openvzDomainGetVcpusFlags,
+ .domainGetMaxVcpus = openvzDomainGetMaxVcpus,
+ .domainGetXMLDesc = openvzDomainGetXMLDesc,
+ .listDefinedDomains = openvzListDefinedDomains,
+ .numOfDefinedDomains = openvzNumDefinedDomains,
+ .domainCreate = openvzDomainCreate,
+ .domainCreateWithFlags = openvzDomainCreateWithFlags,
+ .domainDefineXML = openvzDomainDefineXML,
+ .domainUndefine = openvzDomainUndefine,
+ .domainGetAutostart = openvzDomainGetAutostart,
+ .domainSetAutostart = openvzDomainSetAutostart,
+ .isEncrypted = openvzIsEncrypted,
+ .isSecure = openvzIsSecure,
+ .domainIsActive = openvzDomainIsActive,
+ .domainIsPersistent = openvzDomainIsPersistent,
+ .domainIsUpdated = openvzDomainIsUpdated,
};
int openvzRegister(void) {
diff --git a/src/phyp/phyp_driver.c b/src/phyp/phyp_driver.c
index 8b6fa69..1f05f60 100644
--- a/src/phyp/phyp_driver.c
+++ b/src/phyp/phyp_driver.c
@@ -3725,116 +3725,32 @@ phypVIOSDriverClose(virConnectPtr conn ATTRIBUTE_UNUSED)
}
static virDriver phypDriver = {
- VIR_DRV_PHYP, "PHYP", phypOpen, /* open */
- phypClose, /* close */
- NULL, /* supports_feature */
- NULL, /* type */
- NULL, /* version */
- NULL, /* libvirtVersion (impl. in libvirt.c) */
- NULL, /* getHostname */
- NULL, /* getSysinfo */
- NULL, /* getMaxVcpus */
- NULL, /* nodeGetInfo */
- phypConnectGetCapabilities, /* getCapabilities */
- phypListDomains, /* listDomains */
- phypNumDomains, /* numOfDomains */
- phypDomainCreateAndStart, /* domainCreateXML */
- phypDomainLookupByID, /* domainLookupByID */
- NULL, /* domainLookupByUUID */
- phypDomainLookupByName, /* domainLookupByName */
- NULL, /* domainSuspend */
- phypDomainResume, /* domainResume */
- phypDomainShutdown, /* domainShutdown */
- phypDomainReboot, /* domainReboot */
- phypDomainDestroy, /* domainDestroy */
- NULL, /* domainGetOSType */
- NULL, /* domainGetMaxMemory */
- NULL, /* domainSetMaxMemory */
- NULL, /* domainSetMemory */
- NULL, /* domainSetMemoryFlags */
- NULL, /* domainSetMemoryParameters */
- NULL, /* domainGetMemoryParameters */
- NULL, /* domainSetBlkioParameters */
- NULL, /* domainGetBlkioParameters */
- phypDomainGetInfo, /* domainGetInfo */
- NULL, /* domainSave */
- NULL, /* domainRestore */
- NULL, /* domainCoreDump */
- NULL, /* domainScreenshot */
- phypDomainSetCPU, /* domainSetVcpus */
- phypDomainSetVcpusFlags, /* domainSetVcpusFlags */
- phypDomainGetVcpusFlags, /* domainGetVcpusFlags */
- NULL, /* domainPinVcpu */
- NULL, /* domainGetVcpus */
- phypGetLparCPUMAX, /* domainGetMaxVcpus */
- NULL, /* domainGetSecurityLabel */
- NULL, /* nodeGetSecurityModel */
- phypDomainGetXMLDesc, /* domainGetXMLDesc */
- NULL, /* domainXMLFromNative */
- NULL, /* domainXMLToNative */
- phypListDefinedDomains, /* listDefinedDomains */
- phypNumDefinedDomains, /* numOfDefinedDomains */
- NULL, /* domainCreate */
- NULL, /* domainCreateWithFlags */
- NULL, /* domainDefineXML */
- NULL, /* domainUndefine */
- phypAttachDevice, /* domainAttachDevice */
- NULL, /* domainAttachDeviceFlags */
- NULL, /* domainDetachDevice */
- NULL, /* domainDetachDeviceFlags */
- NULL, /* domainUpdateDeviceFlags */
- NULL, /* domainGetAutostart */
- NULL, /* domainSetAutostart */
- NULL, /* domainGetSchedulerType */
- NULL, /* domainGetSchedulerParameters */
- NULL, /* domainSetSchedulerParameters */
- NULL, /* domainMigratePrepare */
- NULL, /* domainMigratePerform */
- NULL, /* domainMigrateFinish */
- NULL, /* domainBlockStats */
- NULL, /* domainInterfaceStats */
- NULL, /* domainMemoryStats */
- NULL, /* domainBlockPeek */
- NULL, /* domainMemoryPeek */
- NULL, /* domainGetBlockInfo */
- NULL, /* nodeGetCellsFreeMemory */
- NULL, /* getFreeMemory */
- NULL, /* domainEventRegister */
- NULL, /* domainEventDeregister */
- NULL, /* domainMigratePrepare2 */
- NULL, /* domainMigrateFinish2 */
- NULL, /* nodeDeviceDettach */
- NULL, /* nodeDeviceReAttach */
- NULL, /* nodeDeviceReset */
- NULL, /* domainMigratePrepareTunnel */
- phypIsEncrypted, /* isEncrypted */
- phypIsSecure, /* isSecure */
- NULL, /* domainIsActive */
- NULL, /* domainIsPersistent */
- phypIsUpdated, /* domainIsUpdated */
- NULL, /* cpuCompare */
- NULL, /* cpuBaseline */
- NULL, /* domainGetJobInfo */
- NULL, /* domainAbortJob */
- NULL, /* domainMigrateSetMaxDowntime */
- NULL, /* domainMigrateSetMaxSpeed */
- NULL, /* domainEventRegisterAny */
- NULL, /* domainEventDeregisterAny */
- NULL, /* domainManagedSave */
- NULL, /* domainHasManagedSaveImage */
- NULL, /* domainManagedSaveRemove */
- NULL, /* domainSnapshotCreateXML */
- NULL, /* domainSnapshotGetXMLDesc */
- NULL, /* domainSnapshotNum */
- NULL, /* domainSnapshotListNames */
- NULL, /* domainSnapshotLookupByName */
- NULL, /* domainHasCurrentSnapshot */
- NULL, /* domainSnapshotCurrent */
- NULL, /* domainRevertToSnapshot */
- NULL, /* domainSnapshotDelete */
- NULL, /* qemuMonitorCommand */
- NULL, /* domainOpenConsole */
- NULL, /* domainInjectNMI */
+ .no = VIR_DRV_PHYP,
+ .name = "PHYP",
+ .open = phypOpen,
+ .close = phypClose,
+ .getCapabilities = phypConnectGetCapabilities,
+ .listDomains = phypListDomains,
+ .numOfDomains = phypNumDomains,
+ .domainCreateXML = phypDomainCreateAndStart,
+ .domainLookupByID = phypDomainLookupByID,
+ .domainLookupByName = phypDomainLookupByName,
+ .domainResume = phypDomainResume,
+ .domainShutdown = phypDomainShutdown,
+ .domainReboot = phypDomainReboot,
+ .domainDestroy = phypDomainDestroy,
+ .domainGetInfo = phypDomainGetInfo,
+ .domainSetVcpus = phypDomainSetCPU,
+ .domainSetVcpusFlags = phypDomainSetVcpusFlags,
+ .domainGetVcpusFlags = phypDomainGetVcpusFlags,
+ .domainGetMaxVcpus = phypGetLparCPUMAX,
+ .domainGetXMLDesc = phypDomainGetXMLDesc,
+ .listDefinedDomains = phypListDefinedDomains,
+ .numOfDefinedDomains = phypNumDefinedDomains,
+ .domainAttachDevice = phypAttachDevice,
+ .isEncrypted = phypIsEncrypted,
+ .isSecure = phypIsSecure,
+ .domainIsUpdated = phypIsUpdated,
};
static virStorageDriver phypStorageDriver = {
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index fff41e0..c9eb279 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -7212,118 +7212,114 @@ cleanup:
static virDriver qemuDriver = {
- VIR_DRV_QEMU,
- "QEMU",
- qemudOpen, /* open */
- qemudClose, /* close */
- qemudSupportsFeature, /* supports_feature */
- qemudGetType, /* type */
- qemudGetVersion, /* version */
- NULL, /* libvirtVersion (impl. in libvirt.c) */
- virGetHostname, /* getHostname */
- qemuGetSysinfo, /* getSysinfo */
- qemudGetMaxVCPUs, /* getMaxVcpus */
- nodeGetInfo, /* nodeGetInfo */
- qemudGetCapabilities, /* getCapabilities */
- qemudListDomains, /* listDomains */
- qemudNumDomains, /* numOfDomains */
- qemudDomainCreate, /* domainCreateXML */
- qemudDomainLookupByID, /* domainLookupByID */
- qemudDomainLookupByUUID, /* domainLookupByUUID */
- qemudDomainLookupByName, /* domainLookupByName */
- qemudDomainSuspend, /* domainSuspend */
- qemudDomainResume, /* domainResume */
- qemudDomainShutdown, /* domainShutdown */
- NULL, /* domainReboot */
- qemudDomainDestroy, /* domainDestroy */
- qemudDomainGetOSType, /* domainGetOSType */
- qemudDomainGetMaxMemory, /* domainGetMaxMemory */
- qemudDomainSetMaxMemory, /* domainSetMaxMemory */
- qemudDomainSetMemory, /* domainSetMemory */
- qemudDomainSetMemoryFlags, /* domainSetMemoryFlags */
- qemuDomainSetMemoryParameters, /* domainSetMemoryParameters */
- qemuDomainGetMemoryParameters, /* domainGetMemoryParameters */
- qemuDomainSetBlkioParameters, /* domainSetBlkioParameters */
- qemuDomainGetBlkioParameters, /* domainGetBlkioParameters */
- qemudDomainGetInfo, /* domainGetInfo */
- qemudDomainSave, /* domainSave */
- qemuDomainRestore, /* domainRestore */
- qemudDomainCoreDump, /* domainCoreDump */
- qemuDomainScreenshot, /* domainScreenshot */
- qemudDomainSetVcpus, /* domainSetVcpus */
- qemudDomainSetVcpusFlags, /* domainSetVcpusFlags */
- qemudDomainGetVcpusFlags, /* domainGetVcpusFlags */
- qemudDomainPinVcpu, /* domainPinVcpu */
- qemudDomainGetVcpus, /* domainGetVcpus */
- qemudDomainGetMaxVcpus, /* domainGetMaxVcpus */
- qemudDomainGetSecurityLabel, /* domainGetSecurityLabel */
- qemudNodeGetSecurityModel, /* nodeGetSecurityModel */
- qemuDomainGetXMLDesc, /* domainGetXMLDesc */
- qemuDomainXMLFromNative, /* domainXmlFromNative */
- qemuDomainXMLToNative, /* domainXMLToNative */
- qemudListDefinedDomains, /* listDefinedDomains */
- qemudNumDefinedDomains, /* numOfDefinedDomains */
- qemudDomainStart, /* domainCreate */
- qemudDomainStartWithFlags, /* domainCreateWithFlags */
- qemudDomainDefine, /* domainDefineXML */
- qemudDomainUndefine, /* domainUndefine */
- qemuDomainAttachDevice, /* domainAttachDevice */
- qemuDomainAttachDeviceFlags, /* domainAttachDeviceFlags */
- qemuDomainDetachDevice, /* domainDetachDevice */
- qemuDomainDetachDeviceFlags, /* domainDetachDeviceFlags */
- qemuDomainUpdateDeviceFlags, /* domainUpdateDeviceFlags */
- qemudDomainGetAutostart, /* domainGetAutostart */
- qemudDomainSetAutostart, /* domainSetAutostart */
- qemuGetSchedulerType, /* domainGetSchedulerType */
- qemuGetSchedulerParameters, /* domainGetSchedulerParameters */
- qemuSetSchedulerParameters, /* domainSetSchedulerParameters */
- NULL, /* domainMigratePrepare (v1) */
- qemudDomainMigratePerform, /* domainMigratePerform */
- NULL, /* domainMigrateFinish */
- qemudDomainBlockStats, /* domainBlockStats */
- qemudDomainInterfaceStats, /* domainInterfaceStats */
- qemudDomainMemoryStats, /* domainMemoryStats */
- qemudDomainBlockPeek, /* domainBlockPeek */
- qemudDomainMemoryPeek, /* domainMemoryPeek */
- qemuDomainGetBlockInfo, /* domainGetBlockInfo */
- nodeGetCellsFreeMemory, /* nodeGetCellsFreeMemory */
- nodeGetFreeMemory, /* getFreeMemory */
- qemuDomainEventRegister, /* domainEventRegister */
- qemuDomainEventDeregister, /* domainEventDeregister */
- qemudDomainMigratePrepare2, /* domainMigratePrepare2 */
- qemudDomainMigrateFinish2, /* domainMigrateFinish2 */
- qemudNodeDeviceDettach, /* nodeDeviceDettach */
- qemudNodeDeviceReAttach, /* nodeDeviceReAttach */
- qemudNodeDeviceReset, /* nodeDeviceReset */
- qemudDomainMigratePrepareTunnel, /* domainMigratePrepareTunnel */
- qemuIsEncrypted, /* isEncrypted */
- qemuIsSecure, /* isSecure */
- qemuDomainIsActive, /* domainIsActive */
- qemuDomainIsPersistent, /* domainIsPersistent */
- qemuDomainIsUpdated, /* domainIsUpdated */
- qemuCPUCompare, /* cpuCompare */
- qemuCPUBaseline, /* cpuBaseline */
- qemuDomainGetJobInfo, /* domainGetJobInfo */
- qemuDomainAbortJob, /* domainAbortJob */
- qemuDomainMigrateSetMaxDowntime, /* domainMigrateSetMaxDowntime */
- qemuDomainMigrateSetMaxSpeed, /* domainMigrateSetMaxSpeed */
- qemuDomainEventRegisterAny, /* domainEventRegisterAny */
- qemuDomainEventDeregisterAny, /* domainEventDeregisterAny */
- qemuDomainManagedSave, /* domainManagedSave */
- qemuDomainHasManagedSaveImage, /* domainHasManagedSaveImage */
- qemuDomainManagedSaveRemove, /* domainManagedSaveRemove */
- qemuDomainSnapshotCreateXML, /* domainSnapshotCreateXML */
- qemuDomainSnapshotGetXMLDesc, /* domainSnapshotGetXMLDesc */
- qemuDomainSnapshotNum, /* domainSnapshotNum */
- qemuDomainSnapshotListNames, /* domainSnapshotListNames */
- qemuDomainSnapshotLookupByName, /* domainSnapshotLookupByName */
- qemuDomainHasCurrentSnapshot, /* domainHasCurrentSnapshot */
- qemuDomainSnapshotCurrent, /* domainSnapshotCurrent */
- qemuDomainRevertToSnapshot, /* domainRevertToSnapshot */
- qemuDomainSnapshotDelete, /* domainSnapshotDelete */
- qemuDomainMonitorCommand, /* qemuDomainMonitorCommand */
- qemuDomainOpenConsole, /* domainOpenConsole */
- qemuDomainInjectNMI, /* domainInjectNMI */
+ .no = VIR_DRV_QEMU,
+ .name = "QEMU",
+ .open = qemudOpen,
+ .close = qemudClose,
+ .supports_feature = qemudSupportsFeature,
+ .type = qemudGetType,
+ .version = qemudGetVersion,
+ .getHostname = virGetHostname,
+ .getSysinfo = qemuGetSysinfo,
+ .getMaxVcpus = qemudGetMaxVCPUs,
+ .nodeGetInfo = nodeGetInfo,
+ .getCapabilities = qemudGetCapabilities,
+ .listDomains = qemudListDomains,
+ .numOfDomains = qemudNumDomains,
+ .domainCreateXML = qemudDomainCreate,
+ .domainLookupByID = qemudDomainLookupByID,
+ .domainLookupByUUID = qemudDomainLookupByUUID,
+ .domainLookupByName = qemudDomainLookupByName,
+ .domainSuspend = qemudDomainSuspend,
+ .domainResume = qemudDomainResume,
+ .domainShutdown = qemudDomainShutdown,
+ .domainDestroy = qemudDomainDestroy,
+ .domainGetOSType = qemudDomainGetOSType,
+ .domainGetMaxMemory = qemudDomainGetMaxMemory,
+ .domainSetMaxMemory = qemudDomainSetMaxMemory,
+ .domainSetMemory = qemudDomainSetMemory,
+ .domainSetMemoryFlags = qemudDomainSetMemoryFlags,
+ .domainSetMemoryParameters = qemuDomainSetMemoryParameters,
+ .domainGetMemoryParameters = qemuDomainGetMemoryParameters,
+ .domainSetBlkioParameters = qemuDomainSetBlkioParameters,
+ .domainGetBlkioParameters = qemuDomainGetBlkioParameters,
+ .domainGetInfo = qemudDomainGetInfo,
+ .domainSave = qemudDomainSave,
+ .domainRestore = qemuDomainRestore,
+ .domainCoreDump = qemudDomainCoreDump,
+ .domainScreenshot = qemuDomainScreenshot,
+ .domainSetVcpus = qemudDomainSetVcpus,
+ .domainSetVcpusFlags = qemudDomainSetVcpusFlags,
+ .domainGetVcpusFlags = qemudDomainGetVcpusFlags,
+ .domainPinVcpu = qemudDomainPinVcpu,
+ .domainGetVcpus = qemudDomainGetVcpus,
+ .domainGetMaxVcpus = qemudDomainGetMaxVcpus,
+ .domainGetSecurityLabel = qemudDomainGetSecurityLabel,
+ .nodeGetSecurityModel = qemudNodeGetSecurityModel,
+ .domainGetXMLDesc = qemuDomainGetXMLDesc,
+ .domainXMLFromNative = qemuDomainXMLFromNative,
+ .domainXMLToNative = qemuDomainXMLToNative,
+ .listDefinedDomains = qemudListDefinedDomains,
+ .numOfDefinedDomains = qemudNumDefinedDomains,
+ .domainCreate = qemudDomainStart,
+ .domainCreateWithFlags = qemudDomainStartWithFlags,
+ .domainDefineXML = qemudDomainDefine,
+ .domainUndefine = qemudDomainUndefine,
+ .domainAttachDevice = qemuDomainAttachDevice,
+ .domainAttachDeviceFlags = qemuDomainAttachDeviceFlags,
+ .domainDetachDevice = qemuDomainDetachDevice,
+ .domainDetachDeviceFlags = qemuDomainDetachDeviceFlags,
+ .domainUpdateDeviceFlags = qemuDomainUpdateDeviceFlags,
+ .domainGetAutostart = qemudDomainGetAutostart,
+ .domainSetAutostart = qemudDomainSetAutostart,
+ .domainGetSchedulerType = qemuGetSchedulerType,
+ .domainGetSchedulerParameters = qemuGetSchedulerParameters,
+ .domainSetSchedulerParameters = qemuSetSchedulerParameters,
+ .domainMigratePerform = qemudDomainMigratePerform,
+ .domainBlockStats = qemudDomainBlockStats,
+ .domainInterfaceStats = qemudDomainInterfaceStats,
+ .domainMemoryStats = qemudDomainMemoryStats,
+ .domainBlockPeek = qemudDomainBlockPeek,
+ .domainMemoryPeek = qemudDomainMemoryPeek,
+ .domainGetBlockInfo = qemuDomainGetBlockInfo,
+ .nodeGetCellsFreeMemory = nodeGetCellsFreeMemory,
+ .getFreeMemory = nodeGetFreeMemory,
+ .domainEventRegister = qemuDomainEventRegister,
+ .domainEventDeregister = qemuDomainEventDeregister,
+ .domainMigratePrepare2 = qemudDomainMigratePrepare2,
+ .domainMigrateFinish2 = qemudDomainMigrateFinish2,
+ .nodeDeviceDettach = qemudNodeDeviceDettach,
+ .nodeDeviceReAttach = qemudNodeDeviceReAttach,
+ .nodeDeviceReset = qemudNodeDeviceReset,
+ .domainMigratePrepareTunnel = qemudDomainMigratePrepareTunnel,
+ .isEncrypted = qemuIsEncrypted,
+ .isSecure = qemuIsSecure,
+ .domainIsActive = qemuDomainIsActive,
+ .domainIsPersistent = qemuDomainIsPersistent,
+ .domainIsUpdated = qemuDomainIsUpdated,
+ .cpuCompare = qemuCPUCompare,
+ .cpuBaseline = qemuCPUBaseline,
+ .domainGetJobInfo = qemuDomainGetJobInfo,
+ .domainAbortJob = qemuDomainAbortJob,
+ .domainMigrateSetMaxDowntime = qemuDomainMigrateSetMaxDowntime,
+ .domainMigrateSetMaxSpeed = qemuDomainMigrateSetMaxSpeed,
+ .domainEventRegisterAny = qemuDomainEventRegisterAny,
+ .domainEventDeregisterAny = qemuDomainEventDeregisterAny,
+ .domainManagedSave = qemuDomainManagedSave,
+ .domainHasManagedSaveImage = qemuDomainHasManagedSaveImage,
+ .domainManagedSaveRemove = qemuDomainManagedSaveRemove,
+ .domainSnapshotCreateXML = qemuDomainSnapshotCreateXML,
+ .domainSnapshotGetXMLDesc = qemuDomainSnapshotGetXMLDesc,
+ .domainSnapshotNum = qemuDomainSnapshotNum,
+ .domainSnapshotListNames = qemuDomainSnapshotListNames,
+ .domainSnapshotLookupByName = qemuDomainSnapshotLookupByName,
+ .domainHasCurrentSnapshot = qemuDomainHasCurrentSnapshot,
+ .domainSnapshotCurrent = qemuDomainSnapshotCurrent,
+ .domainRevertToSnapshot = qemuDomainRevertToSnapshot,
+ .domainSnapshotDelete = qemuDomainSnapshotDelete,
+ .qemuDomainMonitorCommand = qemuDomainMonitorCommand,
+ .domainOpenConsole = qemuDomainOpenConsole,
+ .domainInjectNMI = qemuDomainInjectNMI,
};
diff --git a/src/remote/remote_driver.c b/src/remote/remote_driver.c
index 1847577..bd5db15 100644
--- a/src/remote/remote_driver.c
+++ b/src/remote/remote_driver.c
@@ -6364,118 +6364,118 @@ unsigned long remoteVersion(void)
}
static virDriver remote_driver = {
- VIR_DRV_REMOTE,
- "remote",
- remoteOpen, /* open */
- remoteClose, /* close */
- remoteSupportsFeature, /* supports_feature */
- remoteType, /* type */
- remoteGetVersion, /* version */
- remoteGetLibVersion, /* libvirtVersion */
- remoteGetHostname, /* getHostname */
- remoteGetSysinfo, /* getSysinfo */
- remoteGetMaxVcpus, /* getMaxVcpus */
- remoteNodeGetInfo, /* nodeGetInfo */
- remoteGetCapabilities, /* getCapabilities */
- remoteListDomains, /* listDomains */
- remoteNumOfDomains, /* numOfDomains */
- remoteDomainCreateXML, /* domainCreateXML */
- remoteDomainLookupByID, /* domainLookupByID */
- remoteDomainLookupByUUID, /* domainLookupByUUID */
- remoteDomainLookupByName, /* domainLookupByName */
- remoteDomainSuspend, /* domainSuspend */
- remoteDomainResume, /* domainResume */
- remoteDomainShutdown, /* domainShutdown */
- remoteDomainReboot, /* domainReboot */
- remoteDomainDestroy, /* domainDestroy */
- remoteDomainGetOSType, /* domainGetOSType */
- remoteDomainGetMaxMemory, /* domainGetMaxMemory */
- remoteDomainSetMaxMemory, /* domainSetMaxMemory */
- remoteDomainSetMemory, /* domainSetMemory */
- remoteDomainSetMemoryFlags, /* domainSetMemoryFlags */
- remoteDomainSetMemoryParameters, /* domainSetMemoryParameters */
- remoteDomainGetMemoryParameters, /* domainGetMemoryParameters */
- remoteDomainSetBlkioParameters, /* domainSetBlkioParameters */
- remoteDomainGetBlkioParameters, /* domainGetBlkioParameters */
- remoteDomainGetInfo, /* domainGetInfo */
- remoteDomainSave, /* domainSave */
- remoteDomainRestore, /* domainRestore */
- remoteDomainCoreDump, /* domainCoreDump */
- remoteDomainScreenshot, /* domainScreenshot */
- remoteDomainSetVcpus, /* domainSetVcpus */
- remoteDomainSetVcpusFlags, /* domainSetVcpusFlags */
- remoteDomainGetVcpusFlags, /* domainGetVcpusFlags */
- remoteDomainPinVcpu, /* domainPinVcpu */
- remoteDomainGetVcpus, /* domainGetVcpus */
- remoteDomainGetMaxVcpus, /* domainGetMaxVcpus */
- remoteDomainGetSecurityLabel, /* domainGetSecurityLabel */
- remoteNodeGetSecurityModel, /* nodeGetSecurityModel */
- remoteDomainGetXMLDesc, /* domainGetXMLDesc */
- remoteDomainXMLFromNative, /* domainXMLFromNative */
- remoteDomainXMLToNative, /* domainXMLToNative */
- remoteListDefinedDomains, /* listDefinedDomains */
- remoteNumOfDefinedDomains, /* numOfDefinedDomains */
- remoteDomainCreate, /* domainCreate */
- remoteDomainCreateWithFlags, /* domainCreateWithFlags */
- remoteDomainDefineXML, /* domainDefineXML */
- remoteDomainUndefine, /* domainUndefine */
- remoteDomainAttachDevice, /* domainAttachDevice */
- remoteDomainAttachDeviceFlags, /* domainAttachDeviceFlags */
- remoteDomainDetachDevice, /* domainDetachDevice */
- remoteDomainDetachDeviceFlags, /* domainDetachDeviceFlags */
- remoteDomainUpdateDeviceFlags, /* domainUpdateDeviceFlags */
- remoteDomainGetAutostart, /* domainGetAutostart */
- remoteDomainSetAutostart, /* domainSetAutostart */
- remoteDomainGetSchedulerType, /* domainGetSchedulerType */
- remoteDomainGetSchedulerParameters, /* domainGetSchedulerParameters */
- remoteDomainSetSchedulerParameters, /* domainSetSchedulerParameters */
- remoteDomainMigratePrepare, /* domainMigratePrepare */
- remoteDomainMigratePerform, /* domainMigratePerform */
- remoteDomainMigrateFinish, /* domainMigrateFinish */
- remoteDomainBlockStats, /* domainBlockStats */
- remoteDomainInterfaceStats, /* domainInterfaceStats */
- remoteDomainMemoryStats, /* domainMemoryStats */
- remoteDomainBlockPeek, /* domainBlockPeek */
- remoteDomainMemoryPeek, /* domainMemoryPeek */
- remoteDomainGetBlockInfo, /* domainGetBlockInfo */
- remoteNodeGetCellsFreeMemory, /* nodeGetCellsFreeMemory */
- remoteNodeGetFreeMemory, /* getFreeMemory */
- remoteDomainEventRegister, /* domainEventRegister */
- remoteDomainEventDeregister, /* domainEventDeregister */
- remoteDomainMigratePrepare2, /* domainMigratePrepare2 */
- remoteDomainMigrateFinish2, /* domainMigrateFinish2 */
- remoteNodeDeviceDettach, /* nodeDeviceDettach */
- remoteNodeDeviceReAttach, /* nodeDeviceReAttach */
- remoteNodeDeviceReset, /* nodeDeviceReset */
- remoteDomainMigratePrepareTunnel, /* domainMigratePrepareTunnel */
- remoteIsEncrypted, /* isEncrypted */
- remoteIsSecure, /* isSecure */
- remoteDomainIsActive, /* domainIsActive */
- remoteDomainIsPersistent, /* domainIsPersistent */
- remoteDomainIsUpdated, /* domainIsUpdated */
- remoteCPUCompare, /* cpuCompare */
- remoteCPUBaseline, /* cpuBaseline */
- remoteDomainGetJobInfo, /* domainGetJobInfo */
- remoteDomainAbortJob, /* domainFinishJob */
- remoteDomainMigrateSetMaxDowntime, /* domainMigrateSetMaxDowntime */
- remoteDomainMigrateSetMaxSpeed, /* domainMigrateSetMaxSpeed */
- remoteDomainEventRegisterAny, /* domainEventRegisterAny */
- remoteDomainEventDeregisterAny, /* domainEventDeregisterAny */
- remoteDomainManagedSave, /* domainManagedSave */
- remoteDomainHasManagedSaveImage, /* domainHasManagedSaveImage */
- remoteDomainManagedSaveRemove, /* domainManagedSaveRemove */
- remoteDomainSnapshotCreateXML, /* domainSnapshotCreateXML */
- remoteDomainSnapshotGetXMLDesc, /* domainSnapshotGetXMLDesc */
- remoteDomainSnapshotNum, /* domainSnapshotNum */
- remoteDomainSnapshotListNames, /* domainSnapshotListNames */
- remoteDomainSnapshotLookupByName, /* domainSnapshotLookupByName */
- remoteDomainHasCurrentSnapshot, /* domainHasCurrentSnapshot */
- remoteDomainSnapshotCurrent, /* domainSnapshotCurrent */
- remoteDomainRevertToSnapshot, /* domainRevertToSnapshot */
- remoteDomainSnapshotDelete, /* domainSnapshotDelete */
- remoteQemuDomainMonitorCommand, /* qemuDomainMonitorCommand */
- remoteDomainOpenConsole, /* domainOpenConsole */
- remoteDomainInjectNMI, /* domainInjectNMI */
+ .no = VIR_DRV_REMOTE,
+ .name = "remote",
+ .open = remoteOpen,
+ .close = remoteClose,
+ .supports_feature = remoteSupportsFeature,
+ .type = remoteType,
+ .version = remoteGetVersion,
+ .libvirtVersion = remoteGetLibVersion,
+ .getHostname = remoteGetHostname,
+ .getSysinfo = remoteGetSysinfo,
+ .getMaxVcpus = remoteGetMaxVcpus,
+ .nodeGetInfo = remoteNodeGetInfo,
+ .getCapabilities = remoteGetCapabilities,
+ .listDomains = remoteListDomains,
+ .numOfDomains = remoteNumOfDomains,
+ .domainCreateXML = remoteDomainCreateXML,
+ .domainLookupByID = remoteDomainLookupByID,
+ .domainLookupByUUID = remoteDomainLookupByUUID,
+ .domainLookupByName = remoteDomainLookupByName,
+ .domainSuspend = remoteDomainSuspend,
+ .domainResume = remoteDomainResume,
+ .domainShutdown = remoteDomainShutdown,
+ .domainReboot = remoteDomainReboot,
+ .domainDestroy = remoteDomainDestroy,
+ .domainGetOSType = remoteDomainGetOSType,
+ .domainGetMaxMemory = remoteDomainGetMaxMemory,
+ .domainSetMaxMemory = remoteDomainSetMaxMemory,
+ .domainSetMemory = remoteDomainSetMemory,
+ .domainSetMemoryFlags = remoteDomainSetMemoryFlags,
+ .domainSetMemoryParameters = remoteDomainSetMemoryParameters,
+ .domainGetMemoryParameters = remoteDomainGetMemoryParameters,
+ .domainSetBlkioParameters = remoteDomainSetBlkioParameters,
+ .domainGetBlkioParameters = remoteDomainGetBlkioParameters,
+ .domainGetInfo = remoteDomainGetInfo,
+ .domainSave = remoteDomainSave,
+ .domainRestore = remoteDomainRestore,
+ .domainCoreDump = remoteDomainCoreDump,
+ .domainScreenshot = remoteDomainScreenshot,
+ .domainSetVcpus = remoteDomainSetVcpus,
+ .domainSetVcpusFlags = remoteDomainSetVcpusFlags,
+ .domainGetVcpusFlags = remoteDomainGetVcpusFlags,
+ .domainPinVcpu = remoteDomainPinVcpu,
+ .domainGetVcpus = remoteDomainGetVcpus,
+ .domainGetMaxVcpus = remoteDomainGetMaxVcpus,
+ .domainGetSecurityLabel = remoteDomainGetSecurityLabel,
+ .nodeGetSecurityModel = remoteNodeGetSecurityModel,
+ .domainGetXMLDesc = remoteDomainGetXMLDesc,
+ .domainXMLFromNative = remoteDomainXMLFromNative,
+ .domainXMLToNative = remoteDomainXMLToNative,
+ .listDefinedDomains = remoteListDefinedDomains,
+ .numOfDefinedDomains = remoteNumOfDefinedDomains,
+ .domainCreate = remoteDomainCreate,
+ .domainCreateWithFlags = remoteDomainCreateWithFlags,
+ .domainDefineXML = remoteDomainDefineXML,
+ .domainUndefine = remoteDomainUndefine,
+ .domainAttachDevice = remoteDomainAttachDevice,
+ .domainAttachDeviceFlags = remoteDomainAttachDeviceFlags,
+ .domainDetachDevice = remoteDomainDetachDevice,
+ .domainDetachDeviceFlags = remoteDomainDetachDeviceFlags,
+ .domainUpdateDeviceFlags = remoteDomainUpdateDeviceFlags,
+ .domainGetAutostart = remoteDomainGetAutostart,
+ .domainSetAutostart = remoteDomainSetAutostart,
+ .domainGetSchedulerType = remoteDomainGetSchedulerType,
+ .domainGetSchedulerParameters = remoteDomainGetSchedulerParameters,
+ .domainSetSchedulerParameters = remoteDomainSetSchedulerParameters,
+ .domainMigratePrepare = remoteDomainMigratePrepare,
+ .domainMigratePerform = remoteDomainMigratePerform,
+ .domainMigrateFinish = remoteDomainMigrateFinish,
+ .domainBlockStats = remoteDomainBlockStats,
+ .domainInterfaceStats = remoteDomainInterfaceStats,
+ .domainMemoryStats = remoteDomainMemoryStats,
+ .domainBlockPeek = remoteDomainBlockPeek,
+ .domainMemoryPeek = remoteDomainMemoryPeek,
+ .domainGetBlockInfo = remoteDomainGetBlockInfo,
+ .nodeGetCellsFreeMemory = remoteNodeGetCellsFreeMemory,
+ .getFreeMemory = remoteNodeGetFreeMemory,
+ .domainEventRegister = remoteDomainEventRegister,
+ .domainEventDeregister = remoteDomainEventDeregister,
+ .domainMigratePrepare2 = remoteDomainMigratePrepare2,
+ .domainMigrateFinish2 = remoteDomainMigrateFinish2,
+ .nodeDeviceDettach = remoteNodeDeviceDettach,
+ .nodeDeviceReAttach = remoteNodeDeviceReAttach,
+ .nodeDeviceReset = remoteNodeDeviceReset,
+ .domainMigratePrepareTunnel = remoteDomainMigratePrepareTunnel,
+ .isEncrypted = remoteIsEncrypted,
+ .isSecure = remoteIsSecure,
+ .domainIsActive = remoteDomainIsActive,
+ .domainIsPersistent = remoteDomainIsPersistent,
+ .domainIsUpdated = remoteDomainIsUpdated,
+ .cpuCompare = remoteCPUCompare,
+ .cpuBaseline = remoteCPUBaseline,
+ .domainGetJobInfo = remoteDomainGetJobInfo,
+ .domainAbortJob = remoteDomainAbortJob,
+ .domainMigrateSetMaxDowntime = remoteDomainMigrateSetMaxDowntime,
+ .domainMigrateSetMaxSpeed = remoteDomainMigrateSetMaxSpeed,
+ .domainEventRegisterAny = remoteDomainEventRegisterAny,
+ .domainEventDeregisterAny = remoteDomainEventDeregisterAny,
+ .domainManagedSave = remoteDomainManagedSave,
+ .domainHasManagedSaveImage = remoteDomainHasManagedSaveImage,
+ .domainManagedSaveRemove = remoteDomainManagedSaveRemove,
+ .domainSnapshotCreateXML = remoteDomainSnapshotCreateXML,
+ .domainSnapshotGetXMLDesc = remoteDomainSnapshotGetXMLDesc,
+ .domainSnapshotNum = remoteDomainSnapshotNum,
+ .domainSnapshotListNames = remoteDomainSnapshotListNames,
+ .domainSnapshotLookupByName = remoteDomainSnapshotLookupByName,
+ .domainHasCurrentSnapshot = remoteDomainHasCurrentSnapshot,
+ .domainSnapshotCurrent = remoteDomainSnapshotCurrent,
+ .domainRevertToSnapshot = remoteDomainRevertToSnapshot,
+ .domainSnapshotDelete = remoteDomainSnapshotDelete,
+ .qemuDomainMonitorCommand = remoteQemuDomainMonitorCommand,
+ .domainOpenConsole = remoteDomainOpenConsole,
+ .domainInjectNMI = remoteDomainInjectNMI,
};
static virNetworkDriver network_driver = {
diff --git a/src/test/test_driver.c b/src/test/test_driver.c
index 36d8c12..34278fe 100644
--- a/src/test/test_driver.c
+++ b/src/test/test_driver.c
@@ -5276,159 +5276,105 @@ static int testNWFilterClose(virConnectPtr conn) {
}
static virDriver testDriver = {
- VIR_DRV_TEST,
- "Test",
- testOpen, /* open */
- testClose, /* close */
- NULL, /* supports_feature */
- NULL, /* type */
- testGetVersion, /* version */
- NULL, /* libvirtVersion (impl. in libvirt.c) */
- virGetHostname, /* getHostname */
- NULL, /* getSysinfo */
- testGetMaxVCPUs, /* getMaxVcpus */
- testNodeGetInfo, /* nodeGetInfo */
- testGetCapabilities, /* getCapabilities */
- testListDomains, /* listDomains */
- testNumOfDomains, /* numOfDomains */
- testDomainCreateXML, /* domainCreateXML */
- testLookupDomainByID, /* domainLookupByID */
- testLookupDomainByUUID, /* domainLookupByUUID */
- testLookupDomainByName, /* domainLookupByName */
- testPauseDomain, /* domainSuspend */
- testResumeDomain, /* domainResume */
- testShutdownDomain, /* domainShutdown */
- testRebootDomain, /* domainReboot */
- testDestroyDomain, /* domainDestroy */
- testGetOSType, /* domainGetOSType */
- testGetMaxMemory, /* domainGetMaxMemory */
- testSetMaxMemory, /* domainSetMaxMemory */
- testSetMemory, /* domainSetMemory */
- NULL, /* domainSetMemoryFlags */
- NULL, /* domainSetMemoryParameters */
- NULL, /* domainGetMemoryParameters */
- NULL, /* domainSetBlkioParameters */
- NULL, /* domainGetBlkioParameters */
- testGetDomainInfo, /* domainGetInfo */
- testDomainSave, /* domainSave */
- testDomainRestore, /* domainRestore */
- testDomainCoreDump, /* domainCoreDump */
- NULL, /* domainScreenshot */
- testSetVcpus, /* domainSetVcpus */
- testDomainSetVcpusFlags, /* domainSetVcpusFlags */
- testDomainGetVcpusFlags, /* domainGetVcpusFlags */
- testDomainPinVcpu, /* domainPinVcpu */
- testDomainGetVcpus, /* domainGetVcpus */
- testDomainGetMaxVcpus, /* domainGetMaxVcpus */
- NULL, /* domainGetSecurityLabel */
- NULL, /* nodeGetSecurityModel */
- testDomainGetXMLDesc, /* domainGetXMLDesc */
- NULL, /* domainXMLFromNative */
- NULL, /* domainXMLToNative */
- testListDefinedDomains, /* listDefinedDomains */
- testNumOfDefinedDomains, /* numOfDefinedDomains */
- testDomainCreate, /* domainCreate */
- testDomainCreateWithFlags, /* domainCreateWithFlags */
- testDomainDefineXML, /* domainDefineXML */
- testDomainUndefine, /* domainUndefine */
- NULL, /* domainAttachDevice */
- NULL, /* domainAttachDeviceFlags */
- NULL, /* domainDetachDevice */
- NULL, /* domainDetachDeviceFlags */
- NULL, /* domainUpdateDeviceFlags */
- testDomainGetAutostart, /* domainGetAutostart */
- testDomainSetAutostart, /* domainSetAutostart */
- testDomainGetSchedulerType, /* domainGetSchedulerType */
- testDomainGetSchedulerParams, /* domainGetSchedulerParameters */
- testDomainSetSchedulerParams, /* domainSetSchedulerParameters */
- NULL, /* domainMigratePrepare */
- NULL, /* domainMigratePerform */
- NULL, /* domainMigrateFinish */
- testDomainBlockStats, /* domainBlockStats */
- testDomainInterfaceStats, /* domainInterfaceStats */
- NULL, /* domainMemoryStats */
- NULL, /* domainBlockPeek */
- NULL, /* domainMemoryPeek */
- NULL, /* domainGetBlockInfo */
- testNodeGetCellsFreeMemory, /* nodeGetCellsFreeMemory */
- NULL, /* getFreeMemory */
- testDomainEventRegister, /* domainEventRegister */
- testDomainEventDeregister, /* domainEventDeregister */
- NULL, /* domainMigratePrepare2 */
- NULL, /* domainMigrateFinish2 */
- NULL, /* nodeDeviceDettach */
- NULL, /* nodeDeviceReAttach */
- NULL, /* nodeDeviceReset */
- NULL, /* domainMigratePrepareTunnel */
- testIsEncrypted, /* isEncrypted */
- testIsSecure, /* isEncrypted */
- testDomainIsActive, /* domainIsActive */
- testDomainIsPersistent, /* domainIsPersistent */
- testDomainIsUpdated, /* domainIsUpdated */
- NULL, /* cpuCompare */
- NULL, /* cpuBaseline */
- NULL, /* domainGetJobInfo */
- NULL, /* domainAbortJob */
- NULL, /* domainMigrateSetMaxDowntime */
- NULL, /* domainMigrateSetMaxSpeed */
- testDomainEventRegisterAny, /* domainEventRegisterAny */
- testDomainEventDeregisterAny, /* domainEventDeregisterAny */
- NULL, /* domainManagedSave */
- NULL, /* domainHasManagedSaveImage */
- NULL, /* domainManagedSaveRemove */
- NULL, /* domainSnapshotCreateXML */
- NULL, /* domainSnapshotGetXMLDesc */
- NULL, /* domainSnapshotNum */
- NULL, /* domainSnapshotListNames */
- NULL, /* domainSnapshotLookupByName */
- NULL, /* domainHasCurrentSnapshot */
- NULL, /* domainSnapshotCurrent */
- NULL, /* domainRevertToSnapshot */
- NULL, /* domainSnapshotDelete */
- NULL, /* qemuDomainMonitorCommand */
- NULL, /* domainOpenConsole */
- NULL, /* domainInjectNMI */
+ .no = VIR_DRV_TEST,
+ .name = "Test",
+ .open = testOpen,
+ .close = testClose,
+ .version = testGetVersion,
+ .getHostname = virGetHostname,
+ .getMaxVcpus = testGetMaxVCPUs,
+ .nodeGetInfo = testNodeGetInfo,
+ .getCapabilities = testGetCapabilities,
+ .listDomains = testListDomains,
+ .numOfDomains = testNumOfDomains,
+ .domainCreateXML = testDomainCreateXML,
+ .domainLookupByID = testLookupDomainByID,
+ .domainLookupByUUID = testLookupDomainByUUID,
+ .domainLookupByName = testLookupDomainByName,
+ .domainSuspend = testPauseDomain,
+ .domainResume = testResumeDomain,
+ .domainShutdown = testShutdownDomain,
+ .domainReboot = testRebootDomain,
+ .domainDestroy = testDestroyDomain,
+ .domainGetOSType = testGetOSType,
+ .domainGetMaxMemory = testGetMaxMemory,
+ .domainSetMaxMemory = testSetMaxMemory,
+ .domainSetMemory = testSetMemory,
+ .domainGetInfo = testGetDomainInfo,
+ .domainSave = testDomainSave,
+ .domainRestore = testDomainRestore,
+ .domainCoreDump = testDomainCoreDump,
+ .domainSetVcpus = testSetVcpus,
+ .domainSetVcpusFlags = testDomainSetVcpusFlags,
+ .domainGetVcpusFlags = testDomainGetVcpusFlags,
+ .domainPinVcpu = testDomainPinVcpu,
+ .domainGetVcpus = testDomainGetVcpus,
+ .domainGetMaxVcpus = testDomainGetMaxVcpus,
+ .domainGetXMLDesc = testDomainGetXMLDesc,
+ .listDefinedDomains = testListDefinedDomains,
+ .numOfDefinedDomains = testNumOfDefinedDomains,
+ .domainCreate = testDomainCreate,
+ .domainCreateWithFlags = testDomainCreateWithFlags,
+ .domainDefineXML = testDomainDefineXML,
+ .domainUndefine = testDomainUndefine,
+ .domainGetAutostart = testDomainGetAutostart,
+ .domainSetAutostart = testDomainSetAutostart,
+ .domainGetSchedulerType = testDomainGetSchedulerType,
+ .domainGetSchedulerParameters = testDomainGetSchedulerParams,
+ .domainSetSchedulerParameters = testDomainSetSchedulerParams,
+ .domainBlockStats = testDomainBlockStats,
+ .domainInterfaceStats = testDomainInterfaceStats,
+ .nodeGetCellsFreeMemory = testNodeGetCellsFreeMemory,
+ .domainEventRegister = testDomainEventRegister,
+ .domainEventDeregister = testDomainEventDeregister,
+ .isEncrypted = testIsEncrypted,
+ .isSecure = testIsSecure,
+ .domainIsActive = testDomainIsActive,
+ .domainIsPersistent = testDomainIsPersistent,
+ .domainIsUpdated = testDomainIsUpdated,
+ .domainEventRegisterAny = testDomainEventRegisterAny,
+ .domainEventDeregisterAny = testDomainEventDeregisterAny,
};
static virNetworkDriver testNetworkDriver = {
- "Test",
- testOpenNetwork, /* open */
- testCloseNetwork, /* close */
- testNumNetworks, /* numOfNetworks */
- testListNetworks, /* listNetworks */
- testNumDefinedNetworks, /* numOfDefinedNetworks */
- testListDefinedNetworks, /* listDefinedNetworks */
- testLookupNetworkByUUID, /* networkLookupByUUID */
- testLookupNetworkByName, /* networkLookupByName */
- testNetworkCreate, /* networkCreateXML */
- testNetworkDefine, /* networkDefineXML */
- testNetworkUndefine, /* networkUndefine */
- testNetworkStart, /* networkCreate */
- testNetworkDestroy, /* networkDestroy */
- testNetworkGetXMLDesc, /* networkGetXMLDesc */
- testNetworkGetBridgeName, /* networkGetBridgeName */
- testNetworkGetAutostart, /* networkGetAutostart */
- testNetworkSetAutostart, /* networkSetAutostart */
- testNetworkIsActive, /* networkIsActive */
- testNetworkIsPersistent, /* networkIsPersistent */
+ .name = "Test",
+ .open = testOpenNetwork,
+ .close = testCloseNetwork,
+ .numOfNetworks = testNumNetworks,
+ .listNetworks = testListNetworks,
+ .numOfDefinedNetworks = testNumDefinedNetworks,
+ .listDefinedNetworks = testListDefinedNetworks,
+ .networkLookupByUUID = testLookupNetworkByUUID,
+ .networkLookupByName = testLookupNetworkByName,
+ .networkCreateXML = testNetworkCreate,
+ .networkDefineXML = testNetworkDefine,
+ .networkUndefine = testNetworkUndefine,
+ .networkCreate = testNetworkStart,
+ .networkDestroy = testNetworkDestroy,
+ .networkGetXMLDesc = testNetworkGetXMLDesc,
+ .networkGetBridgeName = testNetworkGetBridgeName,
+ .networkGetAutostart = testNetworkGetAutostart,
+ .networkSetAutostart = testNetworkSetAutostart,
+ .networkIsActive = testNetworkIsActive,
+ .networkIsPersistent = testNetworkIsPersistent,
};
static virInterfaceDriver testInterfaceDriver = {
- "Test", /* name */
- testOpenInterface, /* open */
- testCloseInterface, /* close */
- testNumOfInterfaces, /* numOfInterfaces */
- testListInterfaces, /* listInterfaces */
- testNumOfDefinedInterfaces, /* numOfDefinedInterfaces */
- testListDefinedInterfaces, /* listDefinedInterfaces */
- testLookupInterfaceByName, /* interfaceLookupByName */
- testLookupInterfaceByMACString, /* interfaceLookupByMACString */
- testInterfaceGetXMLDesc, /* interfaceGetXMLDesc */
- testInterfaceDefineXML, /* interfaceDefineXML */
- testInterfaceUndefine, /* interfaceUndefine */
- testInterfaceCreate, /* interfaceCreate */
- testInterfaceDestroy, /* interfaceDestroy */
- testInterfaceIsActive, /* interfaceIsActive */
+ .name = "Test",
+ .open = testOpenInterface,
+ .close = testCloseInterface,
+ .numOfInterfaces = testNumOfInterfaces,
+ .listInterfaces = testListInterfaces,
+ .numOfDefinedInterfaces = testNumOfDefinedInterfaces,
+ .listDefinedInterfaces = testListDefinedInterfaces,
+ .interfaceLookupByName = testLookupInterfaceByName,
+ .interfaceLookupByMACString = testLookupInterfaceByMACString,
+ .interfaceGetXMLDesc = testInterfaceGetXMLDesc,
+ .interfaceDefineXML = testInterfaceDefineXML,
+ .interfaceUndefine = testInterfaceUndefine,
+ .interfaceCreate = testInterfaceCreate,
+ .interfaceDestroy = testInterfaceDestroy,
+ .interfaceIsActive = testInterfaceIsActive,
};
diff --git a/src/uml/uml_driver.c b/src/uml/uml_driver.c
index e7cd77a..2f6c553 100644
--- a/src/uml/uml_driver.c
+++ b/src/uml/uml_driver.c
@@ -2144,118 +2144,50 @@ cleanup:
static virDriver umlDriver = {
- VIR_DRV_UML,
- "UML",
- umlOpen, /* open */
- umlClose, /* close */
- NULL, /* supports_feature */
- umlGetType, /* type */
- umlGetVersion, /* version */
- NULL, /* libvirtVersion (impl. in libvirt.c) */
- virGetHostname, /* getHostname */
- NULL, /* getSysinfo */
- NULL, /* getMaxVcpus */
- nodeGetInfo, /* nodeGetInfo */
- umlGetCapabilities, /* getCapabilities */
- umlListDomains, /* listDomains */
- umlNumDomains, /* numOfDomains */
- umlDomainCreate, /* domainCreateXML */
- umlDomainLookupByID, /* domainLookupByID */
- umlDomainLookupByUUID, /* domainLookupByUUID */
- umlDomainLookupByName, /* domainLookupByName */
- NULL, /* domainSuspend */
- NULL, /* domainResume */
- umlDomainShutdown, /* domainShutdown */
- NULL, /* domainReboot */
- umlDomainDestroy, /* domainDestroy */
- umlDomainGetOSType, /* domainGetOSType */
- umlDomainGetMaxMemory, /* domainGetMaxMemory */
- umlDomainSetMaxMemory, /* domainSetMaxMemory */
- umlDomainSetMemory, /* domainSetMemory */
- NULL, /* domainSetMemoryFlags */
- NULL, /* domainSetMemoryParameters */
- NULL, /* domainGetMemoryParameters */
- NULL, /* domainSetBlkioParameters */
- NULL, /* domainGetBlkioParameters */
- umlDomainGetInfo, /* domainGetInfo */
- NULL, /* domainSave */
- NULL, /* domainRestore */
- NULL, /* domainCoreDump */
- NULL, /* domainScreenshot */
- NULL, /* domainSetVcpus */
- NULL, /* domainSetVcpusFlags */
- NULL, /* domainGetVcpusFlags */
- NULL, /* domainPinVcpu */
- NULL, /* domainGetVcpus */
- NULL, /* domainGetMaxVcpus */
- NULL, /* domainGetSecurityLabel */
- NULL, /* nodeGetSecurityModel */
- umlDomainGetXMLDesc, /* domainGetXMLDesc */
- NULL, /* domainXMLFromNative */
- NULL, /* domainXMLToNative */
- umlListDefinedDomains, /* listDefinedDomains */
- umlNumDefinedDomains, /* numOfDefinedDomains */
- umlDomainStart, /* domainCreate */
- umlDomainStartWithFlags, /* domainCreateWithFlags */
- umlDomainDefine, /* domainDefineXML */
- umlDomainUndefine, /* domainUndefine */
- umlDomainAttachDevice, /* domainAttachDevice */
- umlDomainAttachDeviceFlags, /* domainAttachDeviceFlags */
- umlDomainDetachDevice, /* domainDetachDevice */
- umlDomainDetachDeviceFlags, /* domainDetachDeviceFlags */
- NULL, /* domainUpdateDeviceFlags */
- umlDomainGetAutostart, /* domainGetAutostart */
- umlDomainSetAutostart, /* domainSetAutostart */
- NULL, /* domainGetSchedulerType */
- NULL, /* domainGetSchedulerParameters */
- NULL, /* domainSetSchedulerParameters */
- NULL, /* domainMigratePrepare */
- NULL, /* domainMigratePerform */
- NULL, /* domainMigrateFinish */
- NULL, /* domainBlockStats */
- NULL, /* domainInterfaceStats */
- NULL, /* domainMemoryStats */
- umlDomainBlockPeek, /* domainBlockPeek */
- NULL, /* domainMemoryPeek */
- NULL, /* domainGetBlockInfo */
- nodeGetCellsFreeMemory, /* nodeGetCellsFreeMemory */
- nodeGetFreeMemory, /* getFreeMemory */
- NULL, /* domainEventRegister */
- NULL, /* domainEventDeregister */
- NULL, /* domainMigratePrepare2 */
- NULL, /* domainMigrateFinish2 */
- NULL, /* nodeDeviceDettach */
- NULL, /* nodeDeviceReAttach */
- NULL, /* nodeDeviceReset */
- NULL, /* domainMigratePrepareTunnel */
- umlIsEncrypted, /* isEncrypted */
- umlIsSecure, /* isSecure */
- umlDomainIsActive, /* domainIsActive */
- umlDomainIsPersistent, /* domainIsPersistent */
- umlDomainIsUpdated, /* domainIsUpdated */
- NULL, /* cpuCompare */
- NULL, /* cpuBaseline */
- NULL, /* domainGetJobInfo */
- NULL, /* domainAbortJob */
- NULL, /* domainMigrateSetMaxDowntime */
- NULL, /* domainMigrateSetMaxSpeed */
- NULL, /* domainEventRegisterAny */
- NULL, /* domainEventDeregisterAny */
- NULL, /* domainManagedSave */
- NULL, /* domainHasManagedSaveImage */
- NULL, /* domainManagedSaveRemove */
- NULL, /* domainSnapshotCreateXML */
- NULL, /* domainSnapshotGetXMLDesc */
- NULL, /* domainSnapshotNum */
- NULL, /* domainSnapshotListNames */
- NULL, /* domainSnapshotLookupByName */
- NULL, /* domainHasCurrentSnapshot */
- NULL, /* domainSnapshotCurrent */
- NULL, /* domainRevertToSnapshot */
- NULL, /* domainSnapshotDelete */
- NULL, /* qemuDomainMonitorCommand */
- umlDomainOpenConsole, /* domainOpenConsole */
- NULL, /* domainInjectNMI */
+ .no = VIR_DRV_UML,
+ .name = "UML",
+ .open = umlOpen,
+ .close = umlClose,
+ .type = umlGetType,
+ .version = umlGetVersion,
+ .getHostname = virGetHostname,
+ .nodeGetInfo = nodeGetInfo,
+ .getCapabilities = umlGetCapabilities,
+ .listDomains = umlListDomains,
+ .numOfDomains = umlNumDomains,
+ .domainCreateXML = umlDomainCreate,
+ .domainLookupByID = umlDomainLookupByID,
+ .domainLookupByUUID = umlDomainLookupByUUID,
+ .domainLookupByName = umlDomainLookupByName,
+ .domainShutdown = umlDomainShutdown,
+ .domainDestroy = umlDomainDestroy,
+ .domainGetOSType = umlDomainGetOSType,
+ .domainGetMaxMemory = umlDomainGetMaxMemory,
+ .domainSetMaxMemory = umlDomainSetMaxMemory,
+ .domainSetMemory = umlDomainSetMemory,
+ .domainGetInfo = umlDomainGetInfo,
+ .domainGetXMLDesc = umlDomainGetXMLDesc,
+ .listDefinedDomains = umlListDefinedDomains,
+ .numOfDefinedDomains = umlNumDefinedDomains,
+ .domainCreate = umlDomainStart,
+ .domainCreateWithFlags = umlDomainStartWithFlags,
+ .domainDefineXML = umlDomainDefine,
+ .domainUndefine = umlDomainUndefine,
+ .domainAttachDevice = umlDomainAttachDevice,
+ .domainAttachDeviceFlags = umlDomainAttachDeviceFlags,
+ .domainDetachDevice = umlDomainDetachDevice,
+ .domainDetachDeviceFlags = umlDomainDetachDeviceFlags,
+ .domainGetAutostart = umlDomainGetAutostart,
+ .domainSetAutostart = umlDomainSetAutostart,
+ .domainBlockPeek = umlDomainBlockPeek,
+ .nodeGetCellsFreeMemory = nodeGetCellsFreeMemory,
+ .getFreeMemory = nodeGetFreeMemory,
+ .isEncrypted = umlIsEncrypted,
+ .isSecure = umlIsSecure,
+ .domainIsActive = umlDomainIsActive,
+ .domainIsPersistent = umlDomainIsPersistent,
+ .domainIsUpdated = umlDomainIsUpdated,
+ .domainOpenConsole = umlDomainOpenConsole,
};
static int
diff --git a/src/vbox/vbox_tmpl.c b/src/vbox/vbox_tmpl.c
index 41b6795..7198995 100644
--- a/src/vbox/vbox_tmpl.c
+++ b/src/vbox/vbox_tmpl.c
@@ -8661,136 +8661,77 @@ endjob:
*/
virDriver NAME(Driver) = {
- VIR_DRV_VBOX,
- "VBOX",
- vboxOpen, /* open */
- vboxClose, /* close */
- NULL, /* supports_feature */
- NULL, /* type */
- vboxGetVersion, /* version */
- NULL, /* libvirtVersion (impl. in libvirt.c) */
- virGetHostname, /* getHostname */
- NULL, /* getSysinfo */
- vboxGetMaxVcpus, /* getMaxVcpus */
- nodeGetInfo, /* nodeGetInfo */
- vboxGetCapabilities, /* getCapabilities */
- vboxListDomains, /* listDomains */
- vboxNumOfDomains, /* numOfDomains */
- vboxDomainCreateXML, /* domainCreateXML */
- vboxDomainLookupByID, /* domainLookupByID */
- vboxDomainLookupByUUID, /* domainLookupByUUID */
- vboxDomainLookupByName, /* domainLookupByName */
- vboxDomainSuspend, /* domainSuspend */
- vboxDomainResume, /* domainResume */
- vboxDomainShutdown, /* domainShutdown */
- vboxDomainReboot, /* domainReboot */
- vboxDomainDestroy, /* domainDestroy */
- vboxDomainGetOSType, /* domainGetOSType */
- NULL, /* domainGetMaxMemory */
- NULL, /* domainSetMaxMemory */
- vboxDomainSetMemory, /* domainSetMemory */
- NULL, /* domainSetMemoryFlags */
- NULL, /* domainSetMemoryParameters */
- NULL, /* domainGetMemoryParameters */
- NULL, /* domainSetBlkioParameters */
- NULL, /* domainGetBlkioParameters */
- vboxDomainGetInfo, /* domainGetInfo */
- vboxDomainSave, /* domainSave */
- NULL, /* domainRestore */
- NULL, /* domainCoreDump */
+ .no = VIR_DRV_VBOX,
+ .name = "VBOX",
+ .open = vboxOpen,
+ .close = vboxClose,
+ .version = vboxGetVersion,
+ .getHostname = virGetHostname,
+ .getMaxVcpus = vboxGetMaxVcpus,
+ .nodeGetInfo = nodeGetInfo,
+ .getCapabilities = vboxGetCapabilities,
+ .listDomains = vboxListDomains,
+ .numOfDomains = vboxNumOfDomains,
+ .domainCreateXML = vboxDomainCreateXML,
+ .domainLookupByID = vboxDomainLookupByID,
+ .domainLookupByUUID = vboxDomainLookupByUUID,
+ .domainLookupByName = vboxDomainLookupByName,
+ .domainSuspend = vboxDomainSuspend,
+ .domainResume = vboxDomainResume,
+ .domainShutdown = vboxDomainShutdown,
+ .domainReboot = vboxDomainReboot,
+ .domainDestroy = vboxDomainDestroy,
+ .domainGetOSType = vboxDomainGetOSType,
+ .domainSetMemory = vboxDomainSetMemory,
+ .domainGetInfo = vboxDomainGetInfo,
+ .domainSave = vboxDomainSave,
#if VBOX_API_VERSION == 4000
- vboxDomainScreenshot, /* domainScreenshot */
-#else
- NULL, /* domainScreenshot */
+ .domainScreenshot = vboxDomainScreenshot,
#endif
- vboxDomainSetVcpus, /* domainSetVcpus */
- vboxDomainSetVcpusFlags, /* domainSetVcpusFlags */
- vboxDomainGetVcpusFlags, /* domainGetVcpusFlags */
- NULL, /* domainPinVcpu */
- NULL, /* domainGetVcpus */
- vboxDomainGetMaxVcpus, /* domainGetMaxVcpus */
- NULL, /* domainGetSecurityLabel */
- NULL, /* nodeGetSecurityModel */
- vboxDomainGetXMLDesc, /* domainGetXMLDesc */
- NULL, /* domainXMLFromNative */
- NULL, /* domainXMLToNative */
- vboxListDefinedDomains, /* listDefinedDomains */
- vboxNumOfDefinedDomains, /* numOfDefinedDomains */
- vboxDomainCreate, /* domainCreate */
- vboxDomainCreateWithFlags, /* domainCreateWithFlags */
- vboxDomainDefineXML, /* domainDefineXML */
- vboxDomainUndefine, /* domainUndefine */
- vboxDomainAttachDevice, /* domainAttachDevice */
- vboxDomainAttachDeviceFlags, /* domainAttachDeviceFlags */
- vboxDomainDetachDevice, /* domainDetachDevice */
- vboxDomainDetachDeviceFlags, /* domainDetachDeviceFlags */
- vboxDomainUpdateDeviceFlags, /* domainUpdateDeviceFlags */
- NULL, /* domainGetAutostart */
- NULL, /* domainSetAutostart */
- NULL, /* domainGetSchedulerType */
- NULL, /* domainGetSchedulerParameters */
- NULL, /* domainSetSchedulerParameters */
- NULL, /* domainMigratePrepare */
- NULL, /* domainMigratePerform */
- NULL, /* domainMigrateFinish */
- NULL, /* domainBlockStats */
- NULL, /* domainInterfaceStats */
- NULL, /* domainMemoryStats */
- NULL, /* domainBlockPeek */
- NULL, /* domainMemoryPeek */
- NULL, /* domainGetBlockInfo */
- nodeGetCellsFreeMemory, /* nodeGetCellsFreeMemory */
- nodeGetFreeMemory, /* getFreeMemory */
-#if VBOX_API_VERSION == 2002 || VBOX_API_VERSION == 4000
- NULL, /* domainEventRegister */
- NULL, /* domainEventDeregister */
-#else
- vboxDomainEventRegister, /* domainEventRegister */
- vboxDomainEventDeregister, /* domainEventDeregister */
+ .domainSetVcpus = vboxDomainSetVcpus,
+ .domainSetVcpusFlags = vboxDomainSetVcpusFlags,
+ .domainGetVcpusFlags = vboxDomainGetVcpusFlags,
+ .domainGetMaxVcpus = vboxDomainGetMaxVcpus,
+ .domainGetXMLDesc = vboxDomainGetXMLDesc,
+ .listDefinedDomains = vboxListDefinedDomains,
+ .numOfDefinedDomains = vboxNumOfDefinedDomains,
+ .domainCreate = vboxDomainCreate,
+ .domainCreateWithFlags = vboxDomainCreateWithFlags,
+ .domainDefineXML = vboxDomainDefineXML,
+ .domainUndefine = vboxDomainUndefine,
+ .domainAttachDevice = vboxDomainAttachDevice,
+ .domainAttachDeviceFlags = vboxDomainAttachDeviceFlags,
+ .domainDetachDevice = vboxDomainDetachDevice,
+ .domainDetachDeviceFlags = vboxDomainDetachDeviceFlags,
+ .domainUpdateDeviceFlags = vboxDomainUpdateDeviceFlags,
+ .nodeGetCellsFreeMemory = nodeGetCellsFreeMemory,
+ .getFreeMemory = nodeGetFreeMemory,
+#if !(VBOX_API_VERSION == 2002 || VBOX_API_VERSION == 4000)
+ .domainEventRegister = vboxDomainEventRegister,
+ .domainEventDeregister = vboxDomainEventDeregister,
#endif
- NULL, /* domainMigratePrepare2 */
- NULL, /* domainMigrateFinish2 */
- NULL, /* nodeDeviceDettach */
- NULL, /* nodeDeviceReAttach */
- NULL, /* nodeDeviceReset */
- NULL, /* domainMigratePrepareTunnel */
- vboxIsEncrypted, /* isEncrypted */
- vboxIsSecure, /* isSecure */
- vboxDomainIsActive, /* domainIsActive */
- vboxDomainIsPersistent, /* domainIsPersistent */
- vboxDomainIsUpdated, /* domainIsUpdated */
- NULL, /* cpuCompare */
- NULL, /* cpuBaseline */
- NULL, /* domainGetJobInfo */
- NULL, /* domainAbortJob */
- NULL, /* domainMigrateSetMaxDowntime */
- NULL, /* domainMigrateSetMaxSpeed */
-#if VBOX_API_VERSION == 2002 || VBOX_API_VERSION == 4000
- NULL, /* domainEventRegisterAny */
- NULL, /* domainEventDeregisterAny */
-#else
- vboxDomainEventRegisterAny, /* domainEventRegisterAny */
- vboxDomainEventDeregisterAny, /* domainEventDeregisterAny */
+ .isEncrypted = vboxIsEncrypted,
+ .isSecure = vboxIsSecure,
+ .domainIsActive = vboxDomainIsActive,
+ .domainIsPersistent = vboxDomainIsPersistent,
+ .domainIsUpdated = vboxDomainIsUpdated,
+#if !(VBOX_API_VERSION == 2002 || VBOX_API_VERSION == 4000)
+ .domainEventRegisterAny = vboxDomainEventRegisterAny,
+ .domainEventDeregisterAny = vboxDomainEventDeregisterAny,
#endif
- NULL, /* domainManagedSave */
- NULL, /* domainHasManagedSaveImage */
- NULL, /* domainManagedSaveRemove */
- vboxDomainSnapshotCreateXML, /* domainSnapshotCreateXML */
- vboxDomainSnapshotGetXMLDesc, /* domainSnapshotGetXMLDesc */
- vboxDomainSnapshotNum, /* domainSnapshotNum */
- vboxDomainSnapshotListNames, /* domainSnapshotListNames */
- vboxDomainSnapshotLookupByName, /* domainSnapshotLookupByName */
- vboxDomainHasCurrentSnapshot, /* domainHasCurrentSnapshot */
- vboxDomainSnapshotCurrent, /* domainSnapshotCurrent */
- vboxDomainRevertToSnapshot, /* domainRevertToSnapshot */
- vboxDomainSnapshotDelete, /* domainSnapshotDelete */
- NULL, /* qemuDomainMonitorCommand */
- NULL, /* domainOpenConsole */
- NULL, /* domainInjectNMI */
+ .domainSnapshotCreateXML = vboxDomainSnapshotCreateXML,
+ .domainSnapshotGetXMLDesc = vboxDomainSnapshotGetXMLDesc,
+ .domainSnapshotNum = vboxDomainSnapshotNum,
+ .domainSnapshotListNames = vboxDomainSnapshotListNames,
+ .domainSnapshotLookupByName = vboxDomainSnapshotLookupByName,
+ .domainHasCurrentSnapshot = vboxDomainHasCurrentSnapshot,
+ .domainSnapshotCurrent = vboxDomainSnapshotCurrent,
+ .domainRevertToSnapshot = vboxDomainRevertToSnapshot,
+ .domainSnapshotDelete = vboxDomainSnapshotDelete,
};
virNetworkDriver NAME(NetworkDriver) = {
- "VBOX",
+ .name = "VBOX",
.open = vboxNetworkOpen,
.close = vboxNetworkClose,
.numOfNetworks = vboxNumOfNetworks,
@@ -8805,9 +8746,6 @@ virNetworkDriver NAME(NetworkDriver) = {
.networkCreate = vboxNetworkCreate,
.networkDestroy = vboxNetworkDestroy,
.networkGetXMLDesc = vboxNetworkGetXMLDesc,
- .networkGetBridgeName = NULL,
- .networkGetAutostart = NULL,
- .networkSetAutostart = NULL
};
virStorageDriver NAME(StorageDriver) = {
@@ -8816,24 +8754,7 @@ virStorageDriver NAME(StorageDriver) = {
.close = vboxStorageClose,
.numOfPools = vboxStorageNumOfPools,
.listPools = vboxStorageListPools,
- .numOfDefinedPools = NULL,
- .listDefinedPools = NULL,
- .findPoolSources = NULL,
.poolLookupByName = vboxStoragePoolLookupByName,
- .poolLookupByUUID = NULL,
- .poolLookupByVolume = NULL,
- .poolCreateXML = NULL,
- .poolDefineXML = NULL,
- .poolBuild = NULL,
- .poolUndefine = NULL,
- .poolCreate = NULL,
- .poolDestroy = NULL,
- .poolDelete = NULL,
- .poolRefresh = NULL,
- .poolGetInfo = NULL,
- .poolGetXMLDesc = NULL,
- .poolGetAutostart = NULL,
- .poolSetAutostart = NULL,
.poolNumOfVolumes = vboxStoragePoolNumOfVolumes,
.poolListVolumes = vboxStoragePoolListVolumes,
@@ -8841,7 +8762,6 @@ virStorageDriver NAME(StorageDriver) = {
.volLookupByKey = vboxStorageVolLookupByKey,
.volLookupByPath = vboxStorageVolLookupByPath,
.volCreateXML = vboxStorageVolCreateXML,
- .volCreateXMLFrom = NULL,
.volDelete = vboxStorageVolDelete,
.volGetInfo = vboxStorageVolGetInfo,
.volGetXMLDesc = vboxStorageVolGetXMLDesc,
diff --git a/src/vmware/vmware_driver.c b/src/vmware/vmware_driver.c
index b920f79..529efa6 100644
--- a/src/vmware/vmware_driver.c
+++ b/src/vmware/vmware_driver.c
@@ -897,118 +897,34 @@ vmwareDomainGetInfo(virDomainPtr dom, virDomainInfoPtr info)
}
static virDriver vmwareDriver = {
- VIR_DRV_VMWARE,
- "VMWARE",
- vmwareOpen, /* open */
- vmwareClose, /* close */
- NULL, /* supports_feature */
- vmwareGetType, /* type */
- vmwareGetVersion, /* version */
- NULL, /* libvirtVersion (impl. in libvirt.c) */
- NULL, /* getHostname */
- NULL, /* getSysinfo */
- NULL, /* getMaxVcpus */
- NULL, /* nodeGetInfo */
- NULL, /* getCapabilities */
- vmwareListDomains, /* listDomains */
- vmwareNumDomains, /* numOfDomains */
- vmwareDomainCreateXML, /* domainCreateXML */
- vmwareDomainLookupByID, /* domainLookupByID */
- vmwareDomainLookupByUUID, /* domainLookupByUUID */
- vmwareDomainLookupByName, /* domainLookupByName */
- vmwareDomainSuspend, /* domainSuspend */
- vmwareDomainResume, /* domainResume */
- vmwareDomainShutdown, /* domainShutdown */
- vmwareDomainReboot, /* domainReboot */
- vmwareDomainShutdown, /* domainDestroy */
- vmwareGetOSType, /* domainGetOSType */
- NULL, /* domainGetMaxMemory */
- NULL, /* domainSetMaxMemory */
- NULL, /* domainSetMemory */
- NULL, /* domainSetMemoryFlags */
- NULL, /* domainSetMemoryParameters */
- NULL, /* domainGetMemoryParameters */
- NULL, /* domainSetBlkioParameters */
- NULL, /* domainGetBlkioParameters */
- vmwareDomainGetInfo, /* domainGetInfo */
- NULL, /* domainSave */
- NULL, /* domainRestore */
- NULL, /* domainCoreDump */
- NULL, /* domainScreenshot */
- NULL, /* domainSetVcpus */
- NULL, /* domainSetVcpusFlags */
- NULL, /* domainGetVcpusFlags */
- NULL, /* domainPinVcpu */
- NULL, /* domainGetVcpus */
- NULL, /* domainGetMaxVcpus */
- NULL, /* domainGetSecurityLabel */
- NULL, /* nodeGetSecurityModel */
- vmwareDomainGetXMLDesc, /* domainGetXMLDesc */
- NULL, /* domainXmlFromNative */
- NULL, /* domainXmlToNative */
- vmwareListDefinedDomains, /* listDefinedDomains */
- vmwareNumDefinedDomains, /* numOfDefinedDomains */
- vmwareDomainCreate, /* domainCreate */
- vmwareDomainCreateWithFlags,/* domainCreateWithFlags */
- vmwareDomainDefineXML, /* domainDefineXML */
- vmwareDomainUndefine, /* domainUndefine */
- NULL, /* domainAttachDevice */
- NULL, /* domainAttachDeviceFlags */
- NULL, /* domainDetachDevice */
- NULL, /* domainDetachDeviceFlags */
- NULL, /* domainUpdateDeviceFlags */
- NULL, /* domainGetAutostart */
- NULL, /* domainSetAutostart */
- NULL, /* domainGetSchedulerType */
- NULL, /* domainGetSchedulerParameters */
- NULL, /* domainSetSchedulerParameters */
- NULL, /* domainMigratePrepare */
- NULL, /* domainMigratePerform */
- NULL, /* domainMigrateFinish */
- NULL, /* domainBlockStats */
- NULL, /* domainInterfaceStats */
- NULL, /* domainMemoryStats */
- NULL, /* domainBlockPeek */
- NULL, /* domainMemoryPeek */
- NULL, /* domainGetBlockInfo */
- NULL, /* nodeGetCellsFreeMemory */
- NULL, /* getFreeMemory */
- NULL, /* domainEventRegister */
- NULL, /* domainEventDeregister */
- NULL, /* domainMigratePrepare2 */
- NULL, /* domainMigrateFinish2 */
- NULL, /* nodeDeviceDettach */
- NULL, /* nodeDeviceReAttach */
- NULL, /* nodeDeviceReset */
- NULL, /* domainMigratePrepareTunnel */
- NULL, /* IsEncrypted */
- NULL, /* IsSecure */
- vmwareDomainIsActive, /* DomainIsActive */
- vmwareDomainIsPersistent, /* DomainIsPersistent */
- NULL, /* domainIsUpdated */
- NULL, /* cpuCompare */
- NULL, /* cpuBaseline */
- NULL, /* domainGetJobInfo */
- NULL, /* domainAbortJob */
- NULL, /* domainMigrateSetMaxDowntime */
- NULL, /* domainMigrateSetMaxSpeed */
- NULL, /* domainEventRegisterAny */
- NULL, /* domainEventDeregisterAny */
- NULL, /* domainManagedSave */
- NULL, /* domainHasManagedSaveImage */
- NULL, /* domainManagedSaveRemove */
- NULL, /* domainSnapshotCreateXML */
- NULL, /* domainSnapshotGetXMLDesc */
- NULL, /* domainSnapshotNum */
- NULL, /* domainSnapshotListNames */
- NULL, /* domainSnapshotLookupByName */
- NULL, /* domainHasCurrentSnapshot */
- NULL, /* domainSnapshotCurrent */
- NULL, /* domainRevertToSnapshot */
- NULL, /* domainSnapshotDelete */
- NULL, /* qemuDomainMonitorCommand */
- NULL, /* domainOpenConsole */
- NULL, /* domainInjectNMI */
+ .no = VIR_DRV_VMWARE,
+ .name = "VMWARE",
+ .open = vmwareOpen,
+ .close = vmwareClose,
+ .type = vmwareGetType,
+ .version = vmwareGetVersion,
+ .listDomains = vmwareListDomains,
+ .numOfDomains = vmwareNumDomains,
+ .domainCreateXML = vmwareDomainCreateXML,
+ .domainLookupByID = vmwareDomainLookupByID,
+ .domainLookupByUUID = vmwareDomainLookupByUUID,
+ .domainLookupByName = vmwareDomainLookupByName,
+ .domainSuspend = vmwareDomainSuspend,
+ .domainResume = vmwareDomainResume,
+ .domainShutdown = vmwareDomainShutdown,
+ .domainReboot = vmwareDomainReboot,
+ .domainDestroy = vmwareDomainShutdown,
+ .domainGetOSType = vmwareGetOSType,
+ .domainGetInfo = vmwareDomainGetInfo,
+ .domainGetXMLDesc = vmwareDomainGetXMLDesc,
+ .listDefinedDomains = vmwareListDefinedDomains,
+ .numOfDefinedDomains = vmwareNumDefinedDomains,
+ .domainCreate = vmwareDomainCreate,
+ .domainCreateWithFlags = vmwareDomainCreateWithFlags,
+ .domainDefineXML = vmwareDomainDefineXML,
+ .domainUndefine = vmwareDomainUndefine,
+ .domainIsActive = vmwareDomainIsActive,
+ .domainIsPersistent = vmwareDomainIsPersistent,
};
int
diff --git a/src/xen/xen_driver.c b/src/xen/xen_driver.c
index 5bafb73..aaebfda 100644
--- a/src/xen/xen_driver.c
+++ b/src/xen/xen_driver.c
@@ -2099,118 +2099,82 @@ cleanup:
/* The interface which we export upwards to libvirt.c. */
static virDriver xenUnifiedDriver = {
- VIR_DRV_XEN_UNIFIED,
- "Xen",
- xenUnifiedOpen, /* open */
- xenUnifiedClose, /* close */
- xenUnifiedSupportsFeature, /* supports_feature */
- xenUnifiedType, /* type */
- xenUnifiedGetVersion, /* version */
- NULL, /* libvirtVersion (impl. in libvirt.c) */
- virGetHostname, /* getHostname */
- NULL, /* getSysinfo */
- xenUnifiedGetMaxVcpus, /* getMaxVcpus */
- xenUnifiedNodeGetInfo, /* nodeGetInfo */
- xenUnifiedGetCapabilities, /* getCapabilities */
- xenUnifiedListDomains, /* listDomains */
- xenUnifiedNumOfDomains, /* numOfDomains */
- xenUnifiedDomainCreateXML, /* domainCreateXML */
- xenUnifiedDomainLookupByID, /* domainLookupByID */
- xenUnifiedDomainLookupByUUID, /* domainLookupByUUID */
- xenUnifiedDomainLookupByName, /* domainLookupByName */
- xenUnifiedDomainSuspend, /* domainSuspend */
- xenUnifiedDomainResume, /* domainResume */
- xenUnifiedDomainShutdown, /* domainShutdown */
- xenUnifiedDomainReboot, /* domainReboot */
- xenUnifiedDomainDestroy, /* domainDestroy */
- xenUnifiedDomainGetOSType, /* domainGetOSType */
- xenUnifiedDomainGetMaxMemory, /* domainGetMaxMemory */
- xenUnifiedDomainSetMaxMemory, /* domainSetMaxMemory */
- xenUnifiedDomainSetMemory, /* domainSetMemory */
- NULL, /*domainSetMemoryFlags */
- NULL, /* domainSetMemoryParameters */
- NULL, /* domainGetMemoryParameters */
- NULL, /* domainSetBlkioParameters */
- NULL, /* domainGetBlkioParameters */
- xenUnifiedDomainGetInfo, /* domainGetInfo */
- xenUnifiedDomainSave, /* domainSave */
- xenUnifiedDomainRestore, /* domainRestore */
- xenUnifiedDomainCoreDump, /* domainCoreDump */
- NULL, /* domainScreenshot */
- xenUnifiedDomainSetVcpus, /* domainSetVcpus */
- xenUnifiedDomainSetVcpusFlags, /* domainSetVcpusFlags */
- xenUnifiedDomainGetVcpusFlags, /* domainGetVcpusFlags */
- xenUnifiedDomainPinVcpu, /* domainPinVcpu */
- xenUnifiedDomainGetVcpus, /* domainGetVcpus */
- xenUnifiedDomainGetMaxVcpus, /* domainGetMaxVcpus */
- NULL, /* domainGetSecurityLabel */
- NULL, /* nodeGetSecurityModel */
- xenUnifiedDomainGetXMLDesc, /* domainGetXMLDesc */
- xenUnifiedDomainXMLFromNative, /* domainXMLFromNative */
- xenUnifiedDomainXMLToNative, /* domainXMLToNative */
- xenUnifiedListDefinedDomains, /* listDefinedDomains */
- xenUnifiedNumOfDefinedDomains, /* numOfDefinedDomains */
- xenUnifiedDomainCreate, /* domainCreate */
- xenUnifiedDomainCreateWithFlags, /* domainCreateWithFlags */
- xenUnifiedDomainDefineXML, /* domainDefineXML */
- xenUnifiedDomainUndefine, /* domainUndefine */
- xenUnifiedDomainAttachDevice, /* domainAttachDevice */
- xenUnifiedDomainAttachDeviceFlags, /* domainAttachDeviceFlags */
- xenUnifiedDomainDetachDevice, /* domainDetachDevice */
- xenUnifiedDomainDetachDeviceFlags, /* domainDetachDeviceFlags */
- xenUnifiedDomainUpdateDeviceFlags, /* domainUpdateDeviceFlags */
- xenUnifiedDomainGetAutostart, /* domainGetAutostart */
- xenUnifiedDomainSetAutostart, /* domainSetAutostart */
- xenUnifiedDomainGetSchedulerType, /* domainGetSchedulerType */
- xenUnifiedDomainGetSchedulerParameters, /* domainGetSchedulerParameters */
- xenUnifiedDomainSetSchedulerParameters, /* domainSetSchedulerParameters */
- xenUnifiedDomainMigratePrepare, /* domainMigratePrepare */
- xenUnifiedDomainMigratePerform, /* domainMigratePerform */
- xenUnifiedDomainMigrateFinish, /* domainMigrateFinish */
- xenUnifiedDomainBlockStats, /* domainBlockStats */
- xenUnifiedDomainInterfaceStats, /* domainInterfaceStats */
- NULL, /* domainMemoryStats */
- xenUnifiedDomainBlockPeek, /* domainBlockPeek */
- NULL, /* domainMemoryPeek */
- NULL, /* domainGetBlockInfo */
- xenUnifiedNodeGetCellsFreeMemory, /* nodeGetCellsFreeMemory */
- xenUnifiedNodeGetFreeMemory, /* getFreeMemory */
- xenUnifiedDomainEventRegister, /* domainEventRegister */
- xenUnifiedDomainEventDeregister, /* domainEventDeregister */
- NULL, /* domainMigratePrepare2 */
- NULL, /* domainMigrateFinish2 */
- xenUnifiedNodeDeviceDettach, /* nodeDeviceDettach */
- xenUnifiedNodeDeviceReAttach, /* nodeDeviceReAttach */
- xenUnifiedNodeDeviceReset, /* nodeDeviceReset */
- NULL, /* domainMigratePrepareTunnel */
- xenUnifiedIsEncrypted, /* isEncrypted */
- xenUnifiedIsSecure, /* isSecure */
- xenUnifiedDomainIsActive, /* domainIsActive */
- xenUnifiedDomainIsPersistent, /* domainIsPersistent */
- xenUnifiedDomainIsUpdated, /* domainIsUpdated */
- NULL, /* cpuCompare */
- NULL, /* cpuBaseline */
- NULL, /* domainGetJobInfo */
- NULL, /* domainAbortJob */
- NULL, /* domainMigrateSetMaxDowntime */
- NULL, /* domainMigrateSetMaxSpeed */
- xenUnifiedDomainEventRegisterAny, /* domainEventRegisterAny */
- xenUnifiedDomainEventDeregisterAny, /* domainEventDeregisterAny */
- NULL, /* domainManagedSave */
- NULL, /* domainHasManagedSaveImage */
- NULL, /* domainManagedSaveRemove */
- NULL, /* domainSnapshotCreateXML */
- NULL, /* domainSnapshotGetXMLDesc */
- NULL, /* domainSnapshotNum */
- NULL, /* domainSnapshotListNames */
- NULL, /* domainSnapshotLookupByName */
- NULL, /* domainHasCurrentSnapshot */
- NULL, /* domainSnapshotCurrent */
- NULL, /* domainRevertToSnapshot */
- NULL, /* domainSnapshotDelete */
- NULL, /* qemuDomainMonitorCommand */
- xenUnifiedDomainOpenConsole, /* domainOpenConsole */
- NULL, /* domainInjectNMI */
+ .no = VIR_DRV_XEN_UNIFIED,
+ .name = "Xen",
+ .open = xenUnifiedOpen,
+ .close = xenUnifiedClose,
+ .supports_feature = xenUnifiedSupportsFeature,
+ .type = xenUnifiedType,
+ .version = xenUnifiedGetVersion,
+ .getHostname = virGetHostname,
+ .getMaxVcpus = xenUnifiedGetMaxVcpus,
+ .nodeGetInfo = xenUnifiedNodeGetInfo,
+ .getCapabilities = xenUnifiedGetCapabilities,
+ .listDomains = xenUnifiedListDomains,
+ .numOfDomains = xenUnifiedNumOfDomains,
+ .domainCreateXML = xenUnifiedDomainCreateXML,
+ .domainLookupByID = xenUnifiedDomainLookupByID,
+ .domainLookupByUUID = xenUnifiedDomainLookupByUUID,
+ .domainLookupByName = xenUnifiedDomainLookupByName,
+ .domainSuspend = xenUnifiedDomainSuspend,
+ .domainResume = xenUnifiedDomainResume,
+ .domainShutdown = xenUnifiedDomainShutdown,
+ .domainReboot = xenUnifiedDomainReboot,
+ .domainDestroy = xenUnifiedDomainDestroy,
+ .domainGetOSType = xenUnifiedDomainGetOSType,
+ .domainGetMaxMemory = xenUnifiedDomainGetMaxMemory,
+ .domainSetMaxMemory = xenUnifiedDomainSetMaxMemory,
+ .domainSetMemory = xenUnifiedDomainSetMemory,
+ .domainGetInfo = xenUnifiedDomainGetInfo,
+ .domainSave = xenUnifiedDomainSave,
+ .domainRestore = xenUnifiedDomainRestore,
+ .domainCoreDump = xenUnifiedDomainCoreDump,
+ .domainSetVcpus = xenUnifiedDomainSetVcpus,
+ .domainSetVcpusFlags = xenUnifiedDomainSetVcpusFlags,
+ .domainGetVcpusFlags = xenUnifiedDomainGetVcpusFlags,
+ .domainPinVcpu = xenUnifiedDomainPinVcpu,
+ .domainGetVcpus = xenUnifiedDomainGetVcpus,
+ .domainGetMaxVcpus = xenUnifiedDomainGetMaxVcpus,
+ .domainGetXMLDesc = xenUnifiedDomainGetXMLDesc,
+ .domainXMLFromNative = xenUnifiedDomainXMLFromNative,
+ .domainXMLToNative = xenUnifiedDomainXMLToNative,
+ .listDefinedDomains = xenUnifiedListDefinedDomains,
+ .numOfDefinedDomains = xenUnifiedNumOfDefinedDomains,
+ .domainCreate = xenUnifiedDomainCreate,
+ .domainCreateWithFlags = xenUnifiedDomainCreateWithFlags,
+ .domainDefineXML = xenUnifiedDomainDefineXML,
+ .domainUndefine = xenUnifiedDomainUndefine,
+ .domainAttachDevice = xenUnifiedDomainAttachDevice,
+ .domainAttachDeviceFlags = xenUnifiedDomainAttachDeviceFlags,
+ .domainDetachDevice = xenUnifiedDomainDetachDevice,
+ .domainDetachDeviceFlags = xenUnifiedDomainDetachDeviceFlags,
+ .domainUpdateDeviceFlags = xenUnifiedDomainUpdateDeviceFlags,
+ .domainGetAutostart = xenUnifiedDomainGetAutostart,
+ .domainSetAutostart = xenUnifiedDomainSetAutostart,
+ .domainGetSchedulerType = xenUnifiedDomainGetSchedulerType,
+ .domainGetSchedulerParameters = xenUnifiedDomainGetSchedulerParameters,
+ .domainSetSchedulerParameters = xenUnifiedDomainSetSchedulerParameters,
+ .domainMigratePrepare = xenUnifiedDomainMigratePrepare,
+ .domainMigratePerform = xenUnifiedDomainMigratePerform,
+ .domainMigrateFinish = xenUnifiedDomainMigrateFinish,
+ .domainBlockStats = xenUnifiedDomainBlockStats,
+ .domainInterfaceStats = xenUnifiedDomainInterfaceStats,
+ .domainBlockPeek = xenUnifiedDomainBlockPeek,
+ .nodeGetCellsFreeMemory = xenUnifiedNodeGetCellsFreeMemory,
+ .getFreeMemory = xenUnifiedNodeGetFreeMemory,
+ .domainEventRegister = xenUnifiedDomainEventRegister,
+ .domainEventDeregister = xenUnifiedDomainEventDeregister,
+ .nodeDeviceDettach = xenUnifiedNodeDeviceDettach,
+ .nodeDeviceReAttach = xenUnifiedNodeDeviceReAttach,
+ .nodeDeviceReset = xenUnifiedNodeDeviceReset,
+ .isEncrypted = xenUnifiedIsEncrypted,
+ .isSecure = xenUnifiedIsSecure,
+ .domainIsActive = xenUnifiedDomainIsActive,
+ .domainIsPersistent = xenUnifiedDomainIsPersistent,
+ .domainIsUpdated = xenUnifiedDomainIsUpdated,
+ .domainEventRegisterAny = xenUnifiedDomainEventRegisterAny,
+ .domainEventDeregisterAny = xenUnifiedDomainEventDeregisterAny,
+ .domainOpenConsole = xenUnifiedDomainOpenConsole,
};
/**
diff --git a/src/xen/xen_hypervisor.c b/src/xen/xen_hypervisor.c
index f442cfd..52bd26d 100644
--- a/src/xen/xen_hypervisor.c
+++ b/src/xen/xen_hypervisor.c
@@ -802,44 +802,24 @@ typedef struct xen_op_v2_dom xen_op_v2_dom;
static unsigned long xenHypervisorGetMaxMemory(virDomainPtr domain);
struct xenUnifiedDriver xenHypervisorDriver = {
- xenHypervisorOpen, /* open */
- xenHypervisorClose, /* close */
- xenHypervisorGetVersion, /* version */
- NULL, /* hostname */
- NULL, /* nodeGetInfo */
- xenHypervisorGetCapabilities, /* getCapabilities */
- xenHypervisorListDomains, /* listDomains */
- xenHypervisorNumOfDomains, /* numOfDomains */
- NULL, /* domainCreateXML */
- xenHypervisorPauseDomain, /* domainSuspend */
- xenHypervisorResumeDomain, /* domainResume */
- NULL, /* domainShutdown */
- NULL, /* domainReboot */
- xenHypervisorDestroyDomain, /* domainDestroy */
- xenHypervisorDomainGetOSType, /* domainGetOSType */
- xenHypervisorGetMaxMemory, /* domainGetMaxMemory */
- xenHypervisorSetMaxMemory, /* domainSetMaxMemory */
- NULL, /* domainSetMemory */
- xenHypervisorGetDomainInfo, /* domainGetInfo */
- NULL, /* domainSave */
- NULL, /* domainRestore */
- NULL, /* domainCoreDump */
- NULL, /* domainScreenshot */
- xenHypervisorPinVcpu, /* domainPinVcpu */
- xenHypervisorGetVcpus, /* domainGetVcpus */
- NULL, /* listDefinedDomains */
- NULL, /* numOfDefinedDomains */
- NULL, /* domainCreate */
- NULL, /* domainDefineXML */
- NULL, /* domainUndefine */
- NULL, /* domainAttachDeviceFlags */
- NULL, /* domainDetachDeviceFlags */
- NULL, /* domainUpdateDeviceFlags */
- NULL, /* domainGetAutostart */
- NULL, /* domainSetAutostart */
- xenHypervisorGetSchedulerType, /* domainGetSchedulerType */
- xenHypervisorGetSchedulerParameters, /* domainGetSchedulerParameters */
- xenHypervisorSetSchedulerParameters, /* domainSetSchedulerParameters */
+ .open = xenHypervisorOpen,
+ .close = xenHypervisorClose,
+ .version = xenHypervisorGetVersion,
+ .getCapabilities = xenHypervisorGetCapabilities,
+ .listDomains = xenHypervisorListDomains,
+ .numOfDomains = xenHypervisorNumOfDomains,
+ .domainSuspend = xenHypervisorPauseDomain,
+ .domainResume = xenHypervisorResumeDomain,
+ .domainDestroy = xenHypervisorDestroyDomain,
+ .domainGetOSType = xenHypervisorDomainGetOSType,
+ .domainGetMaxMemory = xenHypervisorGetMaxMemory,
+ .domainSetMaxMemory = xenHypervisorSetMaxMemory,
+ .domainGetInfo = xenHypervisorGetDomainInfo,
+ .domainPinVcpu = xenHypervisorPinVcpu,
+ .domainGetVcpus = xenHypervisorGetVcpus,
+ .domainGetSchedulerType = xenHypervisorGetSchedulerType,
+ .domainGetSchedulerParameters = xenHypervisorGetSchedulerParameters,
+ .domainSetSchedulerParameters = xenHypervisorSetSchedulerParameters,
};
#define virXenError(code, ...) \
diff --git a/src/xen/xen_inotify.c b/src/xen/xen_inotify.c
index 71bb6be..69ff48c 100644
--- a/src/xen/xen_inotify.c
+++ b/src/xen/xen_inotify.c
@@ -50,44 +50,8 @@
__FUNCTION__, __LINE__, __VA_ARGS__)
struct xenUnifiedDriver xenInotifyDriver = {
- xenInotifyOpen, /* open */
- xenInotifyClose, /* close */
- NULL, /* version */
- NULL, /* hostname */
- NULL, /* nodeGetInfo */
- NULL, /* getCapabilities */
- NULL, /* listDomains */
- NULL, /* numOfDomains */
- NULL, /* domainCreateLinux */
- NULL, /* domainSuspend */
- NULL, /* domainResume */
- NULL, /* domainShutdown */
- NULL, /* domainReboot */
- NULL, /* domainDestroy */
- NULL, /* domainGetOSType */
- NULL, /* domainGetMaxMemory */
- NULL, /* domainSetMaxMemory */
- NULL, /* domainSetMemory */
- NULL, /* domainGetInfo */
- NULL, /* domainSave */
- NULL, /* domainRestore */
- NULL, /* domainCoreDump */
- NULL, /* domainScreenshot */
- NULL, /* domainPinVcpu */
- NULL, /* domainGetVcpus */
- NULL, /* listDefinedDomains */
- NULL, /* numOfDefinedDomains */
- NULL, /* domainCreate */
- NULL, /* domainDefineXML */
- NULL, /* domainUndefine */
- NULL, /* domainAttachDeviceFlags */
- NULL, /* domainDetachDeviceFlags */
- NULL, /* domainUpdateDeviceFlags */
- NULL, /* domainGetAutostart */
- NULL, /* domainSetAutostart */
- NULL, /* domainGetSchedulerType */
- NULL, /* domainGetSchedulerParameters */
- NULL, /* domainSetSchedulerParameters */
+ .open = xenInotifyOpen,
+ .close = xenInotifyClose,
};
static int
diff --git a/src/xen/xend_internal.c b/src/xen/xend_internal.c
index 8bd5ddf..5d7799a 100644
--- a/src/xen/xend_internal.c
+++ b/src/xen/xend_internal.c
@@ -3842,44 +3842,41 @@ xenDaemonDomainBlockPeek (virDomainPtr domain, const char *path,
}
struct xenUnifiedDriver xenDaemonDriver = {
- xenDaemonOpen, /* open */
- xenDaemonClose, /* close */
- xenDaemonGetVersion, /* version */
- NULL, /* hostname */
- xenDaemonNodeGetInfo, /* nodeGetInfo */
- NULL, /* getCapabilities */
- xenDaemonListDomains, /* listDomains */
- xenDaemonNumOfDomains, /* numOfDomains */
- xenDaemonCreateXML, /* domainCreateXML */
- xenDaemonDomainSuspend, /* domainSuspend */
- xenDaemonDomainResume, /* domainResume */
- xenDaemonDomainShutdown, /* domainShutdown */
- xenDaemonDomainReboot, /* domainReboot */
- xenDaemonDomainDestroy, /* domainDestroy */
- xenDaemonDomainGetOSType, /* domainGetOSType */
- xenDaemonDomainGetMaxMemory, /* domainGetMaxMemory */
- xenDaemonDomainSetMaxMemory, /* domainSetMaxMemory */
- xenDaemonDomainSetMemory, /* domainMaxMemory */
- xenDaemonDomainGetInfo, /* domainGetInfo */
- xenDaemonDomainSave, /* domainSave */
- xenDaemonDomainRestore, /* domainRestore */
- xenDaemonDomainCoreDump, /* domainCoreDump */
- NULL, /* domainScreenshot */
- xenDaemonDomainPinVcpu, /* domainPinVcpu */
- xenDaemonDomainGetVcpus, /* domainGetVcpus */
- xenDaemonListDefinedDomains, /* listDefinedDomains */
- xenDaemonNumOfDefinedDomains,/* numOfDefinedDomains */
- xenDaemonDomainCreate, /* domainCreate */
- xenDaemonDomainDefineXML, /* domainDefineXML */
- xenDaemonDomainUndefine, /* domainUndefine */
- xenDaemonAttachDeviceFlags, /* domainAttachDeviceFlags */
- xenDaemonDetachDeviceFlags, /* domainDetachDeviceFlags */
- xenDaemonUpdateDeviceFlags, /* domainUpdateDeviceFlags */
- xenDaemonDomainGetAutostart, /* domainGetAutostart */
- xenDaemonDomainSetAutostart, /* domainSetAutostart */
- xenDaemonGetSchedulerType, /* domainGetSchedulerType */
- xenDaemonGetSchedulerParameters, /* domainGetSchedulerParameters */
- xenDaemonSetSchedulerParameters, /* domainSetSchedulerParameters */
+ .open = xenDaemonOpen,
+ .close = xenDaemonClose,
+ .version = xenDaemonGetVersion,
+ .nodeGetInfo = xenDaemonNodeGetInfo,
+ .listDomains = xenDaemonListDomains,
+ .numOfDomains = xenDaemonNumOfDomains,
+ .domainCreateXML = xenDaemonCreateXML,
+ .domainSuspend = xenDaemonDomainSuspend,
+ .domainResume = xenDaemonDomainResume,
+ .domainShutdown = xenDaemonDomainShutdown,
+ .domainReboot = xenDaemonDomainReboot,
+ .domainDestroy = xenDaemonDomainDestroy,
+ .domainGetOSType = xenDaemonDomainGetOSType,
+ .domainGetMaxMemory = xenDaemonDomainGetMaxMemory,
+ .domainSetMaxMemory = xenDaemonDomainSetMaxMemory,
+ .domainMaxMemory = xenDaemonDomainSetMemory,
+ .domainGetInfo = xenDaemonDomainGetInfo,
+ .domainSave = xenDaemonDomainSave,
+ .domainRestore = xenDaemonDomainRestore,
+ .domainCoreDump = xenDaemonDomainCoreDump,
+ .domainPinVcpu = xenDaemonDomainPinVcpu,
+ .domainGetVcpus = xenDaemonDomainGetVcpus,
+ .listDefinedDomains = xenDaemonListDefinedDomains,
+ .numOfDefinedDomains = xenDaemonNumOfDefinedDomains,
+ .domainCreate = xenDaemonDomainCreate,
+ .domainDefineXML = xenDaemonDomainDefineXML,
+ .domainUndefine = xenDaemonDomainUndefine,
+ .domainAttachDeviceFlags = xenDaemonAttachDeviceFlags,
+ .domainDetachDeviceFlags = xenDaemonDetachDeviceFlags,
+ .domainUpdateDeviceFlags = xenDaemonUpdateDeviceFlags,
+ .domainGetAutostart = xenDaemonDomainGetAutostart,
+ .domainSetAutostart = xenDaemonDomainSetAutostart,
+ .domainGetSchedulerType = xenDaemonGetSchedulerType,
+ .domainGetSchedulerParameters = xenDaemonGetSchedulerParameters,
+ .domainSetSchedulerParameters = xenDaemonSetSchedulerParameters,
};
diff --git a/src/xen/xm_internal.c b/src/xen/xm_internal.c
index 642a5ee..f207314 100644
--- a/src/xen/xm_internal.c
+++ b/src/xen/xm_internal.c
@@ -81,44 +81,20 @@ static int xenXMDomainDetachDeviceFlags(virDomainPtr domain, const char *xml,
#define XM_XML_ERROR "Invalid xml"
struct xenUnifiedDriver xenXMDriver = {
- xenXMOpen, /* open */
- xenXMClose, /* close */
- NULL, /* version */
- NULL, /* hostname */
- NULL, /* nodeGetInfo */
- NULL, /* getCapabilities */
- NULL, /* listDomains */
- NULL, /* numOfDomains */
- NULL, /* domainCreateXML */
- NULL, /* domainSuspend */
- NULL, /* domainResume */
- NULL, /* domainShutdown */
- NULL, /* domainReboot */
- NULL, /* domainDestroy */
- NULL, /* domainGetOSType */
- xenXMDomainGetMaxMemory, /* domainGetMaxMemory */
- xenXMDomainSetMaxMemory, /* domainSetMaxMemory */
- xenXMDomainSetMemory, /* domainMaxMemory */
- xenXMDomainGetInfo, /* domainGetInfo */
- NULL, /* domainSave */
- NULL, /* domainRestore */
- NULL, /* domainCoreDump */
- NULL, /* domainScreenshot */
- xenXMDomainPinVcpu, /* domainPinVcpu */
- NULL, /* domainGetVcpus */
- xenXMListDefinedDomains, /* listDefinedDomains */
- xenXMNumOfDefinedDomains, /* numOfDefinedDomains */
- xenXMDomainCreate, /* domainCreate */
- xenXMDomainDefineXML, /* domainDefineXML */
- xenXMDomainUndefine, /* domainUndefine */
- xenXMDomainAttachDeviceFlags, /* domainAttachDeviceFlags */
- xenXMDomainDetachDeviceFlags, /* domainDetachDeviceFlags */
- NULL, /* domainUpdateDeviceFlags */
- NULL, /* domainGetAutostart */
- NULL, /* domainSetAutostart */
- NULL, /* domainGetSchedulerType */
- NULL, /* domainGetSchedulerParameters */
- NULL, /* domainSetSchedulerParameters */
+ .open = xenXMOpen,
+ .close = xenXMClose,
+ .domainGetMaxMemory = xenXMDomainGetMaxMemory,
+ .domainSetMaxMemory = xenXMDomainSetMaxMemory,
+ .domainMaxMemory = xenXMDomainSetMemory,
+ .domainGetInfo = xenXMDomainGetInfo,
+ .domainPinVcpu = xenXMDomainPinVcpu,
+ .listDefinedDomains = xenXMListDefinedDomains,
+ .numOfDefinedDomains = xenXMNumOfDefinedDomains,
+ .domainCreate = xenXMDomainCreate,
+ .domainDefineXML = xenXMDomainDefineXML,
+ .domainUndefine = xenXMDomainUndefine,
+ .domainAttachDeviceFlags = xenXMDomainAttachDeviceFlags,
+ .domainDetachDeviceFlags = xenXMDomainDetachDeviceFlags,
};
#define xenXMError(code, ...) \
diff --git a/src/xen/xs_internal.c b/src/xen/xs_internal.c
index 4529ef4..10dbe36 100644
--- a/src/xen/xs_internal.c
+++ b/src/xen/xs_internal.c
@@ -43,44 +43,15 @@ static void xenStoreWatchEvent(int watch, int fd, int events, void *data);
static void xenStoreWatchListFree(xenStoreWatchListPtr list);
struct xenUnifiedDriver xenStoreDriver = {
- xenStoreOpen, /* open */
- xenStoreClose, /* close */
- NULL, /* version */
- NULL, /* hostname */
- NULL, /* nodeGetInfo */
- NULL, /* getCapabilities */
- xenStoreListDomains, /* listDomains */
- NULL, /* numOfDomains */
- NULL, /* domainCreateXML */
- NULL, /* domainSuspend */
- NULL, /* domainResume */
- xenStoreDomainShutdown, /* domainShutdown */
- xenStoreDomainReboot, /* domainReboot */
- NULL, /* domainDestroy */
- xenStoreDomainGetOSType, /* domainGetOSType */
- xenStoreDomainGetMaxMemory, /* domainGetMaxMemory */
- NULL, /* domainSetMaxMemory */
- xenStoreDomainSetMemory, /* domainSetMemory */
- xenStoreGetDomainInfo, /* domainGetInfo */
- NULL, /* domainSave */
- NULL, /* domainRestore */
- NULL, /* domainCoreDump */
- NULL, /* domainScreenshot */
- NULL, /* domainPinVcpu */
- NULL, /* domainGetVcpus */
- NULL, /* listDefinedDomains */
- NULL, /* numOfDefinedDomains */
- NULL, /* domainCreate */
- NULL, /* domainDefineXML */
- NULL, /* domainUndefine */
- NULL, /* domainAttachDeviceFlags */
- NULL, /* domainDetachDeviceFlags */
- NULL, /* domainUpdateDeviceFlags */
- NULL, /* domainGetAutostart */
- NULL, /* domainSetAutostart */
- NULL, /* domainGetSchedulerType */
- NULL, /* domainGetSchedulerParameters */
- NULL, /* domainSetSchedulerParameters */
+ .open = xenStoreOpen,
+ .close = xenStoreClose,
+ .listDomains = xenStoreListDomains,
+ .domainShutdown = xenStoreDomainShutdown,
+ .domainReboot = xenStoreDomainReboot,
+ .domainGetOSType = xenStoreDomainGetOSType,
+ .domainGetMaxMemory = xenStoreDomainGetMaxMemory,
+ .domainSetMemory = xenStoreDomainSetMemory,
+ .domainGetInfo = xenStoreGetDomainInfo,
};
#define virXenStoreError(code, ...) \
diff --git a/src/xenapi/xenapi_driver.c b/src/xenapi/xenapi_driver.c
index 136356d..239a6d2 100644
--- a/src/xenapi/xenapi_driver.c
+++ b/src/xenapi/xenapi_driver.c
@@ -1779,118 +1779,51 @@ xenapiNodeGetCellsFreeMemory (virConnectPtr conn, unsigned long long *freeMems,
/* The interface which we export upwards to libvirt.c. */
static virDriver xenapiDriver = {
- VIR_DRV_XENAPI,
- "XenAPI",
- xenapiOpen, /* open */
- xenapiClose, /* close */
- xenapiSupportsFeature, /* supports_feature */
- xenapiType, /* type */
- xenapiGetVersion, /* version */
- NULL, /*getlibvirtVersion */
- xenapiGetHostname, /* getHostname */
- NULL, /* getSysinfo */
- xenapiGetMaxVcpus, /* getMaxVcpus */
- xenapiNodeGetInfo, /* nodeGetInfo */
- xenapiGetCapabilities, /* getCapabilities */
- xenapiListDomains, /* listDomains */
- xenapiNumOfDomains, /* numOfDomains */
- xenapiDomainCreateXML, /* domainCreateXML */
- xenapiDomainLookupByID, /* domainLookupByID */
- xenapiDomainLookupByUUID, /* domainLookupByUUID */
- xenapiDomainLookupByName, /* domainLookupByName */
- xenapiDomainSuspend, /* domainSuspend */
- xenapiDomainResume, /* domainResume */
- xenapiDomainShutdown, /* domainShutdown */
- xenapiDomainReboot, /* domainReboot */
- xenapiDomainDestroy, /* domainDestroy */
- xenapiDomainGetOSType, /* domainGetOSType */
- xenapiDomainGetMaxMemory, /* domainGetMaxMemory */
- xenapiDomainSetMaxMemory, /* domainSetMaxMemory */
- NULL, /* domainSetMemory */
- NULL, /* domainSetMemoryFlags */
- NULL, /* domainSetMemoryParameters */
- NULL, /* domainGetMemoryParameters */
- NULL, /* domainSetBlkioParameters */
- NULL, /* domainGetBlkioParameters */
- xenapiDomainGetInfo, /* domainGetInfo */
- NULL, /* domainSave */
- NULL, /* domainRestore */
- NULL, /* domainCoreDump */
- NULL, /* domainScreenshot */
- xenapiDomainSetVcpus, /* domainSetVcpus */
- xenapiDomainSetVcpusFlags, /* domainSetVcpusFlags */
- xenapiDomainGetVcpusFlags, /* domainGetVcpusFlags */
- xenapiDomainPinVcpu, /* domainPinVcpu */
- xenapiDomainGetVcpus, /* domainGetVcpus */
- xenapiDomainGetMaxVcpus, /* domainGetMaxVcpus */
- NULL, /* domainGetSecurityLabel */
- NULL, /* nodeGetSecurityModel */
- xenapiDomainGetXMLDesc, /* domainGetXMLDesc */
- NULL, /* domainXmlFromNative */
- NULL, /* domainXmlToNative */
- xenapiListDefinedDomains, /* listDefinedDomains */
- xenapiNumOfDefinedDomains, /* numOfDefinedDomains */
- xenapiDomainCreate, /* domainCreate */
- xenapiDomainCreateWithFlags, /* domainCreateWithFlags */
- xenapiDomainDefineXML, /* domainDefineXML */
- xenapiDomainUndefine, /* domainUndefine */
- NULL, /* domainAttachDevice */
- NULL, /* domainAttachDeviceFlags */
- NULL, /* domainDetachDevice */
- NULL, /* domainDetachDeviceFlags */
- NULL, /* domainUpdateDeviceFlags */
- xenapiDomainGetAutostart, /* domainGetAutostart */
- xenapiDomainSetAutostart, /* domainSetAutostart */
- xenapiDomainGetSchedulerType, /* domainGetSchedulerType */
- NULL, /* domainGetSchedulerParameters */
- NULL, /* domainSetSchedulerParameters */
- NULL, /* domainMigratePrepare */
- NULL, /* domainMigratePerform */
- NULL, /* domainMigrateFinish */
- NULL, /* domainBlockStats */
- NULL, /* domainInterfaceStats */
- NULL, /* domainMemoryStats */
- NULL, /* domainBlockPeek */
- NULL, /* domainMemoryPeek */
- NULL, /* domainGetBlockInfo */
- xenapiNodeGetCellsFreeMemory, /* nodeGetCellsFreeMemory */
- xenapiNodeGetFreeMemory, /* getFreeMemory */
- NULL, /* domainEventRegister */
- NULL, /* domainEventDeregister */
- NULL, /* domainMigratePrepare2 */
- NULL, /* domainMigrateFinish2 */
- NULL, /* nodeDeviceDettach */
- NULL, /* nodeDeviceReAttach */
- NULL, /* nodeDeviceReset */
- NULL, /* domainMigratePrepareTunnel */
- NULL, /* isEncrypted */
- NULL, /* isSecure */
- NULL, /* domainIsActive */
- NULL, /* domainIsPersistent */
- xenapiDomainIsUpdated, /* domainIsUpdated */
- NULL, /* cpuCompare */
- NULL, /* cpuBaseline */
- NULL, /* domainGetJobInfo */
- NULL, /* domainAbortJob */
- NULL, /* domainMigrateSetMaxDowntime */
- NULL, /* domainMigrateSetMaxSpeed */
- NULL, /* domainEventRegisterAny */
- NULL, /* domainEventDeregisterAny */
- NULL, /* domainManagedSave */
- NULL, /* domainHasManagedSaveImage */
- NULL, /* domainManagedSaveRemove */
- NULL, /* domainSnapshotCreateXML */
- NULL, /* domainSnapshotGetXMLDesc */
- NULL, /* domainSnapshotNum */
- NULL, /* domainSnapshotListNames */
- NULL, /* domainSnapshotLookupByName */
- NULL, /* domainHasCurrentSnapshot */
- NULL, /* domainSnapshotCurrent */
- NULL, /* domainRevertToSnapshot */
- NULL, /* domainSnapshotDelete */
- NULL, /* qemuDomainMonitorCommand */
- NULL, /* domainOpenConsole */
- NULL, /* domainInjectNMI */
+ .no = VIR_DRV_XENAPI,
+ .name = "XenAPI",
+ .open = xenapiOpen,
+ .close = xenapiClose,
+ .supports_feature = xenapiSupportsFeature,
+ .type = xenapiType,
+ .version = xenapiGetVersion,
+ .getHostname = xenapiGetHostname,
+ .getMaxVcpus = xenapiGetMaxVcpus,
+ .nodeGetInfo = xenapiNodeGetInfo,
+ .getCapabilities = xenapiGetCapabilities,
+ .listDomains = xenapiListDomains,
+ .numOfDomains = xenapiNumOfDomains,
+ .domainCreateXML = xenapiDomainCreateXML,
+ .domainLookupByID = xenapiDomainLookupByID,
+ .domainLookupByUUID = xenapiDomainLookupByUUID,
+ .domainLookupByName = xenapiDomainLookupByName,
+ .domainSuspend = xenapiDomainSuspend,
+ .domainResume = xenapiDomainResume,
+ .domainShutdown = xenapiDomainShutdown,
+ .domainReboot = xenapiDomainReboot,
+ .domainDestroy = xenapiDomainDestroy,
+ .domainGetOSType = xenapiDomainGetOSType,
+ .domainGetMaxMemory = xenapiDomainGetMaxMemory,
+ .domainSetMaxMemory = xenapiDomainSetMaxMemory,
+ .domainGetInfo = xenapiDomainGetInfo,
+ .domainSetVcpus = xenapiDomainSetVcpus,
+ .domainSetVcpusFlags = xenapiDomainSetVcpusFlags,
+ .domainGetVcpusFlags = xenapiDomainGetVcpusFlags,
+ .domainPinVcpu = xenapiDomainPinVcpu,
+ .domainGetVcpus = xenapiDomainGetVcpus,
+ .domainGetMaxVcpus = xenapiDomainGetMaxVcpus,
+ .domainGetXMLDesc = xenapiDomainGetXMLDesc,
+ .listDefinedDomains = xenapiListDefinedDomains,
+ .numOfDefinedDomains = xenapiNumOfDefinedDomains,
+ .domainCreate = xenapiDomainCreate,
+ .domainCreateWithFlags = xenapiDomainCreateWithFlags,
+ .domainDefineXML = xenapiDomainDefineXML,
+ .domainUndefine = xenapiDomainUndefine,
+ .domainGetAutostart = xenapiDomainGetAutostart,
+ .domainSetAutostart = xenapiDomainSetAutostart,
+ .domainGetSchedulerType = xenapiDomainGetSchedulerType,
+ .nodeGetCellsFreeMemory = xenapiNodeGetCellsFreeMemory,
+ .getFreeMemory = xenapiNodeGetFreeMemory,
+ .domainIsUpdated = xenapiDomainIsUpdated,
};
/**
13 years, 7 months
[libvirt] [PATCH] virsh: Report an error when virGetUserDirectory fails
by Matthias Bolte
Otherwise virsh shows the interactive greeting and the silently exists
instead of enterting interactive mode.
---
tools/virsh.c | 4 +++-
1 files changed, 3 insertions(+), 1 deletions(-)
diff --git a/tools/virsh.c b/tools/virsh.c
index 3baa015..356e0ae 100644
--- a/tools/virsh.c
+++ b/tools/virsh.c
@@ -12495,8 +12495,10 @@ vshReadlineInit(vshControl *ctl)
/* Prepare to read/write history from/to the ~/.virsh/history file */
userdir = virGetUserDirectory(getuid());
- if (userdir == NULL)
+ if (userdir == NULL) {
+ vshError(ctl, "%s", _("Could not determine home directory"));
return -1;
+ }
if (virAsprintf(&ctl->historydir, "%s/.virsh", userdir) < 0) {
vshError(ctl, "%s", _("Out of memory"));
--
1.7.0.4
13 years, 7 months