From a42d35542c4d5a613702eab81a613f4954800149 Mon Sep 17 00:00:00 2001 From: Sasha Levin Date: Fri, 12 Aug 2011 18:20:55 +0300 Subject: [PATCH] kvm tools: Connect existing command helpers to 'kvm help' This patch connects usage helpers to 'kvm help' callbacks, allowing to see help about a command by doing 'kvm help [command]'. Signed-off-by: Sasha Levin Signed-off-by: Pekka Enberg --- tools/kvm/builtin-balloon.c | 7 ++++++- tools/kvm/builtin-debug.c | 7 ++++++- tools/kvm/builtin-list.c | 15 +++++++++++++++ tools/kvm/builtin-pause.c | 7 ++++++- tools/kvm/builtin-resume.c | 7 ++++++- tools/kvm/builtin-stop.c | 7 ++++++- tools/kvm/include/kvm/builtin-balloon.h | 1 + tools/kvm/include/kvm/builtin-debug.h | 1 + tools/kvm/include/kvm/builtin-list.h | 1 + tools/kvm/include/kvm/builtin-pause.h | 1 + tools/kvm/include/kvm/builtin-resume.h | 1 + tools/kvm/include/kvm/builtin-stop.h | 1 + tools/kvm/kvm-cmd.c | 22 +++++++++++----------- 13 files changed, 62 insertions(+), 16 deletions(-) diff --git a/tools/kvm/builtin-balloon.c b/tools/kvm/builtin-balloon.c index 907a56a735e9..08795cd59958 100644 --- a/tools/kvm/builtin-balloon.c +++ b/tools/kvm/builtin-balloon.c @@ -17,6 +17,11 @@ static const struct option balloon_options[] = { OPT_END() }; +void kvm_balloon_help(void) +{ + usage_with_options(balloon_usage, balloon_options); +} + int kvm_cmd_balloon(int argc, const char **argv, const char *prefix) { int pid; @@ -24,7 +29,7 @@ int kvm_cmd_balloon(int argc, const char **argv, const char *prefix) int inflate = 0; if (argc != 3) - usage_with_options(balloon_usage, balloon_options); + kvm_balloon_help(); pid = kvm__get_pid_by_instance(argv[2]); if (pid < 0) diff --git a/tools/kvm/builtin-debug.c b/tools/kvm/builtin-debug.c index adb0b5472406..444ec518fc13 100644 --- a/tools/kvm/builtin-debug.c +++ b/tools/kvm/builtin-debug.c @@ -17,6 +17,11 @@ static const struct option debug_options[] = { OPT_END() }; +void kvm_debug_help(void) +{ + usage_with_options(debug_usage, debug_options); +} + static int do_debug(const char *name, int pid) { return kill(pid, SIGQUIT); @@ -27,7 +32,7 @@ int kvm_cmd_debug(int argc, const char **argv, const char *prefix) int pid; if (argc != 1) - usage_with_options(debug_usage, debug_options); + kvm_debug_help(); if (strcmp(argv[0], "all") == 0) { return kvm__enumerate_instances(do_debug); diff --git a/tools/kvm/builtin-list.c b/tools/kvm/builtin-list.c index 34cc03bc95d1..fcf9bb0ec29d 100644 --- a/tools/kvm/builtin-list.c +++ b/tools/kvm/builtin-list.c @@ -2,6 +2,7 @@ #include #include #include +#include #include #include @@ -10,6 +11,20 @@ #define PROCESS_NAME "kvm" +static const char * const list_usage[] = { + "kvm list", + NULL +}; + +static const struct option list_options[] = { + OPT_END() +}; + +void kvm_list_help(void) +{ + usage_with_options(list_usage, list_options); +} + static int print_guest(const char *name, int pid) { char proc_name[PATH_MAX]; diff --git a/tools/kvm/builtin-pause.c b/tools/kvm/builtin-pause.c index 7ac793c56b3e..7a6a6c72e0c9 100644 --- a/tools/kvm/builtin-pause.c +++ b/tools/kvm/builtin-pause.c @@ -17,6 +17,11 @@ static const struct option pause_options[] = { OPT_END() }; +void kvm_pause_help(void) +{ + usage_with_options(pause_usage, pause_options); +} + static int do_pause(const char *name, int pid) { return kill(pid, SIGUSR2); @@ -27,7 +32,7 @@ int kvm_cmd_pause(int argc, const char **argv, const char *prefix) int pid; if (argc != 1) - usage_with_options(pause_usage, pause_options); + kvm_pause_help(); if (strcmp(argv[0], "all") == 0) { return kvm__enumerate_instances(do_pause); diff --git a/tools/kvm/builtin-resume.c b/tools/kvm/builtin-resume.c index 3b08d3fa8f27..b004f2dffdcd 100644 --- a/tools/kvm/builtin-resume.c +++ b/tools/kvm/builtin-resume.c @@ -17,6 +17,11 @@ static const struct option resume_options[] = { OPT_END() }; +void kvm_resume_help(void) +{ + usage_with_options(resume_usage, resume_options); +} + static int do_resume(const char *name, int pid) { return kill(pid, SIGKVMRESUME); @@ -27,7 +32,7 @@ int kvm_cmd_resume(int argc, const char **argv, const char *prefix) int pid; if (argc != 1) - usage_with_options(resume_usage, resume_options); + kvm_resume_help(); if (strcmp(argv[0], "all") == 0) { return kvm__enumerate_instances(do_resume); diff --git a/tools/kvm/builtin-stop.c b/tools/kvm/builtin-stop.c index efbf979cdf08..de3113295d7a 100644 --- a/tools/kvm/builtin-stop.c +++ b/tools/kvm/builtin-stop.c @@ -17,6 +17,11 @@ static const struct option stop_options[] = { OPT_END() }; +void kvm_stop_help(void) +{ + usage_with_options(stop_usage, stop_options); +} + static int do_stop(const char *name, int pid) { return kill(pid, SIGKVMSTOP); @@ -27,7 +32,7 @@ int kvm_cmd_stop(int argc, const char **argv, const char *prefix) int pid; if (argc != 1) - usage_with_options(stop_usage, stop_options); + kvm_stop_help(); if (strcmp(argv[0], "all") == 0) { return kvm__enumerate_instances(do_stop); diff --git a/tools/kvm/include/kvm/builtin-balloon.h b/tools/kvm/include/kvm/builtin-balloon.h index f5f92b9e37d2..85055ebf715d 100644 --- a/tools/kvm/include/kvm/builtin-balloon.h +++ b/tools/kvm/include/kvm/builtin-balloon.h @@ -2,5 +2,6 @@ #define KVM__BALLOON_H int kvm_cmd_balloon(int argc, const char **argv, const char *prefix); +void kvm_balloon_help(void); #endif diff --git a/tools/kvm/include/kvm/builtin-debug.h b/tools/kvm/include/kvm/builtin-debug.h index 190cf3189fd7..3fc2469fd62b 100644 --- a/tools/kvm/include/kvm/builtin-debug.h +++ b/tools/kvm/include/kvm/builtin-debug.h @@ -2,5 +2,6 @@ #define KVM__DEBUG_H int kvm_cmd_debug(int argc, const char **argv, const char *prefix); +void kvm_debug_help(void); #endif diff --git a/tools/kvm/include/kvm/builtin-list.h b/tools/kvm/include/kvm/builtin-list.h index eba9cfdee614..04fca22eeab0 100644 --- a/tools/kvm/include/kvm/builtin-list.h +++ b/tools/kvm/include/kvm/builtin-list.h @@ -2,5 +2,6 @@ #define KVM__LIST_H int kvm_cmd_list(int argc, const char **argv, const char *prefix); +void kvm_list_help(void); #endif diff --git a/tools/kvm/include/kvm/builtin-pause.h b/tools/kvm/include/kvm/builtin-pause.h index 0f8e96b9e115..540cc8e7bf62 100644 --- a/tools/kvm/include/kvm/builtin-pause.h +++ b/tools/kvm/include/kvm/builtin-pause.h @@ -2,5 +2,6 @@ #define KVM__PAUSE_H int kvm_cmd_pause(int argc, const char **argv, const char *prefix); +void kvm_pause_help(void); #endif diff --git a/tools/kvm/include/kvm/builtin-resume.h b/tools/kvm/include/kvm/builtin-resume.h index 4a6474752ea3..9e6e8d7837ce 100644 --- a/tools/kvm/include/kvm/builtin-resume.h +++ b/tools/kvm/include/kvm/builtin-resume.h @@ -2,5 +2,6 @@ #define KVM__RESUME_H int kvm_cmd_resume(int argc, const char **argv, const char *prefix); +void kvm_resume_help(void); #endif diff --git a/tools/kvm/include/kvm/builtin-stop.h b/tools/kvm/include/kvm/builtin-stop.h index 317d34dc8f99..757069535860 100644 --- a/tools/kvm/include/kvm/builtin-stop.h +++ b/tools/kvm/include/kvm/builtin-stop.h @@ -2,5 +2,6 @@ #define KVM__STOP_H int kvm_cmd_stop(int argc, const char **argv, const char *prefix); +void kvm_stop_help(void); #endif diff --git a/tools/kvm/kvm-cmd.c b/tools/kvm/kvm-cmd.c index 3a90d6d6d453..4e3ea22491f0 100644 --- a/tools/kvm/kvm-cmd.c +++ b/tools/kvm/kvm-cmd.c @@ -18,17 +18,17 @@ #include "kvm/util.h" struct cmd_struct kvm_commands[] = { - { "pause", kvm_cmd_pause, NULL, 0 }, - { "resume", kvm_cmd_resume, NULL, 0 }, - { "debug", kvm_cmd_debug, NULL, 0 }, - { "balloon", kvm_cmd_balloon, NULL, 0 }, - { "list", kvm_cmd_list, NULL, 0 }, - { "version", kvm_cmd_version, NULL, 0 }, - { "--version", kvm_cmd_version, NULL, 0 }, - { "stop", kvm_cmd_stop, NULL, 0 }, - { "help", kvm_cmd_help, NULL, 0 }, - { "run", kvm_cmd_run, kvm_run_help, 0 }, - { NULL, NULL, NULL, 0 }, + { "pause", kvm_cmd_pause, kvm_pause_help, 0 }, + { "resume", kvm_cmd_resume, kvm_resume_help, 0 }, + { "debug", kvm_cmd_debug, kvm_debug_help, 0 }, + { "balloon", kvm_cmd_balloon, kvm_balloon_help, 0 }, + { "list", kvm_cmd_list, kvm_list_help, 0 }, + { "version", kvm_cmd_version, NULL, 0 }, + { "--version", kvm_cmd_version, NULL, 0 }, + { "stop", kvm_cmd_stop, kvm_stop_help, 0 }, + { "help", kvm_cmd_help, NULL, 0 }, + { "run", kvm_cmd_run, kvm_run_help, 0 }, + { NULL, NULL, NULL, 0 }, }; /* -- 2.39.5