diff options
| author | Denis Vlasenko <vda.linux@googlemail.com> | 2006-09-27 23:31:08 +0000 |
|---|---|---|
| committer | Denis Vlasenko <vda.linux@googlemail.com> | 2006-09-27 23:31:08 +0000 |
| commit | ce97960a6e7da4d9fc7a003c9138aec5e4e55a96 (patch) | |
| tree | c85ed57fad4e98e833f16d5657efce53acc79895 /include | |
| parent | c16bd212e341598452b7885d9e4ac2064f417673 (diff) | |
| download | busybox-w32-ce97960a6e7da4d9fc7a003c9138aec5e4e55a96.tar.gz busybox-w32-ce97960a6e7da4d9fc7a003c9138aec5e4e55a96.tar.bz2 busybox-w32-ce97960a6e7da4d9fc7a003c9138aec5e4e55a96.zip | |
usage.h: remove ugly tricks. We have USE_FEATURE_xxx now.
Few bugs are now exposed...
Diffstat (limited to 'include')
| -rw-r--r-- | include/usage.h | 343 |
1 files changed, 75 insertions, 268 deletions
diff --git a/include/usage.h b/include/usage.h index 36739c712..db608003d 100644 --- a/include/usage.h +++ b/include/usage.h | |||
| @@ -1129,18 +1129,12 @@ USE_FEATURE_DATE_ISOFMT( \ | |||
| 1129 | "\t-u\tthe hardware clock is kept in coordinated universal time\n" \ | 1129 | "\t-u\tthe hardware clock is kept in coordinated universal time\n" \ |
| 1130 | "\t-l\tthe hardware clock is kept in local time" | 1130 | "\t-l\tthe hardware clock is kept in local time" |
| 1131 | 1131 | ||
| 1132 | #ifdef CONFIG_SELINUX | ||
| 1133 | # define USAGE_SELINUX(a) a | ||
| 1134 | #else | ||
| 1135 | # define USAGE_SELINUX(a) | ||
| 1136 | #endif | ||
| 1137 | |||
| 1138 | #define id_trivial_usage \ | 1132 | #define id_trivial_usage \ |
| 1139 | "[OPTIONS]... [USERNAME]" | 1133 | "[OPTIONS]... [USERNAME]" |
| 1140 | #define id_full_usage \ | 1134 | #define id_full_usage \ |
| 1141 | "Print information for USERNAME or the current user\n\n" \ | 1135 | "Print information for USERNAME or the current user\n\n" \ |
| 1142 | "Options:\n" \ | 1136 | "Options:\n" \ |
| 1143 | USAGE_SELINUX("\t-c\tprints only the security context\n") \ | 1137 | USE_SELINUX("\t-c\tprints only the security context\n") \ |
| 1144 | "\t-g\tprints only the group ID\n" \ | 1138 | "\t-g\tprints only the group ID\n" \ |
| 1145 | "\t-u\tprints only the user ID\n" \ | 1139 | "\t-u\tprints only the user ID\n" \ |
| 1146 | "\t-n\tprint a name instead of a number\n" \ | 1140 | "\t-n\tprint a name instead of a number\n" \ |
| @@ -1149,47 +1143,21 @@ USE_FEATURE_DATE_ISOFMT( \ | |||
| 1149 | "$ id\n" \ | 1143 | "$ id\n" \ |
| 1150 | "uid=1000(andersen) gid=1000(andersen)\n" | 1144 | "uid=1000(andersen) gid=1000(andersen)\n" |
| 1151 | 1145 | ||
| 1152 | #ifdef CONFIG_FEATURE_IFCONFIG_SLIP | ||
| 1153 | # define USAGE_SIOCSKEEPALIVE(a) a | ||
| 1154 | #else | ||
| 1155 | # define USAGE_SIOCSKEEPALIVE(a) | ||
| 1156 | #endif | ||
| 1157 | #ifdef CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ | ||
| 1158 | # define USAGE_IFCONFIG_MII(a) a | ||
| 1159 | #else | ||
| 1160 | # define USAGE_IFCONFIG_MII(a) | ||
| 1161 | #endif | ||
| 1162 | #ifdef CONFIG_FEATURE_IFCONFIG_HW | ||
| 1163 | # define USAGE_IFCONFIG_HW(a) a | ||
| 1164 | #else | ||
| 1165 | # define USAGE_IFCONFIG_HW(a) | ||
| 1166 | #endif | ||
| 1167 | #ifdef CONFIG_FEATURE_IFCONFIG_STATUS | ||
| 1168 | # define USAGE_IFCONFIG_OPT_A(a) a | ||
| 1169 | #else | ||
| 1170 | # define USAGE_IFCONFIG_OPT_A(a) | ||
| 1171 | #endif | ||
| 1172 | #ifdef CONFIG_FEATURE_IPV6 | ||
| 1173 | # define USAGE_IPV6(a) a | ||
| 1174 | #else | ||
| 1175 | # define USAGE_IPV6(a) | ||
| 1176 | #endif | ||
| 1177 | |||
| 1178 | #define ifconfig_trivial_usage \ | 1146 | #define ifconfig_trivial_usage \ |
| 1179 | USAGE_IFCONFIG_OPT_A("[-a]") " <interface> [<address>]" | 1147 | USE_FEATURE_IFCONFIG_STATUS("[-a]") " <interface> [<address>]" |
| 1180 | #define ifconfig_full_usage \ | 1148 | #define ifconfig_full_usage \ |
| 1181 | "configure a network interface\n\n" \ | 1149 | "configure a network interface\n\n" \ |
| 1182 | "Options:\n" \ | 1150 | "Options:\n" \ |
| 1183 | USAGE_IPV6("\t[add <address>[/<prefixlen>]]\n") \ | 1151 | USE_FEATURE_IPV6("\t[add <address>[/<prefixlen>]]\n") \ |
| 1184 | USAGE_IPV6("\t[del <address>[/<prefixlen>]]\n") \ | 1152 | USE_FEATURE_IPV6("\t[del <address>[/<prefixlen>]]\n") \ |
| 1185 | "\t[[-]broadcast [<address>]] [[-]pointopoint [<address>]]\n" \ | 1153 | "\t[[-]broadcast [<address>]] [[-]pointopoint [<address>]]\n" \ |
| 1186 | "\t[netmask <address>] [dstaddr <address>]\n" \ | 1154 | "\t[netmask <address>] [dstaddr <address>]\n" \ |
| 1187 | USAGE_SIOCSKEEPALIVE("\t[outfill <NN>] [keepalive <NN>]\n") \ | 1155 | USE_FEATURE_IFCONFIG_SLIP("\t[outfill <NN>] [keepalive <NN>]\n") \ |
| 1188 | "\t" USAGE_IFCONFIG_HW("[hw ether <address>] ") \ | 1156 | "\t" USE_FEATURE_IFCONFIG_HW("[hw ether <address>] ") \ |
| 1189 | "[metric <NN>] [mtu <NN>]\n" \ | 1157 | "[metric <NN>] [mtu <NN>]\n" \ |
| 1190 | "\t[[-]trailers] [[-]arp] [[-]allmulti]\n" \ | 1158 | "\t[[-]trailers] [[-]arp] [[-]allmulti]\n" \ |
| 1191 | "\t[multicast] [[-]promisc] [txqueuelen <NN>] [[-]dynamic]\n" \ | 1159 | "\t[multicast] [[-]promisc] [txqueuelen <NN>] [[-]dynamic]\n" \ |
| 1192 | USAGE_IFCONFIG_MII("\t[mem_start <NN>] [io_addr <NN>] [irq <NN>]\n") \ | 1160 | USE_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ("\t[mem_start <NN>] [io_addr <NN>] [irq <NN>]\n") \ |
| 1193 | "\t[up|down] ..." | 1161 | "\t[up|down] ..." |
| 1194 | 1162 | ||
| 1195 | #define ifup_trivial_usage \ | 1163 | #define ifup_trivial_usage \ |
| @@ -1360,11 +1328,6 @@ USE_FEATURE_DATE_ISOFMT( \ | |||
| 1360 | " ::shutdown:/bin/umount -a -r\n" \ | 1328 | " ::shutdown:/bin/umount -a -r\n" \ |
| 1361 | " ::shutdown:/sbin/swapoff -a\n" | 1329 | " ::shutdown:/sbin/swapoff -a\n" |
| 1362 | 1330 | ||
| 1363 | #ifdef CONFIG_FEATURE_INSMOD_LOAD_MAP | ||
| 1364 | # define USAGE_INSMOD_MAP(a) a | ||
| 1365 | #else | ||
| 1366 | # define USAGE_INSMOD_MAP(a) | ||
| 1367 | #endif | ||
| 1368 | #define insmod_trivial_usage \ | 1331 | #define insmod_trivial_usage \ |
| 1369 | "[OPTION]... MODULE [symbol=value]..." | 1332 | "[OPTION]... MODULE [symbol=value]..." |
| 1370 | #define insmod_full_usage \ | 1333 | #define insmod_full_usage \ |
| @@ -1375,7 +1338,7 @@ USE_FEATURE_DATE_ISOFMT( \ | |||
| 1375 | "\t-v\tverbose output\n" \ | 1338 | "\t-v\tverbose output\n" \ |
| 1376 | "\t-q\tquiet output\n" \ | 1339 | "\t-q\tquiet output\n" \ |
| 1377 | "\t-L\tLock to prevent simultaneous loads of a module\n" \ | 1340 | "\t-L\tLock to prevent simultaneous loads of a module\n" \ |
| 1378 | USAGE_INSMOD_MAP("\t-m\tOutput load map to stdout\n") \ | 1341 | USE_FEATURE_INSMOD_LOAD_MAP("\t-m\tOutput load map to stdout\n") \ |
| 1379 | "\t-o NAME\tSet internal module name to NAME\n" \ | 1342 | "\t-o NAME\tSet internal module name to NAME\n" \ |
| 1380 | "\t-x\tdo not export externs" | 1343 | "\t-x\tdo not export externs" |
| 1381 | 1344 | ||
| @@ -1411,11 +1374,6 @@ USE_FEATURE_DATE_ISOFMT( \ | |||
| 1411 | "\t\t\t[ label STRING ] [ scope SCOPE-ID ]\n" \ | 1374 | "\t\t\t[ label STRING ] [ scope SCOPE-ID ]\n" \ |
| 1412 | "\t\t\tSCOPE-ID := [ host | link | global | NUMBER ]" | 1375 | "\t\t\tSCOPE-ID := [ host | link | global | NUMBER ]" |
| 1413 | 1376 | ||
| 1414 | #ifdef CONFIG_FEATURE_IPCALC_FANCY | ||
| 1415 | # define XUSAGE_IPCALC_FANCY(a) a | ||
| 1416 | #else | ||
| 1417 | # define XUSAGE_IPCALC_FANCY(a) | ||
| 1418 | #endif | ||
| 1419 | #define ipcalc_trivial_usage \ | 1377 | #define ipcalc_trivial_usage \ |
| 1420 | "[OPTION]... <ADDRESS>[[/]<NETMASK>] [NETMASK]" | 1378 | "[OPTION]... <ADDRESS>[[/]<NETMASK>] [NETMASK]" |
| 1421 | #define ipcalc_full_usage \ | 1379 | #define ipcalc_full_usage \ |
| @@ -1424,7 +1382,7 @@ USE_FEATURE_DATE_ISOFMT( \ | |||
| 1424 | "\t-b\t--broadcast\tDisplay calculated broadcast address\n" \ | 1382 | "\t-b\t--broadcast\tDisplay calculated broadcast address\n" \ |
| 1425 | "\t-n\t--network\tDisplay calculated network address\n" \ | 1383 | "\t-n\t--network\tDisplay calculated network address\n" \ |
| 1426 | "\t-m\t--netmask\tDisplay default netmask for IP" \ | 1384 | "\t-m\t--netmask\tDisplay default netmask for IP" \ |
| 1427 | XUSAGE_IPCALC_FANCY( \ | 1385 | USE_FEATURE_IPCALC_FANCY( \ |
| 1428 | "\n\t-p\t--prefix\tDisplay the prefix for IP/NETMASK\n" \ | 1386 | "\n\t-p\t--prefix\tDisplay the prefix for IP/NETMASK\n" \ |
| 1429 | "\t-h\t--hostname\tDisplay first resolved host name\n" \ | 1387 | "\t-h\t--hostname\tDisplay first resolved host name\n" \ |
| 1430 | "\t-s\t--silent\tDon't ever display error messages") | 1388 | "\t-s\t--silent\tDon't ever display error messages") |
| @@ -1637,44 +1595,15 @@ USE_FEATURE_DATE_ISOFMT( \ | |||
| 1637 | "Two arguments (losetup /dev/loop1 file.img) create a new association,\n" \ | 1595 | "Two arguments (losetup /dev/loop1 file.img) create a new association,\n" \ |
| 1638 | "with an optional offset (-o 12345). Encryption is not yet supported.\n\n" | 1596 | "with an optional offset (-o 12345). Encryption is not yet supported.\n\n" |
| 1639 | 1597 | ||
| 1640 | #ifdef CONFIG_FEATURE_LS_TIMESTAMPS | ||
| 1641 | # define USAGE_LS_TIMESTAMPS(a) a | ||
| 1642 | #else | ||
| 1643 | # define USAGE_LS_TIMESTAMPS(a) | ||
| 1644 | #endif | ||
| 1645 | #ifdef CONFIG_FEATURE_LS_FILETYPES | ||
| 1646 | # define USAGE_LS_FILETYPES(a) a | ||
| 1647 | #else | ||
| 1648 | # define USAGE_LS_FILETYPES(a) | ||
| 1649 | #endif | ||
| 1650 | #ifdef CONFIG_FEATURE_LS_FOLLOWLINKS | ||
| 1651 | # define USAGE_LS_FOLLOWLINKS(a) a | ||
| 1652 | #else | ||
| 1653 | # define USAGE_LS_FOLLOWLINKS(a) | ||
| 1654 | #endif | ||
| 1655 | #ifdef CONFIG_FEATURE_LS_RECURSIVE | ||
| 1656 | # define USAGE_LS_RECURSIVE(a) a | ||
| 1657 | #else | ||
| 1658 | # define USAGE_LS_RECURSIVE(a) | ||
| 1659 | #endif | ||
| 1660 | #ifdef CONFIG_FEATURE_LS_SORTFILES | ||
| 1661 | # define USAGE_LS_SORTFILES(a) a | ||
| 1662 | #else | ||
| 1663 | # define USAGE_LS_SORTFILES(a) | ||
| 1664 | #endif | ||
| 1665 | #ifdef CONFIG_FEATURE_AUTOWIDTH | ||
| 1666 | # define USAGE_AUTOWIDTH(a) a | ||
| 1667 | #else | ||
| 1668 | # define USAGE_AUTOWIDTH(a) | ||
| 1669 | #endif | ||
| 1670 | #ifdef CONFIG_FEATURE_LS_COLOR | ||
| 1671 | #define USAGE_LS_COLOR(a) a | ||
| 1672 | #else | ||
| 1673 | #define USAGE_LS_COLOR(a) | ||
| 1674 | #endif | ||
| 1675 | |||
| 1676 | #define ls_trivial_usage \ | 1598 | #define ls_trivial_usage \ |
| 1677 | "[-1Aa" USAGE_LS_TIMESTAMPS("c") "Cd" USAGE_LS_TIMESTAMPS("e") USAGE_LS_FILETYPES("F") "iln" USAGE_LS_FILETYPES("p") USAGE_LS_FOLLOWLINKS("L") USAGE_LS_RECURSIVE("R") USAGE_LS_SORTFILES("rS") "s" USAGE_AUTOWIDTH("T") USAGE_LS_TIMESTAMPS("tu") USAGE_LS_SORTFILES("v") USAGE_AUTOWIDTH("w") "x" USAGE_LS_SORTFILES("X") USE_FEATURE_HUMAN_READABLE("h") "k" USAGE_SELINUX("K") "] [filenames...]" | 1599 | "[-1Aa" USE_FEATURE_LS_TIMESTAMPS("c") "Cd" \ |
| 1600 | USE_FEATURE_LS_TIMESTAMPS("e") USE_FEATURE_LS_FILETYPES("F") "iln" \ | ||
| 1601 | USE_FEATURE_LS_FILETYPES("p") USE_FEATURE_LS_FOLLOWLINKS("L") \ | ||
| 1602 | USE_FEATURE_LS_RECURSIVE("R") USE_FEATURE_LS_SORTFILES("rS") "s" \ | ||
| 1603 | USE_FEATURE_AUTOWIDTH("T") USE_FEATURE_LS_TIMESTAMPS("tu") \ | ||
| 1604 | USE_FEATURE_LS_SORTFILES("v") USE_FEATURE_AUTOWIDTH("w") "x" \ | ||
| 1605 | USE_FEATURE_LS_SORTFILES("X") USE_FEATURE_HUMAN_READABLE("h") "k" \ | ||
| 1606 | USE_SELINUX("K") "] [filenames...]" | ||
| 1678 | #define ls_full_usage \ | 1607 | #define ls_full_usage \ |
| 1679 | "List directory contents\n\n" \ | 1608 | "List directory contents\n\n" \ |
| 1680 | "Options:\n" \ | 1609 | "Options:\n" \ |
| @@ -1682,31 +1611,31 @@ USE_FEATURE_DATE_ISOFMT( \ | |||
| 1682 | "\t-A\tdo not list implied . and ..\n" \ | 1611 | "\t-A\tdo not list implied . and ..\n" \ |
| 1683 | "\t-a\tdo not hide entries starting with .\n" \ | 1612 | "\t-a\tdo not hide entries starting with .\n" \ |
| 1684 | "\t-C\tlist entries by columns\n" \ | 1613 | "\t-C\tlist entries by columns\n" \ |
| 1685 | USAGE_LS_TIMESTAMPS("\t-c\twith -l: show ctime\n") \ | 1614 | USE_FEATURE_LS_TIMESTAMPS("\t-c\twith -l: show ctime\n") \ |
| 1686 | USAGE_LS_COLOR("\t--color[={always,never,auto}]\tto control coloring\n") \ | 1615 | USE_FEATURE_LS_COLOR("\t--color[={always,never,auto}]\tto control coloring\n") \ |
| 1687 | "\t-d\tlist directory entries instead of contents\n" \ | 1616 | "\t-d\tlist directory entries instead of contents\n" \ |
| 1688 | USAGE_LS_TIMESTAMPS("\t-e\tlist both full date and full time\n") \ | 1617 | USE_FEATURE_LS_TIMESTAMPS("\t-e\tlist both full date and full time\n") \ |
| 1689 | USAGE_LS_FILETYPES("\t-F\tappend indicator (one of */=@|) to entries\n") \ | 1618 | USE_FEATURE_LS_FILETYPES("\t-F\tappend indicator (one of */=@|) to entries\n") \ |
| 1690 | "\t-i\tlist the i-node for each file\n" \ | 1619 | "\t-i\tlist the i-node for each file\n" \ |
| 1691 | "\t-l\tuse a long listing format\n" \ | 1620 | "\t-l\tuse a long listing format\n" \ |
| 1692 | "\t-n\tlist numeric UIDs and GIDs instead of names\n" \ | 1621 | "\t-n\tlist numeric UIDs and GIDs instead of names\n" \ |
| 1693 | USAGE_LS_FILETYPES("\t-p\tappend indicator (one of /=@|) to entries\n") \ | 1622 | USE_FEATURE_LS_FILETYPES("\t-p\tappend indicator (one of /=@|) to entries\n") \ |
| 1694 | USAGE_LS_FOLLOWLINKS("\t-L\tlist entries pointed to by symbolic links\n") \ | 1623 | USE_FEATURE_LS_FOLLOWLINKS("\t-L\tlist entries pointed to by symbolic links\n") \ |
| 1695 | USAGE_LS_RECURSIVE("\t-R\tlist subdirectories recursively\n") \ | 1624 | USE_FEATURE_LS_RECURSIVE("\t-R\tlist subdirectories recursively\n") \ |
| 1696 | USAGE_LS_SORTFILES("\t-r\tsort the listing in reverse order\n") \ | 1625 | USE_FEATURE_LS_SORTFILES("\t-r\tsort the listing in reverse order\n") \ |
| 1697 | USAGE_LS_SORTFILES("\t-S\tsort the listing by file size\n") \ | 1626 | USE_FEATURE_LS_SORTFILES("\t-S\tsort the listing by file size\n") \ |
| 1698 | "\t-s\tlist the size of each file, in blocks\n" \ | 1627 | "\t-s\tlist the size of each file, in blocks\n" \ |
| 1699 | USAGE_AUTOWIDTH("\t-T NUM\tassume Tabstop every NUM columns\n") \ | 1628 | USE_FEATURE_AUTOWIDTH("\t-T NUM\tassume Tabstop every NUM columns\n") \ |
| 1700 | USAGE_LS_TIMESTAMPS("\t-t\twith -l: show modification time\n") \ | 1629 | USE_FEATURE_LS_TIMESTAMPS("\t-t\twith -l: show modification time\n") \ |
| 1701 | USAGE_LS_TIMESTAMPS("\t-u\twith -l: show access time\n") \ | 1630 | USE_FEATURE_LS_TIMESTAMPS("\t-u\twith -l: show access time\n") \ |
| 1702 | USAGE_LS_SORTFILES("\t-v\tsort the listing by version\n") \ | 1631 | USE_FEATURE_LS_SORTFILES("\t-v\tsort the listing by version\n") \ |
| 1703 | USAGE_AUTOWIDTH("\t-w NUM\tassume the terminal is NUM columns wide\n") \ | 1632 | USE_FEATURE_AUTOWIDTH("\t-w NUM\tassume the terminal is NUM columns wide\n") \ |
| 1704 | "\t-x\tlist entries by lines instead of by columns\n" \ | 1633 | "\t-x\tlist entries by lines instead of by columns\n" \ |
| 1705 | USAGE_LS_SORTFILES("\t-X\tsort the listing by extension\n") \ | 1634 | USE_FEATURE_LS_SORTFILES("\t-X\tsort the listing by extension\n") \ |
| 1706 | USE_FEATURE_HUMAN_READABLE( \ | 1635 | USE_FEATURE_HUMAN_READABLE( \ |
| 1707 | "\t-h\tprint sizes in human readable format (e.g., 1K 243M 2G )\n") \ | 1636 | "\t-h\tprint sizes in human readable format (e.g., 1K 243M 2G )\n") \ |
| 1708 | USAGE_SELINUX("\t-k\tprint security context\n") \ | 1637 | USE_SELINUX("\t-k\tprint security context\n") \ |
| 1709 | USAGE_SELINUX("\t-K\tprint security context in long format\n") | 1638 | USE_SELINUX("\t-K\tprint security context in long format\n") |
| 1710 | 1639 | ||
| 1711 | #define lsattr_trivial_usage \ | 1640 | #define lsattr_trivial_usage \ |
| 1712 | "[-Radlv] [files...]" | 1641 | "[-Radlv] [files...]" |
| @@ -1780,20 +1709,14 @@ USE_FEATURE_DATE_ISOFMT( \ | |||
| 1780 | "/dev/hda[0-15]\n" | 1709 | "/dev/hda[0-15]\n" |
| 1781 | #endif | 1710 | #endif |
| 1782 | 1711 | ||
| 1783 | #ifdef CONFIG_FEATURE_MD5_SHA1_SUM_CHECK | ||
| 1784 | #define USAGE_MD5_SHA1_SUM_CHECK(a) a | ||
| 1785 | #else | ||
| 1786 | #define USAGE_MD5_SHA1_SUM_CHECK(a) | ||
| 1787 | #endif | ||
| 1788 | |||
| 1789 | #define md5sum_trivial_usage \ | 1712 | #define md5sum_trivial_usage \ |
| 1790 | "[OPTION] [FILEs...]" \ | 1713 | "[OPTION] [FILEs...]" \ |
| 1791 | USAGE_MD5_SHA1_SUM_CHECK("\n or: md5sum [OPTION] -c [FILE]") | 1714 | USE_FEATURE_MD5_SHA1_SUM_CHECK("\n or: md5sum [OPTION] -c [FILE]") |
| 1792 | #define md5sum_full_usage \ | 1715 | #define md5sum_full_usage \ |
| 1793 | "Print" USAGE_MD5_SHA1_SUM_CHECK(" or check") " MD5 checksums.\n\n" \ | 1716 | "Print" USE_FEATURE_MD5_SHA1_SUM_CHECK(" or check") " MD5 checksums.\n\n" \ |
| 1794 | "Options:\n" \ | 1717 | "Options:\n" \ |
| 1795 | "With no FILE, or when FILE is -, read standard input." \ | 1718 | "With no FILE, or when FILE is -, read standard input." \ |
| 1796 | USAGE_MD5_SHA1_SUM_CHECK("\n\n" \ | 1719 | USE_FEATURE_MD5_SHA1_SUM_CHECK("\n\n" \ |
| 1797 | "\t-c\tcheck MD5 sums against given list\n" \ | 1720 | "\t-c\tcheck MD5 sums against given list\n" \ |
| 1798 | "\nThe following two options are useful only when verifying checksums:\n" \ | 1721 | "\nThe following two options are useful only when verifying checksums:\n" \ |
| 1799 | "\t-s\tdon't output anything, status code shows success\n" \ | 1722 | "\t-s\tdon't output anything, status code shows success\n" \ |
| @@ -2216,11 +2139,6 @@ USE_FEATURE_MDEV_CONFIG( \ | |||
| 2216 | #define openvt_example_usage \ | 2139 | #define openvt_example_usage \ |
| 2217 | "openvt 2 /bin/ash\n" | 2140 | "openvt 2 /bin/ash\n" |
| 2218 | 2141 | ||
| 2219 | #ifdef CONFIG_FEATURE_SHA1_PASSWORDS | ||
| 2220 | # define PASSWORD_ALG_TYPES(a) a | ||
| 2221 | #else | ||
| 2222 | # define PASSWORD_ALG_TYPES(a) | ||
| 2223 | #endif | ||
| 2224 | #define passwd_trivial_usage \ | 2142 | #define passwd_trivial_usage \ |
| 2225 | "[OPTION] [name]" | 2143 | "[OPTION] [name]" |
| 2226 | #define passwd_full_usage \ | 2144 | #define passwd_full_usage \ |
| @@ -2229,8 +2147,8 @@ USE_FEATURE_MDEV_CONFIG( \ | |||
| 2229 | "Options:\n" \ | 2147 | "Options:\n" \ |
| 2230 | "\t-a\tDefine which algorithm shall be used for the password\n" \ | 2148 | "\t-a\tDefine which algorithm shall be used for the password\n" \ |
| 2231 | "\t\t\t(Choices: des, md5" \ | 2149 | "\t\t\t(Choices: des, md5" \ |
| 2232 | PASSWORD_ALG_TYPES(", sha1") \ | 2150 | USE_FEATURE_SHA1_PASSWORDS(", sha1") ")\n" \ |
| 2233 | ")\n\t-d\tDelete the password for the specified user account\n" \ | 2151 | "\t-d\tDelete the password for the specified user account\n" \ |
| 2234 | "\t-l\tLocks (disables) the specified user account\n" \ | 2152 | "\t-l\tLocks (disables) the specified user account\n" \ |
| 2235 | "\t-u\tUnlocks (re-enables) the specified user account" | 2153 | "\t-u\tUnlocks (re-enables) the specified user account" |
| 2236 | 2154 | ||
| @@ -2368,7 +2286,7 @@ USE_FEATURE_MDEV_CONFIG( \ | |||
| 2368 | #define ps_full_usage \ | 2286 | #define ps_full_usage \ |
| 2369 | "Report process status\n" \ | 2287 | "Report process status\n" \ |
| 2370 | USAGE_PS \ | 2288 | USAGE_PS \ |
| 2371 | USAGE_SELINUX("\n\t-c\tshow SE Linux context") \ | 2289 | USE_SELINUX("\n\t-c\tshow SE Linux context") \ |
| 2372 | USAGE_PS_WIDE("\n\tw\twide output") | 2290 | USAGE_PS_WIDE("\n\tw\twide output") |
| 2373 | 2291 | ||
| 2374 | #define ps_example_usage \ | 2292 | #define ps_example_usage \ |
| @@ -2406,17 +2324,11 @@ USE_FEATURE_MDEV_CONFIG( \ | |||
| 2406 | "Preloads FILE(s) in RAM cache so that subsequent reads for those" \ | 2324 | "Preloads FILE(s) in RAM cache so that subsequent reads for those" \ |
| 2407 | "files do not block on disk I/O." | 2325 | "files do not block on disk I/O." |
| 2408 | 2326 | ||
| 2409 | #ifdef CONFIG_FEATURE_READLINK_FOLLOW | ||
| 2410 | #define USAGE_READLINK_FOLLOW(a) a | ||
| 2411 | #else | ||
| 2412 | #define USAGE_READLINK_FOLLOW(a) | ||
| 2413 | #endif | ||
| 2414 | |||
| 2415 | #define readlink_trivial_usage \ | 2327 | #define readlink_trivial_usage \ |
| 2416 | USAGE_READLINK_FOLLOW("[-f] ") "FILE" | 2328 | USE_FEATURE_READLINK_FOLLOW("[-f] ") "FILE" |
| 2417 | #define readlink_full_usage \ | 2329 | #define readlink_full_usage \ |
| 2418 | "Displays the value of a symbolic link." \ | 2330 | "Displays the value of a symbolic link." \ |
| 2419 | USAGE_READLINK_FOLLOW("\n\nOptions:\n" \ | 2331 | USE_FEATURE_READLINK_FOLLOW("\n\nOptions:\n" \ |
| 2420 | "\t-f\tcanonicalize by following all symlinks") | 2332 | "\t-f\tcanonicalize by following all symlinks") |
| 2421 | 2333 | ||
| 2422 | #define readprofile_trivial_usage \ | 2334 | #define readprofile_trivial_usage \ |
| @@ -2491,13 +2403,6 @@ USE_FEATURE_MDEV_CONFIG( \ | |||
| 2491 | #define rmmod_example_usage \ | 2403 | #define rmmod_example_usage \ |
| 2492 | "$ rmmod tulip\n" | 2404 | "$ rmmod tulip\n" |
| 2493 | 2405 | ||
| 2494 | #ifdef CONFIG_FEATURE_IPV6 | ||
| 2495 | # define USAGE_ROUTE_IPV6(a) a | ||
| 2496 | #else | ||
| 2497 | # define USAGE_ROUTE_IPV6(a) "\t" | ||
| 2498 | #endif | ||
| 2499 | |||
| 2500 | |||
| 2501 | #define route_trivial_usage \ | 2406 | #define route_trivial_usage \ |
| 2502 | "[{add|del|delete}]" | 2407 | "[{add|del|delete}]" |
| 2503 | #define route_full_usage \ | 2408 | #define route_full_usage \ |
| @@ -2505,7 +2410,7 @@ USE_FEATURE_MDEV_CONFIG( \ | |||
| 2505 | "Options:\n" \ | 2410 | "Options:\n" \ |
| 2506 | "\t-n\t\tDont resolve names\n" \ | 2411 | "\t-n\t\tDont resolve names\n" \ |
| 2507 | "\t-e\t\tDisplay other/more information\n" \ | 2412 | "\t-e\t\tDisplay other/more information\n" \ |
| 2508 | "\t-A inet" USAGE_ROUTE_IPV6("{6}") "\tSelect address family" | 2413 | "\t-A inet" USE_FEATURE_ROUTE_IPV6("{6}") "\tSelect address family" |
| 2509 | 2414 | ||
| 2510 | #define rpm_trivial_usage \ | 2415 | #define rpm_trivial_usage \ |
| 2511 | "-i -q[ildc]p package.rpm" | 2416 | "-i -q[ildc]p package.rpm" |
| @@ -2630,36 +2535,28 @@ USE_FEATURE_MDEV_CONFIG( \ | |||
| 2630 | 2535 | ||
| 2631 | #define sha1sum_trivial_usage \ | 2536 | #define sha1sum_trivial_usage \ |
| 2632 | "[OPTION] [FILEs...]" \ | 2537 | "[OPTION] [FILEs...]" \ |
| 2633 | USAGE_MD5_SHA1_SUM_CHECK("\n or: sha1sum [OPTION] -c [FILE]") | 2538 | USE_FEATURE_MD5_SHA1_SUM_CHECK("\n or: sha1sum [OPTION] -c [FILE]") |
| 2634 | #define sha1sum_full_usage \ | 2539 | #define sha1sum_full_usage \ |
| 2635 | "Print" USAGE_MD5_SHA1_SUM_CHECK(" or check") " SHA1 checksums.\n\n" \ | 2540 | "Print" USE_FEATURE_MD5_SHA1_SUM_CHECK(" or check") " SHA1 checksums.\n\n" \ |
| 2636 | "Options:\n" \ | 2541 | "Options:\n" \ |
| 2637 | "With no FILE, or when FILE is -, read standard input." \ | 2542 | "With no FILE, or when FILE is -, read standard input." \ |
| 2638 | USAGE_MD5_SHA1_SUM_CHECK("\n\n" \ | 2543 | USE_FEATURE_MD5_SHA1_SUM_CHECK("\n\n" \ |
| 2639 | "\t-c\tcheck SHA1 sums against given list\n" \ | 2544 | "\t-c\tcheck SHA1 sums against given list\n" \ |
| 2640 | "\nThe following two options are useful only when verifying checksums:\n" \ | 2545 | "\nThe following two options are useful only when verifying checksums:\n" \ |
| 2641 | "\t-s\tdon't output anything, status code shows success\n" \ | 2546 | "\t-s\tdon't output anything, status code shows success\n" \ |
| 2642 | "\t-w\twarn about improperly formatted SHA1 checksum lines") | 2547 | "\t-w\twarn about improperly formatted SHA1 checksum lines") |
| 2643 | 2548 | ||
| 2644 | #ifdef CONFIG_FEATURE_FANCY_SLEEP | ||
| 2645 | # define USAGE_FANCY_SLEEP(a) a | ||
| 2646 | # define USAGE_NOT_FANCY_SLEEP(a) | ||
| 2647 | #else | ||
| 2648 | # define USAGE_FANCY_SLEEP(a) | ||
| 2649 | # define USAGE_NOT_FANCY_SLEEP(a) a | ||
| 2650 | #endif | ||
| 2651 | |||
| 2652 | #define sleep_trivial_usage \ | 2549 | #define sleep_trivial_usage \ |
| 2653 | USAGE_FANCY_SLEEP("[") "N" USAGE_FANCY_SLEEP("]...") | 2550 | USE_FEATURE_FANCY_SLEEP("[") "N" USE_FEATURE_FANCY_SLEEP("]...") |
| 2654 | #define sleep_full_usage \ | 2551 | #define sleep_full_usage \ |
| 2655 | USAGE_NOT_FANCY_SLEEP("Pause for N seconds.") \ | 2552 | SKIP_FEATURE_FANCY_SLEEP("Pause for N seconds.") \ |
| 2656 | USAGE_FANCY_SLEEP( \ | 2553 | USE_FEATURE_FANCY_SLEEP( \ |
| 2657 | "Pause for a time equal to the total of the args given, where each arg can\n" \ | 2554 | "Pause for a time equal to the total of the args given, where each arg can\n" \ |
| 2658 | "\t\thave an optional suffix of (s)econds, (m)inutes, (h)ours, or (d)ays.") | 2555 | "\t\thave an optional suffix of (s)econds, (m)inutes, (h)ours, or (d)ays.") |
| 2659 | #define sleep_example_usage \ | 2556 | #define sleep_example_usage \ |
| 2660 | "$ sleep 2\n" \ | 2557 | "$ sleep 2\n" \ |
| 2661 | "[2 second delay results]\n" \ | 2558 | "[2 second delay results]\n" \ |
| 2662 | USAGE_FANCY_SLEEP("$ sleep 1d 3h 22m 8s\n" \ | 2559 | USE_FEATURE_FANCY_SLEEP("$ sleep 1d 3h 22m 8s\n" \ |
| 2663 | "[98528 second delay results]\n") | 2560 | "[98528 second delay results]\n") |
| 2664 | 2561 | ||
| 2665 | #if ENABLE_FEATURE_SORT_BIG | 2562 | #if ENABLE_FEATURE_SORT_BIG |
| @@ -2733,21 +2630,16 @@ USE_FEATURE_START_STOP_DAEMON_FANCY( \ | |||
| 2733 | "\n\t-s|--signal <signal>\t\tsignal to send (default TERM)" \ | 2630 | "\n\t-s|--signal <signal>\t\tsignal to send (default TERM)" \ |
| 2734 | "\n\t-U|--chuid <username>|<uid>\tstart process with this name" | 2631 | "\n\t-U|--chuid <username>|<uid>\tstart process with this name" |
| 2735 | 2632 | ||
| 2736 | #ifdef CONFIG_FEATURE_STAT_FORMAT | ||
| 2737 | # define USAGE_STAT_FORMAT(a) a | ||
| 2738 | #else | ||
| 2739 | # define USAGE_STAT_FORMAT(a) | ||
| 2740 | #endif | ||
| 2741 | #define stat_trivial_usage \ | 2633 | #define stat_trivial_usage \ |
| 2742 | "[OPTION] FILE..." | 2634 | "[OPTION] FILE..." |
| 2743 | #define stat_full_usage \ | 2635 | #define stat_full_usage \ |
| 2744 | "display file (default) or filesystem status.\n\n" \ | 2636 | "display file (default) or filesystem status.\n\n" \ |
| 2745 | "Options:\n" \ | 2637 | "Options:\n" \ |
| 2746 | USAGE_STAT_FORMAT("\t-c fmt\tuse the specified format\n") \ | 2638 | USE_FEATURE_STAT_FORMAT("\t-c fmt\tuse the specified format\n") \ |
| 2747 | "\t-f\tdisplay filesystem status\n" \ | 2639 | "\t-f\tdisplay filesystem status\n" \ |
| 2748 | "\t-L,-l\tdereference links\n" \ | 2640 | "\t-L,-l\tdereference links\n" \ |
| 2749 | "\t-t\tdisplay info in terse form\n" \ | 2641 | "\t-t\tdisplay info in terse form\n" \ |
| 2750 | USAGE_STAT_FORMAT( \ | 2642 | USE_FEATURE_STAT_FORMAT( \ |
| 2751 | "\nValid format sequences for files:\n" \ | 2643 | "\nValid format sequences for files:\n" \ |
| 2752 | " %a Access rights in octal\n" \ | 2644 | " %a Access rights in octal\n" \ |
| 2753 | " %A Access rights in human readable form\n" \ | 2645 | " %A Access rights in human readable form\n" \ |
| @@ -2862,23 +2754,6 @@ USE_FEATURE_START_STOP_DAEMON_FANCY( \ | |||
| 2862 | #define sync_full_usage \ | 2754 | #define sync_full_usage \ |
| 2863 | "Write all buffered filesystem blocks to disk." | 2755 | "Write all buffered filesystem blocks to disk." |
| 2864 | 2756 | ||
| 2865 | |||
| 2866 | #ifdef CONFIG_FEATURE_ROTATE_LOGFILE | ||
| 2867 | # define USAGE_ROTATE_LOGFILE(a) a | ||
| 2868 | #else | ||
| 2869 | # define USAGE_ROTATE_LOGFILE(a) | ||
| 2870 | #endif | ||
| 2871 | #ifdef CONFIG_FEATURE_REMOTE_LOG | ||
| 2872 | # define USAGE_REMOTE_LOG(a) a | ||
| 2873 | #else | ||
| 2874 | # define USAGE_REMOTE_LOG(a) | ||
| 2875 | #endif | ||
| 2876 | #ifdef CONFIG_FEATURE_IPC_SYSLOG | ||
| 2877 | # define USAGE_IPC_LOG(a) a | ||
| 2878 | #else | ||
| 2879 | # define USAGE_IPC_LOG(a) | ||
| 2880 | #endif | ||
| 2881 | |||
| 2882 | #define sysctl_trivial_usage \ | 2757 | #define sysctl_trivial_usage \ |
| 2883 | "[OPTIONS]... [VALUE]..." | 2758 | "[OPTIONS]... [VALUE]..." |
| 2884 | #define sysctl_full_usage \ | 2759 | #define sysctl_full_usage \ |
| @@ -2906,24 +2781,18 @@ USE_FEATURE_START_STOP_DAEMON_FANCY( \ | |||
| 2906 | "\t-n\t\tRun as a foreground process\n" \ | 2781 | "\t-n\t\tRun as a foreground process\n" \ |
| 2907 | "\t-O FILE\t\tUse an alternate log file (default=/var/log/messages)\n" \ | 2782 | "\t-O FILE\t\tUse an alternate log file (default=/var/log/messages)\n" \ |
| 2908 | "\t-S\t\tMake logging output smaller." \ | 2783 | "\t-S\t\tMake logging output smaller." \ |
| 2909 | USAGE_ROTATE_LOGFILE( \ | 2784 | USE_FEATURE_ROTATE_LOGFILE( \ |
| 2910 | "\n\t-s SIZE\t\tMax size (KB) before rotate (default=200KB, 0=off)\n" \ | 2785 | "\n\t-s SIZE\t\tMax size (KB) before rotate (default=200KB, 0=off)\n" \ |
| 2911 | "\t-b NUM\t\tNumber of rotated logs to keep (default=1, max=99, 0=purge)") \ | 2786 | "\t-b NUM\t\tNumber of rotated logs to keep (default=1, max=99, 0=purge)") \ |
| 2912 | USAGE_REMOTE_LOG( \ | 2787 | USE_FEATURE_REMOTE_LOG( \ |
| 2913 | "\n\t-R HOST[:PORT]\tLog to IP or hostname on PORT (default PORT=514/UDP)\n" \ | 2788 | "\n\t-R HOST[:PORT]\tLog to IP or hostname on PORT (default PORT=514/UDP)\n" \ |
| 2914 | "\t-L\t\tLog locally and via network logging (default is network only)") \ | 2789 | "\t-L\t\tLog locally and via network logging (default is network only)") \ |
| 2915 | USAGE_IPC_LOG( \ | 2790 | USE_FEATURE_IPC_SYSLOG( \ |
| 2916 | "\n\t-C [size(KiB)]\tLog to a circular buffer (read the buffer using logread)") | 2791 | "\n\t-C [size(KiB)]\tLog to a circular buffer (read the buffer using logread)") |
| 2917 | #define syslogd_example_usage \ | 2792 | #define syslogd_example_usage \ |
| 2918 | "$ syslogd -R masterlog:514\n" \ | 2793 | "$ syslogd -R masterlog:514\n" \ |
| 2919 | "$ syslogd -R 192.168.1.1:601\n" | 2794 | "$ syslogd -R 192.168.1.1:601\n" |
| 2920 | 2795 | ||
| 2921 | |||
| 2922 | #ifndef CONFIG_FEATURE_FANCY_TAIL | ||
| 2923 | # define USAGE_UNSIMPLE_TAIL(a) | ||
| 2924 | #else | ||
| 2925 | # define USAGE_UNSIMPLE_TAIL(a) a | ||
| 2926 | #endif | ||
| 2927 | #define tail_trivial_usage \ | 2796 | #define tail_trivial_usage \ |
| 2928 | "[OPTION]... [FILE]..." | 2797 | "[OPTION]... [FILE]..." |
| 2929 | #define tail_full_usage \ | 2798 | #define tail_full_usage \ |
| @@ -2931,10 +2800,10 @@ USE_FEATURE_START_STOP_DAEMON_FANCY( \ | |||
| 2931 | "With more than one FILE, precede each with a header giving the\n" \ | 2800 | "With more than one FILE, precede each with a header giving the\n" \ |
| 2932 | "file name. With no FILE, or when FILE is -, read standard input.\n\n" \ | 2801 | "file name. With no FILE, or when FILE is -, read standard input.\n\n" \ |
| 2933 | "Options:\n" \ | 2802 | "Options:\n" \ |
| 2934 | USAGE_UNSIMPLE_TAIL("\t-c N[kbm]\toutput the last N bytes\n") \ | 2803 | USE_FEATURE_FANCY_TAIL("\t-c N[kbm]\toutput the last N bytes\n") \ |
| 2935 | "\t-n N[kbm]\tprint last N lines instead of last 10\n" \ | 2804 | "\t-n N[kbm]\tprint last N lines instead of last 10\n" \ |
| 2936 | "\t-f\t\toutput data as the file grows" \ | 2805 | "\t-f\t\toutput data as the file grows" \ |
| 2937 | USAGE_UNSIMPLE_TAIL( "\n\t-q\t\tnever output headers giving file names\n" \ | 2806 | USE_FEATURE_FANCY_TAIL( "\n\t-q\t\tnever output headers giving file names\n" \ |
| 2938 | "\t-s SEC\t\twait SEC seconds between reads with -f\n" \ | 2807 | "\t-s SEC\t\twait SEC seconds between reads with -f\n" \ |
| 2939 | "\t-v\t\talways output headers giving file names\n\n" \ | 2808 | "\t-v\t\talways output headers giving file names\n\n" \ |
| 2940 | "If the first character of N (bytes or lines) is a '+', output begins with \n" \ | 2809 | "If the first character of N (bytes or lines) is a '+', output begins with \n" \ |
| @@ -2944,58 +2813,29 @@ USE_FEATURE_START_STOP_DAEMON_FANCY( \ | |||
| 2944 | "$ tail -n 1 /etc/resolv.conf\n" \ | 2813 | "$ tail -n 1 /etc/resolv.conf\n" \ |
| 2945 | "nameserver 10.0.0.1\n" | 2814 | "nameserver 10.0.0.1\n" |
| 2946 | 2815 | ||
| 2947 | #ifdef CONFIG_FEATURE_TAR_CREATE | ||
| 2948 | # define USAGE_TAR_CREATE(a) a | ||
| 2949 | #else | ||
| 2950 | # define USAGE_TAR_CREATE(a) | ||
| 2951 | #endif | ||
| 2952 | #ifdef CONFIG_FEATURE_TAR_EXCLUDE | ||
| 2953 | # define USAGE_TAR_EXCLUDE(a) a | ||
| 2954 | #else | ||
| 2955 | # define USAGE_TAR_EXCLUDE(a) | ||
| 2956 | #endif | ||
| 2957 | #ifdef CONFIG_FEATURE_TAR_GZIP | ||
| 2958 | # define USAGE_TAR_GZIP(a) a | ||
| 2959 | #else | ||
| 2960 | # define USAGE_TAR_GZIP(a) | ||
| 2961 | #endif | ||
| 2962 | #ifdef CONFIG_FEATURE_TAR_BZIP2 | ||
| 2963 | # define USAGE_TAR_BZIP2(a) a | ||
| 2964 | #else | ||
| 2965 | # define USAGE_TAR_BZIP2(a) | ||
| 2966 | #endif | ||
| 2967 | #ifdef CONFIG_FEATURE_TAR_LZMA | ||
| 2968 | # define USAGE_TAR_LZMA(a) a | ||
| 2969 | #else | ||
| 2970 | # define USAGE_TAR_LZMA(a) | ||
| 2971 | #endif | ||
| 2972 | #ifdef CONFIG_FEATURE_TAR_COMPRESS | ||
| 2973 | # define USAGE_TAR_COMPRESS(a) a | ||
| 2974 | #else | ||
| 2975 | # define USAGE_TAR_COMPRESS(a) | ||
| 2976 | #endif | ||
| 2977 | |||
| 2978 | #define tar_trivial_usage \ | 2816 | #define tar_trivial_usage \ |
| 2979 | "-[" USAGE_TAR_CREATE("c") USAGE_TAR_GZIP("z") USAGE_TAR_BZIP2("j") USAGE_TAR_LZMA("a") USAGE_TAR_COMPRESS("Z") "xtvO] " \ | 2817 | "-[" USE_FEATURE_TAR_CREATE("c") USE_FEATURE_TAR_GZIP("z") \ |
| 2980 | USAGE_TAR_EXCLUDE("[-X FILE]") \ | 2818 | USE_FEATURE_TAR_BZIP2("j") USE_FEATURE_TAR_LZMA("a") \ |
| 2819 | USE_FEATURE_TAR_COMPRESS("Z") "xtvO] " \ | ||
| 2820 | USE_FEATURE_TAR_FROM("[-X FILE]") \ | ||
| 2981 | "[-f TARFILE] [-C DIR] [FILE(s)] ..." | 2821 | "[-f TARFILE] [-C DIR] [FILE(s)] ..." |
| 2982 | #define tar_full_usage \ | 2822 | #define tar_full_usage \ |
| 2983 | "Create, extract, or list files from a tar file.\n\n" \ | 2823 | "Create, extract, or list files from a tar file.\n\n" \ |
| 2984 | "Options:\n" \ | 2824 | "Options:\n" \ |
| 2985 | USAGE_TAR_CREATE("\tc\t\tcreate\n") \ | 2825 | USE_FEATURE_TAR_CREATE("\tc\t\tcreate\n") \ |
| 2986 | "\tx\t\textract\n" \ | 2826 | "\tx\t\textract\n" \ |
| 2987 | "\tt\t\tlist\n" \ | 2827 | "\tt\t\tlist\n" \ |
| 2988 | "\nArchive format selection:\n" \ | 2828 | "\nArchive format selection:\n" \ |
| 2989 | USAGE_TAR_GZIP("\tz\t\tFilter the archive through gzip\n") \ | 2829 | USE_FEATURE_TAR_GZIP("\tz\t\tFilter the archive through gzip\n") \ |
| 2990 | USAGE_TAR_BZIP2("\tj\t\tFilter the archive through bzip2\n") \ | 2830 | USE_FEATURE_TAR_BZIP2("\tj\t\tFilter the archive through bzip2\n") \ |
| 2991 | USAGE_TAR_LZMA("\ta\t\tFilter the archive through lzma\n") \ | 2831 | USE_FEATURE_TAR_LZMA("\ta\t\tFilter the archive through lzma\n") \ |
| 2992 | USAGE_TAR_COMPRESS("\tZ\t\tFilter the archive through compress\n") \ | 2832 | USE_FEATURE_TAR_COMPRESS("\tZ\t\tFilter the archive through compress\n") \ |
| 2993 | "\nFile selection:\n" \ | 2833 | "\nFile selection:\n" \ |
| 2994 | "\tf\t\tname of TARFILE or \"-\" for stdin\n" \ | 2834 | "\tf\t\tname of TARFILE or \"-\" for stdin\n" \ |
| 2995 | "\tO\t\textract to stdout\n" \ | 2835 | "\tO\t\textract to stdout\n" \ |
| 2996 | USAGE_TAR_EXCLUDE( \ | 2836 | USE_FEATURE_TAR_FROM( \ |
| 2997 | "\texclude\t\tfile to exclude\n" \ | 2837 | "\texclude\t\tfile to exclude\n" \ |
| 2998 | "\tX\t\tfile with names to exclude\n" \ | 2838 | "\tX\t\tfile with names to exclude\n" \ |
| 2999 | ) \ | 2839 | ) \ |
| 3000 | "\tC\t\tchange to directory DIR before operation\n" \ | 2840 | "\tC\t\tchange to directory DIR before operation\n" \ |
| 3001 | "\tv\t\tverbosely list files processed" | 2841 | "\tv\t\tverbosely list files processed" |
| @@ -3074,22 +2914,6 @@ USE_FEATURE_START_STOP_DAEMON_FANCY( \ | |||
| 3074 | "$ echo $?\n" \ | 2914 | "$ echo $?\n" \ |
| 3075 | "1\n" | 2915 | "1\n" |
| 3076 | 2916 | ||
| 3077 | #ifdef CONFIG_FEATURE_TFTP_GET | ||
| 3078 | # define USAGE_TFTP_GET(a) a | ||
| 3079 | #else | ||
| 3080 | # define USAGE_TFTP_GET(a) | ||
| 3081 | #endif | ||
| 3082 | #ifdef CONFIG_FEATURE_TFTP_PUT | ||
| 3083 | # define USAGE_TFTP_PUT(a) a | ||
| 3084 | #else | ||
| 3085 | # define USAGE_TFTP_PUT(a) | ||
| 3086 | #endif | ||
| 3087 | #ifdef CONFIG_FEATURE_TFTP_BLOCKSIZE | ||
| 3088 | # define USAGE_TFTP_BS(a) a | ||
| 3089 | #else | ||
| 3090 | # define USAGE_TFTP_BS(a) | ||
| 3091 | #endif | ||
| 3092 | |||
| 3093 | #define tftp_trivial_usage \ | 2917 | #define tftp_trivial_usage \ |
| 3094 | "[OPTION]... HOST [PORT]" | 2918 | "[OPTION]... HOST [PORT]" |
| 3095 | #define tftp_full_usage \ | 2919 | #define tftp_full_usage \ |
| @@ -3097,13 +2921,13 @@ USE_FEATURE_START_STOP_DAEMON_FANCY( \ | |||
| 3097 | "Options:\n" \ | 2921 | "Options:\n" \ |
| 3098 | "\t-l FILE\tLocal FILE\n" \ | 2922 | "\t-l FILE\tLocal FILE\n" \ |
| 3099 | "\t-r FILE\tRemote FILE" \ | 2923 | "\t-r FILE\tRemote FILE" \ |
| 3100 | USAGE_TFTP_GET( \ | 2924 | USE_FEATURE_TFTP_GET( \ |
| 3101 | "\n\t-g\tGet file" \ | 2925 | "\n\t-g\tGet file" \ |
| 3102 | ) \ | 2926 | ) \ |
| 3103 | USAGE_TFTP_PUT( \ | 2927 | USE_FEATURE_TFTP_PUT( \ |
| 3104 | "\n\t-p\tPut file" \ | 2928 | "\n\t-p\tPut file" \ |
| 3105 | ) \ | 2929 | ) \ |
| 3106 | USAGE_TFTP_BS( \ | 2930 | USE_FEATURE_TFTP_BLOCKSIZE( \ |
| 3107 | "\n\t-b SIZE\tTransfer blocks of SIZE octets" \ | 2931 | "\n\t-b SIZE\tTransfer blocks of SIZE octets" \ |
| 3108 | ) | 2932 | ) |
| 3109 | #define time_trivial_usage \ | 2933 | #define time_trivial_usage \ |
| @@ -3440,32 +3264,15 @@ USE_FEATURE_START_STOP_DAEMON_FANCY( \ | |||
| 3440 | #define whoami_full_usage \ | 3264 | #define whoami_full_usage \ |
| 3441 | "Prints the user name associated with the current effective user id." | 3265 | "Prints the user name associated with the current effective user id." |
| 3442 | 3266 | ||
| 3443 | #ifdef CONFIG_FEATURE_XARGS_SUPPORT_CONFIRMATION | ||
| 3444 | #define USAGE_XARGS_CONFIRMATION(a) a | ||
| 3445 | #else | ||
| 3446 | #define USAGE_XARGS_CONFIRMATION(a) | ||
| 3447 | #endif | ||
| 3448 | #ifdef CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT | ||
| 3449 | #define USAGE_XARGS_TERMOPT(a) a | ||
| 3450 | #else | ||
| 3451 | #define USAGE_XARGS_TERMOPT(a) | ||
| 3452 | #endif | ||
| 3453 | #ifdef CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM | ||
| 3454 | #define USAGE_XARGS_ZERO_TERM(a) a | ||
| 3455 | #else | ||
| 3456 | #define USAGE_XARGS_ZERO_TERM(a) | ||
| 3457 | #endif | ||
| 3458 | |||
| 3459 | |||
| 3460 | #define xargs_trivial_usage \ | 3267 | #define xargs_trivial_usage \ |
| 3461 | "[COMMAND] [OPTIONS] [ARGS...]" | 3268 | "[OPTIONS] [COMMAND] [ARGS...]" |
| 3462 | #define xargs_full_usage \ | 3269 | #define xargs_full_usage \ |
| 3463 | "Executes COMMAND on every item given by standard input.\n\n" \ | 3270 | "Executes COMMAND on every item given by standard input.\n\n" \ |
| 3464 | "Options:\n" \ | 3271 | "Options:\n" \ |
| 3465 | USAGE_XARGS_CONFIRMATION("\t-p\tPrompt the user about whether to run each command\n") \ | 3272 | USE_FEATURE_XARGS_SUPPORT_CONFIRMATION("\t-p\tPrompt the user about whether to run each command\n") \ |
| 3466 | "\t-r\tDo not run command for empty read lines\n" \ | 3273 | "\t-r\tDo not run command for empty read lines\n" \ |
| 3467 | USAGE_XARGS_TERMOPT("\t-x\tExit if the size is exceeded\n") \ | 3274 | USE_FEATURE_XARGS_SUPPORT_TERMOPT("\t-x\tExit if the size is exceeded\n") \ |
| 3468 | USAGE_XARGS_ZERO_TERM("\t-0\tInput filenames are terminated by a null character\n") \ | 3275 | USE_FEATURE_XARGS_SUPPORT_ZERO_TERM("\t-0\tInput filenames are terminated by a null character\n") \ |
| 3469 | "\t-t\tPrint the command line on stderr before executing it" | 3276 | "\t-t\tPrint the command line on stderr before executing it" |
| 3470 | #define xargs_example_usage \ | 3277 | #define xargs_example_usage \ |
| 3471 | "$ ls | xargs gzip\n" \ | 3278 | "$ ls | xargs gzip\n" \ |
