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