#define NOUSAGE_STR "\b"
+#define acpid_trivial_usage \
+ "[-d] [-c CONFDIR] [-l LOGFILE] [-e PROC_EVENT_FILE] [EVDEV_EVENT_FILE...]"
+
+#define acpid_full_usage "\n\n" \
+ "Listen to ACPI events and spawn specific helpers on event arrival\n" \
+ "\nOptions:" \
+ "\n -d Do not daemonize and log to stderr" \
+ "\n -c DIR Config directory [/etc/acpi]" \
+ "\n -e FILE /proc event file [/proc/acpi/event]" \
+ "\n -l FILE Log file [/var/log/acpid]" \
+ USE_FEATURE_ACPID_COMPAT( \
+ "\n\nAccept and ignore compatibility options -g -m -s -S -v" \
+ )
+
+#define acpid_example_usage \
+ "# acpid -l /var/log/my-acpi-log\n" \
+ "# acpid -d /dev/input/event*\n"
#define addgroup_trivial_usage \
"[-g GID] " USE_FEATURE_ADDUSER_TO_GROUP("[user_name] ") "group_name"
#define addgroup_full_usage "\n\n" \
- "Add a group " USE_FEATURE_ADDUSER_TO_GROUP("or add an user to a group") "\n" \
+ "Add a group " USE_FEATURE_ADDUSER_TO_GROUP("or add a user to a group") "\n" \
"\nOptions:" \
"\n -g GID Group id" \
#define adduser_trivial_usage \
"[OPTIONS] user_name"
#define adduser_full_usage "\n\n" \
- "Add an user\n" \
+ "Add a user\n" \
"\nOptions:" \
"\n -h DIR Home directory" \
"\n -g GECOS GECOS field" \
"\n -r Delete crontab" \
"\n FILE Replace crontab by FILE ('-': stdin)" \
-#if !ENABLE_USE_BB_CRYPT || ENABLE_USE_BB_CRYPT_SHA
-#define cryptpw_trivial_usage \
- "[-a des|md5|sha256/512] [string]"
-#else
#define cryptpw_trivial_usage \
- "[-a des|md5] [string]"
-#endif
+ "[OPTIONS] [PASSWORD] [SALT]"
+/* We do support -s, we just don't mention it */
#define cryptpw_full_usage "\n\n" \
- "Output crypted string.\n" \
- "If string isn't supplied on cmdline, read it from stdin.\n" \
+ "Crypt the PASSWORD using crypt(3)\n" \
+ "\nOptions:" \
+ USE_GETOPT_LONG( \
+ "\n -P,--password-fd=NUM Read password from fd NUM" \
+/* "\n -s,--stdin Use stdin; like -P0" */ \
+ "\n -m,--method=TYPE Encryption method TYPE" \
+ "\n -S,--salt=SALT" \
+ ) \
+ SKIP_GETOPT_LONG( \
+ "\n -P NUM Read password from fd NUM" \
+/* "\n -s Use stdin; like -P0" */ \
+ "\n -m TYPE Encryption method TYPE" \
+ "\n -S SALT" \
+ ) \
+
+/* mkpasswd is an alias to cryptpw */
+
+#define mkpasswd_trivial_usage \
+ "[OPTIONS] [PASSWORD] [SALT]"
+/* We do support -s, we just don't mention it */
+#define mkpasswd_full_usage "\n\n" \
+ "Crypt the PASSWORD using crypt(3)\n" \
"\nOptions:" \
- "\n -a Algorithm to use (default: md5)" \
+ USE_GETOPT_LONG( \
+ "\n -P,--password-fd=NUM Read password from fd NUM" \
+/* "\n -s,--stdin Use stdin; like -P0" */ \
+ "\n -m,--method=TYPE Encryption method TYPE" \
+ "\n -S,--salt=SALT" \
+ ) \
+ SKIP_GETOPT_LONG( \
+ "\n -P NUM Read password from fd NUM" \
+/* "\n -s Use stdin; like -P0" */ \
+ "\n -m TYPE Encryption method TYPE" \
+ "\n -S SALT" \
+ ) \
#define cttyhack_trivial_usage NOUSAGE_STR
#define cttyhack_full_usage ""
"$ find / -name passwd\n" \
"/etc/passwd\n"
+#define flash_eraseall_trivial_usage \
+ "[-jq] MTD_DEVICE"
+#define flash_eraseall_full_usage "\n\n" \
+ "Erase an MTD device\n" \
+ "\nOptions:" \
+ "\n -j format the device for jffs2" \
+ "\n -q don't display progress messages"
+
#define fold_trivial_usage \
"[-bs] [-w WIDTH] [FILE]"
#define fold_full_usage "\n\n" \
"\n -m Show \"mode not cleared\" warnings" \
"\n -f Force file system check" \
+#define ftpd_trivial_usage \
+ "[-wvS] [DIR]"
+#define ftpd_full_usage "\n\n" \
+ "FTP server\n" \
+ "\n" \
+ "ftpd should be used as an inetd service.\n" \
+ "ftpd's line for inetd.conf:\n" \
+ " 21 stream tcp nowait root ftpd ftpd /files/to/serve\n" \
+ "It also can be ran from tcpsvd:\n" \
+ " tcpsvd -vE 0.0.0.0 21 ftpd /files/to/serve\n" \
+ "\nOptions:" \
+ "\n -w Allow upload" \
+ "\n -v Log to stderr" \
+ "\n -S Log to syslog" \
+ "\n DIR Change root to this directory" \
+
#define ftpget_trivial_usage \
"[options] remote-host local-file remote-file"
#define ftpget_full_usage "\n\n" \
/* -v, -b, -c are ignored */
#define install_trivial_usage \
- "[-cdDsp] [-o USER] [-g GRP] [-m MODE] [source] dest|directory"
+ "[-cdDsp] [-o USER] [-g GRP] [-m MODE] [source] dest|directory"
#define install_full_usage "\n\n" \
"Copy files and set attributes\n" \
"\nOptions:" \
"\n -Z Set security context" \
)
+#define ionice_trivial_usage \
+ "[-c 1-3] [-n 0-7] [-p PID] [PROG]"
+#define ionice_full_usage "\n\n" \
+ "Change I/O scheduling class and priority\n" \
+ "\nOptions:" \
+ "\n -c Class. 1:realtime 2:best-effort 3:idle" \
+ "\n -n Priority" \
+
/* would need to make the " | " optional depending on more than one selected: */
#define ip_trivial_usage \
"[OPTIONS] {" \
"$ killall apache\n"
#define killall5_trivial_usage \
- "[-l] [-SIG]"
+ "[-l] [-SIG] [-o PID]..."
#define killall5_full_usage "\n\n" \
"Send a signal (default is TERM) to all processes outside current session\n" \
"\nOptions:" \
"\n -l List all signal names and numbers" \
+ "\n -o PID Do not signal this PID" \
/* "\n -s SIG Yet another way of specifying SIG" */ \
#define klogd_trivial_usage \
"loading). modprobe uses a configuration file to determine what option(s) to\n" \
"pass each module it loads.\n" \
"\n" \
-"The configuration file is searched (in order) amongst:\n" \
+"The configuration file is searched (in this order):\n" \
"\n" \
" /etc/modprobe.conf (2.6 only)\n" \
" /etc/modules.conf\n" \
"Returns 0 for success, number of failed mounts for -a, or errno for one mount."
#define mountpoint_trivial_usage \
- "[-q] <[-d] DIR | -x DEVICE>"
+ "[-q] <[-dn] DIR | -x DEVICE>"
#define mountpoint_full_usage "\n\n" \
- "mountpoint checks if the directory is a mountpoint\n" \
+ "Check if the directory is a mountpoint\n" \
"\nOptions:" \
"\n -q Quiet" \
"\n -d Print major/minor device number of the filesystem" \
+ "\n -n Print device name of the filesystem" \
"\n -x Print major/minor device number of the blockdevice" \
#define mountpoint_example_usage \
"Send an email\n" \
"\nOptions:" \
"\n -w timeout Network timeout" \
- "\n -H [user:pass@]server[:port] Server" \
- "\n -S Use openssl connection helper for secure servers" \
"\n -N type Request delivery notification. Type is ignored" \
"\n -f sender Sender" \
"\n -F fullname Sender full name. Overrides $NAME" \
USE_FEATURE_SENDMAIL_MAILX( \
"\n -s subject Subject" \
"\n -j charset Assume charset for body and subject (" CONFIG_FEATURE_MIME_CHARSET ")" \
- "\n -a file File to attach. May be multiple" \
- "\n -H \"prog args...\" Use external connection helper. E.g. openssl for secure servers" \
+ "\n -a file File to attach. May be repeated" \
+ "\n -H 'prog args' Run connection helper. E.g. openssl for encryption:" \
+ "\n -H 'exec openssl s_client -quiet -tls1 -starttls smtp" \
+ "\n -connect smtp.gmail.com:25' <email.txt" \
+ "\n [4<username_and_passwd.txt]" \
"\n -S server[:port] Server" \
) \
USE_FEATURE_SENDMAIL_MAILXX( \
- "\n -c rcpt Cc: recipient. May be multiple" \
+ "\n -c rcpt Cc: recipient. May be repeated" \
"\n -e rcpt Errors-To: recipient" \
) \
"\n -t Read recipients and subject from body" \
#define ttysize_full_usage "\n\n" \
"Print dimension(s) of standard input's terminal, on error return 80x25"
+#define tunctl_trivial_usage \
+ "[-f device] ([-t name] | -d name)" USE_FEATURE_TUNCTL_UG(" [-u owner] [-g group] [-b]")
+#define tunctl_full_usage "\n\n" \
+ "Create or delete tun interfaces" \
+ "\nOptions:" \
+ "\n -f name tun device (/dev/net/tun)" \
+ "\n -t name Create iface 'name'" \
+ "\n -d name Delete iface 'name'" \
+USE_FEATURE_TUNCTL_UG( \
+ "\n -u owner Set iface owner" \
+ "\n -g group Set iface group" \
+ "\n -b Brief output" \
+)
+#define tunctl_example_usage \
+ "# tunctl\n" \
+ "# tunctl -d tun0\n"
+
#define tune2fs_trivial_usage \
"[-c max-mounts-count] [-e errors-behavior] [-g group] " \
"[-i interval[d|m|w]] [-j] [-J journal-options] [-l] [-s sparse-flag] " \