[libvirt] [PATCH 01/13] virsh: Switch to c99 initialization of vshCmdDef

Michal Privoznik mprivozn at redhat.com
Thu Feb 7 16:51:45 UTC 2013


---
 tools/virsh-domain-monitor.c |  86 ++++++-
 tools/virsh-domain.c         | 581 +++++++++++++++++++++++++++++++++++--------
 tools/virsh-host.c           |  95 +++++--
 tools/virsh-interface.c      | 114 ++++++---
 tools/virsh-network.c        |  99 ++++++--
 tools/virsh-nodedev.c        |  66 +++--
 tools/virsh-nwfilter.c       |  42 +++-
 tools/virsh-pool.c           | 139 +++++++++--
 tools/virsh-secret.c         |  49 +++-
 tools/virsh-snapshot.c       |  82 ++++--
 tools/virsh-volume.c         | 116 +++++++--
 tools/virsh.c                |  44 +++-
 12 files changed, 1224 insertions(+), 289 deletions(-)

diff --git a/tools/virsh-domain-monitor.c b/tools/virsh-domain-monitor.c
index b519f88..0993ae7 100644
--- a/tools/virsh-domain-monitor.c
+++ b/tools/virsh-domain-monitor.c
@@ -1812,17 +1812,77 @@ cleanup:
 #undef FILTER
 
 const vshCmdDef domMonitoringCmds[] = {
-    {"domblkerror", cmdDomBlkError, opts_domblkerror, info_domblkerror, 0},
-    {"domblkinfo", cmdDomblkinfo, opts_domblkinfo, info_domblkinfo, 0},
-    {"domblklist", cmdDomblklist, opts_domblklist, info_domblklist, 0},
-    {"domblkstat", cmdDomblkstat, opts_domblkstat, info_domblkstat, 0},
-    {"domcontrol", cmdDomControl, opts_domcontrol, info_domcontrol, 0},
-    {"domif-getlink", cmdDomIfGetLink, opts_domif_getlink, info_domif_getlink, 0},
-    {"domiflist", cmdDomiflist, opts_domiflist, info_domiflist, 0},
-    {"domifstat", cmdDomIfstat, opts_domifstat, info_domifstat, 0},
-    {"dominfo", cmdDominfo, opts_dominfo, info_dominfo, 0},
-    {"dommemstat", cmdDomMemStat, opts_dommemstat, info_dommemstat, 0},
-    {"domstate", cmdDomstate, opts_domstate, info_domstate, 0},
-    {"list", cmdList, opts_list, info_list, 0},
-    {NULL, NULL, NULL, NULL, 0}
+    {.name = "domblkerror",
+     .handler = cmdDomBlkError,
+     .opts = opts_domblkerror,
+     .info = info_domblkerror,
+     .flags = 0
+    },
+    {.name = "domblkinfo",
+     .handler = cmdDomblkinfo,
+     .opts = opts_domblkinfo,
+     .info = info_domblkinfo,
+     .flags = 0
+    },
+    {.name = "domblklist",
+     .handler = cmdDomblklist,
+     .opts = opts_domblklist,
+     .info = info_domblklist,
+     .flags = 0
+    },
+    {.name = "domblkstat",
+     .handler = cmdDomblkstat,
+     .opts = opts_domblkstat,
+     .info = info_domblkstat,
+     .flags = 0
+    },
+    {.name = "domcontrol",
+     .handler = cmdDomControl,
+     .opts = opts_domcontrol,
+     .info = info_domcontrol,
+     .flags = 0
+    },
+    {.name = "domif-getlink",
+     .handler = cmdDomIfGetLink,
+     .opts = opts_domif_getlink,
+     .info = info_domif_getlink,
+     .flags = 0
+    },
+    {.name = "domiflist",
+     .handler = cmdDomiflist,
+     .opts = opts_domiflist,
+     .info = info_domiflist,
+     .flags = 0
+    },
+    {.name = "domifstat",
+     .handler = cmdDomIfstat,
+     .opts = opts_domifstat,
+     .info = info_domifstat,
+     .flags = 0
+    },
+    {.name = "dominfo",
+     .handler = cmdDominfo,
+     .opts = opts_dominfo,
+     .info = info_dominfo,
+     .flags = 0
+    },
+    {.name = "dommemstat",
+     .handler = cmdDomMemStat,
+     .opts = opts_dommemstat,
+     .info = info_dommemstat,
+     .flags = 0
+    },
+    {.name = "domstate",
+     .handler = cmdDomstate,
+     .opts = opts_domstate,
+     .info = info_domstate,
+     .flags = 0
+    },
+    {.name = "list",
+     .handler = cmdList,
+     .opts = opts_list,
+     .info = info_list,
+     .flags = 0
+    },
+    {.name = NULL}
 };
diff --git a/tools/virsh-domain.c b/tools/virsh-domain.c
index fe1ea96..65765bd 100644
--- a/tools/virsh-domain.c
+++ b/tools/virsh-domain.c
@@ -9930,106 +9930,487 @@ cleanup:
 }
 
 const vshCmdDef domManagementCmds[] = {
-    {"attach-device", cmdAttachDevice, opts_attach_device,
-     info_attach_device, 0},
-    {"attach-disk", cmdAttachDisk, opts_attach_disk,
-     info_attach_disk, 0},
-    {"attach-interface", cmdAttachInterface, opts_attach_interface,
-     info_attach_interface, 0},
-    {"autostart", cmdAutostart, opts_autostart, info_autostart, 0},
-    {"blkdeviotune", cmdBlkdeviotune, opts_blkdeviotune, info_blkdeviotune, 0},
-    {"blkiotune", cmdBlkiotune, opts_blkiotune, info_blkiotune, 0},
-    {"blockcommit", cmdBlockCommit, opts_block_commit, info_block_commit, 0},
-    {"blockcopy", cmdBlockCopy, opts_block_copy, info_block_copy, 0},
-    {"blockjob", cmdBlockJob, opts_block_job, info_block_job, 0},
-    {"blockpull", cmdBlockPull, opts_block_pull, info_block_pull, 0},
-    {"blockresize", cmdBlockResize, opts_block_resize, info_block_resize, 0},
-    {"change-media", cmdChangeMedia, opts_change_media, info_change_media, 0},
+    {.name = "attach-device",
+     .handler = cmdAttachDevice,
+     .opts = opts_attach_device,
+     .info = info_attach_device,
+     .flags = 0
+    },
+    {.name = "attach-disk",
+     .handler = cmdAttachDisk,
+     .opts = opts_attach_disk,
+     .info = info_attach_disk,
+     .flags = 0
+    },
+    {.name = "attach-interface",
+     .handler = cmdAttachInterface,
+     .opts = opts_attach_interface,
+     .info = info_attach_interface,
+     .flags = 0
+    },
+    {.name = "autostart",
+     .handler = cmdAutostart,
+     .opts = opts_autostart,
+     .info = info_autostart,
+     .flags = 0
+    },
+    {.name = "blkdeviotune",
+     .handler = cmdBlkdeviotune,
+     .opts = opts_blkdeviotune,
+     .info = info_blkdeviotune,
+     .flags = 0
+    },
+    {.name = "blkiotune",
+     .handler = cmdBlkiotune,
+     .opts = opts_blkiotune,
+     .info = info_blkiotune,
+     .flags = 0
+    },
+    {.name = "blockcommit",
+     .handler = cmdBlockCommit,
+     .opts = opts_block_commit,
+     .info = info_block_commit,
+     .flags = 0
+    },
+    {.name = "blockcopy",
+     .handler = cmdBlockCopy,
+     .opts = opts_block_copy,
+     .info = info_block_copy,
+     .flags = 0
+    },
+    {.name = "blockjob",
+     .handler = cmdBlockJob,
+     .opts = opts_block_job,
+     .info = info_block_job,
+     .flags = 0
+    },
+    {.name = "blockpull",
+     .handler = cmdBlockPull,
+     .opts = opts_block_pull,
+     .info = info_block_pull,
+     .flags = 0
+    },
+    {.name = "blockresize",
+     .handler = cmdBlockResize,
+     .opts = opts_block_resize,
+     .info = info_block_resize,
+     .flags = 0
+    },
+    {.name = "change-media",
+     .handler = cmdChangeMedia,
+     .opts = opts_change_media,
+     .info = info_change_media,
+     .flags = 0
+    },
 #ifndef WIN32
-    {"console", cmdConsole, opts_console, info_console, 0},
+    {.name = "console",
+     .handler = cmdConsole,
+     .opts = opts_console,
+     .info = info_console,
+     .flags = 0
+    },
 #endif
-    {"cpu-baseline", cmdCPUBaseline, opts_cpu_baseline, info_cpu_baseline, 0},
-    {"cpu-compare", cmdCPUCompare, opts_cpu_compare, info_cpu_compare, 0},
-    {"cpu-stats", cmdCPUStats, opts_cpu_stats, info_cpu_stats, 0},
-    {"create", cmdCreate, opts_create, info_create, 0},
-    {"define", cmdDefine, opts_define, info_define, 0},
-    {"desc", cmdDesc, opts_desc, info_desc, 0},
-    {"destroy", cmdDestroy, opts_destroy, info_destroy, 0},
-    {"detach-device", cmdDetachDevice, opts_detach_device,
-     info_detach_device, 0},
-    {"detach-disk", cmdDetachDisk, opts_detach_disk, info_detach_disk, 0},
-    {"detach-interface", cmdDetachInterface, opts_detach_interface,
-     info_detach_interface, 0},
-    {"domdisplay", cmdDomDisplay, opts_domdisplay, info_domdisplay, 0},
-    {"domfstrim", cmdDomFSTrim, opts_domfstrim, info_domfstrim, 0},
-    {"domhostname", cmdDomHostname, opts_domhostname, info_domhostname, 0},
-    {"domid", cmdDomid, opts_domid, info_domid, 0},
-    {"domif-setlink", cmdDomIfSetLink, opts_domif_setlink, info_domif_setlink, 0},
-    {"domiftune", cmdDomIftune, opts_domiftune, info_domiftune, 0},
-    {"domjobabort", cmdDomjobabort, opts_domjobabort, info_domjobabort, 0},
-    {"domjobinfo", cmdDomjobinfo, opts_domjobinfo, info_domjobinfo, 0},
-    {"domname", cmdDomname, opts_domname, info_domname, 0},
-    {"dompmsuspend", cmdDomPMSuspend,
-     opts_dom_pm_suspend, info_dom_pm_suspend, 0},
-    {"dompmwakeup", cmdDomPMWakeup,
-     opts_dom_pm_wakeup, info_dom_pm_wakeup, 0},
-    {"domuuid", cmdDomuuid, opts_domuuid, info_domuuid, 0},
-    {"domxml-from-native", cmdDomXMLFromNative, opts_domxmlfromnative,
-     info_domxmlfromnative, 0},
-    {"domxml-to-native", cmdDomXMLToNative, opts_domxmltonative,
-     info_domxmltonative, 0},
-    {"dump", cmdDump, opts_dump, info_dump, 0},
-    {"dumpxml", cmdDumpXML, opts_dumpxml, info_dumpxml, 0},
-    {"edit", cmdEdit, opts_edit, info_edit, 0},
-    {"inject-nmi", cmdInjectNMI, opts_inject_nmi, info_inject_nmi, 0},
-    {"send-key", cmdSendKey, opts_send_key, info_send_key, 0},
-    {"send-process-signal", cmdSendProcessSignal, opts_send_process_signal, info_send_process_signal, 0},
-    {"lxc-enter-namespace", cmdLxcEnterNamespace, opts_lxc_enter_namespace, info_lxc_enter_namespace, 0},
-    {"managedsave", cmdManagedSave, opts_managedsave, info_managedsave, 0},
-    {"managedsave-remove", cmdManagedSaveRemove, opts_managedsaveremove,
-     info_managedsaveremove, 0},
-    {"maxvcpus", cmdMaxvcpus, opts_maxvcpus, info_maxvcpus, 0},
-    {"memtune", cmdMemtune, opts_memtune, info_memtune, 0},
-    {"migrate", cmdMigrate, opts_migrate, info_migrate, 0},
-    {"migrate-setmaxdowntime", cmdMigrateSetMaxDowntime,
-     opts_migrate_setmaxdowntime, info_migrate_setmaxdowntime, 0},
-    {"migrate-setspeed", cmdMigrateSetMaxSpeed,
-     opts_migrate_setspeed, info_migrate_setspeed, 0},
-    {"migrate-getspeed", cmdMigrateGetMaxSpeed,
-     opts_migrate_getspeed, info_migrate_getspeed, 0},
-    {"numatune", cmdNumatune, opts_numatune, info_numatune, 0},
-    {"qemu-attach", cmdQemuAttach, opts_qemu_attach, info_qemu_attach, 0},
-    {"qemu-monitor-command", cmdQemuMonitorCommand, opts_qemu_monitor_command,
-     info_qemu_monitor_command, 0},
-    {"qemu-agent-command", cmdQemuAgentCommand, opts_qemu_agent_command,
-     info_qemu_agent_command, 0},
-    {"reboot", cmdReboot, opts_reboot, info_reboot, 0},
-    {"reset", cmdReset, opts_reset, info_reset, 0},
-    {"restore", cmdRestore, opts_restore, info_restore, 0},
-    {"resume", cmdResume, opts_resume, info_resume, 0},
-    {"save", cmdSave, opts_save, info_save, 0},
-    {"save-image-define", cmdSaveImageDefine, opts_save_image_define,
-     info_save_image_define, 0},
-    {"save-image-dumpxml", cmdSaveImageDumpxml, opts_save_image_dumpxml,
-     info_save_image_dumpxml, 0},
-    {"save-image-edit", cmdSaveImageEdit, opts_save_image_edit,
-     info_save_image_edit, 0},
-    {"schedinfo", cmdSchedinfo, opts_schedinfo, info_schedinfo, 0},
-    {"screenshot", cmdScreenshot, opts_screenshot, info_screenshot, 0},
-    {"setmaxmem", cmdSetmaxmem, opts_setmaxmem, info_setmaxmem, 0},
-    {"setmem", cmdSetmem, opts_setmem, info_setmem, 0},
-    {"setvcpus", cmdSetvcpus, opts_setvcpus, info_setvcpus, 0},
-    {"shutdown", cmdShutdown, opts_shutdown, info_shutdown, 0},
-    {"start", cmdStart, opts_start, info_start, 0},
-    {"suspend", cmdSuspend, opts_suspend, info_suspend, 0},
-    {"ttyconsole", cmdTTYConsole, opts_ttyconsole, info_ttyconsole, 0},
-    {"undefine", cmdUndefine, opts_undefine, info_undefine, 0},
-    {"update-device", cmdUpdateDevice, opts_update_device,
-     info_update_device, 0},
-    {"vcpucount", cmdVcpucount, opts_vcpucount, info_vcpucount, 0},
-    {"vcpuinfo", cmdVcpuinfo, opts_vcpuinfo, info_vcpuinfo, 0},
-    {"vcpupin", cmdVcpuPin, opts_vcpupin, info_vcpupin, 0},
-    {"emulatorpin", cmdEmulatorPin, opts_emulatorpin, info_emulatorpin, 0},
-    {"vncdisplay", cmdVNCDisplay, opts_vncdisplay, info_vncdisplay, 0},
-    {NULL, NULL, NULL, NULL, 0}
+    {.name = "cpu-baseline",
+     .handler = cmdCPUBaseline,
+     .opts = opts_cpu_baseline,
+     .info = info_cpu_baseline,
+     .flags = 0
+    },
+    {.name = "cpu-compare",
+     .handler = cmdCPUCompare,
+     .opts = opts_cpu_compare,
+     .info = info_cpu_compare,
+     .flags = 0
+    },
+    {.name = "cpu-stats",
+     .handler = cmdCPUStats,
+     .opts = opts_cpu_stats,
+     .info = info_cpu_stats,
+     .flags = 0
+    },
+    {.name = "create",
+     .handler = cmdCreate,
+     .opts = opts_create,
+     .info = info_create,
+     .flags = 0
+    },
+    {.name = "define",
+     .handler = cmdDefine,
+     .opts = opts_define,
+     .info = info_define,
+     .flags = 0
+    },
+    {.name = "desc",
+     .handler = cmdDesc,
+     .opts = opts_desc,
+     .info = info_desc,
+     .flags = 0
+    },
+    {.name = "destroy",
+     .handler = cmdDestroy,
+     .opts = opts_destroy,
+     .info = info_destroy,
+     .flags = 0
+    },
+    {.name = "detach-device",
+     .handler = cmdDetachDevice,
+     .opts = opts_detach_device,
+     .info = info_detach_device,
+     .flags = 0
+    },
+    {.name = "detach-disk",
+     .handler = cmdDetachDisk,
+     .opts = opts_detach_disk,
+     .info = info_detach_disk,
+     .flags = 0
+    },
+    {.name = "detach-interface",
+     .handler = cmdDetachInterface,
+     .opts = opts_detach_interface,
+     .info = info_detach_interface,
+     .flags = 0
+    },
+    {.name = "domdisplay",
+     .handler = cmdDomDisplay,
+     .opts = opts_domdisplay,
+     .info = info_domdisplay,
+     .flags = 0
+    },
+    {.name = "domfstrim",
+     .handler = cmdDomFSTrim,
+     .opts = opts_domfstrim,
+     .info = info_domfstrim,
+     .flags = 0
+    },
+    {.name = "domhostname",
+     .handler = cmdDomHostname,
+     .opts = opts_domhostname,
+     .info = info_domhostname,
+     .flags = 0
+    },
+    {.name = "domid",
+     .handler = cmdDomid,
+     .opts = opts_domid,
+     .info = info_domid,
+     .flags = 0
+    },
+    {.name = "domif-setlink",
+     .handler = cmdDomIfSetLink,
+     .opts = opts_domif_setlink,
+     .info = info_domif_setlink,
+     .flags = 0
+    },
+    {.name = "domiftune",
+     .handler = cmdDomIftune,
+     .opts = opts_domiftune,
+     .info = info_domiftune,
+     .flags = 0
+    },
+    {.name = "domjobabort",
+     .handler = cmdDomjobabort,
+     .opts = opts_domjobabort,
+     .info = info_domjobabort,
+     .flags = 0
+    },
+    {.name = "domjobinfo",
+     .handler = cmdDomjobinfo,
+     .opts = opts_domjobinfo,
+     .info = info_domjobinfo,
+     .flags = 0
+    },
+    {.name = "domname",
+     .handler = cmdDomname,
+     .opts = opts_domname,
+     .info = info_domname,
+     .flags = 0
+    },
+    {.name = "dompmsuspend",
+     .handler = cmdDomPMSuspend,
+     .opts = opts_dom_pm_suspend,
+     .info = info_dom_pm_suspend,
+     .flags = 0
+    },
+    {.name = "dompmwakeup",
+     .handler = cmdDomPMWakeup,
+     .opts = opts_dom_pm_wakeup,
+     .info = info_dom_pm_wakeup,
+     .flags = 0
+    },
+    {.name = "domuuid",
+     .handler = cmdDomuuid,
+     .opts = opts_domuuid,
+     .info = info_domuuid,
+     .flags = 0
+    },
+    {.name = "domxml-from-native",
+     .handler = cmdDomXMLFromNative,
+     .opts = opts_domxmlfromnative,
+     .info = info_domxmlfromnative,
+     .flags = 0
+    },
+    {.name = "domxml-to-native",
+     .handler = cmdDomXMLToNative,
+     .opts = opts_domxmltonative,
+     .info = info_domxmltonative,
+     .flags = 0
+    },
+    {.name = "dump",
+     .handler = cmdDump,
+     .opts = opts_dump,
+     .info = info_dump,
+     .flags = 0
+    },
+    {.name = "dumpxml",
+     .handler = cmdDumpXML,
+     .opts = opts_dumpxml,
+     .info = info_dumpxml,
+     .flags = 0
+    },
+    {.name = "edit",
+     .handler = cmdEdit,
+     .opts = opts_edit,
+     .info = info_edit,
+     .flags = 0
+    },
+    {.name = "inject-nmi",
+     .handler = cmdInjectNMI,
+     .opts = opts_inject_nmi,
+     .info = info_inject_nmi,
+     .flags = 0
+    },
+    {.name = "send-key",
+     .handler = cmdSendKey,
+     .opts = opts_send_key,
+     .info = info_send_key,
+     .flags = 0
+    },
+    {.name = "send-process-signal",
+     .handler = cmdSendProcessSignal,
+     .opts = opts_send_process_signal,
+     .info = info_send_process_signal,
+     .flags = 0
+    },
+    {.name = "lxc-enter-namespace",
+     .handler = cmdLxcEnterNamespace,
+     .opts = opts_lxc_enter_namespace,
+     .info = info_lxc_enter_namespace,
+     .flags = 0
+    },
+    {.name = "managedsave",
+     .handler = cmdManagedSave,
+     .opts = opts_managedsave,
+     .info = info_managedsave,
+     .flags = 0
+    },
+    {.name = "managedsave-remove",
+     .handler = cmdManagedSaveRemove,
+     .opts = opts_managedsaveremove,
+     .info = info_managedsaveremove,
+     .flags = 0
+    },
+    {.name = "maxvcpus",
+     .handler = cmdMaxvcpus,
+     .opts = opts_maxvcpus,
+     .info = info_maxvcpus,
+     .flags = 0
+    },
+    {.name = "memtune",
+     .handler = cmdMemtune,
+     .opts = opts_memtune,
+     .info = info_memtune,
+     .flags = 0
+    },
+    {.name = "migrate",
+     .handler = cmdMigrate,
+     .opts = opts_migrate,
+     .info = info_migrate,
+     .flags = 0
+    },
+    {.name = "migrate-setmaxdowntime",
+     .handler = cmdMigrateSetMaxDowntime,
+     .opts = opts_migrate_setmaxdowntime,
+     .info = info_migrate_setmaxdowntime,
+     .flags = 0
+    },
+    {.name = "migrate-setspeed",
+     .handler = cmdMigrateSetMaxSpeed,
+     .opts = opts_migrate_setspeed,
+     .info = info_migrate_setspeed,
+     .flags = 0
+    },
+    {.name = "migrate-getspeed",
+     .handler = cmdMigrateGetMaxSpeed,
+     .opts = opts_migrate_getspeed,
+     .info = info_migrate_getspeed,
+     .flags = 0
+    },
+    {.name = "numatune",
+     .handler = cmdNumatune,
+     .opts = opts_numatune,
+     .info = info_numatune,
+     .flags = 0
+    },
+    {.name = "qemu-attach",
+     .handler = cmdQemuAttach,
+     .opts = opts_qemu_attach,
+     .info = info_qemu_attach,
+     .flags = 0
+    },
+    {.name = "qemu-monitor-command",
+     .handler = cmdQemuMonitorCommand,
+     .opts = opts_qemu_monitor_command,
+     .info = info_qemu_monitor_command,
+     .flags = 0
+    },
+    {.name = "qemu-agent-command",
+     .handler = cmdQemuAgentCommand,
+     .opts = opts_qemu_agent_command,
+     .info = info_qemu_agent_command,
+     .flags = 0
+    },
+    {.name = "reboot",
+     .handler = cmdReboot,
+     .opts = opts_reboot,
+     .info = info_reboot,
+     .flags = 0
+    },
+    {.name = "reset",
+     .handler = cmdReset,
+     .opts = opts_reset,
+     .info = info_reset,
+     .flags = 0
+    },
+    {.name = "restore",
+     .handler = cmdRestore,
+     .opts = opts_restore,
+     .info = info_restore,
+     .flags = 0
+    },
+    {.name = "resume",
+     .handler = cmdResume,
+     .opts = opts_resume,
+     .info = info_resume,
+     .flags = 0
+    },
+    {.name = "save",
+     .handler = cmdSave,
+     .opts = opts_save,
+     .info = info_save,
+     .flags = 0
+    },
+    {.name = "save-image-define",
+     .handler = cmdSaveImageDefine,
+     .opts = opts_save_image_define,
+     .info = info_save_image_define,
+     .flags = 0
+    },
+    {.name = "save-image-dumpxml",
+     .handler = cmdSaveImageDumpxml,
+     .opts = opts_save_image_dumpxml,
+     .info = info_save_image_dumpxml,
+     .flags = 0
+    },
+    {.name = "save-image-edit",
+     .handler = cmdSaveImageEdit,
+     .opts = opts_save_image_edit,
+     .info = info_save_image_edit,
+     .flags = 0
+    },
+    {.name = "schedinfo",
+     .handler = cmdSchedinfo,
+     .opts = opts_schedinfo,
+     .info = info_schedinfo,
+     .flags = 0
+    },
+    {.name = "screenshot",
+     .handler = cmdScreenshot,
+     .opts = opts_screenshot,
+     .info = info_screenshot,
+     .flags = 0
+    },
+    {.name = "setmaxmem",
+     .handler = cmdSetmaxmem,
+     .opts = opts_setmaxmem,
+     .info = info_setmaxmem,
+     .flags = 0
+    },
+    {.name = "setmem",
+     .handler = cmdSetmem,
+     .opts = opts_setmem,
+     .info = info_setmem,
+     .flags = 0
+    },
+    {.name = "setvcpus",
+     .handler = cmdSetvcpus,
+     .opts = opts_setvcpus,
+     .info = info_setvcpus,
+     .flags = 0
+    },
+    {.name = "shutdown",
+     .handler = cmdShutdown,
+     .opts = opts_shutdown,
+     .info = info_shutdown,
+     .flags = 0
+    },
+    {.name = "start",
+     .handler = cmdStart,
+     .opts = opts_start,
+     .info = info_start,
+     .flags = 0
+    },
+    {.name = "suspend",
+     .handler = cmdSuspend,
+     .opts = opts_suspend,
+     .info = info_suspend,
+     .flags = 0
+    },
+    {.name = "ttyconsole",
+     .handler = cmdTTYConsole,
+     .opts = opts_ttyconsole,
+     .info = info_ttyconsole,
+     .flags = 0
+    },
+    {.name = "undefine",
+     .handler = cmdUndefine,
+     .opts = opts_undefine,
+     .info = info_undefine,
+     .flags = 0
+    },
+    {.name = "update-device",
+     .handler = cmdUpdateDevice,
+     .opts = opts_update_device,
+     .info = info_update_device,
+     .flags = 0
+    },
+    {.name = "vcpucount",
+     .handler = cmdVcpucount,
+     .opts = opts_vcpucount,
+     .info = info_vcpucount,
+     .flags = 0
+    },
+    {.name = "vcpuinfo",
+     .handler = cmdVcpuinfo,
+     .opts = opts_vcpuinfo,
+     .info = info_vcpuinfo,
+     .flags = 0
+    },
+    {.name = "vcpupin",
+     .handler = cmdVcpuPin,
+     .opts = opts_vcpupin,
+     .info = info_vcpupin,
+     .flags = 0
+    },
+    {.name = "emulatorpin",
+     .handler = cmdEmulatorPin,
+     .opts = opts_emulatorpin,
+     .info = info_emulatorpin,
+     .flags = 0
+    },
+    {.name = "vncdisplay",
+     .handler = cmdVNCDisplay,
+     .opts = opts_vncdisplay,
+     .info = info_vncdisplay,
+     .flags = 0
+    },
+    {.name = NULL}
 };
diff --git a/tools/virsh-host.c b/tools/virsh-host.c
index cfed65c..165657b 100644
--- a/tools/virsh-host.c
+++ b/tools/virsh-host.c
@@ -878,20 +878,83 @@ error:
 }
 
 const vshCmdDef hostAndHypervisorCmds[] = {
-    {"capabilities", cmdCapabilities, NULL, info_capabilities, 0},
-    {"connect", cmdConnect, opts_connect, info_connect,
-     VSH_CMD_FLAG_NOCONNECT},
-    {"freecell", cmdFreecell, opts_freecell, info_freecell, 0},
-    {"hostname", cmdHostname, NULL, info_hostname, 0},
-    {"node-memory-tune", cmdNodeMemoryTune,
-     opts_node_memory_tune, info_node_memory_tune, 0},
-    {"nodecpumap", cmdNodeCpuMap, NULL, info_node_cpumap, 0},
-    {"nodecpustats", cmdNodeCpuStats, opts_node_cpustats, info_nodecpustats, 0},
-    {"nodeinfo", cmdNodeinfo, NULL, info_nodeinfo, 0},
-    {"nodememstats", cmdNodeMemStats, opts_node_memstats, info_nodememstats, 0},
-    {"nodesuspend", cmdNodeSuspend, opts_node_suspend, info_nodesuspend, 0},
-    {"sysinfo", cmdSysinfo, NULL, info_sysinfo, 0},
-    {"uri", cmdURI, NULL, info_uri, 0},
-    {"version", cmdVersion, opts_version, info_version, 0},
-    {NULL, NULL, NULL, NULL, 0}
+    {.name = "capabilities",
+     .handler = cmdCapabilities,
+     .opts = NULL,
+     .info = info_capabilities,
+     .flags = 0
+    },
+    {.name = "connect",
+     .handler = cmdConnect,
+     .opts = opts_connect,
+     .info = info_connect,
+     .flags = VSH_CMD_FLAG_NOCONNECT
+    },
+    {.name = "freecell",
+     .handler = cmdFreecell,
+     .opts = opts_freecell,
+     .info = info_freecell,
+     .flags = 0
+    },
+    {.name = "hostname",
+     .handler = cmdHostname,
+     .opts = NULL,
+     .info = info_hostname,
+     .flags = 0
+    },
+    {.name = "node-memory-tune",
+     .handler = cmdNodeMemoryTune,
+     .opts = opts_node_memory_tune,
+     .info = info_node_memory_tune,
+     .flags = 0
+    },
+    {.name = "nodecpumap",
+     .handler = cmdNodeCpuMap,
+     .opts = NULL,
+     .info = info_node_cpumap,
+     .flags = 0
+    },
+    {.name = "nodecpustats",
+     .handler = cmdNodeCpuStats,
+     .opts = opts_node_cpustats,
+     .info = info_nodecpustats,
+     .flags = 0
+    },
+    {.name = "nodeinfo",
+     .handler = cmdNodeinfo,
+     .opts = NULL,
+     .info = info_nodeinfo,
+     .flags = 0
+    },
+    {.name = "nodememstats",
+     .handler = cmdNodeMemStats,
+     .opts = opts_node_memstats,
+     .info = info_nodememstats,
+     .flags = 0
+    },
+    {.name = "nodesuspend",
+     .handler = cmdNodeSuspend,
+     .opts = opts_node_suspend,
+     .info = info_nodesuspend,
+     .flags = 0
+    },
+    {.name = "sysinfo",
+     .handler = cmdSysinfo,
+     .opts = NULL,
+     .info = info_sysinfo,
+     .flags = 0
+    },
+    {.name = "uri",
+     .handler = cmdURI,
+     .opts = NULL,
+     .info = info_uri,
+     .flags = 0
+    },
+    {.name = "version",
+     .handler = cmdVersion,
+     .opts = opts_version,
+     .info = info_version,
+     .flags = 0
+    },
+    {.name = NULL}
 };
diff --git a/tools/virsh-interface.c b/tools/virsh-interface.c
index 5337f5e..3a6eb95 100644
--- a/tools/virsh-interface.c
+++ b/tools/virsh-interface.c
@@ -1149,33 +1149,89 @@ cmdInterfaceUnbridge(vshControl *ctl, const vshCmd *cmd)
 }
 
 const vshCmdDef ifaceCmds[] = {
-    {"iface-begin", cmdInterfaceBegin, opts_interface_begin,
-     info_interface_begin, 0},
-    {"iface-bridge", cmdInterfaceBridge, opts_interface_bridge,
-     info_interface_bridge, 0},
-    {"iface-commit", cmdInterfaceCommit, opts_interface_commit,
-     info_interface_commit, 0},
-    {"iface-define", cmdInterfaceDefine, opts_interface_define,
-     info_interface_define, 0},
-    {"iface-destroy", cmdInterfaceDestroy, opts_interface_destroy,
-     info_interface_destroy, 0},
-    {"iface-dumpxml", cmdInterfaceDumpXML, opts_interface_dumpxml,
-     info_interface_dumpxml, 0},
-    {"iface-edit", cmdInterfaceEdit, opts_interface_edit,
-     info_interface_edit, 0},
-    {"iface-list", cmdInterfaceList, opts_interface_list,
-     info_interface_list, 0},
-    {"iface-mac", cmdInterfaceMAC, opts_interface_mac,
-     info_interface_mac, 0},
-    {"iface-name", cmdInterfaceName, opts_interface_name,
-     info_interface_name, 0},
-    {"iface-rollback", cmdInterfaceRollback, opts_interface_rollback,
-     info_interface_rollback, 0},
-    {"iface-start", cmdInterfaceStart, opts_interface_start,
-     info_interface_start, 0},
-    {"iface-unbridge", cmdInterfaceUnbridge, opts_interface_unbridge,
-     info_interface_unbridge, 0},
-    {"iface-undefine", cmdInterfaceUndefine, opts_interface_undefine,
-     info_interface_undefine, 0},
-    {NULL, NULL, NULL, NULL, 0}
+    {.name = "iface-begin",
+     .handler = cmdInterfaceBegin,
+     .opts = opts_interface_begin,
+     .info = info_interface_begin,
+     .flags = 0
+    },
+    {.name = "iface-bridge",
+     .handler = cmdInterfaceBridge,
+     .opts = opts_interface_bridge,
+     .info = info_interface_bridge,
+     .flags = 0
+    },
+    {.name = "iface-commit",
+     .handler = cmdInterfaceCommit,
+     .opts = opts_interface_commit,
+     .info = info_interface_commit,
+     .flags = 0
+    },
+    {.name = "iface-define",
+     .handler = cmdInterfaceDefine,
+     .opts = opts_interface_define,
+     .info = info_interface_define,
+     .flags = 0
+    },
+    {.name = "iface-destroy",
+     .handler = cmdInterfaceDestroy,
+     .opts = opts_interface_destroy,
+     .info = info_interface_destroy,
+     .flags = 0
+    },
+    {.name = "iface-dumpxml",
+     .handler = cmdInterfaceDumpXML,
+     .opts = opts_interface_dumpxml,
+     .info = info_interface_dumpxml,
+     .flags = 0
+    },
+    {.name = "iface-edit",
+     .handler = cmdInterfaceEdit,
+     .opts = opts_interface_edit,
+     .info = info_interface_edit,
+     .flags = 0
+    },
+    {.name = "iface-list",
+     .handler = cmdInterfaceList,
+     .opts = opts_interface_list,
+     .info = info_interface_list,
+     .flags = 0
+    },
+    {.name = "iface-mac",
+     .handler = cmdInterfaceMAC,
+     .opts = opts_interface_mac,
+     .info = info_interface_mac,
+     .flags = 0
+    },
+    {.name = "iface-name",
+     .handler = cmdInterfaceName,
+     .opts = opts_interface_name,
+     .info = info_interface_name,
+     .flags = 0
+    },
+    {.name = "iface-rollback",
+     .handler = cmdInterfaceRollback,
+     .opts = opts_interface_rollback,
+     .info = info_interface_rollback,
+     .flags = 0
+    },
+    {.name = "iface-start",
+     .handler = cmdInterfaceStart,
+     .opts = opts_interface_start,
+     .info = info_interface_start,
+     .flags = 0
+    },
+    {.name = "iface-unbridge",
+     .handler = cmdInterfaceUnbridge,
+     .opts = opts_interface_unbridge,
+     .info = info_interface_unbridge,
+     .flags = 0
+    },
+    {.name = "iface-undefine",
+     .handler = cmdInterfaceUndefine,
+     .opts = opts_interface_undefine,
+     .info = info_interface_undefine,
+     .flags = 0
+    },
+    {.name = NULL}
 };
diff --git a/tools/virsh-network.c b/tools/virsh-network.c
index 0843a6b..16578aa 100644
--- a/tools/virsh-network.c
+++ b/tools/virsh-network.c
@@ -1092,24 +1092,83 @@ cmdNetworkEdit(vshControl *ctl, const vshCmd *cmd)
 }
 
 const vshCmdDef networkCmds[] = {
-    {"net-autostart", cmdNetworkAutostart, opts_network_autostart,
-     info_network_autostart, 0},
-    {"net-create", cmdNetworkCreate, opts_network_create,
-     info_network_create, 0},
-    {"net-define", cmdNetworkDefine, opts_network_define,
-     info_network_define, 0},
-    {"net-destroy", cmdNetworkDestroy, opts_network_destroy,
-     info_network_destroy, 0},
-    {"net-dumpxml", cmdNetworkDumpXML, opts_network_dumpxml,
-     info_network_dumpxml, 0},
-    {"net-edit", cmdNetworkEdit, opts_network_edit, info_network_edit, 0},
-    {"net-info", cmdNetworkInfo, opts_network_info, info_network_info, 0},
-    {"net-list", cmdNetworkList, opts_network_list, info_network_list, 0},
-    {"net-name", cmdNetworkName, opts_network_name, info_network_name, 0},
-    {"net-start", cmdNetworkStart, opts_network_start, info_network_start, 0},
-    {"net-undefine", cmdNetworkUndefine, opts_network_undefine,
-     info_network_undefine, 0},
-    {"net-update", cmdNetworkUpdate, opts_network_update, info_network_update, 0},
-    {"net-uuid", cmdNetworkUuid, opts_network_uuid, info_network_uuid, 0},
-    {NULL, NULL, NULL, NULL, 0}
+    {.name = "net-autostart",
+     .handler = cmdNetworkAutostart,
+     .opts = opts_network_autostart,
+     .info = info_network_autostart,
+     .flags = 0
+    },
+    {.name = "net-create",
+     .handler = cmdNetworkCreate,
+     .opts = opts_network_create,
+     .info = info_network_create,
+     .flags = 0
+    },
+    {.name = "net-define",
+     .handler = cmdNetworkDefine,
+     .opts = opts_network_define,
+     .info = info_network_define,
+     .flags = 0
+    },
+    {.name = "net-destroy",
+     .handler = cmdNetworkDestroy,
+     .opts = opts_network_destroy,
+     .info = info_network_destroy,
+     .flags = 0
+    },
+    {.name = "net-dumpxml",
+     .handler = cmdNetworkDumpXML,
+     .opts = opts_network_dumpxml,
+     .info = info_network_dumpxml,
+     .flags = 0
+    },
+    {.name = "net-edit",
+     .handler = cmdNetworkEdit,
+     .opts = opts_network_edit,
+     .info = info_network_edit,
+     .flags = 0
+    },
+    {.name = "net-info",
+     .handler = cmdNetworkInfo,
+     .opts = opts_network_info,
+     .info = info_network_info,
+     .flags = 0
+    },
+    {.name = "net-list",
+     .handler = cmdNetworkList,
+     .opts = opts_network_list,
+     .info = info_network_list,
+     .flags = 0
+    },
+    {.name = "net-name",
+     .handler = cmdNetworkName,
+     .opts = opts_network_name,
+     .info = info_network_name,
+     .flags = 0
+    },
+    {.name = "net-start",
+     .handler = cmdNetworkStart,
+     .opts = opts_network_start,
+     .info = info_network_start,
+     .flags = 0
+    },
+    {.name = "net-undefine",
+     .handler = cmdNetworkUndefine,
+     .opts = opts_network_undefine,
+     .info = info_network_undefine,
+     .flags = 0
+    },
+    {.name = "net-update",
+     .handler = cmdNetworkUpdate,
+     .opts = opts_network_update,
+     .info = info_network_update,
+     .flags = 0
+    },
+    {.name = "net-uuid",
+     .handler = cmdNetworkUuid,
+     .opts = opts_network_uuid,
+     .info = info_network_uuid,
+     .flags = 0
+    },
+    {.name = NULL}
 };
diff --git a/tools/virsh-nodedev.c b/tools/virsh-nodedev.c
index f85bded..686a07b 100644
--- a/tools/virsh-nodedev.c
+++ b/tools/virsh-nodedev.c
@@ -647,21 +647,53 @@ cmdNodeDeviceReset(vshControl *ctl, const vshCmd *cmd)
 }
 
 const vshCmdDef nodedevCmds[] = {
-    {"nodedev-create", cmdNodeDeviceCreate, opts_node_device_create,
-     info_node_device_create, 0},
-    {"nodedev-destroy", cmdNodeDeviceDestroy, opts_node_device_destroy,
-     info_node_device_destroy, 0},
-    {"nodedev-detach", cmdNodeDeviceDetach, opts_node_device_detach,
-     info_node_device_detach, 0},
-    {"nodedev-dettach", cmdNodeDeviceDetach, opts_node_device_detach,
-     info_node_device_detach, VSH_CMD_FLAG_ALIAS},
-    {"nodedev-dumpxml", cmdNodeDeviceDumpXML, opts_node_device_dumpxml,
-     info_node_device_dumpxml, 0},
-    {"nodedev-list", cmdNodeListDevices, opts_node_list_devices,
-     info_node_list_devices, 0},
-    {"nodedev-reattach", cmdNodeDeviceReAttach, opts_node_device_reattach,
-     info_node_device_reattach, 0},
-    {"nodedev-reset", cmdNodeDeviceReset, opts_node_device_reset,
-     info_node_device_reset, 0},
-    {NULL, NULL, NULL, NULL, 0}
+    {.name = "nodedev-create",
+     .handler = cmdNodeDeviceCreate,
+     .opts = opts_node_device_create,
+     .info = info_node_device_create,
+     .flags = 0
+    },
+    {.name = "nodedev-destroy",
+     .handler = cmdNodeDeviceDestroy,
+     .opts = opts_node_device_destroy,
+     .info = info_node_device_destroy,
+     .flags = 0
+    },
+    {.name = "nodedev-detach",
+     .handler = cmdNodeDeviceDetach,
+     .opts = opts_node_device_detach,
+     .info = info_node_device_detach,
+     .flags = 0
+    },
+    {.name = "nodedev-dettach",
+     .handler = cmdNodeDeviceDetach,
+     .opts = opts_node_device_detach,
+     .info = info_node_device_detach,
+     .flags = VSH_CMD_FLAG_ALIAS
+    },
+    {.name = "nodedev-dumpxml",
+     .handler = cmdNodeDeviceDumpXML,
+     .opts = opts_node_device_dumpxml,
+     .info = info_node_device_dumpxml,
+     .flags = 0
+    },
+    {.name = "nodedev-list",
+     .handler = cmdNodeListDevices,
+     .opts = opts_node_list_devices,
+     .info = info_node_list_devices,
+     .flags = 0
+    },
+    {.name = "nodedev-reattach",
+     .handler = cmdNodeDeviceReAttach,
+     .opts = opts_node_device_reattach,
+     .info = info_node_device_reattach,
+     .flags = 0
+    },
+    {.name = "nodedev-reset",
+     .handler = cmdNodeDeviceReset,
+     .opts = opts_node_device_reset,
+     .info = info_node_device_reset,
+     .flags = 0
+    },
+    {.name = NULL}
 };
diff --git a/tools/virsh-nwfilter.c b/tools/virsh-nwfilter.c
index 9407d38..20a3557 100644
--- a/tools/virsh-nwfilter.c
+++ b/tools/virsh-nwfilter.c
@@ -427,15 +427,35 @@ cleanup:
 }
 
 const vshCmdDef nwfilterCmds[] = {
-    {"nwfilter-define", cmdNWFilterDefine, opts_nwfilter_define,
-     info_nwfilter_define, 0},
-    {"nwfilter-dumpxml", cmdNWFilterDumpXML, opts_nwfilter_dumpxml,
-     info_nwfilter_dumpxml, 0},
-    {"nwfilter-edit", cmdNWFilterEdit, opts_nwfilter_edit,
-     info_nwfilter_edit, 0},
-    {"nwfilter-list", cmdNWFilterList, opts_nwfilter_list,
-     info_nwfilter_list, 0},
-    {"nwfilter-undefine", cmdNWFilterUndefine, opts_nwfilter_undefine,
-     info_nwfilter_undefine, 0},
-    {NULL, NULL, NULL, NULL, 0}
+    {.name = "nwfilter-define",
+     .handler = cmdNWFilterDefine,
+     .opts = opts_nwfilter_define,
+     .info = info_nwfilter_define,
+     .flags = 0
+    },
+    {.name = "nwfilter-dumpxml",
+     .handler = cmdNWFilterDumpXML,
+     .opts = opts_nwfilter_dumpxml,
+     .info = info_nwfilter_dumpxml,
+     .flags = 0
+    },
+    {.name = "nwfilter-edit",
+     .handler = cmdNWFilterEdit,
+     .opts = opts_nwfilter_edit,
+     .info = info_nwfilter_edit,
+     .flags = 0
+    },
+    {.name = "nwfilter-list",
+     .handler = cmdNWFilterList,
+     .opts = opts_nwfilter_list,
+     .info = info_nwfilter_list,
+     .flags = 0
+    },
+    {.name = "nwfilter-undefine",
+     .handler = cmdNWFilterUndefine,
+     .opts = opts_nwfilter_undefine,
+     .info = info_nwfilter_undefine,
+     .flags = 0
+    },
+    {.name = NULL}
 };
diff --git a/tools/virsh-pool.c b/tools/virsh-pool.c
index 09070f2..e5de189 100644
--- a/tools/virsh-pool.c
+++ b/tools/virsh-pool.c
@@ -1761,28 +1761,119 @@ cmdPoolEdit(vshControl *ctl, const vshCmd *cmd)
 }
 
 const vshCmdDef storagePoolCmds[] = {
-    {"find-storage-pool-sources-as", cmdPoolDiscoverSourcesAs,
-     opts_find_storage_pool_sources_as, info_find_storage_pool_sources_as, 0},
-    {"find-storage-pool-sources", cmdPoolDiscoverSources,
-     opts_find_storage_pool_sources, info_find_storage_pool_sources, 0},
-    {"pool-autostart", cmdPoolAutostart, opts_pool_autostart,
-     info_pool_autostart, 0},
-    {"pool-build", cmdPoolBuild, opts_pool_build, info_pool_build, 0},
-    {"pool-create-as", cmdPoolCreateAs, opts_pool_X_as, info_pool_create_as, 0},
-    {"pool-create", cmdPoolCreate, opts_pool_create, info_pool_create, 0},
-    {"pool-define-as", cmdPoolDefineAs, opts_pool_X_as, info_pool_define_as, 0},
-    {"pool-define", cmdPoolDefine, opts_pool_define, info_pool_define, 0},
-    {"pool-delete", cmdPoolDelete, opts_pool_delete, info_pool_delete, 0},
-    {"pool-destroy", cmdPoolDestroy, opts_pool_destroy, info_pool_destroy, 0},
-    {"pool-dumpxml", cmdPoolDumpXML, opts_pool_dumpxml, info_pool_dumpxml, 0},
-    {"pool-edit", cmdPoolEdit, opts_pool_edit, info_pool_edit, 0},
-    {"pool-info", cmdPoolInfo, opts_pool_info, info_pool_info, 0},
-    {"pool-list", cmdPoolList, opts_pool_list, info_pool_list, 0},
-    {"pool-name", cmdPoolName, opts_pool_name, info_pool_name, 0},
-    {"pool-refresh", cmdPoolRefresh, opts_pool_refresh, info_pool_refresh, 0},
-    {"pool-start", cmdPoolStart, opts_pool_start, info_pool_start, 0},
-    {"pool-undefine", cmdPoolUndefine, opts_pool_undefine,
-     info_pool_undefine, 0},
-    {"pool-uuid", cmdPoolUuid, opts_pool_uuid, info_pool_uuid, 0},
-    {NULL, NULL, NULL, NULL, 0}
+    {.name = "find-storage-pool-sources-as",
+     .handler = cmdPoolDiscoverSourcesAs,
+     .opts = opts_find_storage_pool_sources_as,
+     .info = info_find_storage_pool_sources_as,
+     .flags = 0
+    },
+    {.name = "find-storage-pool-sources",
+     .handler = cmdPoolDiscoverSources,
+     .opts = opts_find_storage_pool_sources,
+     .info = info_find_storage_pool_sources,
+     .flags = 0
+    },
+    {.name = "pool-autostart",
+     .handler = cmdPoolAutostart,
+     .opts = opts_pool_autostart,
+     .info = info_pool_autostart,
+     .flags = 0
+    },
+    {.name = "pool-build",
+     .handler = cmdPoolBuild,
+     .opts = opts_pool_build,
+     .info = info_pool_build,
+     .flags = 0
+    },
+    {.name = "pool-create-as",
+     .handler = cmdPoolCreateAs,
+     .opts = opts_pool_X_as,
+     .info = info_pool_create_as,
+     .flags = 0
+    },
+    {.name = "pool-create",
+     .handler = cmdPoolCreate,
+     .opts = opts_pool_create,
+     .info = info_pool_create,
+     .flags = 0
+    },
+    {.name = "pool-define-as",
+     .handler = cmdPoolDefineAs,
+     .opts = opts_pool_X_as,
+     .info = info_pool_define_as,
+     .flags = 0
+    },
+    {.name = "pool-define",
+     .handler = cmdPoolDefine,
+     .opts = opts_pool_define,
+     .info = info_pool_define,
+     .flags = 0
+    },
+    {.name = "pool-delete",
+     .handler = cmdPoolDelete,
+     .opts = opts_pool_delete,
+     .info = info_pool_delete,
+     .flags = 0
+    },
+    {.name = "pool-destroy",
+     .handler = cmdPoolDestroy,
+     .opts = opts_pool_destroy,
+     .info = info_pool_destroy,
+     .flags = 0
+    },
+    {.name = "pool-dumpxml",
+     .handler = cmdPoolDumpXML,
+     .opts = opts_pool_dumpxml,
+     .info = info_pool_dumpxml,
+     .flags = 0
+    },
+    {.name = "pool-edit",
+     .handler = cmdPoolEdit,
+     .opts = opts_pool_edit,
+     .info = info_pool_edit,
+     .flags = 0
+    },
+    {.name = "pool-info",
+     .handler = cmdPoolInfo,
+     .opts = opts_pool_info,
+     .info = info_pool_info,
+     .flags = 0
+    },
+    {.name = "pool-list",
+     .handler = cmdPoolList,
+     .opts = opts_pool_list,
+     .info = info_pool_list,
+     .flags = 0
+    },
+    {.name = "pool-name",
+     .handler = cmdPoolName,
+     .opts = opts_pool_name,
+     .info = info_pool_name,
+     .flags = 0
+    },
+    {.name = "pool-refresh",
+     .handler = cmdPoolRefresh,
+     .opts = opts_pool_refresh,
+     .info = info_pool_refresh,
+     .flags = 0
+    },
+    {.name = "pool-start",
+     .handler = cmdPoolStart,
+     .opts = opts_pool_start,
+     .info = info_pool_start,
+     .flags = 0
+    },
+    {.name = "pool-undefine",
+     .handler = cmdPoolUndefine,
+     .opts = opts_pool_undefine,
+     .info = info_pool_undefine,
+     .flags = 0
+    },
+    {.name = "pool-uuid",
+     .handler = cmdPoolUuid,
+     .opts = opts_pool_uuid,
+     .info = info_pool_uuid,
+     .flags = 0
+    },
+    {.name = NULL}
 };
diff --git a/tools/virsh-secret.c b/tools/virsh-secret.c
index a735498..3e9129e 100644
--- a/tools/virsh-secret.c
+++ b/tools/virsh-secret.c
@@ -544,16 +544,41 @@ cleanup:
 }
 
 const vshCmdDef secretCmds[] = {
-    {"secret-define", cmdSecretDefine, opts_secret_define,
-     info_secret_define, 0},
-    {"secret-dumpxml", cmdSecretDumpXML, opts_secret_dumpxml,
-     info_secret_dumpxml, 0},
-    {"secret-get-value", cmdSecretGetValue, opts_secret_get_value,
-     info_secret_get_value, 0},
-    {"secret-list", cmdSecretList, opts_secret_list, info_secret_list, 0},
-    {"secret-set-value", cmdSecretSetValue, opts_secret_set_value,
-     info_secret_set_value, 0},
-    {"secret-undefine", cmdSecretUndefine, opts_secret_undefine,
-     info_secret_undefine, 0},
-    {NULL, NULL, NULL, NULL, 0}
+    {.name = "secret-define",
+     .handler = cmdSecretDefine,
+     .opts = opts_secret_define,
+     .info = info_secret_define,
+     .flags = 0
+    },
+    {.name = "secret-dumpxml",
+     .handler = cmdSecretDumpXML,
+     .opts = opts_secret_dumpxml,
+     .info = info_secret_dumpxml,
+     .flags = 0
+    },
+    {.name = "secret-get-value",
+     .handler = cmdSecretGetValue,
+     .opts = opts_secret_get_value,
+     .info = info_secret_get_value,
+     .flags = 0
+    },
+    {.name = "secret-list",
+     .handler = cmdSecretList,
+     .opts = opts_secret_list,
+     .info = info_secret_list,
+     .flags = 0
+    },
+    {.name = "secret-set-value",
+     .handler = cmdSecretSetValue,
+     .opts = opts_secret_set_value,
+     .info = info_secret_set_value,
+     .flags = 0
+    },
+    {.name = "secret-undefine",
+     .handler = cmdSecretUndefine,
+     .opts = opts_secret_undefine,
+     .info = info_secret_undefine,
+     .flags = 0
+    },
+    {.name = NULL}
 };
diff --git a/tools/virsh-snapshot.c b/tools/virsh-snapshot.c
index ba57059..3d6fa91 100644
--- a/tools/virsh-snapshot.c
+++ b/tools/virsh-snapshot.c
@@ -2044,25 +2044,65 @@ cleanup:
 }
 
 const vshCmdDef snapshotCmds[] = {
-    {"snapshot-create", cmdSnapshotCreate, opts_snapshot_create,
-     info_snapshot_create, 0},
-    {"snapshot-create-as", cmdSnapshotCreateAs, opts_snapshot_create_as,
-     info_snapshot_create_as, 0},
-    {"snapshot-current", cmdSnapshotCurrent, opts_snapshot_current,
-     info_snapshot_current, 0},
-    {"snapshot-delete", cmdSnapshotDelete, opts_snapshot_delete,
-     info_snapshot_delete, 0},
-    {"snapshot-dumpxml", cmdSnapshotDumpXML, opts_snapshot_dumpxml,
-     info_snapshot_dumpxml, 0},
-    {"snapshot-edit", cmdSnapshotEdit, opts_snapshot_edit,
-     info_snapshot_edit, 0},
-    {"snapshot-info", cmdSnapshotInfo, opts_snapshot_info,
-     info_snapshot_info, 0},
-    {"snapshot-list", cmdSnapshotList, opts_snapshot_list,
-     info_snapshot_list, 0},
-    {"snapshot-parent", cmdSnapshotParent, opts_snapshot_parent,
-     info_snapshot_parent, 0},
-    {"snapshot-revert", cmdDomainSnapshotRevert, opts_snapshot_revert,
-     info_snapshot_revert, 0},
-    {NULL, NULL, NULL, NULL, 0}
+    {.name = "snapshot-create",
+     .handler = cmdSnapshotCreate,
+     .opts = opts_snapshot_create,
+     .info = info_snapshot_create,
+     .flags = 0
+    },
+    {.name = "snapshot-create-as",
+     .handler = cmdSnapshotCreateAs,
+     .opts = opts_snapshot_create_as,
+     .info = info_snapshot_create_as,
+     .flags = 0
+    },
+    {.name = "snapshot-current",
+     .handler = cmdSnapshotCurrent,
+     .opts = opts_snapshot_current,
+     .info = info_snapshot_current,
+     .flags = 0
+    },
+    {.name = "snapshot-delete",
+     .handler = cmdSnapshotDelete,
+     .opts = opts_snapshot_delete,
+     .info = info_snapshot_delete,
+     .flags = 0
+    },
+    {.name = "snapshot-dumpxml",
+     .handler = cmdSnapshotDumpXML,
+     .opts = opts_snapshot_dumpxml,
+     .info = info_snapshot_dumpxml,
+     .flags = 0
+    },
+    {.name = "snapshot-edit",
+     .handler = cmdSnapshotEdit,
+     .opts = opts_snapshot_edit,
+     .info = info_snapshot_edit,
+     .flags = 0
+    },
+    {.name = "snapshot-info",
+     .handler = cmdSnapshotInfo,
+     .opts = opts_snapshot_info,
+     .info = info_snapshot_info,
+     .flags = 0
+    },
+    {.name = "snapshot-list",
+     .handler = cmdSnapshotList,
+     .opts = opts_snapshot_list,
+     .info = info_snapshot_list,
+     .flags = 0
+    },
+    {.name = "snapshot-parent",
+     .handler = cmdSnapshotParent,
+     .opts = opts_snapshot_parent,
+     .info = info_snapshot_parent,
+     .flags = 0
+    },
+    {.name = "snapshot-revert",
+     .handler = cmdDomainSnapshotRevert,
+     .opts = opts_snapshot_revert,
+     .info = info_snapshot_revert,
+     .flags = 0
+    },
+    {.name = NULL}
 };
diff --git a/tools/virsh-volume.c b/tools/virsh-volume.c
index 0575166..8487670 100644
--- a/tools/virsh-volume.c
+++ b/tools/virsh-volume.c
@@ -1717,23 +1717,101 @@ cmdVolPath(vshControl *ctl, const vshCmd *cmd)
 }
 
 const vshCmdDef storageVolCmds[] = {
-    {"vol-clone", cmdVolClone, opts_vol_clone, info_vol_clone, 0},
-    {"vol-create-as", cmdVolCreateAs, opts_vol_create_as,
-     info_vol_create_as, 0},
-    {"vol-create", cmdVolCreate, opts_vol_create, info_vol_create, 0},
-    {"vol-create-from", cmdVolCreateFrom, opts_vol_create_from,
-     info_vol_create_from, 0},
-    {"vol-delete", cmdVolDelete, opts_vol_delete, info_vol_delete, 0},
-    {"vol-download", cmdVolDownload, opts_vol_download, info_vol_download, 0},
-    {"vol-dumpxml", cmdVolDumpXML, opts_vol_dumpxml, info_vol_dumpxml, 0},
-    {"vol-info", cmdVolInfo, opts_vol_info, info_vol_info, 0},
-    {"vol-key", cmdVolKey, opts_vol_key, info_vol_key, 0},
-    {"vol-list", cmdVolList, opts_vol_list, info_vol_list, 0},
-    {"vol-name", cmdVolName, opts_vol_name, info_vol_name, 0},
-    {"vol-path", cmdVolPath, opts_vol_path, info_vol_path, 0},
-    {"vol-pool", cmdVolPool, opts_vol_pool, info_vol_pool, 0},
-    {"vol-resize", cmdVolResize, opts_vol_resize, info_vol_resize, 0},
-    {"vol-upload", cmdVolUpload, opts_vol_upload, info_vol_upload, 0},
-    {"vol-wipe", cmdVolWipe, opts_vol_wipe, info_vol_wipe, 0},
-    {NULL, NULL, NULL, NULL, 0}
+    {.name = "vol-clone",
+     .handler = cmdVolClone,
+     .opts = opts_vol_clone,
+     .info = info_vol_clone,
+     .flags = 0
+    },
+    {.name = "vol-create-as",
+     .handler = cmdVolCreateAs,
+     .opts = opts_vol_create_as,
+     .info = info_vol_create_as,
+     .flags = 0
+    },
+    {.name = "vol-create",
+     .handler = cmdVolCreate,
+     .opts = opts_vol_create,
+     .info = info_vol_create,
+     .flags = 0
+    },
+    {.name = "vol-create-from",
+     .handler = cmdVolCreateFrom,
+     .opts = opts_vol_create_from,
+     .info = info_vol_create_from,
+     .flags = 0
+    },
+    {.name = "vol-delete",
+     .handler = cmdVolDelete,
+     .opts = opts_vol_delete,
+     .info = info_vol_delete,
+     .flags = 0
+    },
+    {.name = "vol-download",
+     .handler = cmdVolDownload,
+     .opts = opts_vol_download,
+     .info = info_vol_download,
+     .flags = 0
+    },
+    {.name = "vol-dumpxml",
+     .handler = cmdVolDumpXML,
+     .opts = opts_vol_dumpxml,
+     .info = info_vol_dumpxml,
+     .flags = 0
+    },
+    {.name = "vol-info",
+     .handler = cmdVolInfo,
+     .opts = opts_vol_info,
+     .info = info_vol_info,
+     .flags = 0
+    },
+    {.name = "vol-key",
+     .handler = cmdVolKey,
+     .opts = opts_vol_key,
+     .info = info_vol_key,
+     .flags = 0
+    },
+    {.name = "vol-list",
+     .handler = cmdVolList,
+     .opts = opts_vol_list,
+     .info = info_vol_list,
+     .flags = 0
+    },
+    {.name = "vol-name",
+     .handler = cmdVolName,
+     .opts = opts_vol_name,
+     .info = info_vol_name,
+     .flags = 0
+    },
+    {.name = "vol-path",
+     .handler = cmdVolPath,
+     .opts = opts_vol_path,
+     .info = info_vol_path,
+     .flags = 0
+    },
+    {.name = "vol-pool",
+     .handler = cmdVolPool,
+     .opts = opts_vol_pool,
+     .info = info_vol_pool,
+     .flags = 0
+    },
+    {.name = "vol-resize",
+     .handler = cmdVolResize,
+     .opts = opts_vol_resize,
+     .info = info_vol_resize,
+     .flags = 0
+    },
+    {.name = "vol-upload",
+     .handler = cmdVolUpload,
+     .opts = opts_vol_upload,
+     .info = info_vol_upload,
+     .flags = 0
+    },
+    {.name = "vol-wipe",
+     .handler = cmdVolWipe,
+     .opts = opts_vol_wipe,
+     .info = info_vol_wipe,
+     .flags = 0
+    },
+    {.name = NULL}
 };
diff --git a/tools/virsh.c b/tools/virsh.c
index e5322f0..7ca0c18 100644
--- a/tools/virsh.c
+++ b/tools/virsh.c
@@ -2974,13 +2974,43 @@ vshParseArgv(vshControl *ctl, int argc, char **argv)
 }
 
 static const vshCmdDef virshCmds[] = {
-    {"cd", cmdCd, opts_cd, info_cd, VSH_CMD_FLAG_NOCONNECT},
-    {"echo", cmdEcho, opts_echo, info_echo, VSH_CMD_FLAG_NOCONNECT},
-    {"exit", cmdQuit, NULL, info_quit, VSH_CMD_FLAG_NOCONNECT},
-    {"help", cmdHelp, opts_help, info_help, VSH_CMD_FLAG_NOCONNECT},
-    {"pwd", cmdPwd, NULL, info_pwd, VSH_CMD_FLAG_NOCONNECT},
-    {"quit", cmdQuit, NULL, info_quit, VSH_CMD_FLAG_NOCONNECT},
-    {NULL, NULL, NULL, NULL, 0}
+    {.name = "cd",
+     .handler = cmdCd,
+     .opts = opts_cd,
+     .info = info_cd,
+     .flags = VSH_CMD_FLAG_NOCONNECT
+    },
+    {.name = "echo",
+     .handler = cmdEcho,
+     .opts = opts_echo,
+     .info = info_echo,
+     .flags = VSH_CMD_FLAG_NOCONNECT
+    },
+    {.name = "exit",
+     .handler = cmdQuit,
+     .opts = NULL,
+     .info = info_quit,
+     .flags = VSH_CMD_FLAG_NOCONNECT
+    },
+    {.name = "help",
+     .handler = cmdHelp,
+     .opts = opts_help,
+     .info = info_help,
+     .flags = VSH_CMD_FLAG_NOCONNECT
+    },
+    {.name = "pwd",
+     .handler = cmdPwd,
+     .opts = NULL,
+     .info = info_pwd,
+     .flags = VSH_CMD_FLAG_NOCONNECT
+    },
+    {.name = "quit",
+     .handler = cmdQuit,
+     .opts = NULL,
+     .info = info_quit,
+     .flags = VSH_CMD_FLAG_NOCONNECT
+    },
+    {.name = NULL}
 };
 
 static const vshCmdGrp cmdGroups[] = {
-- 
1.8.0.2




More information about the libvir-list mailing list