[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

[libvirt] [PATCH 2/4] Convert all driver struct intializers to C99 style



Change all the driver struct initializers to use the
C99 style, leaving out unused fields. This will make
it possible to add new APIs without changing every
driver. eg change:

    qemudDomainResume, /* domainResume */
    qemudDomainShutdown, /* domainShutdown */
    NULL, /* domainReboot */
    qemudDomainDestroy, /* domainDestroy */

to

    .domainResume = qemudDomainResume,
    .domainShutdown = qemudDomainShutdown,
    .domainDestroy = qemudDomainDestroy,

And get rid of any existing C99 style initializersr which
set NULL, eg change

     .listPools          = vboxStorageListPools,
     .numOfDefinedPools  = NULL,
     .listDefinedPools   = NULL,
     .findPoolSources    = NULL,
     .poolLookupByName   = vboxStoragePoolLookupByName,

to

     .listPools          = vboxStorageListPools,
     .poolLookupByName   = vboxStoragePoolLookupByName,
---
 src/esx/esx_driver.c           |  171 +++++++++++-------------------
 src/esx/esx_interface_driver.c |   16 +---
 src/esx/esx_network_driver.c   |   21 +----
 src/esx/esx_nwfilter_driver.c  |   11 +--
 src/esx/esx_secret_driver.c    |   13 +--
 src/esx/esx_storage_driver.c   |   66 +++++-------
 src/interface/netcf_driver.c   |   28 +++---
 src/libxl/libxl_driver.c       |  161 +++++++++-------------------
 src/lxc/lxc_driver.c           |  157 ++++++++-------------------
 src/network/bridge_driver.c    |   34 +++---
 src/openvz/openvz_driver.c     |  148 +++++++-------------------
 src/phyp/phyp_driver.c         |  161 +++++-----------------------
 src/qemu/qemu_driver.c         |  216 ++++++++++++++++++-------------------
 src/remote/remote_driver.c     |  220 +++++++++++++++++++-------------------
 src/test/test_driver.c         |  232 +++++++++++++++------------------------
 src/uml/uml_driver.c           |  152 +++++++-------------------
 src/vbox/vbox_tmpl.c           |  202 +++++++++++------------------------
 src/vmware/vmware_driver.c     |  136 +++++-------------------
 src/xen/xen_driver.c           |  184 +++++++++++++-------------------
 src/xenapi/xenapi_driver.c     |  153 ++++++++-------------------
 20 files changed, 841 insertions(+), 1641 deletions(-)

diff --git a/src/esx/esx_driver.c b/src/esx/esx_driver.c
index e136716..4c9bed2 100644
--- a/src/esx/esx_driver.c
+++ b/src/esx/esx_driver.c
@@ -4591,116 +4591,67 @@ 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,                  /* getHostname */
-    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 */
+    .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,
+    .nodeGetFreeMemory = 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..ea60095 100644
--- a/src/esx/esx_interface_driver.c
+++ b/src/esx/esx_interface_driver.c
@@ -67,20 +67,8 @@ 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 */
+    .open = esxInterfaceOpen,
+    .close = esxInterfaceClose,
 };
 
 
diff --git a/src/esx/esx_network_driver.c b/src/esx/esx_network_driver.c
index bbc2541..78079bb 100644
--- a/src/esx/esx_network_driver.c
+++ b/src/esx/esx_network_driver.c
@@ -67,25 +67,8 @@ 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 */
+    .open = esxNetworkOpen,
+    .close = esxNetworkClose,
 };
 
 
diff --git a/src/esx/esx_nwfilter_driver.c b/src/esx/esx_nwfilter_driver.c
index a9d046d..8811f47 100644
--- a/src/esx/esx_nwfilter_driver.c
+++ b/src/esx/esx_nwfilter_driver.c
@@ -66,15 +66,8 @@ 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 */
+    .open = esxNWFilterOpen,
+    .close = esxNWFilterClose,
 };
 
 
diff --git a/src/esx/esx_secret_driver.c b/src/esx/esx_secret_driver.c
index 1ae7ddc..8c09191 100644
--- a/src/esx/esx_secret_driver.c
+++ b/src/esx/esx_secret_driver.c
@@ -65,17 +65,8 @@ 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 */
+    .open = esxSecretOpen,
+    .close = esxSecretClose,
 };
 
 
diff --git a/src/esx/esx_storage_driver.c b/src/esx/esx_storage_driver.c
index f37d064..0e86467 100644
--- a/src/esx/esx_storage_driver.c
+++ b/src/esx/esx_storage_driver.c
@@ -1642,44 +1642,34 @@ 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 */
+    .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 cf0efb7..74b9638 100644
--- a/src/interface/netcf_driver.c
+++ b/src/interface/netcf_driver.c
@@ -542,20 +542,20 @@ 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 */
+    .open = interfaceOpenInterface,
+    .close = interfaceCloseInterface,
+    .numOfInterfaces = interfaceNumOfInterfaces,
+    .listInterfaces = interfaceListInterfaces,
+    .numOfDefinedInterfaces = interfaceNumOfDefinedInterfaces,
+    .listDefinedInterfaces = 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 62a1e94..bc54e3e 100644
--- a/src/libxl/libxl_driver.c
+++ b/src/libxl/libxl_driver.c
@@ -2681,116 +2681,57 @@ 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,     /* nodeGetFreeMemory */
-    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 */
+    .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,
+    .nodeGetFreeMemory = 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 7e754ee..1346336 100644
--- a/src/lxc/lxc_driver.c
+++ b/src/lxc/lxc_driver.c
@@ -2708,116 +2708,53 @@ cleanup:
 static virDriver lxcDriver = {
     VIR_DRV_LXC,
     "LXC",
-    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,  /* nodeGetFreeMemory */
-    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 */
+    .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,
+    .nodeGetFreeMemory = 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..00f32ad 100644
--- a/src/network/bridge_driver.c
+++ b/src/network/bridge_driver.c
@@ -2504,23 +2504,23 @@ 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 */
+    .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,
     networkIsPersistent,
 };
diff --git a/src/openvz/openvz_driver.c b/src/openvz/openvz_driver.c
index b3edb3b..cac5d17 100644
--- a/src/openvz/openvz_driver.c
+++ b/src/openvz/openvz_driver.c
@@ -1559,116 +1559,44 @@ 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, /* nodeGetFreeMemory */
-    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 */
+    .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 af34297..e147495 100644
--- a/src/phyp/phyp_driver.c
+++ b/src/phyp/phyp_driver.c
@@ -3720,116 +3720,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,                       /* nodeGetFreeMemory */
-    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,                       /* qemuDomainMonitorCommand */
-    NULL,                       /* domainOpenConsole */
-    NULL,                       /* domainInjectNMI */
+    VIR_DRV_PHYP,
+    "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 = {
@@ -3839,38 +3755,19 @@ static virStorageDriver phypStorageDriver = {
 
     .numOfPools = phypNumOfStoragePools,
     .listPools = phypListStoragePools,
-    .numOfDefinedPools = NULL,
-    .listDefinedPools = NULL,
-    .findPoolSources = NULL,
     .poolLookupByName = phypStoragePoolLookupByName,
     .poolLookupByUUID = phypGetStoragePoolLookUpByUUID,
-    .poolLookupByVolume = NULL,
     .poolCreateXML = phypStoragePoolCreateXML,
-    .poolDefineXML = NULL,
-    .poolBuild = NULL,
-    .poolUndefine = NULL,
-    .poolCreate = NULL,
     .poolDestroy = phypDestroyStoragePool,
-    .poolDelete = NULL,
-    .poolRefresh = NULL,
-    .poolGetInfo = NULL,
     .poolGetXMLDesc = phypGetStoragePoolXMLDesc,
-    .poolGetAutostart = NULL,
-    .poolSetAutostart = NULL,
     .poolNumOfVolumes = phypStoragePoolNumOfVolumes,
     .poolListVolumes = phypStoragePoolListVolumes,
 
     .volLookupByName = phypVolumeLookupByName,
-    .volLookupByKey = NULL,
     .volLookupByPath = phypVolumeLookupByPath,
     .volCreateXML = phypStorageVolCreateXML,
-    .volCreateXMLFrom = NULL,
-    .volDelete = NULL,
-    .volGetInfo = NULL,
     .volGetXMLDesc = phypVolumeGetXMLDesc,
     .volGetPath = phypVolumeGetPath,
-    .poolIsActive = NULL,
-    .poolIsPersistent = NULL
 };
 
 static virInterfaceDriver phypInterfaceDriver = {
@@ -3879,14 +3776,8 @@ static virInterfaceDriver phypInterfaceDriver = {
     .close = phypVIOSDriverClose,
     .numOfInterfaces = phypNumOfInterfaces,
     .listInterfaces = phypListInterfaces,
-    .numOfDefinedInterfaces = NULL,
-    .listDefinedInterfaces = NULL,
     .interfaceLookupByName = phypInterfaceLookupByName,
-    .interfaceLookupByMACString = NULL,
-    .interfaceGetXMLDesc = NULL,
     .interfaceDefineXML = phypInterfaceDefineXML,
-    .interfaceUndefine = NULL,
-    .interfaceCreate = NULL,
     .interfaceDestroy = phypInterfaceDestroy,
     .interfaceIsActive = phypInterfaceIsActive
 };
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index b2aa8d8..9156b79 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -7224,116 +7224,112 @@ 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,  /* nodeGetFreeMemory */
-    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 */
+    .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,
+    .nodeGetFreeMemory = 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 5c6b0d8..09c1491 100644
--- a/src/remote/remote_driver.c
+++ b/src/remote/remote_driver.c
@@ -6430,116 +6430,116 @@ 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, /* nodeGetFreeMemory */
-    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, /* domainAbortJob */
-    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 */
+    .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,
+    .nodeGetFreeMemory = 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 3b5efa6..0e8d2bc 100644
--- a/src/test/test_driver.c
+++ b/src/test/test_driver.c
@@ -5339,157 +5339,103 @@ 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, /* nodeGetFreeMemory */
-    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 */
+    .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 */
+    .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 */
+    .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 50eca53..9813972 100644
--- a/src/uml/uml_driver.c
+++ b/src/uml/uml_driver.c
@@ -2146,116 +2146,48 @@ 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,  /* nodeGetFreeMemory */
-    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 */
+    .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,
+    .nodeGetFreeMemory = 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..c737263 100644
--- a/src/vbox/vbox_tmpl.c
+++ b/src/vbox/vbox_tmpl.c
@@ -8663,130 +8663,71 @@ 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 */
+    .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,
+    .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,
+    .nodeGetFreeMemory = nodeGetFreeMemory,
 #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 */
+#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) = {
@@ -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 c1a21c4..44876ba 100644
--- a/src/vmware/vmware_driver.c
+++ b/src/vmware/vmware_driver.c
@@ -899,116 +899,32 @@ 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,                       /* nodeGetFreeMemory */
-    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 */
+    .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 ca4c498..953d09e 100644
--- a/src/xen/xen_driver.c
+++ b/src/xen/xen_driver.c
@@ -2101,116 +2101,80 @@ cleanup:
 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, /* nodeGetFreeMemory */
-    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 */
+    .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,
+    .nodeGetFreeMemory = 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/xenapi/xenapi_driver.c b/src/xenapi/xenapi_driver.c
index 0a1f7de..6bfc163 100644
--- a/src/xenapi/xenapi_driver.c
+++ b/src/xenapi/xenapi_driver.c
@@ -1781,116 +1781,49 @@ xenapiNodeGetCellsFreeMemory (virConnectPtr conn, unsigned long long *freeMems,
 static virDriver xenapiDriver = {
     VIR_DRV_XENAPI,
     "XenAPI",
-    xenapiOpen, /* open */
-    xenapiClose, /* close */
-    xenapiSupportsFeature, /* supports_feature */
-    xenapiType, /* type */
-    xenapiGetVersion, /* version */
-    NULL, /* libvirtVersion */
-    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, /* nodeGetFreeMemory */
-    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 */
+    .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,
+    .nodeGetFreeMemory = xenapiNodeGetFreeMemory,
+    .domainIsUpdated = xenapiDomainIsUpdated,
 };
 
 /**
-- 
1.7.4.4


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]