All of lore.kernel.org
 help / color / mirror / Atom feed
From: Yang Hongyang <yanghy@cn.fujitsu.com>
To: xen-devel@lists.xensource.com
Subject: [PATCH 3/3]xl: Add command description to command table
Date: Thu, 29 Apr 2010 17:24:05 +0800	[thread overview]
Message-ID: <4BD95035.5090502@cn.fujitsu.com> (raw)

Add command description to command table

Signed-off-by: Yang Hongyang <yanghy@cn.fujitsu.com>

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@cn.fujitsu.com>
+ *
+ * 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

             reply	other threads:[~2010-04-29  9:24 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-04-29  9:24 Yang Hongyang [this message]
2010-05-04 16:10 ` [PATCH 3/3]xl: Add command description to command table Ian Jackson
2010-05-04 16:20   ` Keir Fraser
2010-05-04 16:41     ` Ian Jackson
2010-05-05  0:47     ` Yang Hongyang

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4BD95035.5090502@cn.fujitsu.com \
    --to=yanghy@cn.fujitsu.com \
    --cc=xen-devel@lists.xensource.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.