WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

[Xen-devel] [PATCH 3/3]xl: Add command description to command table

To: xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-devel] [PATCH 3/3]xl: Add command description to command table
From: Yang Hongyang <yanghy@xxxxxxxxxxxxxx>
Date: Thu, 29 Apr 2010 17:24:05 +0800
Delivery-date: Thu, 29 Apr 2010 02:30:05 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.9) Gecko/20100415 Thunderbird/3.0.4
Add command description to command table

Signed-off-by: Yang Hongyang <yanghy@xxxxxxxxxxxxxx>

diff -r b695c51b8345 -r 25e930534a5d tools/libxl/Makefile
--- a/tools/libxl/Makefile      Thu Apr 29 23:07:31 2010 +0800
+++ b/tools/libxl/Makefile      Fri Apr 30 00:16:19 2010 +0800
@@ -73,7 +73,10 @@
 xl_cmdimpl.o: xl_cmdimpl.c
        $(CC) $(CFLAGS) -c xl_cmdimpl.c
 
-$(CLIENTS): xl.o xl_cmdimpl.o libxlutil.so libxenlight.so
+xl_cmdtable.o: xl_cmdtable.c
+       $(CC) $(CFLAGS) -c xl_cmdtable.c
+
+$(CLIENTS): xl.o xl_cmdimpl.o xl_cmdtable.o libxlutil.so libxenlight.so
        $(CC) $(LDFLAGS) -o $@ $^ $(LIBS)
 
 .PHONY: install
diff -r b695c51b8345 -r 25e930534a5d tools/libxl/xl.c
--- a/tools/libxl/xl.c  Thu Apr 29 23:07:31 2010 +0800
+++ b/tools/libxl/xl.c  Fri Apr 30 00:16:19 2010 +0800
@@ -31,6 +31,9 @@
 #include "xl_cmdimpl.h"
 #include "xl_cmdtable.h"
 
+extern struct cmd_spec cmd_table[];
+extern int cmdtable_len;
+
 extern struct libxl_ctx ctx;
 extern int logfile;
 
diff -r b695c51b8345 -r 25e930534a5d tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c  Thu Apr 29 23:07:31 2010 +0800
+++ b/tools/libxl/xl_cmdimpl.c  Fri Apr 30 00:16:19 2010 +0800
@@ -38,6 +38,10 @@
 #include "libxl.h"
 #include "libxl_utils.h"
 #include "libxlutil.h"
+#include "xl_cmdtable.h"
+
+extern struct cmd_spec cmd_table[];
+extern int cmdtable_len;
 
 #define UUID_FMT 
"%02hhx%02hhx%02hhx%02hhx-%02hhx%02hhx-%02hhx%02hhx-%02hhx%02hhx-%02hhx%02hhx%02hhx%02hhx%02hhx%02hhx"
 
@@ -1081,24 +1085,8 @@
     if (!command || !strcmp(command, "help")) {
         printf("Usage xl <subcommand> [args]\n\n");
         printf("xl full list of subcommands:\n\n");
-        printf(" create                        create a domain from config 
file <filename>\n\n");
-        printf(" list                          list information about all 
domains\n\n");
-        printf(" destroy                       terminate a domain 
immediately\n\n");
-        printf(" pci-attach                    insert a new pass-through pci 
device\n\n");
-        printf(" pci-detach                    remove a domain's pass-through 
pci device\n\n");
-        printf(" pci-list                      list pass-through pci devices 
for a domain\n\n");
-        printf(" pause                         pause execution of a 
domain\n\n");
-        printf(" unpause                       unpause a paused domain\n\n");
-        printf(" console                       attach to domain's 
console\n\n");
-        printf(" save                          save a domain state to restore 
later\n\n");
-        printf(" restore                       restore a domain from a saved 
state\n\n");
-        printf(" cd-insert                     insert a cdrom into a guest's 
cd drive\n\n");
-        printf(" cd-eject                      eject a cdrom from a guest's cd 
drive\n\n");
-        printf(" mem-set                       set the current memory usage 
for a domain\n\n");
-        printf(" button-press                  indicate an ACPI button press 
to the domain\n\n");
-        printf(" vcpu-list                     list the VCPUs for all/some 
domains.\n\n");
-        printf(" vcpu-pin                      Set which CPUs a VCPU can 
use.\n\n");
-        printf(" vcpu-set                      Set the number of active VCPUs 
allowed for the domain.\n\n");
+        for (int i = 0; i < cmdtable_len; i++)
+            printf(" %-25s%s\n\n",cmd_table[i].cmd_name, 
cmd_table[i].cmd_desc);
     } else if(!strcmp(command, "create")) {
         printf("Usage: xl create <ConfigFile> [options] [vars]\n\n");
         printf("Create a domain based on <ConfigFile>.\n\n");
diff -r b695c51b8345 -r 25e930534a5d tools/libxl/xl_cmdtable.c
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/tools/libxl/xl_cmdtable.c Fri Apr 30 00:16:19 2010 +0800
@@ -0,0 +1,40 @@
+/*
+ * Author Yang Hongyang <yanghy@xxxxxxxxxxxxxx>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published
+ * by the Free Software Foundation; version 2.1 only. with the special
+ * exception on linking described in file LICENSE.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Lesser General Public License for more details.
+ */
+
+#include "xl_cmdtable.h"
+
+struct cmd_spec cmd_table[] = {
+    { "create", &main_create, "create a domain from config file <filename>" },
+    { "list", &main_list, "list information about all domains" },
+    { "destroy", &main_destroy, "terminate a domain immediately" },
+    { "pci-attach", &main_pciattach, "insert a new pass-through pci device" },
+    { "pci-detach", &main_pcidetach, "remove a domain's pass-through pci 
device" },
+    { "pci-list", &main_pcilist, "list pass-through pci devices for a domain" 
},
+    { "pause", &main_pause, "pause execution of a domain" },
+    { "unpause", &main_unpause, "unpause a paused domain" },
+    { "console", &main_console, "attach to domain's console" },
+    { "save", &main_save, "save a domain state to restore later" },
+    { "restore", &main_restore, "restore a domain from a saved state" },
+    { "cd-insert", &main_cd_insert, "insert a cdrom into a guest's cd drive" },
+    { "cd-eject", &main_cd_eject, "eject a cdrom from a guest's cd drive" },
+    { "mem-set", &main_memset, "set the current memory usage for a domain" },
+    { "button-press", &main_button_press, "indicate an ACPI button press to 
the domain" },
+    { "vcpu-list", &main_vcpulist, "list the VCPUs for all/some domains" },
+    { "vcpu-pin", &main_vcpupin, "set which CPUs a VCPU can use" },
+    { "vcpu-set", &main_vcpuset, "set the number of active VCPUs allowed for 
the domain" },
+    { "list-vm", &main_list_vm, "list the VMs,without DOM0" },
+    { "info", &main_info, "get information about Xen host" },
+};
+
+int cmdtable_len = sizeof(cmd_table)/sizeof(struct cmd_spec);
diff -r b695c51b8345 -r 25e930534a5d tools/libxl/xl_cmdtable.h
--- a/tools/libxl/xl_cmdtable.h Thu Apr 29 23:07:31 2010 +0800
+++ b/tools/libxl/xl_cmdtable.h Fri Apr 30 00:16:19 2010 +0800
@@ -17,29 +17,5 @@
 struct cmd_spec {
         char    *cmd_name;
         int     (*cmd_impl)(int argc, char **argv);
+        char    *cmd_desc;
 };
-
-struct cmd_spec cmd_table[] = {
-    { "create", &main_create },
-    { "list", &main_list },
-    { "destroy", &main_destroy },
-    { "pci-attach", &main_pciattach },
-    { "pci-detach", &main_pcidetach },
-    { "pci-list", &main_pcilist },
-    { "pause", &main_pause },
-    { "unpause", &main_unpause },
-    { "console", &main_console },
-    { "save", &main_save },
-    { "restore", &main_restore },
-    { "cd-insert", &main_cd_insert },
-    { "cd-eject", &main_cd_eject },
-    { "mem-set", &main_memset },
-    { "button-press", &main_button_press },
-    { "vcpu-list", &main_vcpulist },
-    { "vcpu-pin", &main_vcpupin },
-    { "vcpu-set", &main_vcpuset },
-    { "list-vm", &main_list_vm },
-    { "info", &main_info },
-};
-
-int cmdtable_len = sizeof(cmd_table)/sizeof(struct cmd_spec);

-- 
Regards
Yang Hongyang

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-devel] [PATCH 3/3]xl: Add command description to command table, Yang Hongyang <=