make_directory() will fail instantly so we dont need to test for failure here
[oweals/busybox.git] / include / usage.h
index e7de6f53fc4fff6321ec1dc01607a64bc84e8681..33a81c4671b4c3f2e40c39f958617e0e6ce9ce2e 100644 (file)
        "\t-x\t\textract\n" \
        "\t-v\t\tverbosely list files processed\n"
 
+#define        awk_trivial_usage \
+       "[-v var=val][-F sep] { -f progname | 'programtext' } [FILE ...]"
+#define        awk_full_usage \
+       "Options:\n" \
+       "\t-v var=val\tassign value 'val' to variable 'var'\n" \
+       "\t-F sep\t\tuse 'sep' as field separator\n" \
+       "\t-f progname\tread program source from file 'progname'\n"
+
 #define basename_trivial_usage \
        "FILE [SUFFIX]"
 #define basename_full_usage \
 #define dc_example_usage \
        "$ dc 2 2 +\n" \
        "4\n" \
-       "$ dc 8 8 \* 2 2 + /\n" \
+       "$ dc 8 8 * 2 2 + /\n" \
        "16\n" \
        "$ dc 0 1 and\n" \
        "0\n" \
 
 #define dd_trivial_usage \
        "[if=FILE] [of=FILE] [bs=N] [count=N] [skip=N]\n" \
-       "\t  [seek=N] [conv=notrunc|sync]"
+       "\t  [seek=N] [conv=notrunc|noerror|sync]"
 #define dd_full_usage \
        "Copy a file, converting and formatting according to options\n\n" \
        "\tif=FILE\t\tread from FILE instead of stdin\n" \
        "\tskip=N\t\tskip N input blocks\n" \
        "\tseek=N\t\tskip N output blocks\n" \
        "\tconv=notrunc\tdon't truncate output file\n" \
+       "\tconv=noerror\tcontinue after read errors\n" \
        "\tconv=sync\tpad blocks with zeros\n" \
        "\n" \
        "Numbers may be suffixed by c (x1), w (x2), b (x512), kD (x1000), k (x1024),\n" \
        "\t-d\toutput will be in DOS format"
 
 #define dpkg_trivial_usage \
-       "-i package_file\n"
+       "-i package_file\n" \
        "[-CPru] package_name"
 #define dpkg_full_usage \
        "\t-i\tInstall the package\n" \
        "$ dpkg-deb -X ./busybox_0.48-1_i386.deb /tmp\n"
 
 #define du_trivial_usage \
-       "[-ls" USAGE_HUMAN_READABLE("hm") USAGE_NOT_HUMAN_READABLE("") "k] [FILE]..."
+       "[-lsx" USAGE_HUMAN_READABLE("hm") USAGE_NOT_HUMAN_READABLE("") "k] [FILE]..."
 #define du_full_usage \
        "Summarizes disk space used for each FILE and/or directory.\n" \
        "Disk space is printed in units of 1024 bytes.\n\n" \
        USAGE_HUMAN_READABLE( \
        "\n\t-h\tprint sizes in human readable format (e.g., 1K 243M 2G )\n" \
        "\t-m\tprint sizes in megabytes\n" \
+       "\t-x\tskip directories on different filesystems\n" \
        "\t-k\tprint sizes in kilobytes(default)") USAGE_NOT_HUMAN_READABLE( \
        "\n\t-k\tprint sizes in kilobytes(compatibility)")
 #define du_example_usage \
         "while true ; do\n" \
         " case $1 in\n" \
         "   -a|--a-long) echo \"Option a\" ; shift ;;\n" \
-        "   -b|--b-long) echo \"Option b, argument \`$2'\" ; shift 2 ;;\n" \
+        "   -b|--b-long) echo \"Option b, argument `$2'\" ; shift 2 ;;\n" \
         "   -c|--c-long)\n" \
         "     case "$2" in\n" \
         "       \"\") echo \"Option c, no argument\"; shift 2 ;;\n" \
-        "       *)  echo \"Option c, argument \`$2'\" ; shift 2 ;;\n" \
+        "       *)  echo \"Option c, argument `$2'\" ; shift 2 ;;\n" \
         "     esac ;;\n" \
         "   --) shift ; break ;;\n" \
         "   *) echo \"Internal error!\" ; exit 1 ;;\n" \
        "$ hostname\n" \
        "sage \n"
 
+#define hwclock_trivial_usage \
+       "[-r|--show] [-s|--hctosys] [-w|--systohc] [-l|--localtime] [-u|--utc]"
+#define hwclock_full_usage \
+       "Query and set the hardware clock (RTC)\n\n" \
+       "Options:\n" \
+       "\t-r\tread hardware clock and print result\n" \
+       "\t-s\tset the system time from the hardware clock\n" \
+       "\t-w\tset the hardware clock to the current system time\n" \
+       "\t-u\tthe hardware clock is kept in coordinated universal time\n" \
+       "\t-l\tthe hardware clock is kept in local time"
+
 #define id_trivial_usage \
        "[OPTIONS]... [USERNAME]"
 #define id_full_usage \
 #else
   #define USAGE_IFCONFIG_OPT_A(a)
 #endif
+#ifdef CONFIG_FEATURE_IPV6
+  #define USAGE_IPV6(a) a
+#else
+  #define USAGE_IPV6(a)
+#endif
 
 #define ifconfig_trivial_usage \
        USAGE_IFCONFIG_OPT_A("[-a]") " <interface> [<address>]"
 #define ifconfig_full_usage \
        "configure a network interface\n\n" \
        "Options:\n" \
+       USAGE_IPV6("[add <address>[/<prefixlen>]]\n") \
+       USAGE_IPV6("[del <address>[/<prefixlen>]]\n") \
        "\t[[-]broadcast [<address>]]  [[-]pointopoint [<address>]]\n" \
        "\t[netmask <address>]  [dstaddr <address>]\n" \
        USAGE_SIOCSKEEPALIVE("\t[outfill <NN>] [keepalive <NN>]\n") \
 #define logger_example_usage \
        "$ logger "hello"\n" 
 
+#define login_trivial_usage \
+       "[OPTION]... [username] [ENV=VAR ...]"
+#define login_full_usage \
+       "Begin a new session on the system\n\n" \
+       "Options:\n" \
+       "\t-f\tDo not authenticate (user already authenticated)\n" \
+       "\t-h\tName of the remote host for this login.\n" \
+       "\t-p\tPreserve environment."
+
 #define logname_trivial_usage \
        ""
 #define logname_full_usage \
        "busybox: OK\n" \
        "^D\n"
 
+#define mesg_trivial_usage \
+       "mesg [y|n]"
+#define mesg_full_usage \
+       "mesg [Y|N], controls write access to your terminal\n" \
+       "\ty\tAllow write access to your terminal.\n" \
+       "\tn\tDisallow write access to your terminal.\n"
+
 #define mkdir_trivial_usage \
        "[OPTION] DIRECTORY..."
 #define mkdir_full_usage \
 #define modprobe_trivial_usage \
        "[FILE ...]"
 #define modprobe_full_usage \
-       "Used for hight level module loading and unloading."
+       "Used for high level module loading and unloading."
 #define modprobe_example_usage \
        "$ modprobe cdrom\n" 
 
        "$ mv /tmp/foo /bin/bar\n" 
 
 #define nc_trivial_usage \
-       "[IP] [port]" 
+       "[OPTIONS] [IP] [port]" 
 #define nc_full_usage \
-       "Netcat opens a pipe to IP:port"
+       "Netcat opens a pipe to IP:port\n\n" \
+       "Options:\n" \
+       "\t-l\t\tlisten mode, for inbound connects\n" \
+       "\t-p PORT\t\tlocal port number\n" \
+       "\t-i SECS\t\tdelay interval for lines sent\n" \
+       "\t-e PROG\t\tprogram to exec after connect (dangerous!)"
 #define nc_example_usage \
        "$ nc foobar.somedomain.com 25\n" \
        "220 foobar ESMTP Exim 3.12 #1 Sat, 15 Apr 2000 00:03:02 -0600\n" \
        "221 foobar closing connection\n" 
 
 #define netstat_trivial_usage \
-       "[-lantuwx]"
+       "[-laenrtuwx]"
 #define netstat_full_usage \
        "-l display listening server sockets\n" \
        "-a display all sockets (default: connected)\n" \
+       "-e display other/more information\n" \
        "-n don't resolve names\n" \
+       "-r display routing table\n" \
        "-t tcp sockets\n" \
        "-u udp sockets\n" \
        "-w raw sockets\n" \
        "Write an unambiguous representation, octal bytes by default, of FILE\n"\
        "to standard output.  With no FILE, or when FILE is -, read standard input."
 
+#define openvt_trivial_usage \
+       "<vtnum> <COMMAND> [ARGS...]"
+#define openvt_full_usage \
+       "Start a command on a new virtual terminal"
+#define openvt_example_usage \
+       "openvt 2 /bin/ash\n"
+
+#ifdef CONFIG_FEATURE_SHA1_PASSWORDS
+  #define PASSWORD_ALG_TYPES(a) a
+#else   
+  #define PASSWORD_ALG_TYPES(a)
+#endif
+#define passwd_trivial_usage \
+       "[OPTION] [name]"
+#define passwd_full_usage \
+       "Change a user password. If no name is specified,\n" \
+       "changes the password for the current user.\n" \
+       "Options:\n" \
+       "\t-a\tDefine which algorithm shall be used for the password.\n" \
+       "\t\t\t(Choices: des, md5" \
+       PASSWORD_ALG_TYPES(", sha1") \
+       ")\n\t-d\tDelete the password for the specified user account.\n" \
+       "\t-l\tLocks (disables) the specified user account.\n" \
+       "\t-u\tUnlocks (re-enables) the specified user account."
+
 #define pidof_trivial_usage \
        "process-name [process-name ...]"
 #define pidof_full_usage \
        "1 packets transmitted, 1 packets received, 0% packet loss\n" \
        "round-trip min/avg/max = 20.1/20.1/20.1 ms\n" 
 
+#ifndef CONFIG_FEATURE_FANCY_PING6
+#define ping6_trivial_usage "host"
+#define ping6_full_usage    "Send ICMP ECHO_REQUEST packets to network hosts"
+#else
+#define ping6_trivial_usage \
+       "[OPTION]... host"
+#define ping6_full_usage \
+       "Send ICMP ECHO_REQUEST packets to network hosts.\n\n" \
+       "Options:\n" \
+       "\t-c COUNT\tSend only COUNT pings.\n" \
+       "\t-s SIZE\t\tSend SIZE data bytes in packets (default=56).\n" \
+       "\t-q\t\tQuiet mode, only displays output at start\n" \
+       "\t\t\tand when finished."
+#endif
+#define ping6_example_usage \
+       "$ ping6 ip6-localhost\n" \
+       "PING ip6-localhost (::1): 56 data bytes\n" \
+       "64 bytes from ::1: icmp6_seq=0 ttl=64 time=20.1 ms\n" \
+       "\n" \
+       "--- ip6-localhost ping statistics ---\n" \
+       "1 packets transmitted, 1 packets received, 0% packet loss\n" \
+       "round-trip min/avg/max = 20.1/20.1/20.1 ms\n" 
+
 #define pivot_root_trivial_usage \
        "NEW_ROOT PUT_OLD"
 #define pivot_root_full_usage \
 #define route_full_usage \
        "Edit the kernel's routing tables.\n\n" \
        "Options:\n" \
-       "\t-n\tDont resolve names."
+       "\t-n\tDont resolve names.\n" \
+       "\t-e\tDisplay other/more information"
 
 #define rpm2cpio_trivial_usage \
        "package.rpm"
        "\n\t-g\t\tprint in stty-readable form" \
        "\n\t[SETTING]\tsee manpage"
 
+#define su_trivial_usage \
+       "[OPTION]... [-] [username]"
+#define su_full_usage \
+       "Change user id or become root.\n" \
+       "Options:\n" \
+       "\t-p\tPreserve environment"
+
+#define sulogin_trivial_usage \
+       "[OPTION]... [tty-device]"
+#define sulogin_full_usage \
+       "Single user login\n" \
+       "Options:\n" \
+       "\t-f\tDo not authenticate (user already authenticated)\n" \
+       "\t-h\tName of the remote host for this login.\n" \
+       "\t-p\tPreserve environment."
+
 #define swapoff_trivial_usage \
        "[OPTION] [DEVICE]"
 #define swapoff_full_usage \
 #else
   #define USAGE_REMOTE_LOG(a)
 #endif
+#ifdef CONFIG_FEATURE_IPC_SYSLOG
+  #define USAGE_IPC_LOG(a) a
+#else
+  #define USAGE_IPC_LOG(a)
+#endif
+
 #define syslogd_trivial_usage \
        "[OPTION]..."
 #define syslogd_full_usage \
        "\t-O FILE\t\tUse an alternate log file (default=/var/log/messages)" \
        USAGE_REMOTE_LOG( \
        "\n\t-R HOST[:PORT]\tLog to IP or hostname on PORT (default PORT=514/UDP)\n" \
-       "\t-L\t\tLog locally and via network logging (default is network only)")
+       "\t-L\t\tLog locally and via network logging (default is network only)") \
+       USAGE_IPC_LOG( \
+       "\n\t-C\t\tLog to a circular buffer (read the buffer using logread)")
 #define syslogd_example_usage \
        "$ syslogd -R masterlog:514\n" \
        "$ syslogd -R 192.168.1.1:601\n"
        "Options:\n" \
        "\t-v\tDisplays verbose resource usage information."
 
+#define top_trivial_usage \
+       "[-d <seconds>]"
+#define top_full_usage \
+       "top provides an view of processor activity in real time.\n" \
+       "This utility reads the status for all processes in /proc each <seconds>\n" \
+       "and shows the status for however many processes will fit on the screen.\n" \
+       "This utility will not show processes that are started after program startup,\n" \
+       "but it will show the EXIT status for and PIDs that exit while it is running."
+
 #define touch_trivial_usage \
        "[-c] FILE [FILE ...]"
 #define touch_full_usage \
        "$ tty\n" \
        "/dev/tty2\n"
 
+#define udhcpc_trivial_usage \
+       "[-fqv] [-c CLIENTID] [-H HOSTNAME] [-i INTERFACE]\n[-p file] [-r IP] [-s script]"
+#define udhcpc_full_usage \
+       "\tUsage: udhcpcd [OPTIONS]\n" \
+       "\t-c,\t--clientid=CLIENTID\tClient identifier\n" \
+       "\t-H,\t--hostname=HOSTNAME\tClient hostname\n" \
+       "\t-f,\t--foreground\tDo not fork after getting lease\n" \
+       "\t-i,\t--interface=INTERFACE\tInterface to use (default: eth0)\n" \
+       "\t-n,\t--now\tExit with failure if lease cannot be immediately negotiated.\n" \
+       "\t-p,\t--pidfile=file\tStore process ID of daemon in file\n" \
+       "\t-q,\t--quit\tQuit after obtaining lease\n" \
+       "\t-r,\t--request=IP\tIP address to request (default: none)\n" \
+       "\t-s,\t--script=file\tRun file at dhcp events (default: /usr/share/udhcpc/default.script)\n" \
+       "\t-v,\t--version\tDisplay version"
+
 #ifdef CONFIG_FEATURE_MOUNT_FORCE
   #define USAGE_MOUNT_FORCE(a) a
 #else
        "Options:\n" \
        "\t-R\tRead-only- do not write to the file." 
 
+#define vlock_trivial_usage \
+       "[OPTIONS]"
+#define vlock_full_usage \
+       "Lock a virtual terminal.  A password is required to unlock\n" \
+       "Options:\n" \
+       "\t-a\tLock all VTs"
+
+#define watch_trivial_usage \
+       "[-n <seconds>] COMMAND..."
+#define watch_full_usage \
+       "Executes a program periodically.\n" \
+       "Options:\n" \
+       "\t-n\tLoop period in seconds - default is 2." 
+#define watch_example_usage \
+       "$ watch date\n" \
+       "Mon Dec 17 10:31:40 GMT 2000\n" \
+       "Mon Dec 17 10:31:42 GMT 2000\n" \
+       "Mon Dec 17 10:31:44 GMT 2000" 
+
 #define watchdog_trivial_usage \
        "DEV"
 #define watchdog_full_usage \
        "     31      46    1365 /etc/passwd\n" 
 
 #define wget_trivial_usage \
-       "[-c|--continue] [-q|--quiet] [-O|--output-document file]\n\t[--header 'header: value'] [-P DIR] url"
+       "[-c|--continue] [-q|--quiet] [-O|--output-document file]\n\t[--header 'header: value'] [-Y|--proxy on/off] [-P DIR] url"
 #define wget_full_usage \
        "wget retrieves files via HTTP or FTP\n\n" \
        "Options:\n" \
        "\t-c\tcontinue retrieval of aborted transfers\n" \
        "\t-q\tquiet mode - do not print\n" \
        "\t-P\tSet directory prefix to DIR\n" \
-       "\t-O\tsave to filename ('-' for stdout)"
+       "\t-O\tsave to filename ('-' for stdout)\n" \
+       "\t-Y\tuse proxy ('on' or 'off')"
 
 #define which_trivial_usage \
        "[COMMAND ...]"
 #define which_example_usage \
        "$ which login\n" \
        "/bin/login\n"
+#define who_trivial_usage \
+        " "
+#define who_full_usage \
+        "Prints the current user names and related information"
 
 #define whoami_trivial_usage \
        ""