summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Brown2011-03-04 13:14:51 +0100
committerMichael Brown2011-03-04 13:18:51 +0100
commit7d5dcc92994dae75831453b8d7fff411f23d9126 (patch)
tree2f12b637301709393c2c0d24aca6e6a1222ce272
parent[arbel] Make driver 64-bit safe (diff)
downloadipxe-7d5dcc92994dae75831453b8d7fff411f23d9126.tar.gz
ipxe-7d5dcc92994dae75831453b8d7fff411f23d9126.tar.xz
ipxe-7d5dcc92994dae75831453b8d7fff411f23d9126.zip
[parseopt] Refer to online documentation for command help
The online documentation (e.g. http://ipxe.org/cmd/ifopen), though not yet complete, is far more comprehensive than could be provided within the iPXE binary. Save around 200 bytes (compressed) by removing the command descriptions from the interactive help, and instead referring users directly to the web page describing the relevant command. Signed-off-by: Michael Brown <mcb30@ipxe.org>
-rw-r--r--src/arch/i386/hci/commands/pxe_cmd.c5
-rw-r--r--src/arch/i386/hci/commands/reboot_cmd.c2
-rw-r--r--src/core/exec.c5
-rw-r--r--src/core/parseopt.c3
-rw-r--r--src/hci/commands/autoboot_cmd.c2
-rw-r--r--src/hci/commands/config_cmd.c4
-rw-r--r--src/hci/commands/dhcp_cmd.c6
-rw-r--r--src/hci/commands/digest_cmd.c3
-rw-r--r--src/hci/commands/fcmgmt_cmd.c5
-rw-r--r--src/hci/commands/gdbstub_cmd.c7
-rw-r--r--src/hci/commands/ifmgmt_cmd.c9
-rw-r--r--src/hci/commands/image_cmd.c22
-rw-r--r--src/hci/commands/iwmgmt_cmd.c6
-rw-r--r--src/hci/commands/login_cmd.c3
-rw-r--r--src/hci/commands/lotest_cmd.c4
-rw-r--r--src/hci/commands/nvo_cmd.c8
-rw-r--r--src/hci/commands/route_cmd.c3
-rw-r--r--src/hci/commands/sanboot_cmd.c2
-rw-r--r--src/hci/commands/time_cmd.c5
-rw-r--r--src/hci/commands/vlan_cmd.c6
-rw-r--r--src/hci/shell.c3
-rw-r--r--src/image/script.c3
-rw-r--r--src/include/ipxe/parseopt.h10
23 files changed, 46 insertions, 80 deletions
diff --git a/src/arch/i386/hci/commands/pxe_cmd.c b/src/arch/i386/hci/commands/pxe_cmd.c
index 8d572117..79585cde 100644
--- a/src/arch/i386/hci/commands/pxe_cmd.c
+++ b/src/arch/i386/hci/commands/pxe_cmd.c
@@ -33,7 +33,7 @@ FILE_LICENCE ( GPL2_OR_LATER );
/** "startpxe" command descriptor */
static struct command_descriptor startpxe_cmd =
COMMAND_DESC ( struct ifcommon_options, ifcommon_opts, 0, MAX_ARGUMENTS,
- "[<interface>]", "" );
+ "[<interface>]" );
/**
* "startpxe" payload
@@ -68,8 +68,7 @@ static struct option_descriptor stoppxe_opts[] = {};
/** "stoppxe" command descriptor */
static struct command_descriptor stoppxe_cmd =
- COMMAND_DESC ( struct stoppxe_options, stoppxe_opts, 0, 0,
- "", "" );
+ COMMAND_DESC ( struct stoppxe_options, stoppxe_opts, 0, 0, "" );
/**
* The "stoppxe" command
diff --git a/src/arch/i386/hci/commands/reboot_cmd.c b/src/arch/i386/hci/commands/reboot_cmd.c
index 39e05af5..d6a1d9a3 100644
--- a/src/arch/i386/hci/commands/reboot_cmd.c
+++ b/src/arch/i386/hci/commands/reboot_cmd.c
@@ -36,7 +36,7 @@ static struct option_descriptor reboot_opts[] = {};
/** "reboot" command descriptor */
static struct command_descriptor reboot_cmd =
- COMMAND_DESC ( struct reboot_options, reboot_opts, 0, 0, "", "" );
+ COMMAND_DESC ( struct reboot_options, reboot_opts, 0, 0, "" );
/**
* The "reboot" command
diff --git a/src/core/exec.c b/src/core/exec.c
index 57b2df58..e6f20487 100644
--- a/src/core/exec.c
+++ b/src/core/exec.c
@@ -298,8 +298,7 @@ static struct option_descriptor exit_opts[] = {};
/** "exit" command descriptor */
static struct command_descriptor exit_cmd =
- COMMAND_DESC ( struct exit_options, exit_opts, 0, 1,
- "[<status>]", "" );
+ COMMAND_DESC ( struct exit_options, exit_opts, 0, 1, "[<status>]" );
/**
* "exit" command
@@ -344,7 +343,7 @@ static struct option_descriptor isset_opts[] = {};
/** "isset" command descriptor */
static struct command_descriptor isset_cmd =
COMMAND_DESC ( struct isset_options, isset_opts, 0, MAX_ARGUMENTS,
- "[...]", "" );
+ "[...]" );
/**
* "isset" command
diff --git a/src/core/parseopt.c b/src/core/parseopt.c
index f0a3e700..451ebaf5 100644
--- a/src/core/parseopt.c
+++ b/src/core/parseopt.c
@@ -132,7 +132,8 @@ int parse_image ( const char *text, struct image **image ) {
* @v argv Argument list
*/
void print_usage ( struct command_descriptor *cmd, char **argv ) {
- printf ( "Usage:\n\n %s %s\n", argv[0], cmd->usage_description );
+ printf ( "Usage:\n\n %s %s\n\nSee http://ipxe.org/cmd/%s for further "
+ "information\n", argv[0], cmd->usage, argv[0] );
}
/**
diff --git a/src/hci/commands/autoboot_cmd.c b/src/hci/commands/autoboot_cmd.c
index 6fd34b3a..0917f6fa 100644
--- a/src/hci/commands/autoboot_cmd.c
+++ b/src/hci/commands/autoboot_cmd.c
@@ -35,7 +35,7 @@ FILE_LICENCE ( GPL2_OR_LATER );
/** "autoboot" command descriptor */
static struct command_descriptor autoboot_cmd =
COMMAND_DESC ( struct ifcommon_options, ifcommon_opts, 0, MAX_ARGUMENTS,
- "[<interface>...]", "Attempt to boot the system" );
+ "[<interface>...]" );
/**
* "autoboot" command
diff --git a/src/hci/commands/config_cmd.c b/src/hci/commands/config_cmd.c
index 84c2e32a..e447d6af 100644
--- a/src/hci/commands/config_cmd.c
+++ b/src/hci/commands/config_cmd.c
@@ -41,9 +41,7 @@ static struct option_descriptor config_opts[] = {};
/** "config" command descriptor */
static struct command_descriptor config_cmd =
- COMMAND_DESC ( struct config_options, config_opts, 0, 1,
- "[<scope>]",
- "Open the option configuration console" );
+ COMMAND_DESC ( struct config_options, config_opts, 0, 1, "[<scope>]" );
/**
* Parse settings scope name
diff --git a/src/hci/commands/dhcp_cmd.c b/src/hci/commands/dhcp_cmd.c
index fba89772..acf3cfda 100644
--- a/src/hci/commands/dhcp_cmd.c
+++ b/src/hci/commands/dhcp_cmd.c
@@ -43,8 +43,7 @@ FILE_LICENCE ( GPL2_OR_LATER );
/** "dhcp" command descriptor */
static struct command_descriptor dhcp_cmd =
COMMAND_DESC ( struct ifcommon_options, ifcommon_opts, 0, MAX_ARGUMENTS,
- "[<interface>] [<interface>...]",
- "Configure network interface(s) using DHCP" );
+ "[<interface>...]" );
/**
* Execute "dhcp" command for a network device
@@ -88,8 +87,7 @@ static struct option_descriptor pxebs_opts[] = {};
/** "pxebs" command descriptor */
static struct command_descriptor pxebs_cmd =
COMMAND_DESC ( struct pxebs_options, pxebs_opts, 2, 2,
- "<interface> <server_type>",
- "Perform PXE Boot Server discovery" );
+ "<interface> <server type>" );
/**
* The "pxebs" command
diff --git a/src/hci/commands/digest_cmd.c b/src/hci/commands/digest_cmd.c
index d40e8e7d..6ca12eff 100644
--- a/src/hci/commands/digest_cmd.c
+++ b/src/hci/commands/digest_cmd.c
@@ -44,8 +44,7 @@ static struct option_descriptor digest_opts[] = {};
/** "digest" command descriptor */
static struct command_descriptor digest_cmd =
COMMAND_DESC ( struct digest_options, digest_opts, 1, MAX_ARGUMENTS,
- "<image> [<image>...]",
- "Calculate the digest of an image" );
+ "<image> [<image>...]" );
/**
* The "digest" command
diff --git a/src/hci/commands/fcmgmt_cmd.c b/src/hci/commands/fcmgmt_cmd.c
index c76554f6..a2b818ec 100644
--- a/src/hci/commands/fcmgmt_cmd.c
+++ b/src/hci/commands/fcmgmt_cmd.c
@@ -106,8 +106,7 @@ static struct option_descriptor fcstat_opts[] = {};
/** "fcstat" command descriptor */
static struct command_descriptor fcstat_cmd =
- COMMAND_DESC ( struct fcstat_options, fcstat_opts, 0, 0,
- "", "" );
+ COMMAND_DESC ( struct fcstat_options, fcstat_opts, 0, 0, "" );
/**
* The "fcstat" command
@@ -153,7 +152,7 @@ static struct option_descriptor fcels_opts[] = {
/** "fcels" command descriptor */
static struct command_descriptor fcels_cmd =
COMMAND_DESC ( struct fcels_options, fcels_opts, 1, 1,
- "[--port <port>] [--id <peer_port_id>] <command>", "" );
+ "[--port <port>] [--id <peer port id>] <request>" );
/**
* The "fcels" command
diff --git a/src/hci/commands/gdbstub_cmd.c b/src/hci/commands/gdbstub_cmd.c
index b0e3ade8..f35f0140 100644
--- a/src/hci/commands/gdbstub_cmd.c
+++ b/src/hci/commands/gdbstub_cmd.c
@@ -65,12 +65,7 @@ static struct option_descriptor gdbstub_opts[] = {};
/** "gdbstub" command descriptor */
static struct command_descriptor gdbstub_cmd =
COMMAND_DESC ( struct gdbstub_options, gdbstub_opts, 1, MAX_ARGUMENTS,
- "<transport> [<options>...]",
- "Start remote debugging using one of the following "
- "transports:\n"
- " serial use serial port (if compiled in)\n"
- " udp <interface> use UDP over network interface "
- "(if compiled in)" );
+ "<transport> [<options>...]" );
/**
* The "gdbstub" command
diff --git a/src/hci/commands/ifmgmt_cmd.c b/src/hci/commands/ifmgmt_cmd.c
index 9724f790..29691d4e 100644
--- a/src/hci/commands/ifmgmt_cmd.c
+++ b/src/hci/commands/ifmgmt_cmd.c
@@ -87,8 +87,7 @@ int ifcommon_exec ( int argc, char **argv,
/** "ifopen" command descriptor */
static struct command_descriptor ifopen_cmd =
COMMAND_DESC ( struct ifcommon_options, ifcommon_opts, 0, MAX_ARGUMENTS,
- "[<interface>...]",
- "Open network interface(s)" );
+ "[<interface>...]" );
/**
* "ifopen" payload
@@ -114,8 +113,7 @@ static int ifopen_exec ( int argc, char **argv ) {
/** "ifclose" command descriptor */
static struct command_descriptor ifclose_cmd =
COMMAND_DESC ( struct ifcommon_options, ifcommon_opts, 0, MAX_ARGUMENTS,
- "[<interface>...]",
- "Close network interface(s)" );
+ "[<interface>...]" );
/**
* "ifclose" payload
@@ -142,8 +140,7 @@ static int ifclose_exec ( int argc, char **argv ) {
/** "ifstat" command descriptor */
static struct command_descriptor ifstat_cmd =
COMMAND_DESC ( struct ifcommon_options, ifcommon_opts, 0, MAX_ARGUMENTS,
- "[<interface>...]",
- "Show network interface(s)" );
+ "[<interface>...]" );
/**
* "ifstat" payload
diff --git a/src/hci/commands/image_cmd.c b/src/hci/commands/image_cmd.c
index 66002226..a008baa6 100644
--- a/src/hci/commands/image_cmd.c
+++ b/src/hci/commands/image_cmd.c
@@ -84,20 +84,17 @@ static struct option_descriptor imgfetch_opts[] = {
/** "imgfetch" command descriptor */
static struct command_descriptor imgfetch_cmd =
COMMAND_DESC ( struct imgfetch_options, imgfetch_opts, 1, MAX_ARGUMENTS,
- "[--name <name>] <image_url> [<arguments>...]",
- "Fetch image" );
+ "[--name <name>] <uri> [<arguments>...]" );
/** "kernel" command descriptor */
static struct command_descriptor kernel_cmd =
COMMAND_DESC ( struct imgfetch_options, imgfetch_opts, 1, MAX_ARGUMENTS,
- "[--name <name>] <image_url> [<arguments>...]",
- "Fetch and load image" );
+ "[--name <name>] <uri> [<arguments>...]" );
/** "chain" command descriptor */
static struct command_descriptor chain_cmd =
COMMAND_DESC ( struct imgfetch_options, imgfetch_opts, 1, MAX_ARGUMENTS,
- "[--name <name>] <image_url> [<arguments>...]",
- "Fetch and execute image" );
+ "[--name <name>] <uri> [<arguments>...]" );
/**
* The "imgfetch" and friends command body
@@ -200,8 +197,7 @@ static struct option_descriptor imgload_opts[] = {};
/** "imgload" command descriptor */
static struct command_descriptor imgload_cmd =
- COMMAND_DESC ( struct imgload_options, imgload_opts, 1, 1,
- "<image>", "Load image" );
+ COMMAND_DESC ( struct imgload_options, imgload_opts, 1, 1, "<image>" );
/**
* The "imgload" command
@@ -242,8 +238,7 @@ static struct option_descriptor imgargs_opts[] = {};
/** "imgargs" command descriptor */
static struct command_descriptor imgargs_cmd =
COMMAND_DESC ( struct imgargs_options, imgargs_opts, 1, MAX_ARGUMENTS,
- "<image> [<arguments>...]",
- "Set arguments for image" );
+ "<image> [<arguments>...]" );
/**
* The "imgargs" command body
@@ -282,7 +277,7 @@ static struct option_descriptor imgexec_opts[] = {};
/** "imgexec" command descriptor */
static struct command_descriptor imgexec_cmd =
COMMAND_DESC ( struct imgexec_options, imgexec_opts, 0, 1,
- "[<image>]", "Execute image" );
+ "[<image>]" );
/**
* The "imgexec" command
@@ -330,8 +325,7 @@ static struct option_descriptor imgstat_opts[] = {};
/** "imgstat" command descriptor */
static struct command_descriptor imgstat_cmd =
- COMMAND_DESC ( struct imgstat_options, imgstat_opts, 0, 0,
- "", "List images" );
+ COMMAND_DESC ( struct imgstat_options, imgstat_opts, 0, 0, "" );
/**
* The "imgstat" command
@@ -366,7 +360,7 @@ static struct option_descriptor imgfree_opts[] = {};
/** "imgfree" command descriptor */
static struct command_descriptor imgfree_cmd =
COMMAND_DESC ( struct imgfree_options, imgfree_opts, 0, 1,
- "[<image>]", "Free image(s)" );
+ "[<image>]" );
/**
* The "imgfree" command
diff --git a/src/hci/commands/iwmgmt_cmd.c b/src/hci/commands/iwmgmt_cmd.c
index 3922141b..00a8360d 100644
--- a/src/hci/commands/iwmgmt_cmd.c
+++ b/src/hci/commands/iwmgmt_cmd.c
@@ -34,8 +34,7 @@ FILE_LICENCE ( GPL2_OR_LATER );
/** "iwstat" command descriptor */
static struct command_descriptor iwstat_cmd =
COMMAND_DESC ( struct ifcommon_options, ifcommon_opts, 0, MAX_ARGUMENTS,
- "[<interface>...]",
- "Show wireless interface(s)" );
+ "[<interface>...]" );
/**
* "iwstat" payload
@@ -66,8 +65,7 @@ static int iwstat_exec ( int argc, char **argv ) {
/** "iwlist" command descriptor */
static struct command_descriptor iwlist_cmd =
COMMAND_DESC ( struct ifcommon_options, ifcommon_opts, 0, MAX_ARGUMENTS,
- "[<interface>...]",
- "List wireless networks" );
+ "[<interface>...]" );
/**
* "iwlist" payload
diff --git a/src/hci/commands/login_cmd.c b/src/hci/commands/login_cmd.c
index ab173937..3286932d 100644
--- a/src/hci/commands/login_cmd.c
+++ b/src/hci/commands/login_cmd.c
@@ -38,8 +38,7 @@ static struct option_descriptor login_opts[] = {};
/** "login" command descriptor */
static struct command_descriptor login_cmd =
- COMMAND_DESC ( struct login_options, login_opts, 0, 0,
- "", "Prompt for login credentials" );
+ COMMAND_DESC ( struct login_options, login_opts, 0, 0, "" );
/**
* "login" command
diff --git a/src/hci/commands/lotest_cmd.c b/src/hci/commands/lotest_cmd.c
index 73cefcaa..172be2d8 100644
--- a/src/hci/commands/lotest_cmd.c
+++ b/src/hci/commands/lotest_cmd.c
@@ -49,8 +49,8 @@ static struct option_descriptor lotest_opts[] = {
/** "lotest" command descriptor */
static struct command_descriptor lotest_cmd =
COMMAND_DESC ( struct lotest_options, lotest_opts, 2, 2,
- "[--mtu <mtu>] <sending_interface> "
- "<receiving_interface>", "" );
+ "[--mtu <mtu>] <sending interface> "
+ "<receiving interface>" );
/**
* "lotest" command
diff --git a/src/hci/commands/nvo_cmd.c b/src/hci/commands/nvo_cmd.c
index 3513c8de..d8621abc 100644
--- a/src/hci/commands/nvo_cmd.c
+++ b/src/hci/commands/nvo_cmd.c
@@ -42,8 +42,7 @@ static struct option_descriptor show_opts[] = {};
/** "show" command descriptor */
static struct command_descriptor show_cmd =
- COMMAND_DESC ( struct show_options, show_opts, 1, 1,
- "<setting>", "" );
+ COMMAND_DESC ( struct show_options, show_opts, 1, 1, "<setting>" );
/**
* "show" command
@@ -88,7 +87,7 @@ static struct option_descriptor set_opts[] = {};
/** "set" command descriptor */
static struct command_descriptor set_cmd =
COMMAND_DESC ( struct set_options, set_opts, 1, MAX_ARGUMENTS,
- "<setting> <value>", "" );
+ "<setting> <value>" );
/**
* "set" command
@@ -146,8 +145,7 @@ static struct option_descriptor clear_opts[] = {};
/** "clear" command descriptor */
static struct command_descriptor clear_cmd =
- COMMAND_DESC ( struct clear_options, clear_opts, 1, 1,
- "<setting>", "" );
+ COMMAND_DESC ( struct clear_options, clear_opts, 1, 1, "<setting>" );
/**
* "clear" command
diff --git a/src/hci/commands/route_cmd.c b/src/hci/commands/route_cmd.c
index a4f5f91d..f839d53f 100644
--- a/src/hci/commands/route_cmd.c
+++ b/src/hci/commands/route_cmd.c
@@ -38,8 +38,7 @@ static struct option_descriptor route_opts[] = {};
/** "route" command descriptor */
static struct command_descriptor route_cmd =
- COMMAND_DESC ( struct route_options, route_opts, 0, 0,
- "", "Display the routing table" );
+ COMMAND_DESC ( struct route_options, route_opts, 0, 0, "" );
/**
* The "route" command
diff --git a/src/hci/commands/sanboot_cmd.c b/src/hci/commands/sanboot_cmd.c
index 61bc5463..198a7322 100644
--- a/src/hci/commands/sanboot_cmd.c
+++ b/src/hci/commands/sanboot_cmd.c
@@ -42,7 +42,7 @@ static struct option_descriptor sanboot_opts[] = {};
/** "sanboot" command descriptor */
static struct command_descriptor sanboot_cmd =
COMMAND_DESC ( struct sanboot_options, sanboot_opts, 1, 1,
- "<root-path>", "Boot from SAN target" );
+ "<root-path>" );
/**
* The "sanboot" command
diff --git a/src/hci/commands/time_cmd.c b/src/hci/commands/time_cmd.c
index b8af15ff..1dd17578 100644
--- a/src/hci/commands/time_cmd.c
+++ b/src/hci/commands/time_cmd.c
@@ -45,7 +45,7 @@ static struct option_descriptor time_opts[] = {};
/** "time" command descriptor */
static struct command_descriptor time_cmd =
COMMAND_DESC ( struct time_options, time_opts, 1, MAX_ARGUMENTS,
- "<command>", "Time a command" );
+ "<command>" );
/**
* "time" command
@@ -87,8 +87,7 @@ static struct option_descriptor sleep_opts[] = {};
/** "sleep" command descriptor */
static struct command_descriptor sleep_cmd =
- COMMAND_DESC ( struct sleep_options, sleep_opts, 1, 1,
- "<seconds>", "Sleep for <seconds> seconds" );
+ COMMAND_DESC ( struct sleep_options, sleep_opts, 1, 1, "<seconds>" );
/**
* "sleep" command
diff --git a/src/hci/commands/vlan_cmd.c b/src/hci/commands/vlan_cmd.c
index 38a6bab7..28638ae6 100644
--- a/src/hci/commands/vlan_cmd.c
+++ b/src/hci/commands/vlan_cmd.c
@@ -53,8 +53,7 @@ static struct option_descriptor vcreate_opts[] = {
static struct command_descriptor vcreate_cmd =
COMMAND_DESC ( struct vcreate_options, vcreate_opts, 1, 1,
"--tag <tag> [--priority <priority>] "
- "<trunk interface>",
- "Create a VLAN interface" );
+ "<trunk interface>" );
/**
* "vcreate" command
@@ -95,8 +94,7 @@ static struct option_descriptor vdestroy_opts[] = {};
/** "vdestroy" command descriptor */
static struct command_descriptor vdestroy_cmd =
COMMAND_DESC ( struct vdestroy_options, vdestroy_opts, 1, 1,
- "<VLAN interface>",
- "Destroy a VLAN interface" );
+ "<VLAN interface>" );
/**
* "vdestroy" command
diff --git a/src/hci/shell.c b/src/hci/shell.c
index 3860b2e4..f8b1ec27 100644
--- a/src/hci/shell.c
+++ b/src/hci/shell.c
@@ -97,8 +97,7 @@ static struct option_descriptor shell_opts[] = {};
/** "shell" command descriptor */
static struct command_descriptor shell_cmd =
- COMMAND_DESC ( struct shell_options, shell_opts, 0, 0,
- "", "" );
+ COMMAND_DESC ( struct shell_options, shell_opts, 0, 0, "" );
/**
* "shell" command
diff --git a/src/image/script.c b/src/image/script.c
index 044bb016..b05abf94 100644
--- a/src/image/script.c
+++ b/src/image/script.c
@@ -218,8 +218,7 @@ static struct option_descriptor goto_opts[] = {};
/** "goto" command descriptor */
static struct command_descriptor goto_cmd =
- COMMAND_DESC ( struct goto_options, goto_opts, 1, 1,
- "<label>", "" );
+ COMMAND_DESC ( struct goto_options, goto_opts, 1, 1, "<label>" );
/**
* Current "goto" label
diff --git a/src/include/ipxe/parseopt.h b/src/include/ipxe/parseopt.h
index f949b4cc..4cad3cca 100644
--- a/src/include/ipxe/parseopt.h
+++ b/src/include/ipxe/parseopt.h
@@ -81,12 +81,12 @@ struct command_descriptor {
uint8_t min_args;
/** Maximum number of non-option arguments */
uint8_t max_args;
- /** Command usage and description
+ /** Command usage
*
* This excludes the literal "Usage:" and the command name,
* which will be prepended automatically.
*/
- const char *usage_description;
+ const char *usage;
};
/** No maximum number of arguments */
@@ -99,11 +99,9 @@ struct command_descriptor {
* @v _options Option descriptor array
* @v _check_args Remaining argument checker
* @v _usage Command usage
- * @v _description Command description
* @ret _command Command descriptor
*/
-#define COMMAND_DESC( _struct, _options, _min_args, _max_args, _usage, \
- _description ) \
+#define COMMAND_DESC( _struct, _options, _min_args, _max_args, _usage ) \
{ \
.options = ( ( ( ( typeof ( _options[0] ) * ) NULL ) == \
( ( struct option_descriptor * ) NULL ) ) ? \
@@ -113,7 +111,7 @@ struct command_descriptor {
.len = sizeof ( _struct ), \
.min_args = _min_args, \
.max_args = _max_args, \
- .usage_description = _usage "\n\n" _description, \
+ .usage = _usage, \
}
extern int parse_string ( const char *text, const char **value );