22e52f59bce394f12fc16dba60add7f83216cdbe
[oweals/busybox.git] / applets / usage.h
1 #include "Config.h"
2
3 extern const char usage_messages[];
4
5 #if defined USAGE_ENUM
6 enum
7 #elif defined USAGE_MESSAGES
8 const char usage_messages[] =
9 #endif
10
11 #if defined USAGE_ENUM || defined USAGE_MESSAGES
12 {
13 #endif
14
15 #if defined USAGE_ENUM
16 #define DO_COMMA ,
17 #elif defined USAGE_MESSAGES
18 #define DO_COMMA "\0"
19 #else
20 #define DO_COMMA 
21 #endif
22
23
24 #if defined BB_AR
25 #if defined USAGE_ENUM
26 ar_usage_index
27 #elif defined USAGE_MESSAGES
28         "-[ovR]{ptx} archive filenames"
29 #ifndef BB_FEATURE_TRIVIAL_HELP
30         "\n\nExtract or list files from an ar archive.\n\n"
31         "Options:\n"
32         "\t-o\t\tpreserve original dates\n"
33         "\t-p\t\textract to stdout\n"
34         "\t-t\t\tlist\n"
35         "\t-x\t\textract\n"
36         "\t-v\t\tverbosely list files processed\n"
37         "\t-R\t\trecursive action"
38 #endif
39 #endif
40 DO_COMMA
41 #endif
42
43 #if defined BB_BASENAME
44 #if defined USAGE_ENUM
45 basename_usage_index
46 #elif defined USAGE_MESSAGES
47         "FILE [SUFFIX]"
48 #ifndef BB_FEATURE_TRIVIAL_HELP
49         "\n\nStrips directory path and suffixes from FILE.\n"
50         "If specified, also removes any trailing SUFFIX."
51 #endif
52 #endif
53 DO_COMMA
54 #endif
55
56 #if defined BB_CAT
57 #if defined USAGE_ENUM
58 cat_usage_index
59 #elif defined USAGE_MESSAGES
60         "[FILE]..."
61 #ifndef BB_FEATURE_TRIVIAL_HELP
62         "\n\nConcatenates FILE(s) and prints them to stdout."
63 #endif
64 #endif
65 DO_COMMA
66 #endif
67
68 #if defined BB_CHMOD_CHOWN_CHGRP
69 #if defined USAGE_ENUM
70 chgrp_usage_index
71 #elif defined USAGE_MESSAGES
72         "[OPTION]... GROUP FILE..."
73 #ifndef BB_FEATURE_TRIVIAL_HELP
74         "\n\nChange the group membership of each FILE to GROUP.\n"
75         "\nOptions:\n\t-R\tChanges files and directories recursively."
76 #endif
77 #endif
78 DO_COMMA
79 #endif
80
81 #if defined BB_CHMOD_CHOWN_CHGRP
82 #if defined USAGE_ENUM
83 chmod_usage_index
84 #elif defined USAGE_MESSAGES
85         "[-R] MODE[,MODE]... FILE..."
86 #ifndef BB_FEATURE_TRIVIAL_HELP
87         "\n\nEach MODE is one or more of the letters ugoa, one of the symbols +-= and\n"
88         "one or more of the letters rwxst.\n\n"
89         "\nOptions:\n\t-R\tChanges files and directories recursively."
90 #endif
91 #endif
92 DO_COMMA
93 #endif
94
95 #if defined BB_CHMOD_CHOWN_CHGRP
96 #if defined USAGE_ENUM
97 chown_usage_index
98 #elif defined USAGE_MESSAGES
99         "[OPTION]...  OWNER[<.|:>[GROUP] FILE..."
100 #ifndef BB_FEATURE_TRIVIAL_HELP
101         "\n\nChange the owner and/or group of each FILE to OWNER and/or GROUP.\n"
102         "\nOptions:\n\t-R\tChanges files and directories recursively."
103 #endif
104 #endif
105 DO_COMMA
106 #endif
107
108 #if defined BB_CHROOT
109 #if defined USAGE_ENUM
110 chroot_usage_index
111 #elif defined USAGE_MESSAGES
112         "NEWROOT [COMMAND...]"
113 #ifndef BB_FEATURE_TRIVIAL_HELP
114         "\n\nRun COMMAND with root directory set to NEWROOT."
115 #endif
116 #endif
117 DO_COMMA
118 #endif
119
120 #if defined BB_CHVT
121 #if defined USAGE_ENUM
122 chvt_usage_index
123 #elif defined USAGE_MESSAGES
124         "N"
125 #ifndef BB_FEATURE_TRIVIAL_HELP
126         "\n\nChanges the foreground virtual terminal to /dev/ttyN"
127 #endif
128 #endif
129 DO_COMMA
130 #endif
131
132 #if defined BB_CLEAR
133 #if defined USAGE_ENUM
134 clear_usage_index
135 #elif defined USAGE_MESSAGES
136         ""
137 #ifndef BB_FEATURE_TRIVIAL_HELP
138         "\n\nClear screen."
139 #endif
140 #endif
141 DO_COMMA
142 #endif
143
144 #if defined BB_CMP
145 #if defined USAGE_ENUM
146 cmp_usage_index
147 #elif defined USAGE_MESSAGES
148         "FILE1 [FILE2]"
149 #ifndef BB_FEATURE_TRIVIAL_HELP
150         "\n\nCompare files."
151 #endif
152 #endif
153 DO_COMMA
154 #endif
155
156 #if defined BB_CP_MV
157 #if defined USAGE_ENUM
158 cp_usage_index
159 #elif defined USAGE_MESSAGES
160         "[OPTION]... SOURCE DEST\n"
161         "   or: cp [OPTION]... SOURCE... DIRECTORY"
162 #ifndef BB_FEATURE_TRIVIAL_HELP
163         "\n\nCopies SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.\n"
164         "\n"
165         "\t-a\tSame as -dpR\n"
166         "\t-d\tPreserves links\n"
167         "\t-p\tPreserves file attributes if possible\n"
168         "\t-f\tforce (implied; ignored) - always set\n"
169         "\t-R\tCopies directories recursively"
170 #endif
171 #endif
172 DO_COMMA
173 #endif
174
175 #if defined BB_CUT
176 #if defined USAGE_ENUM
177 cut_usage_index
178 #elif defined USAGE_MESSAGES
179         "[OPTION]... [FILE]..."
180 #ifndef BB_FEATURE_TRIVIAL_HELP
181         "\n\nPrints selected fields from each input FILE to standard output.\n\n"
182         "Options:\n"
183         "\t-b LIST\tOutput only bytes from LIST\n"
184         "\t-c LIST\tOutput only characters from LIST\n"
185         "\t-d CHAR\tUse CHAR instead of tab as the field delimiter\n"
186         "\t-s\tOutput only the lines containing delimiter\n"
187         "\t-f N\tPrint only these fields\n"
188         "\t-n\tIgnored"
189 #endif
190 #endif
191 DO_COMMA
192 #endif
193
194 #if defined BB_DATE
195 #if defined USAGE_ENUM
196 date_usage_index
197 #elif defined USAGE_MESSAGES
198         "[OPTION]... [+FORMAT]\n"
199         "  or:  date [OPTION] [MMDDhhmm[[CC]YY][.ss]]"
200 #ifndef BB_FEATURE_TRIVIAL_HELP
201         "\n\nDisplays the current time in the given FORMAT, or sets the system date.\n"
202         "\nOptions:\n\t-R\t\tOutputs RFC-822 compliant date string\n"
203         "\t-d STRING\tdisplay time described by STRING, not `now'\n"
204         "\t-s\t\tSets time described by STRING\n"
205         "\t-u\t\tPrints or sets Coordinated Universal Time"
206 #endif
207 #endif
208 DO_COMMA
209 #endif
210
211 #if defined BB_DC
212 #if defined USAGE_ENUM
213 dc_usage_index
214 #elif defined USAGE_MESSAGES
215         "expression ..."
216 #ifndef BB_FEATURE_TRIVIAL_HELP
217         "\n\nThis is a Tiny RPN calculator that understands the\n"
218         "following operations: +, -, /, *, and, or, not, eor.\n"
219         "i.e. 'dc 2 2 add' -> 4, and 'dc 8 8 \\* 2 2 + /' -> 16"
220 #endif
221 #endif
222 DO_COMMA
223 #endif
224
225 #if defined BB_DD
226 #if defined USAGE_ENUM
227 dd_usage_index
228 #elif defined USAGE_MESSAGES
229         "[if=FILE] [of=FILE] [bs=N] [count=N] [skip=N] [seek=N] [conv=notrunc|sync]"
230 #ifndef BB_FEATURE_TRIVIAL_HELP
231         "\n\nCopy a file, converting and formatting according to options\n\n"
232         "\tif=FILE\tread from FILE instead of stdin\n"
233         "\tof=FILE\twrite to FILE instead of stdout\n"
234         "\tbs=N\tread and write N bytes at a time\n"
235         "\tcount=N\tcopy only N input blocks\n"
236         "\tskip=N\tskip N input blocks\n"
237         "\tseek=N\tskip N output blocks\n"
238         "\tconv=notrunc\tdon't truncate output file\n"
239         "\tconv=sync\tpad blocks with zeros\n"
240         "\n"
241         "Numbers may be suffixed by c (x1), w (x2), b (x512), kD (x1000), k (x1024),\n"
242         "MD (x1000000), M (x1048576), GD (x1000000000) or G (x1073741824)."
243 #endif
244 #endif
245 DO_COMMA
246 #endif
247
248 #if defined BB_DEALLOCVT
249 #if defined USAGE_ENUM
250 deallocvt_usage_index
251 #elif defined USAGE_MESSAGES
252         "N"
253 #ifndef BB_FEATURE_TRIVIAL_HELP
254          "\n\nDeallocate unused virtual terminal /dev/ttyN"
255 #endif
256 #endif
257 DO_COMMA
258 #endif
259
260 #if defined BB_DF
261 #if defined USAGE_ENUM
262 df_usage_index
263 #elif defined USAGE_MESSAGES
264         "[-?"
265 #ifdef BB_FEATURE_HUMAN_READABLE
266         "hm"
267 #endif
268         "k] [filesystem ...]\n"
269 #ifndef BB_FEATURE_TRIVIAL_HELP
270         "\n\nPrint the filesystem space used and space available."
271         "Options:\n"
272         "\t-?\tshow usage information"
273 #ifdef BB_FEATURE_HUMAN_READABLE
274         "\n\t-h\tprint sizes in human readable format (e.g., 1K 243M 2G )\n"
275         "\t-m\tprint sizes in megabytes\n"
276         "\t-k\tprint sizes in kilobytes(default)"
277 #else
278         "\n\t-k\tprint sizes in kilobytes(compatability)"
279 #endif
280 #endif
281 #endif
282 DO_COMMA
283 #endif
284
285 #if defined BB_DIRNAME
286 #if defined USAGE_ENUM
287 dirname_usage_index
288 #elif defined USAGE_MESSAGES
289         "[FILENAME ...]"
290 #ifndef BB_FEATURE_TRIVIAL_HELP
291         "\n\nStrips non-directory suffix from FILENAME"
292 #endif
293 #endif
294 DO_COMMA
295 #endif
296
297 #if defined BB_DMESG
298 #if defined USAGE_ENUM
299 dmesg_usage_index
300 #elif defined USAGE_MESSAGES
301         "[-c] [-n LEVEL] [-s SIZE]"
302 #ifndef BB_FEATURE_TRIVIAL_HELP
303         "\n\nPrints or controls the kernel ring buffer\n\n"
304         "Options:\n"
305         "\t-c\t\tClears the ring buffer's contents after printing\n"
306         "\t-n LEVEL\tSets console logging level\n"
307         "\t-s SIZE\t\tUse a buffer of size SIZE"
308 #endif
309 #endif
310 DO_COMMA
311 #endif
312
313 #if defined BB_DOS2UNIX
314 #if defined USAGE_ENUM
315 dos2unix_usage_index
316 #elif defined USAGE_MESSAGES
317         "< dosfile > unixfile"
318 #ifndef BB_FEATURE_TRIVIAL_HELP
319         "\n\nConverts a text file from dos format to unix format."
320 #endif
321 #endif
322 DO_COMMA
323 #endif
324
325 #if defined BB_DPKG
326 #if defined USAGE_ENUM
327 dpkg_usage_index
328 #elif defined USAGE_MESSAGES
329         "<-i|-r|--unpack|--configure> my.deb\n"
330         "WORK IN PROGRESS, only usefull for debian-installer"
331 #ifndef BB_FEATURE_TRIVIAL_HELP
332 #endif
333 #endif
334 DO_COMMA
335 #endif
336
337 #if defined BB_DPKG_DEB
338 #if defined USAGE_ENUM
339 dpkg_deb_usage_index
340 #elif defined USAGE_MESSAGES
341         "[-cexX] file directory"
342 #ifndef BB_FEATURE_TRIVIAL_HELP
343         "\n\nPerform actions on debian packages (.debs)\n\n"
344         "Options:\n"
345         "\t-c\tList contents of filesystem tree (verbose)\n"
346         "\t-l\tList contents of filesystem tree (.list format)\n"
347         "\t-e\tExtract control files to directory\n"    
348         "\t-x\tExctract packages filesystem tree to directory\n"
349         "\t-X\tVerbose extract"
350 #endif
351 #endif
352 DO_COMMA
353 #endif
354
355 #if defined BB_DU
356 #if defined USAGE_ENUM
357 du_usage_index
358 #elif defined USAGE_MESSAGES
359         "[-?ls"
360 #ifdef BB_FEATURE_HUMAN_READABLE
361         "hm"
362 #endif
363         "k] [FILE]..."
364 #ifndef BB_FEATURE_TRIVIAL_HELP
365         "\n\nSummarizes disk space used for each FILE and/or directory.\n"
366         "Disk space is printed in units of 1024 bytes.\n\n"
367         "Options:\n"
368         "\t-?\tshow usage information\n"
369         "\t-l\tcount sizes many times if hard linked\n"
370         "\t-s\tdisplay only a total for each argument"
371 #ifdef BB_FEATURE_HUMAN_READABLE
372         "\n\t-h\tprint sizes in human readable format (e.g., 1K 243M 2G )\n"
373         "\t-m\tprint sizes in megabytes\n"
374         "\t-k\tprint sizes in kilobytes(default)"
375 #else
376         "\n\t-k\tprint sizes in kilobytes(compatability)"
377 #endif
378 #endif
379 #endif
380 DO_COMMA
381 #endif
382
383 #if defined BB_DUMPKMAP
384 #if defined USAGE_ENUM
385 dumpkmap_usage_index
386 #elif defined USAGE_MESSAGES
387         "> keymap"
388 #ifndef BB_FEATURE_TRIVIAL_HELP
389         "\n\nPrints out a binary keyboard translation table to standard input."
390 #endif
391 #endif
392 DO_COMMA
393 #endif
394
395 #if defined BB_DUTMP
396 #if defined USAGE_ENUM
397 dutmp_usage_index
398 #elif defined USAGE_MESSAGES
399         "[FILE]"
400 #ifndef BB_FEATURE_TRIVIAL_HELP
401         "\n\nDump utmp file format (pipe delimited) from FILE\n"
402         "or stdin to stdout.  (i.e. 'dutmp /var/run/utmp')"
403 #endif
404 #endif
405 DO_COMMA
406 #endif
407
408 #if defined BB_ECHO
409 #if defined USAGE_ENUM
410 echo_usage_index
411 #elif defined USAGE_MESSAGES
412         "[-neE] [ARG ...]"
413 #ifndef BB_FEATURE_TRIVIAL_HELP
414         "\n\nPrints the specified ARGs to stdout\n\n"
415         "Options:\n"
416         "\t-n\tsuppress trailing newline\n"
417         "\t-e\tinterpret backslash-escaped characters (i.e. \\t=tab etc)\n"
418         "\t-E\tdisable interpretation of backslash-escaped characters"
419 #endif
420 #endif
421 DO_COMMA
422 #endif
423
424 #if defined BB_EXPR
425 #if defined USAGE_ENUM
426 expr_usage_index
427 #elif defined USAGE_MESSAGES
428         "EXPRESSION"
429 #ifndef BB_FEATURE_TRIVIAL_HELP
430 "\n\nPrints the value of EXPRESSION to standard output.\n\n"
431 "EXPRESSION may be:\n"
432 "ARG1 |  ARG2   ARG1 if it is neither null nor 0, otherwise ARG2\n"
433 "ARG1 &  ARG2   ARG1 if neither argument is null or 0, otherwise 0\n"
434 "ARG1 <  ARG2   ARG1 is less than ARG2\n"
435 "ARG1 <= ARG2   ARG1 is less than or equal to ARG2\n"
436 "ARG1 =  ARG2   ARG1 is equal to ARG2\n"
437 "ARG1 != ARG2   ARG1 is unequal to ARG2\n"
438 "ARG1 >= ARG2   ARG1 is greater than or equal to ARG2\n"
439 "ARG1 >  ARG2   ARG1 is greater than ARG2\n"
440 "ARG1 +  ARG2   arithmetic sum of ARG1 and ARG2\n"
441 "ARG1 -  ARG2   arithmetic difference of ARG1 and ARG2\n"
442 "ARG1 *  ARG2   arithmetic product of ARG1 and ARG2\n"
443 "ARG1 /  ARG2   arithmetic quotient of ARG1 divided by ARG2\n"
444 "ARG1 %  ARG2   arithmetic remainder of ARG1 divided by ARG2\n"
445 "STRING : REGEXP                    anchored pattern match of REGEXP in STRING\n"
446 "match STRING REGEXP        same as STRING : REGEXP\n"
447 "substr STRING POS LENGTH    substring of STRING, POS counted from 1\n"
448 "index STRING CHARS         index in STRING where any CHARS is found, or 0\n"
449 "length STRING              length of STRING\n"
450 "quote TOKEN                interpret TOKEN as a string, even if it is a \n"
451 "                               keyword like `match' or an operator like `/'\n"
452 "( EXPRESSION )             value of EXPRESSION\n\n"
453 "Beware that many operators need to be escaped or quoted for shells.\n"
454 "Comparisons are arithmetic if both ARGs are numbers, else\n"
455 "lexicographical.  Pattern matches return the string matched between \n"
456 "\\( and \\) or null; if \\( and \\) are not used, they return the number \n"
457 "of characters matched or 0."
458
459 #endif
460 #endif
461 DO_COMMA
462 #endif
463
464
465 #if defined BB_TRUE_FALSE
466 #if defined USAGE_ENUM
467 false_usage_index
468 #elif defined USAGE_MESSAGES
469         ""
470 #ifndef BB_FEATURE_TRIVIAL_HELP
471         "\n\nReturn an exit code of FALSE (1)."
472 #endif
473 #endif
474 DO_COMMA
475 #endif
476
477 #if defined BB_FDFLUSH
478 #if defined USAGE_ENUM
479 fdflush_usage_index
480 #elif defined USAGE_MESSAGES
481         "DEVICE"
482 #ifndef BB_FEATURE_TRIVIAL_HELP
483         "\n\nForces floppy disk drive to detect disk change"
484 #endif
485 #endif
486 DO_COMMA
487 #endif
488
489 #if defined BB_FIND
490 #if defined USAGE_ENUM
491 find_usage_index
492 #elif defined USAGE_MESSAGES
493         "[PATH...] [EXPRESSION]"
494 #ifndef BB_FEATURE_TRIVIAL_HELP
495         "\n\nSearch for files in a directory hierarchy.  The default PATH is\n"
496         "the current directory; default EXPRESSION is '-print'\n\n"
497         "\nEXPRESSION may consist of:\n"
498         "\t-follow\t\tDereference symbolic links.\n"
499         "\t-name PATTERN\tFile name (leading directories removed) matches PATTERN."
500 #ifdef BB_FEATURE_FIND_TYPE
501         "\n\t-type X\t\tFiletype matches X (where X is one of: f,d,l,b,c,...)"
502 #endif
503 #ifdef BB_FEATURE_FIND_PERM
504         "\n\t-perm PERMS\tPermissions match any of (+NNN); all of (-NNN);\n\t\tor exactly (NNN)"
505 #endif
506 #ifdef BB_FEATURE_FIND_MTIME
507         "\n\t-mtime TIME\tModified time is greater than (+N); less than (-N);\n\t\tor exactly (N) days"
508 #endif
509 #endif
510 #endif
511 DO_COMMA
512 #endif
513
514 #if defined BB_FREE
515 #if defined USAGE_ENUM
516 free_usage_index
517 #elif defined USAGE_MESSAGES
518         ""
519 #ifndef BB_FEATURE_TRIVIAL_HELP
520         "\n\nDisplays the amount of free and used system memory"
521 #endif
522 #endif
523 DO_COMMA
524 #endif
525
526 #if defined BB_FREERAMDISK
527 #if defined USAGE_ENUM
528 freeramdisk_usage_index
529 #elif defined USAGE_MESSAGES
530         "DEVICE"
531 #ifndef BB_FEATURE_TRIVIAL_HELP
532         "\n\nFrees all memory used by the specified ramdisk."
533 #endif
534 #endif
535 DO_COMMA
536 #endif
537
538 #if defined BB_FSCK_MINIX
539 #if defined USAGE_ENUM
540 fsck_minix_usage_index
541 #elif defined USAGE_MESSAGES
542         "[-larvsmf] /dev/name"
543 #ifndef BB_FEATURE_TRIVIAL_HELP
544         "\n\nPerforms a consistency check for MINIX filesystems.\n\n"
545         "Options:\n"
546         "\t-l\tLists all filenames\n"
547         "\t-r\tPerform interactive repairs\n"
548         "\t-a\tPerform automatic repairs\n"
549         "\t-v\tverbose\n"
550         "\t-s\tOutputs super-block information\n"
551         "\t-m\tActivates MINIX-like \"mode not cleared\" warnings\n"
552         "\t-f\tForce file system check."
553 #endif
554 #endif
555 DO_COMMA
556 #endif
557
558 #if defined BB_GETOPT
559 #if defined USAGE_ENUM
560 getopt_usage_index
561 #elif defined USAGE_MESSAGES
562         "[OPTIONS]..."
563 #ifndef BB_FEATURE_TRIVIAL_HELP
564         "\nParse command options\n"
565         "  -a, --alternative            Allow long options starting with single -\n"
566         "  -l, --longoptions=longopts   Long options to be recognized\n"
567         "  -n, --name=progname          The name under which errors are reported\n"
568         "  -o, --options=optstring      Short options to be recognized\n"
569         "  -q, --quiet                  Disable error reporting by getopt(3)\n"
570         "  -Q, --quiet-output           No normal output\n"
571         "  -s, --shell=shell            Set shell quoting conventions\n"
572         "  -T, --test                   Test for getopt(1) version\n"
573         "  -u, --unqote                 Do not quote the output"
574 #endif
575 #endif
576 DO_COMMA
577 #endif
578
579 #if defined BB_GREP
580 #if defined USAGE_ENUM
581 grep_usage_index
582 #elif defined USAGE_MESSAGES
583         "[-ihHnqvs] pattern [files...]"
584 #ifndef BB_FEATURE_TRIVIAL_HELP
585         "\n\nSearch for PATTERN in each FILE or standard input.\n\n"
586         "Options:\n"
587         "\t-H\tprefix output lines with filename where match was found\n"
588         "\t-h\tsuppress the prefixing filename on output\n"
589         "\t-i\tignore case distinctions\n"
590         "\t-n\tprint line number with output lines\n"
591         "\t-q\tbe quiet. Returns 0 if result was found, 1 otherwise\n"
592         "\t-v\tselect non-matching lines\n"
593         "\t-s\tsuppress file open/read error messages"
594 #endif
595 #endif
596 DO_COMMA
597 #endif
598
599 #if defined BB_GUNZIP
600 #if defined USAGE_ENUM
601 gunzip_usage_index
602 #elif defined USAGE_MESSAGES
603         "[OPTION]... FILE"
604 #ifndef BB_FEATURE_TRIVIAL_HELP
605         "\n\nUncompress FILE (or standard input if FILE is '-').\n\n"
606         "Options:\n"
607         "\t-c\tWrite output to standard output\n"
608         "\t-t\tTest compressed file integrity"
609 #endif
610 #endif
611 DO_COMMA
612 #endif
613
614 #if defined BB_GZIP
615 #if defined USAGE_ENUM
616 gzip_usage_index
617 #elif defined USAGE_MESSAGES
618         "[OPTION]... FILE"
619 #ifndef BB_FEATURE_TRIVIAL_HELP
620         "\n\nCompress FILE with maximum compression.\n"
621         "When FILE is '-', reads standard input.  Implies -c.\n\n"
622         "Options:\n"
623         "\t-c\tWrite output to standard output instead of FILE.gz\n"
624         "\t-d\tdecompress"
625 #endif
626 #endif
627 DO_COMMA
628 #endif
629
630 #if defined BB_HALT
631 #if defined USAGE_ENUM
632 halt_usage_index
633 #elif defined USAGE_MESSAGES
634         ""
635 #ifndef BB_FEATURE_TRIVIAL_HELP
636         "\n\nHalt the system."
637 #endif
638 #endif
639 DO_COMMA
640 #endif
641
642 #if defined BB_HEAD
643 #if defined USAGE_ENUM
644 head_usage_index
645 #elif defined USAGE_MESSAGES
646         "[OPTION] [FILE]..."
647 #ifndef BB_FEATURE_TRIVIAL_HELP
648         "\n\nPrint first 10 lines of each FILE to standard output.\n"
649         "With more than one FILE, precede each with a header giving the\n"
650         "file name. With no FILE, or when FILE is -, read standard input.\n\n"
651
652         "Options:\n" "\t-n NUM\t\tPrint first NUM lines instead of first 10"
653 #endif
654 #endif
655 DO_COMMA
656 #endif
657
658 #if defined BB_HOSTID
659 #if defined USAGE_ENUM
660 hostid_usage_index
661 #elif defined USAGE_MESSAGES
662         ""
663 #ifndef BB_FEATURE_TRIVIAL_HELP
664         "\n\nPrint out a unique 32-bit identifier for the machine."
665 #endif
666 #endif
667 DO_COMMA
668 #endif
669
670 #if defined BB_HOSTNAME
671 #if defined USAGE_ENUM
672 hostname_usage_index
673 #elif defined USAGE_MESSAGES
674         "[OPTION] {hostname | -F file}"
675 #ifndef BB_FEATURE_TRIVIAL_HELP
676         "\n\nGet or set the hostname or DNS domain name. If a hostname is given\n"
677         "(or a file with the -F parameter), the host name will be set.\n\n"
678
679         "Options:\n"
680         "\t-s\t\tShort\n"
681         "\t-i\t\tAddresses for the hostname\n"
682         "\t-d\t\tDNS domain name\n"
683         "\t-F, --file FILE\tUse the contents of FILE to specify the hostname"
684 #endif
685 #endif
686 DO_COMMA
687 #endif
688
689 #if defined BB_ID
690 #if defined USAGE_ENUM
691 id_usage_index
692 #elif defined USAGE_MESSAGES
693         "[OPTIONS]... [USERNAME]"
694 #ifndef BB_FEATURE_TRIVIAL_HELP
695         "\n\nPrint information for USERNAME or the current user\n\n"
696         "Options:\n"
697         "\t-g\tprints only the group ID\n"
698         "\t-u\tprints only the user ID\n"
699         "\t-n\tprint a name instead of a number (with for -ug)\n"
700         "\t-r\tprints the real user ID instead of the effective ID (with -ug)"
701 #endif
702 #endif
703 DO_COMMA
704 #endif
705
706 #if defined BB_IFCONFIG
707 #if defined USAGE_ENUM
708 ifconfig_usage_index
709 #elif defined USAGE_MESSAGES
710         "[-a] [-i] [-v] <interface> [<address>]"
711 #ifndef BB_FEATURE_TRIVIAL_HELP
712         "\n\nconfigure a network interface\n\n"
713         "Options:\n"
714         "  [[-]broadcast [<address>]]  [[-]pointopoint [<address>]]\n"
715         "  [netmask <address>]  [dstaddr <address>]  [tunnel <adress>]\n"
716 #ifdef SIOCSKEEPALIVE
717         "  [outfill <NN>] [keepalive <NN>]\n"
718 #endif
719         "  [hw ether <address>]  [metric <NN>]  [mtu <NN>]\n"
720         "  [[-]trailers]  [[-]arp]  [[-]allmulti]\n"
721         "  [multicast]  [[-]promisc]\n"
722         "  [mem_start <NN>]  [io_addr <NN>]  [irq <NN>]  [media <type>]\n"
723         "  [up|down] ..."
724 #endif
725 #endif
726 DO_COMMA
727 #endif
728
729 #if defined BB_INIT
730 #if defined USAGE_ENUM
731 init_usage_index
732 #elif defined USAGE_MESSAGES
733         ""
734 #ifndef BB_FEATURE_TRIVIAL_HELP
735         "\n\nInit is the parent of all processes.\n\n"
736         "This version of init is designed to be run only by the kernel."
737 #endif
738 #endif
739 DO_COMMA
740 #endif
741
742 #if defined BB_INSMOD
743 #if defined USAGE_ENUM
744 insmod_usage_index
745 #elif defined USAGE_MESSAGES
746         "[OPTION]... MODULE [symbol=value]..."
747 #ifndef BB_FEATURE_TRIVIAL_HELP
748         "\n\nLoads the specified kernel modules into the kernel.\n\n"
749         "Options:\n"
750         "\t-f\tForce module to load into the wrong kernel version.\n"
751         "\t-k\tMake module autoclean-able.\n"
752         "\t-v\tverbose output\n" 
753         "\t-L\tLock to prevent simultaneous loads of a module\n"
754         "\t-x\tdo not export externs"
755 #endif
756 #endif
757 DO_COMMA
758 #endif
759
760 #if defined BB_KILL
761 #if defined USAGE_ENUM
762 kill_usage_index
763 #elif defined USAGE_MESSAGES
764         "[-signal] process-id [process-id ...]"
765 #ifndef BB_FEATURE_TRIVIAL_HELP
766         "\n\nSend a signal (default is SIGTERM) to the specified process(es).\n\n"
767         "Options:\n" "\t-l\tList all signal names and numbers."
768 #endif
769 #endif
770 DO_COMMA
771 #endif
772
773 #if defined BB_KILLALL
774 #if defined USAGE_ENUM
775 killall_usage_index
776 #elif defined USAGE_MESSAGES
777         "[-signal] process-name [process-name ...]"
778 #ifndef BB_FEATURE_TRIVIAL_HELP
779         "\n\nSend a signal (default is SIGTERM) to the specified process(es).\n\n"
780         "Options:\n" "\t-l\tList all signal names and numbers."
781 #endif
782 #endif
783 DO_COMMA
784 #endif
785
786 #if defined BB_LENGTH
787 #if defined USAGE_ENUM
788 length_usage_index
789 #elif defined USAGE_MESSAGES
790         "STRING"
791 #ifndef BB_FEATURE_TRIVIAL_HELP
792         "\n\nPrints out the length of the specified STRING."
793 #endif
794 #endif
795 DO_COMMA
796 #endif
797
798 #if defined BB_LN
799 #if defined USAGE_ENUM
800 ln_usage_index
801 #elif defined USAGE_MESSAGES
802         "[OPTION] TARGET... LINK_NAME|DIRECTORY"
803 #ifndef BB_FEATURE_TRIVIAL_HELP
804         "\n\nCreate a link named LINK_NAME or DIRECTORY to the specified TARGET\n"
805         "\nYou may use '--' to indicate that all following arguments are non-options.\n\n"
806         "Options:\n"
807         "\t-s\tmake symbolic links instead of hard links\n"
808         "\t-f\tremove existing destination files\n"
809         "\t-n\tno dereference symlinks - treat like normal file"
810 #endif
811 #endif
812 DO_COMMA
813 #endif
814
815 #if defined BB_LOADACM
816 #if defined USAGE_ENUM
817 loadacm_usage_index
818 #elif defined USAGE_MESSAGES
819         "< mapfile"
820 #ifndef BB_FEATURE_TRIVIAL_HELP
821         "\n\nLoads an acm from standard input."
822 #endif
823 #endif
824 DO_COMMA
825 #endif
826
827 #if defined BB_LOADFONT
828 #if defined USAGE_ENUM
829 loadfont_usage_index
830 #elif defined USAGE_MESSAGES
831         "< font"
832 #ifndef BB_FEATURE_TRIVIAL_HELP
833         "\n\nLoads a console font from standard input."
834 #endif
835 #endif
836 DO_COMMA
837 #endif
838
839 #if defined BB_LOADKMAP
840 #if defined USAGE_ENUM
841 loadkmap_usage_index
842 #elif defined USAGE_MESSAGES
843         "< keymap"
844 #ifndef BB_FEATURE_TRIVIAL_HELP
845         "\n\nLoads a binary keyboard translation table from standard input."
846 #endif
847 #endif
848 DO_COMMA
849 #endif
850
851 #if defined BB_LOGGER
852 #if defined USAGE_ENUM
853 logger_usage_index
854 #elif defined USAGE_MESSAGES
855         "[OPTION]... [MESSAGE]"
856 #ifndef BB_FEATURE_TRIVIAL_HELP
857         "\n\nWrite MESSAGE to the system log.  If MESSAGE is omitted, log stdin.\n\n"
858         "Options:\n"
859         "\t-s\tLog to stderr as well as the system log.\n"
860         "\t-t\tLog using the specified tag (defaults to user name).\n"
861         "\t-p\tEnter the message with the specified priority.\n"
862         "\t\tThis may be numerical or a ``facility.level'' pair."
863 #endif
864 #endif
865 DO_COMMA
866 #endif
867
868 #if defined BB_LOGNAME
869 #if defined USAGE_ENUM
870 logname_usage_index
871 #elif defined USAGE_MESSAGES
872         ""
873 #ifndef BB_FEATURE_TRIVIAL_HELP
874         "\n\nPrint the name of the current user."
875 #endif
876 #endif
877 DO_COMMA
878 #endif
879
880 #if defined BB_LS
881 #if defined USAGE_ENUM
882 ls_usage_index
883 #elif defined USAGE_MESSAGES
884         "[-1Aa"
885 #ifdef BB_FEATURE_LS_TIMESTAMPS
886         "c"
887 #endif
888         "Cd"
889 #ifdef BB_FEATURE_LS_TIMESTAMPS
890         "e"
891 #endif
892 #ifdef BB_FEATURE_LS_FILETYPES
893         "F"
894 #endif
895         "iln"
896 #ifdef BB_FEATURE_LS_FILETYPES
897         "p"
898 #endif
899 #ifdef BB_FEATURE_LS_FOLLOWLINKS
900     "L"
901 #endif
902 #ifdef BB_FEATURE_LS_RECURSIVE
903         "R"
904 #endif
905 #ifdef BB_FEATURE_LS_SORTFILES
906         "rS"
907 #endif
908         "s"
909 #ifdef BB_FEATURE_AUTOWIDTH
910         "T"
911 #endif
912 #ifdef BB_FEATURE_LS_TIMESTAMPS
913         "tu"
914 #endif
915 #ifdef BB_FEATURE_LS_SORTFILES
916         "v"
917 #endif
918 #ifdef BB_FEATURE_AUTOWIDTH
919         "w"
920 #endif
921         "x"
922 #ifdef BB_FEATURE_LS_SORTFILES
923         "X"
924 #endif
925 #ifdef BB_FEATURE_HUMAN_READABLE
926         "h"
927 #endif
928         "k] [filenames...]"
929 #ifndef BB_FEATURE_TRIVIAL_HELP
930         "\n\nList directory contents\n\n"
931         "Options:\n"
932         "\t-1\tlist files in a single column\n"
933         "\t-A\tdo not list implied . and ..\n"
934         "\t-a\tdo not hide entries starting with .\n"
935         "\t-C\tlist entries by columns\n"
936 #ifdef BB_FEATURE_LS_TIMESTAMPS
937         "\t-c\twith -l: show ctime (the time of last\n"
938         "\t\tmodification of file status information)\n"
939 #endif
940         "\t-d\tlist directory entries instead of contents\n"
941 #ifdef BB_FEATURE_LS_TIMESTAMPS
942         "\t-e\tlist both full date and full time\n"
943 #endif
944 #ifdef BB_FEATURE_LS_FILETYPES
945         "\t-F\tappend indicator (one of */=@|) to entries\n"
946 #endif
947         "\t-i\tlist the i-node for each file\n"
948         "\t-l\tuse a long listing format\n"
949         "\t-n\tlist numeric UIDs and GIDs instead of names\n"
950 #ifdef BB_FEATURE_LS_FILETYPES
951         "\t-p\tappend indicator (one of /=@|) to entries\n"
952 #endif
953 #ifdef BB_FEATURE_LS_FOLLOWLINKS
954         "\t-L\tlist entries pointed to by symbolic links\n"
955 #endif
956 #ifdef BB_FEATURE_LS_RECURSIVE
957         "\t-R\tlist subdirectories recursively\n"
958 #endif
959 #ifdef BB_FEATURE_LS_SORTFILES
960         "\t-r\tsort the listing in reverse order\n"
961         "\t-S\tsort the listing by file size\n"
962 #endif
963         "\t-s\tlist the size of each file, in blocks\n"
964 #ifdef BB_FEATURE_AUTOWIDTH
965         "\t-T NUM\tassume Tabstop every NUM columns\n"
966 #endif
967 #ifdef BB_FEATURE_LS_TIMESTAMPS
968         "\t-t\twith -l: show modification time (the time of last\n"
969         "\t\tchange of the file)\n"
970         "\t-u\twith -l: show access time (the time of last\n"
971         "\t\taccess of the file)\n"
972 #endif
973 #ifdef BB_FEATURE_LS_SORTFILES
974         "\t-v\tsort the listing by version\n"
975 #endif
976 #ifdef BB_FEATURE_AUTOWIDTH
977         "\t-w NUM\tassume the terminal is NUM columns wide\n"
978 #endif
979         "\t-x\tlist entries by lines instead of by columns\n"
980 #ifdef BB_FEATURE_LS_SORTFILES
981         "\t-X\tsort the listing by extension\n"
982 #endif
983
984 #ifdef BB_FEATURE_HUMAN_READABLE
985         "\t-h\tprint sizes in human readable format (e.g., 1K 243M 2G )\n"
986         "\t-k\tprint sizes in kilobytes(default)"
987 #else
988         "\t-k\tprint sizes in kilobytes(compatability)"
989 #endif
990
991 #endif /*  BB_FEATURE_TRIVIAL_HELP */
992 #endif
993 DO_COMMA
994 #endif /* BB_LS */
995
996 #if defined BB_LSMOD
997 #if defined USAGE_ENUM
998 lsmod_usage_index
999 #elif defined USAGE_MESSAGES
1000         ""
1001 #ifndef BB_FEATURE_TRIVIAL_HELP
1002         "\n\nList the currently loaded kernel modules."
1003 #endif
1004 #endif
1005 DO_COMMA
1006 #endif
1007
1008 #if defined BB_MAKEDEVS
1009 #if defined USAGE_ENUM
1010 makedevs_usage_index
1011 #elif defined USAGE_MESSAGES
1012         "NAME TYPE MAJOR MINOR FIRST LAST [s]"
1013 #ifndef BB_FEATURE_TRIVIAL_HELP
1014         "\n\nCreates a range of block or character special files\n\n"
1015         "TYPEs include:\n"
1016         "\tb:\tMake a block (buffered) device.\n"
1017         "\tc or u:\tMake a character (un-buffered) device.\n"
1018         "\tp:\tMake a named pipe. MAJOR and MINOR are ignored for named pipes.\n\n"
1019         "FIRST specifies the number appended to NAME to create the first device.\n"
1020         "LAST specifies the number of the last item that should be created.\n"
1021         "If 's' is the last argument, the base device is created as well.\n\n"
1022         "For example:\n"
1023         "\tmakedevs /dev/ttyS c 4 66 2 63   ->  ttyS2-ttyS63\n"
1024         "\tmakedevs /dev/hda b 3 0 0 8 s    ->  hda,hda1-hda8"
1025 #endif
1026 #endif
1027 DO_COMMA
1028 #endif
1029
1030 #if defined BB_MD5SUM
1031 #if defined USAGE_ENUM
1032 md5sum_usage_index
1033 #elif defined USAGE_MESSAGES
1034         "[OPTION] [FILE]...\n"
1035         "or:    md5sum [OPTION] -c [FILE]"
1036 #ifndef BB_FEATURE_TRIVIAL_HELP
1037         "\n\nPrint or check MD5 checksums.\n\n"
1038         "Options:\n"
1039         "With no FILE, or when FILE is -, read standard input.\n\n"
1040         "\t-b\tread files in binary mode\n"
1041         "\t-c\tcheck MD5 sums against given list\n"
1042         "\t-t\tread files in text mode (default)\n"
1043         "\t-g\tread a string\n"
1044         "\nThe following two options are useful only when verifying checksums:\n"
1045         "\t-s,\tdon't output anything, status code shows success\n"
1046         "\t-w,\twarn about improperly formated MD5 checksum lines"
1047 #endif
1048 #endif
1049 DO_COMMA
1050 #endif
1051
1052 #if defined BB_MKDIR
1053 #if defined USAGE_ENUM
1054 mkdir_usage_index
1055 #elif defined USAGE_MESSAGES
1056         "[OPTION] DIRECTORY..."
1057 #ifndef BB_FEATURE_TRIVIAL_HELP
1058         "\n\nCreate the DIRECTORY(ies), if they do not already exist\n\n"
1059         
1060         "Options:\n"
1061         "\t-m\tset permission mode (as in chmod), not rwxrwxrwx - umask\n"
1062         "\t-p\tno error if existing, make parent directories as needed"
1063 #endif
1064 #endif
1065 DO_COMMA
1066 #endif
1067
1068 #if defined BB_MKFIFO
1069 #if defined USAGE_ENUM
1070 mkfifo_usage_index
1071 #elif defined USAGE_MESSAGES
1072         "[OPTIONS] name"
1073 #ifndef BB_FEATURE_TRIVIAL_HELP
1074         "\n\nCreates a named pipe (identical to 'mknod name p')\n\n"
1075         "Options:\n"
1076         "\t-m\tcreate the pipe using the specified mode (default a=rw)"
1077 #endif
1078 #endif
1079 DO_COMMA
1080 #endif
1081
1082 #if defined BB_MKFS_MINIX
1083 #if defined USAGE_ENUM
1084 mkfs_minix_usage_index
1085 #elif defined USAGE_MESSAGES
1086         "[-c | -l filename] [-nXX] [-iXX] /dev/name [blocks]"
1087 #ifndef BB_FEATURE_TRIVIAL_HELP
1088         "\n\nMake a MINIX filesystem.\n\n"
1089         "Options:\n"
1090         "\t-c\t\tCheck the device for bad blocks\n"
1091         "\t-n [14|30]\tSpecify the maximum length of filenames\n"
1092         "\t-i INODES\tSpecify the number of inodes for the filesystem\n"
1093         "\t-l FILENAME\tRead the bad blocks list from FILENAME\n"
1094         "\t-v\t\tMake a Minix version 2 filesystem"
1095 #endif
1096 #endif
1097 DO_COMMA
1098 #endif
1099
1100 #if defined BB_MKNOD
1101 #if defined USAGE_ENUM
1102 mknod_usage_index
1103 #elif defined USAGE_MESSAGES
1104         "[OPTIONS] NAME TYPE MAJOR MINOR"
1105 #ifndef BB_FEATURE_TRIVIAL_HELP
1106         "\n\nCreate a special file (block, character, or pipe).\n\n"
1107         "Options:\n"
1108         "\t-m\tcreate the special file using the specified mode (default a=rw)\n\n"
1109         "TYPEs include:\n"
1110         "\tb:\tMake a block (buffered) device.\n"
1111         "\tc or u:\tMake a character (un-buffered) device.\n"
1112         "\tp:\tMake a named pipe. MAJOR and MINOR are ignored for named pipes."
1113 #endif
1114 #endif
1115 DO_COMMA
1116 #endif
1117
1118 #if defined BB_MKSWAP
1119 #if defined USAGE_ENUM
1120 mkswap_usage_index
1121 #elif defined USAGE_MESSAGES
1122         "[-c] [-v0|-v1] device [block-count]"
1123 #ifndef BB_FEATURE_TRIVIAL_HELP
1124         "\n\nPrepare a disk partition to be used as a swap partition.\n\n"
1125         "Options:\n" "\t-c\t\tCheck for read-ability.\n"
1126         "\t-v0\t\tMake version 0 swap [max 128 Megs].\n"
1127         "\t-v1\t\tMake version 1 swap [big!] (default for kernels > 2.1.117).\n"
1128         "\tblock-count\tNumber of block to use (default is entire partition)."
1129 #endif
1130 #endif
1131 DO_COMMA
1132 #endif
1133
1134 #if defined BB_MKTEMP
1135 #if defined USAGE_ENUM
1136 mktemp_usage_index
1137 #elif defined USAGE_MESSAGES
1138         "[-q] TEMPLATE"
1139 #ifndef BB_FEATURE_TRIVIAL_HELP
1140         "\n\nCreates a temporary file with its name based on TEMPLATE.\n"
1141         "TEMPLATE is any name with six `Xs' (i.e. /tmp/temp.XXXXXX)."
1142 #endif
1143 #endif
1144 DO_COMMA
1145 #endif
1146
1147 #if defined BB_MORE
1148 #if defined USAGE_ENUM
1149 more_usage_index
1150 #elif defined USAGE_MESSAGES
1151         "[FILE ...]"
1152 #ifndef BB_FEATURE_TRIVIAL_HELP
1153         "\n\nMore is a filter for viewing FILE one screenful at a time."
1154 #endif
1155 #endif
1156 DO_COMMA
1157 #endif
1158
1159 #if defined BB_MOUNT
1160 #if defined USAGE_ENUM
1161 mount_usage_index
1162 #elif defined USAGE_MESSAGES
1163         "[flags] device directory [-o options,more-options]"
1164 #ifndef BB_FEATURE_TRIVIAL_HELP
1165         "\n\nMount a filesystem\n\n"
1166         "Flags:\n" 
1167         "\t-a:\t\tMount all filesystems in fstab.\n"
1168 #ifdef BB_MTAB
1169         "\t-f:\t\t\"Fake\" mount. Add entry to mount table but don't mount it.\n"
1170         "\t-n:\t\tDon't write a mount table entry.\n"
1171 #endif
1172         "\t-o option:\tOne of many filesystem options, listed below.\n"
1173         "\t-r:\t\tMount the filesystem read-only.\n"
1174         "\t-t fs-type:\tSpecify the filesystem type.\n"
1175         "\t-w:\t\tMount for reading and writing (default).\n"
1176         "\n"
1177         "Options for use with the \"-o\" flag:\n"
1178         "\tasync/sync:\tWrites are asynchronous / synchronous.\n"
1179         "\tatime/noatime:\tEnable / disable updates to inode access times.\n"
1180         "\tdev/nodev:\tAllow use of special device files / disallow them.\n"
1181         "\texec/noexec:\tAllow use of executable files / disallow them.\n"
1182 #if defined BB_FEATURE_MOUNT_LOOP
1183         "\tloop:\t\tMounts a file via loop device.\n"
1184 #endif
1185         "\tsuid/nosuid:\tAllow set-user-id-root programs / disallow them.\n"
1186         "\tremount:\tRe-mount a currently-mounted filesystem, changing its flags.\n"
1187         "\tro/rw:\t\tMount for read-only / read-write.\n"
1188         "\nThere are EVEN MORE flags that are specific to each filesystem.\n"
1189         "You'll have to see the written documentation for those."
1190 #endif
1191 #endif
1192 DO_COMMA
1193 #endif
1194
1195 #if defined BB_MT
1196 #if defined USAGE_ENUM
1197 mt_usage_index
1198 #elif defined USAGE_MESSAGES
1199         "[-f device] opcode value"
1200 #ifndef BB_FEATURE_TRIVIAL_HELP
1201         "\n\nControl magnetic tape drive operation\n"
1202         "\nAvailable Opcodes:\n\n"
1203         "bsf bsfm bsr bss datacompression drvbuffer eof eom erase\n"
1204         "fsf fsfm fsr fss load lock mkpart nop offline ras1 ras2\n"
1205         "ras3 reset retension rew rewoffline seek setblk setdensity\n"
1206         "setpart tell unload unlock weof wset"
1207 #endif
1208 #endif
1209 DO_COMMA
1210 #endif
1211
1212 #if defined BB_CP_MV
1213 #if defined USAGE_ENUM
1214 mv_usage_index
1215 #elif defined USAGE_MESSAGES
1216         "SOURCE DEST\n"
1217         "   or: mv SOURCE... DIRECTORY"
1218 #ifndef BB_FEATURE_TRIVIAL_HELP
1219         "\n\nRename SOURCE to DEST, or move SOURCE(s) to DIRECTORY."
1220 #endif
1221 #endif
1222 DO_COMMA
1223 #endif
1224
1225 #if defined BB_NC
1226 #if defined USAGE_ENUM
1227 nc_usage_index
1228 #elif defined USAGE_MESSAGES
1229         "[IP] [port]" 
1230 #ifndef BB_FEATURE_TRIVIAL_HELP
1231         "\n\nNetcat opens a pipe to IP:port"
1232 #endif
1233 #endif
1234 DO_COMMA
1235 #endif
1236
1237 #if defined BB_NSLOOKUP
1238 #if defined USAGE_ENUM
1239 nslookup_usage_index
1240 #elif defined USAGE_MESSAGES
1241         "[HOST]"
1242 #ifndef BB_FEATURE_TRIVIAL_HELP
1243         "\n\nQueries the nameserver for the IP address of the given HOST"
1244 #endif
1245 #endif
1246 DO_COMMA
1247 #endif
1248
1249 #if defined BB_PING
1250 #if defined BB_FEATURE_SIMPLE_PING
1251 #if defined USAGE_ENUM
1252 ping_usage_index
1253 #elif defined USAGE_MESSAGES
1254         "host"
1255 #ifndef BB_FEATURE_TRIVIAL_HELP
1256         "\n\nSend ICMP ECHO_REQUEST packets to network hosts"
1257 #endif
1258 #endif
1259 DO_COMMA
1260 #else /* ! defined BB_FEATURE_SIMPLE_PING */
1261 #if defined USAGE_ENUM
1262 ping_usage_index
1263 #elif defined USAGE_MESSAGES
1264         "[OPTION]... host"
1265 #ifndef BB_FEATURE_TRIVIAL_HELP
1266         "\n\nSend ICMP ECHO_REQUEST packets to network hosts.\n\n"
1267         "Options:\n"
1268         "\t-c COUNT\tSend only COUNT pings.\n"
1269         "\t-s SIZE\t\tSend SIZE data bytes in packets (default=56).\n"
1270         "\t-q\t\tQuiet mode, only displays output at start\n"
1271         "\t\t\tand when finished."
1272 #endif
1273 #endif
1274 DO_COMMA
1275 #endif
1276 #endif
1277
1278 #if defined BB_PIVOT_ROOT
1279 #if defined USAGE_ENUM
1280 pivot_root_usage_index
1281 #elif defined USAGE_MESSAGES
1282         "new_root put_old"
1283 #ifndef BB_FEATURE_TRIVIAL_HELP
1284         "\n\nMove the current root file system to put_old and make new_root\n"
1285         "the new root file system."
1286 #endif
1287 #endif
1288 DO_COMMA
1289 #endif
1290
1291 #if defined BB_POWEROFF
1292 #if defined USAGE_ENUM
1293 poweroff_usage_index
1294 #elif defined USAGE_MESSAGES
1295         ""
1296 #ifndef BB_FEATURE_TRIVIAL_HELP
1297         "\n\nHalt the system and request that the kernel shut off the power."
1298 #endif
1299 #endif
1300 DO_COMMA
1301 #endif
1302
1303 #if defined BB_PRINTF
1304 #if defined USAGE_ENUM
1305 printf_usage_index
1306 #elif defined USAGE_MESSAGES
1307         "FORMAT [ARGUMENT...]"
1308 #ifndef BB_FEATURE_TRIVIAL_HELP
1309         "\n\nFormats and prints ARGUMENT(s) according to FORMAT,\n"
1310         "Where FORMAT controls the output exactly as in C printf."
1311 #endif
1312 #endif
1313 DO_COMMA
1314 #endif
1315
1316 #if defined BB_PS
1317 #if defined USAGE_ENUM
1318 ps_usage_index
1319 #elif defined USAGE_MESSAGES
1320         ""
1321 #ifndef BB_FEATURE_TRIVIAL_HELP
1322         "\n\nReport process status\n"
1323         "\nThis version of ps accepts no options."
1324 #endif
1325 #endif
1326 DO_COMMA
1327 #endif
1328
1329 #if defined BB_PWD
1330 #if defined USAGE_ENUM
1331 pwd_usage_index
1332 #elif defined USAGE_MESSAGES
1333         ""
1334 #ifndef BB_FEATURE_TRIVIAL_HELP
1335         "\n\nPrint the full filename of the current working directory."
1336 #endif
1337 #endif
1338 DO_COMMA
1339 #endif
1340
1341 #if defined BB_RDATE
1342 #if defined USAGE_ENUM
1343 rdate_usage_index
1344 #elif defined USAGE_MESSAGES
1345         "[OPTION] HOST"
1346 #ifndef BB_FEATURE_TRIVIAL_HELP
1347         "\n\nGet and possibly set the system date and time from a remote HOST.\n"
1348         "Options:\n"
1349         "\t-s\tSet the system date and time (default).\n"
1350         "\t-p\tPrint the date and time."
1351 #endif
1352 #endif
1353 DO_COMMA
1354 #endif
1355
1356 #if defined BB_READLINK
1357 #if defined USAGE_ENUM
1358 readlink_usage_index
1359 #elif defined USAGE_MESSAGES
1360         ""
1361 #ifndef BB_FEATURE_TRIVIAL_HELP
1362         "\n\nRead a symbolic link."
1363 #endif
1364 #endif
1365 DO_COMMA
1366 #endif
1367
1368 #if defined BB_REBOOT
1369 #if defined USAGE_ENUM
1370 reboot_usage_index
1371 #elif defined USAGE_MESSAGES
1372         ""
1373 #ifndef BB_FEATURE_TRIVIAL_HELP
1374         "\n\nReboot the system."
1375 #endif
1376 #endif
1377 DO_COMMA
1378 #endif
1379         
1380 #if defined BB_RENICE
1381 #if defined USAGE_ENUM
1382 renice_usage_index
1383 #elif defined USAGE_MESSAGES
1384         "priority pid [pid ...]"
1385 #ifndef BB_FEATURE_TRIVIAL_HELP
1386         "\n\nChanges priority of running processes. Allowed priorities range\n"
1387         "from 20 (the process runs only when nothing else is running) to 0\n"
1388         "(default priority) to -20 (almost nothing else ever gets to run)."
1389 #endif
1390 #endif
1391 DO_COMMA
1392 #endif
1393
1394
1395 #if defined BB_RESET
1396 #if defined USAGE_ENUM
1397 reset_usage_index
1398 #elif defined USAGE_MESSAGES
1399         ""
1400 #ifndef BB_FEATURE_TRIVIAL_HELP
1401         "\n\nResets the screen."
1402 #endif
1403 #endif
1404 DO_COMMA
1405 #endif
1406
1407 #if defined BB_RM
1408 #if defined USAGE_ENUM
1409 rm_usage_index
1410 #elif defined USAGE_MESSAGES
1411         "[OPTION]... FILE..."
1412 #ifndef BB_FEATURE_TRIVIAL_HELP
1413         "\n\nRemove (unlink) the FILE(s).  You may use '--' to\n"
1414         "indicate that all following arguments are non-options.\n\n"
1415         "Options:\n"
1416         "\t-f\t\tremove existing destinations, never prompt\n"
1417         "\t-r or -R\tremove the contents of directories recursively"
1418 #endif
1419 #endif
1420 DO_COMMA
1421 #endif
1422
1423 #if defined BB_RMDIR
1424 #if defined USAGE_ENUM
1425 rmdir_usage_index
1426 #elif defined USAGE_MESSAGES
1427         "[OPTION]... DIRECTORY..."
1428 #ifndef BB_FEATURE_TRIVIAL_HELP
1429         "\n\nRemove the DIRECTORY(ies), if they are empty."
1430 #endif
1431 #endif
1432 DO_COMMA
1433 #endif
1434
1435 #if defined BB_RMMOD
1436 #if defined USAGE_ENUM
1437 rmmod_usage_index
1438 #elif defined USAGE_MESSAGES
1439         "[OPTION]... [MODULE]..."
1440 #ifndef BB_FEATURE_TRIVIAL_HELP
1441         "\n\nUnloads the specified kernel modules from the kernel.\n\n"
1442         "Options:\n" 
1443         "\t-a\tTry to remove all unused kernel modules."
1444 #endif
1445 #endif
1446 DO_COMMA
1447 #endif
1448
1449 #if defined BB_ROUTE
1450 #if defined USAGE_ENUM
1451 route_usage_index
1452 #elif defined USAGE_MESSAGES
1453         "[{add|del|flush}]"
1454 #ifndef BB_FEATURE_TRIVIAL_HELP
1455         "\n\nEdit the kernel's routing tables"
1456 #endif
1457 #endif
1458 DO_COMMA
1459 #endif
1460
1461 #if defined BB_RPMUNPACK
1462 #if defined USAGE_ENUM
1463 rpmunpack_usage_index
1464 #elif defined USAGE_MESSAGES
1465         "< package.rpm | gunzip | cpio -idmuv"
1466 #ifndef BB_FEATURE_TRIVIAL_HELP
1467         "\n\nExtracts an rpm archive."
1468 #endif
1469 #endif
1470 DO_COMMA
1471 #endif
1472
1473 #if defined BB_SED
1474 #if defined USAGE_ENUM
1475 sed_usage_index
1476 #elif defined USAGE_MESSAGES
1477         "[-Vhnef] pattern [files...]"
1478 #ifndef BB_FEATURE_TRIVIAL_HELP
1479         "\n\n"
1480         "-n\t\tsuppress automatic printing of pattern space\n"
1481         "-e script\tadd the script to the commands to be executed\n"
1482         "-f scriptfile\tadd the contents of script-file to the commands to be executed\n"
1483         "-h\t\tdisplay this help message\n"
1484         "\n"
1485         "If no -e or -f is given, the first non-option argument is taken as the\n"
1486         "sed script to interpret. All remaining arguments are names of input\n"
1487         "files; if no input files are specified, then the standard input is read."
1488 #endif
1489 #endif
1490 DO_COMMA
1491 #endif
1492
1493 #if defined BB_SETKEYCODES
1494 #if defined USAGE_ENUM
1495 setkeycodes_usage_index
1496 #elif defined USAGE_MESSAGES
1497         "SCANCODE KEYCODE ..."
1498 #ifndef BB_FEATURE_TRIVIAL_HELP
1499         "\n\nSet entries into the kernel's scancode-to-keycode map,\n"
1500         "allowing unusual keyboards to generate usable keycodes.\n\n" 
1501         "SCANCODE may be either xx or e0xx (hexadecimal),\n"
1502         "and KEYCODE is given in decimal"
1503 #endif
1504 #endif
1505 DO_COMMA
1506 #endif
1507
1508 #if defined BB_SH
1509 #if defined USAGE_ENUM
1510 shell_usage_index
1511 #elif defined USAGE_MESSAGES
1512         "[FILE]...\n"
1513         "   or: sh -c command [args]..."
1514 #ifndef BB_FEATURE_TRIVIAL_HELP
1515         "\n\nlash: The BusyBox command interpreter (shell)."
1516 #endif
1517 #endif
1518 DO_COMMA
1519 #endif
1520
1521 #if defined BB_SLEEP
1522 #if defined USAGE_ENUM
1523 sleep_usage_index
1524 #elif defined USAGE_MESSAGES
1525         "N" 
1526 #ifndef BB_FEATURE_TRIVIAL_HELP
1527         "\n\nPause for N seconds."
1528 #endif
1529 #endif
1530 DO_COMMA
1531 #endif
1532
1533 #if defined BB_SORT
1534 #if defined USAGE_ENUM
1535 sort_usage_index
1536 #elif defined USAGE_MESSAGES
1537         "[-n]"
1538 #ifdef BB_FEATURE_SORT_REVERSE
1539         " [-r]"
1540 #endif
1541         " [FILE]..."
1542 #ifndef BB_FEATURE_TRIVIAL_HELP
1543         "\n\nSorts lines of text in the specified files"
1544 #endif
1545 #endif
1546 DO_COMMA
1547 #endif
1548
1549 #if defined BB_STTY
1550 #if defined USAGE_ENUM
1551 stty_usage_index
1552 #elif defined USAGE_MESSAGES
1553         "stty [-a|g] [-F device] [SETTING]..."
1554 #ifndef BB_FEATURE_TRIVIAL_HELP
1555         "\n\nWithout arguments, prints baud rate, line discipline,"
1556         "\nand deviations from stty sane."
1557         "\n -F device  open and use the specified device instead of stdin"
1558         "\n -a         print all current settings in human-readable form. Or"
1559         "\n -g         print in a stty-readable form"
1560         "\n [SETTING]  see in documentation"
1561 #endif
1562 #endif
1563 DO_COMMA
1564 #endif
1565
1566 #if defined BB_SWAPONOFF
1567 #if defined USAGE_ENUM
1568 swapoff_usage_index
1569 #elif defined USAGE_MESSAGES
1570         "[OPTION] [device]"
1571 #ifndef BB_FEATURE_TRIVIAL_HELP
1572         "\n\nStop swapping virtual memory pages on the given device.\n\n"
1573         "Options:\n"
1574         "\t-a\tStop swapping on all swap devices"
1575 #endif
1576 #endif
1577 DO_COMMA
1578 #endif
1579
1580 #if defined BB_SWAPONOFF
1581 #if defined USAGE_ENUM
1582 swapon_usage_index
1583 #elif defined USAGE_MESSAGES
1584         "[OPTION] [device]"
1585 #ifndef BB_FEATURE_TRIVIAL_HELP
1586         "\n\nStart swapping virtual memory pages on the given device.\n\n"
1587         "Options:\n"
1588         "\t-a\tStart swapping on all swap devices"
1589 #endif
1590 #endif
1591 DO_COMMA
1592 #endif
1593
1594 #if defined BB_SYNC
1595 #if defined USAGE_ENUM
1596 sync_usage_index
1597 #elif defined USAGE_MESSAGES
1598         ""
1599 #ifndef BB_FEATURE_TRIVIAL_HELP
1600         "\n\nWrite all buffered filesystem blocks to disk."
1601 #endif
1602 #endif
1603 DO_COMMA
1604 #endif
1605
1606 #if defined BB_SYSLOGD
1607 #if defined USAGE_ENUM
1608 syslogd_usage_index
1609 #elif defined USAGE_MESSAGES
1610         "[OPTION]..."
1611 #ifndef BB_FEATURE_TRIVIAL_HELP
1612         "\n\nLinux system and kernel (provides klogd) logging utility.\n"
1613         "Note that this version of syslogd/klogd ignores /etc/syslog.conf.\n\n"
1614         "Options:\n"
1615         "\t-m NUM\t\tInterval between MARK lines (default=20min, 0=off)\n"
1616         "\t-n\t\tRun as a foreground process\n"
1617 #ifdef BB_FEATURE_KLOGD
1618         "\t-K\t\tDo not start up the klogd process\n"
1619 #endif
1620         "\t-O FILE\t\tUse an alternate log file (default=/var/log/messages)"
1621 #ifdef BB_FEATURE_REMOTE_LOG
1622         "\n\t-R HOST[:PORT]\t\tLog remotely to IP or hostname on PORT (default PORT=514/UDP)\n"
1623         "\t-L\t\tLog locally as well as network logging (default is network only)"
1624 #endif
1625 #endif
1626 #endif
1627 DO_COMMA
1628 #endif
1629
1630 #if defined BB_TAIL
1631 #if defined USAGE_ENUM
1632 tail_usage_index
1633 #elif defined USAGE_MESSAGES
1634         "[OPTION]... [FILE]..."
1635 #ifndef BB_FEATURE_TRIVIAL_HELP
1636         "\n\nPrint last 10 lines of each FILE to standard output.\n"
1637         "With more than one FILE, precede each with a header giving the\n"
1638         "file name. With no FILE, or when FILE is -, read standard input.\n\n"
1639         "Options:\n"
1640 #ifndef BB_FEATURE_SIMPLE_TAIL
1641         "\t-c N[kbm]\toutput the last N bytes\n"
1642 #endif
1643         "\t-n N[kbm]\tprint last N lines instead of last 10\n"
1644         "\t-f\t\toutput data as the file grows"
1645 #ifndef BB_FEATURE_SIMPLE_TAIL
1646         "\n\t-q\t\tnever output headers giving file names\n"
1647         "\t-s SEC\t\twait SEC seconds between reads with -f\n"
1648         "\t-v\t\talways output headers giving file names\n\n"
1649         "If the first character of N (bytes or lines) is a `+', output begins with \n"
1650         "the Nth item from the start of each file, otherwise, print the last N items\n"
1651         "in the file. N bytes may be suffixed by k (x1024), b (x512), or m (1024^2)."
1652 //#else
1653 //      "\nIf the first character of N (bytes or lines) is a `+', output begins with \n"
1654 //      "the Nth item from the start of each file."
1655 #endif
1656 #endif
1657 #endif
1658 DO_COMMA
1659 #endif
1660
1661 #if defined BB_TAR
1662 #if defined USAGE_ENUM
1663 tar_usage_index
1664 #elif defined USAGE_MESSAGES
1665 #ifdef BB_FEATURE_TAR_CREATE
1666         "-[cxtvO] "
1667 #else
1668         "-[xtvO] "
1669 #endif
1670 #if defined BB_FEATURE_TAR_EXCLUDE
1671         "[--exclude File] "
1672         "[-X File]"
1673 #endif
1674         "[-f tarFile] [FILE(s)] ..."
1675 #ifndef BB_FEATURE_TRIVIAL_HELP
1676         "\n\nCreate, extract, or list files from a tar file.\n\n"
1677         "Main operation mode:\n"
1678 #ifdef BB_FEATURE_TAR_CREATE
1679         "\tc\t\tcreate\n"
1680 #endif
1681         "\tx\t\textract\n"
1682         "\tt\t\tlist\n"
1683         "\nFile selection:\n"
1684         "\tf\t\tname of tarfile or \"-\" for stdin\n"
1685         "\tO\t\textract to stdout\n"
1686 #if defined BB_FEATURE_TAR_EXCLUDE
1687         "\texclude\t\tfile to exclude\n"
1688         "\tX\t\tfile with names to exclude\n"
1689 #endif
1690         "\nInformative output:\n"
1691         "\tv\t\tverbosely list files processed"
1692 #endif
1693 #endif
1694 DO_COMMA
1695 #endif
1696
1697 #if defined BB_TEE
1698 #if defined USAGE_ENUM
1699 tee_usage_index
1700 #elif defined USAGE_MESSAGES
1701         "[OPTION]... [FILE]..."
1702 #ifndef BB_FEATURE_TRIVIAL_HELP
1703         "\n\nCopy standard input to each FILE, and also to standard output.\n\n"
1704         "Options:\n" "\t-a\tappend to the given FILEs, do not overwrite"
1705 #endif
1706 #endif
1707 DO_COMMA
1708 #endif
1709
1710 #if defined BB_TELNET
1711 #if defined USAGE_ENUM
1712 telnet_usage_index
1713 #elif defined USAGE_MESSAGES
1714         "host [port]"
1715 #ifndef BB_FEATURE_TRIVIAL_HELP
1716         "\n\nTelnet is used to establish interactive communication with another\n"
1717         "computer over a network using the TELNET protocol."
1718 #endif
1719 #endif
1720 DO_COMMA
1721 #endif
1722
1723 #if defined BB_TEST
1724 #if defined USAGE_ENUM
1725 test_usage_index
1726 #elif defined USAGE_MESSAGES
1727         "\ntest EXPRESSION\n"
1728         "or   [ EXPRESSION ]"
1729 #ifndef BB_FEATURE_TRIVIAL_HELP
1730         "\n\nChecks file types and compares values returning an exit\n"
1731         "code determined by the value of EXPRESSION."
1732 #endif
1733 #endif
1734 DO_COMMA
1735 #endif
1736
1737 #if defined BB_TOUCH
1738 #if defined USAGE_ENUM
1739 touch_usage_index
1740 #elif defined USAGE_MESSAGES
1741         "[-c] file [file ...]"
1742 #ifndef BB_FEATURE_TRIVIAL_HELP
1743         "\n\nUpdate the last-modified date on the given file[s].\n\n"
1744         "Options:\n"
1745         "\t-c\tDo not create any files"
1746 #endif
1747 #endif
1748 DO_COMMA
1749 #endif
1750
1751 #if defined BB_TR
1752 #if defined USAGE_ENUM
1753 tr_usage_index
1754 #elif defined USAGE_MESSAGES
1755         "[-cds] STRING1 [STRING2]"
1756 #ifndef BB_FEATURE_TRIVIAL_HELP
1757         "\n\nTranslate, squeeze, and/or delete characters from\n"
1758         "standard input, writing to standard output.\n\n"
1759         "Options:\n"
1760         "\t-c\ttake complement of STRING1\n"
1761         "\t-d\tdelete input characters coded STRING1\n"
1762         "\t-s\tsqueeze multiple output characters of STRING2 into one character"
1763 #endif
1764 #endif
1765 DO_COMMA
1766 #endif
1767
1768 #if defined BB_TRUE_FALSE
1769 #if defined USAGE_ENUM
1770 true_usage_index
1771 #elif defined USAGE_MESSAGES
1772         ""
1773 #ifndef BB_FEATURE_TRIVIAL_HELP
1774         "\n\nReturn an exit code of TRUE (0)."
1775 #endif
1776 #endif
1777 DO_COMMA
1778 #endif
1779
1780 #if defined BB_TTY
1781 #if defined USAGE_ENUM
1782 tty_usage_index
1783 #elif defined USAGE_MESSAGES
1784         ""
1785 #ifndef BB_FEATURE_TRIVIAL_HELP
1786         "\n\nPrint the file name of the terminal connected to standard input.\n\n"
1787         "Options:\n"
1788         "\t-s\tprint nothing, only return an exit status"
1789 #endif
1790 #endif
1791 DO_COMMA
1792 #endif
1793
1794 #if defined BB_UMOUNT
1795 #if defined USAGE_ENUM
1796 umount_usage_index
1797 #elif defined USAGE_MESSAGES
1798         "[flags] filesystem|directory"
1799 #ifndef BB_FEATURE_TRIVIAL_HELP
1800         "\nUnmount file systems\n"
1801         "\nFlags:\n" "\t-a:\tUnmount all file systems"
1802 #ifdef BB_MTAB
1803         " in /etc/mtab\n\t-n:\tDon't erase /etc/mtab entries\n"
1804 #else
1805         "\n"
1806 #endif
1807         "\t-r:\tTry to remount devices as read-only if mount is busy"
1808 #if defined BB_FEATURE_MOUNT_FORCE
1809         "\n\t-f:\tForce filesystem umount (i.e. unreachable NFS server)"
1810 #endif
1811 #if defined BB_FEATURE_MOUNT_LOOP
1812         "\n\t-l:\tDo not free loop device (if a loop device has been used)"
1813 #endif
1814 #endif
1815 #endif
1816 DO_COMMA
1817 #endif
1818
1819 #if defined BB_UNAME
1820 #if defined USAGE_ENUM
1821 uname_usage_index
1822 #elif defined USAGE_MESSAGES
1823         "[OPTION]..."
1824 #ifndef BB_FEATURE_TRIVIAL_HELP
1825         "\n\nPrint certain system information.  With no OPTION, same as -s.\n\n"
1826         "Options:\n"
1827         "\t-a\tprint all information\n"
1828         "\t-m\tthe machine (hardware) type\n"
1829         "\t-n\tprint the machine's network node hostname\n"
1830         "\t-r\tprint the operating system release\n"
1831         "\t-s\tprint the operating system name\n"
1832
1833         "\t-p\tprint the host processor type\n"
1834         "\t-v\tprint the operating system version"
1835 #endif
1836 #endif
1837 DO_COMMA
1838 #endif
1839
1840 #if defined BB_UNIQ
1841 #if defined USAGE_ENUM
1842 uniq_usage_index
1843 #elif defined USAGE_MESSAGES
1844         "[OPTION]... [INPUT [OUTPUT]]"
1845 #ifndef BB_FEATURE_TRIVIAL_HELP
1846         "\n\nDiscard all but one of successive identical lines from INPUT\n"
1847         "(or standard input), writing to OUTPUT (or standard output).\n"
1848         "Options:\n"
1849         "\t-c\tprefix lines by the number of occurrences\n"
1850         "\t-d\tonly print duplicate lines\n"
1851         "\t-u\tonly print unique lines"
1852 #endif
1853 #endif
1854 DO_COMMA
1855 #endif
1856
1857 #if defined BB_UNIX2DOS
1858 #if defined USAGE_ENUM
1859 unix2dos_usage_index
1860 #elif defined USAGE_MESSAGES
1861         "< unixfile > dosfile"
1862 #ifndef BB_FEATURE_TRIVIAL_HELP
1863         "\n\nConverts a text file from unix format to dos format."
1864 #endif
1865 #endif
1866 DO_COMMA
1867 #endif
1868
1869 #if defined BB_UPDATE
1870 #if defined USAGE_ENUM
1871 update_usage_index
1872 #elif defined USAGE_MESSAGES
1873         "[options]"
1874 #ifndef BB_FEATURE_TRIVIAL_HELP
1875         "\n\nPeriodically flushes filesystem buffers.\n\n"
1876         "Options:\n"
1877         "\t-S\tforce use of sync(2) instead of flushing\n"
1878         "\t-s SECS\tcall sync this often (default 30)\n"
1879         "\t-f SECS\tflush some buffers this often (default 5)"
1880 #endif
1881 #endif
1882 DO_COMMA
1883 #endif
1884
1885 #if defined BB_UPTIME
1886 #if defined USAGE_ENUM
1887 uptime_usage_index
1888 #elif defined USAGE_MESSAGES
1889         ""
1890 #ifndef BB_FEATURE_TRIVIAL_HELP
1891         "\n\nDisplay the time since the last boot."
1892 #endif
1893 #endif
1894 DO_COMMA
1895 #endif
1896
1897 #if defined BB_USLEEP
1898 #if defined USAGE_ENUM
1899 usleep_usage_index
1900 #elif defined USAGE_MESSAGES
1901         "N" 
1902 #ifndef BB_FEATURE_TRIVIAL_HELP
1903         "\n\nPause for N microseconds."
1904 #endif
1905 #endif
1906 DO_COMMA
1907 #endif
1908
1909 #if defined BB_UUDECODE
1910 #if defined USAGE_ENUM
1911 uudecode_usage_index
1912 #elif defined USAGE_MESSAGES
1913         "[FILE]..."
1914 #ifndef BB_FEATURE_TRIVIAL_HELP
1915         "\n\nUudecode a file that is uuencoded.\n\n"
1916         "Options:\n"
1917         "\t-o FILE\tdirect output to FILE"
1918 #endif
1919 #endif
1920 DO_COMMA
1921 #endif
1922
1923 #if defined BB_UUENCODE
1924 #if defined USAGE_ENUM
1925 uuencode_usage_index
1926 #elif defined USAGE_MESSAGES
1927         "[OPTION] [INFILE] REMOTEFILE"
1928 #ifndef BB_FEATURE_TRIVIAL_HELP
1929         "\n\nUuencode a file.\n\n"
1930         "Options:\n"
1931         "\t-m\tuse base64 encoding as of RFC1521"
1932 #endif
1933 #endif
1934 DO_COMMA
1935 #endif
1936
1937 #if defined BB_WATCHDOG
1938 #if defined USAGE_ENUM
1939 watchdog_usage_index
1940 #elif defined USAGE_MESSAGES
1941         "dev"
1942 #ifndef BB_FEATURE_TRIVIAL_HELP
1943         "\n\nPeriodically write to watchdog device \"dev\""
1944 #endif
1945 #endif
1946 DO_COMMA
1947 #endif
1948
1949 #if defined BB_WC
1950 #if defined USAGE_ENUM
1951 wc_usage_index
1952 #elif defined USAGE_MESSAGES
1953         "[OPTION]... [FILE]..."
1954 #ifndef BB_FEATURE_TRIVIAL_HELP
1955         "\n\nPrint line, word, and byte counts for each FILE, and a total line if\n"
1956         "more than one FILE is specified.  With no FILE, read standard input.\n\n"
1957         "Options:\n"
1958         "\t-c\tprint the byte counts\n"
1959         "\t-l\tprint the newline counts\n"
1960
1961         "\t-L\tprint the length of the longest line\n"
1962         "\t-w\tprint the word counts"
1963 #endif
1964 #endif
1965 DO_COMMA
1966 #endif
1967
1968 #if defined BB_WGET
1969 #if defined USAGE_ENUM
1970 wget_usage_index
1971 #elif defined USAGE_MESSAGES
1972  "[-c] [-O file] url"
1973 #ifndef BB_FEATURE_TRIVIAL_HELP
1974         "\n\nwget retrieves files via HTTP\n\n"
1975         "Options:\n"
1976         "\t-c\tcontinue retrieval of aborted transfers\n"
1977         "\t-O\tsave to filename ('-' for stdout)"
1978 #endif
1979 #endif
1980 DO_COMMA
1981 #endif
1982
1983 #if defined BB_WHICH
1984 #if defined USAGE_ENUM
1985 which_usage_index
1986 #elif defined USAGE_MESSAGES
1987         "[COMMAND ...]"
1988 #ifndef BB_FEATURE_TRIVIAL_HELP
1989         "\n\nLocates a COMMAND."
1990 #endif
1991 #endif
1992 DO_COMMA
1993 #endif
1994
1995 #if defined BB_WHOAMI
1996 #if defined USAGE_ENUM
1997 whoami_usage_index
1998 #elif defined USAGE_MESSAGES
1999         ""
2000 #ifndef BB_FEATURE_TRIVIAL_HELP
2001         "\n\nPrints the user name associated with the current effective user id."
2002 #endif
2003 #endif
2004 DO_COMMA
2005 #endif
2006
2007 #if defined BB_XARGS
2008 #if defined USAGE_ENUM
2009 xargs_usage_index
2010 #elif defined USAGE_MESSAGES
2011  "[COMMAND] [ARGS...]"
2012 #ifndef BB_FEATURE_TRIVIAL_HELP
2013         "\n\nExecutes COMMAND on every item given by standard input." 
2014 #endif
2015 #endif
2016 DO_COMMA
2017 #endif
2018
2019 #if defined BB_YES
2020 #if defined USAGE_ENUM
2021 yes_usage_index
2022 #elif defined USAGE_MESSAGES
2023         "[OPTION]... [STRING]..."
2024 #ifndef BB_FEATURE_TRIVIAL_HELP
2025         "\n\nRepeatedly outputs a line with all specified STRING(s), or `y'."
2026 #endif
2027 #endif
2028 DO_COMMA
2029 #endif
2030
2031 #if defined USAGE_ENUM || defined USAGE_MESSAGES
2032 };
2033 #endif
2034
2035 #undef DOCOMMA
2036 #undef USAGE_ENUM
2037 #undef USAGE_MESSAGES
2038