]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
virsh: Provide completer for CPU architectures
authorAmneesh Singh <natto@weirdnatto.in>
Sat, 2 Apr 2022 10:31:46 +0000 (16:01 +0530)
committerMichal Privoznik <mprivozn@redhat.com>
Mon, 4 Apr 2022 14:30:44 +0000 (16:30 +0200)
Related: https://gitlab.com/libvirt/libvirt/-/issues/9
Signed-off-by: Amneesh Singh <natto@weirdnatto.in>
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
tools/virsh-completer-host.c
tools/virsh-completer-host.h
tools/virsh-host.c

index 2da51012d9102320854be98b03ba2049ee102147..68bc6cfe251b4e5396ef019eb9e5284f45f85809 100644 (file)
@@ -28,6 +28,7 @@
 #include "virutil.h"
 #include "virsh-host.h"
 #include "conf/domain_conf.h"
+#include "virarch.h"
 
 static char *
 virshPagesizeNodeToString(xmlNodePtr node)
@@ -193,3 +194,15 @@ virshDomainVirtTypeCompleter(vshControl *ctl G_GNUC_UNUSED,
     return virshEnumComplete(VIR_DOMAIN_VIRT_LAST,
                              virDomainVirtTypeToString);
 }
+
+
+char **
+virshArchCompleter(vshControl *ctl G_GNUC_UNUSED,
+                   const vshCmd *cmd G_GNUC_UNUSED,
+                   unsigned int flags)
+{
+    virCheckFlags(0, NULL);
+
+    return virshEnumComplete(VIR_ARCH_LAST,
+                             (const char *(*)(int))virArchToString);
+}
index 11b2d1ae2bfda7aa7f7181758eeb74818b7122f7..b182661cded1809e1b21104eefe0c42c11bb110a 100644 (file)
@@ -46,3 +46,8 @@ char **
 virshDomainVirtTypeCompleter(vshControl *ctl,
                              const vshCmd *cmd,
                              unsigned int flags);
+
+char **
+virshArchCompleter(vshControl *ctl,
+                   const vshCmd *cmd,
+                   unsigned int flags);
index 738265a69bdb89238844443c9e870b8dce04aed8..ead966b500a9b9c6c06fea72661fc182331b0eee 100644 (file)
@@ -86,6 +86,7 @@ static const vshCmdOptDef opts_domcapabilities[] = {
     },
     {.name = "arch",
      .type = VSH_OT_STRING,
+     .completer = virshArchCompleter,
      .help = N_("domain architecture (/domain/os/type/@arch)"),
     },
     {.name = "machine",
@@ -1312,6 +1313,7 @@ static const vshCmdInfo info_cpu_models[] = {
 static const vshCmdOptDef opts_cpu_models[] = {
     {.name = "arch",
      .type = VSH_OT_DATA,
+     .completer = virshArchCompleter,
      .flags = VSH_OFLAG_REQ,
      .help = N_("architecture")
     },
@@ -1588,6 +1590,7 @@ static const vshCmdOptDef opts_hypervisor_cpu_compare[] = {
     },
     {.name = "arch",
      .type = VSH_OT_STRING,
+     .completer = virshArchCompleter,
      .help = N_("CPU architecture (/domain/os/type/@arch)"),
     },
     {.name = "machine",
@@ -1698,6 +1701,7 @@ static const vshCmdOptDef opts_hypervisor_cpu_baseline[] = {
     },
     {.name = "arch",
      .type = VSH_OT_STRING,
+     .completer = virshArchCompleter,
      .help = N_("CPU architecture (/domain/os/type/@arch)"),
     },
     {.name = "machine",