aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Brown <mcb30@ipxe.org>2011-03-04 12:14:51 +0000
committerMichael Brown <mcb30@ipxe.org>2011-03-04 12:18:51 +0000
commit7d5dcc92994dae75831453b8d7fff411f23d9126 (patch)
tree2f12b637301709393c2c0d24aca6e6a1222ce272
parent464cd1b3ce7e3214a3bbe5eb6f3889fa28fbb4b2 (diff)
downloadipxe-7d5dcc92994dae75831453b8d7fff411f23d9126.tar.gz
[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 8d572117b..79585cde8 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 39e05af54..d6a1d9a36 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 57b2df581..e6f204879 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 f0a3e7008..451ebaf54 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 6fd34b3a5..0917f6fa1 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 84c2e32ad..e447d6af3 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 fba89772c..acf3cfdaa 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 d40e8e7d9..6ca12eff1 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 c76554f68..a2b818ec3 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 b0e3ade81..f35f0140b 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 9724f7902..29691d4ef 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 66002226f..a008baa66 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 3922141b4..00a8360db 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 ab1739371..3286932d0 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 73cefcaa0..172be2d8c 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 3513c8deb..d8621abc6 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 a4f5f91d3..f839d53f4 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 61bc5463e..198a7322d 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 b8af15ff5..1dd175783 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 38a6bab7a..28638ae6a 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 3860b2e40..f8b1ec278 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 044bb0161..b05abf942 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 f949b4cc7..4cad3cca6 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 );