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

xen-devel

[Top] [All Lists]

[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: 2010年4月29日 17:24:05 +0800
Delivery-date: 2010年4月29日 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 <=
Previous by Date: [Xen-devel] [PATCH 2/3]xl: Use command table to store command name and implementation , Yang Hongyang
Next by Date: RE: [Xen-devel] Re: [PATCH] CPUIDLE: shorten hpet spin_lock holding time , Wei, Gang
Previous by Thread: [Xen-devel] [PATCH 2/3]xl: Use command table to store command name and implementation , Yang Hongyang
Next by Thread: [Xen-devel][Pv-ops][PATCH 0/4 v2] Netback multiple threads support , Xu, Dongxiao
Indexes: [Date] [Thread] [Top] [All Lists]

Copyright ©, Citrix Systems Inc. All rights reserved. Legal and Privacy
Citrix This site is hosted by Citrix

AltStyle によって変換されたページ (->オリジナル) /