diff options
| author | Denis Vlasenko <vda.linux@googlemail.com> | 2009-04-21 11:09:40 +0000 |
|---|---|---|
| committer | Denis Vlasenko <vda.linux@googlemail.com> | 2009-04-21 11:09:40 +0000 |
| commit | 5e34ff29bcc870936ab18172f438a34d042d4e03 (patch) | |
| tree | a5e7a528f2f916eb883f1161eadceacdf2dca4be /include | |
| parent | 8b814b4a349e2262c0ad25793b05206a14651ebb (diff) | |
| download | busybox-w32-5e34ff29bcc870936ab18172f438a34d042d4e03.tar.gz busybox-w32-5e34ff29bcc870936ab18172f438a34d042d4e03.tar.bz2 busybox-w32-5e34ff29bcc870936ab18172f438a34d042d4e03.zip | |
*: mass renaming of USE_XXXX to IF_XXXX
and SKIP_XXXX to IF_NOT_XXXX - the second one was especially
badly named. It was not skipping anything!
Diffstat (limited to 'include')
| -rw-r--r-- | include/applets.h | 688 | ||||
| -rw-r--r-- | include/libbb.h | 20 | ||||
| -rw-r--r-- | include/unarchive.h | 18 | ||||
| -rw-r--r-- | include/usage.h | 616 |
4 files changed, 671 insertions, 671 deletions
diff --git a/include/applets.h b/include/applets.h index 1d932589b..820aaffe2 100644 --- a/include/applets.h +++ b/include/applets.h | |||
| @@ -67,358 +67,358 @@ s - suid type: | |||
| 67 | #endif | 67 | #endif |
| 68 | 68 | ||
| 69 | 69 | ||
| 70 | USE_TEST(APPLET_NOFORK([, test, _BB_DIR_USR_BIN, _BB_SUID_NEVER, test)) | 70 | IF_TEST(APPLET_NOFORK([, test, _BB_DIR_USR_BIN, _BB_SUID_NEVER, test)) |
| 71 | USE_TEST(APPLET_NOFORK([[, test, _BB_DIR_USR_BIN, _BB_SUID_NEVER, test)) | 71 | IF_TEST(APPLET_NOFORK([[, test, _BB_DIR_USR_BIN, _BB_SUID_NEVER, test)) |
| 72 | USE_ACPID(APPLET(acpid, _BB_DIR_SBIN, _BB_SUID_NEVER)) | 72 | IF_ACPID(APPLET(acpid, _BB_DIR_SBIN, _BB_SUID_NEVER)) |
| 73 | USE_ADDGROUP(APPLET(addgroup, _BB_DIR_BIN, _BB_SUID_NEVER)) | 73 | IF_ADDGROUP(APPLET(addgroup, _BB_DIR_BIN, _BB_SUID_NEVER)) |
| 74 | USE_ADDUSER(APPLET(adduser, _BB_DIR_BIN, _BB_SUID_NEVER)) | 74 | IF_ADDUSER(APPLET(adduser, _BB_DIR_BIN, _BB_SUID_NEVER)) |
| 75 | USE_ADJTIMEX(APPLET(adjtimex, _BB_DIR_SBIN, _BB_SUID_NEVER)) | 75 | IF_ADJTIMEX(APPLET(adjtimex, _BB_DIR_SBIN, _BB_SUID_NEVER)) |
| 76 | USE_AR(APPLET(ar, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) | 76 | IF_AR(APPLET(ar, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) |
| 77 | USE_ARP(APPLET(arp, _BB_DIR_SBIN, _BB_SUID_NEVER)) | 77 | IF_ARP(APPLET(arp, _BB_DIR_SBIN, _BB_SUID_NEVER)) |
| 78 | USE_ARPING(APPLET(arping, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) | 78 | IF_ARPING(APPLET(arping, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) |
| 79 | USE_ASH(APPLET(ash, _BB_DIR_BIN, _BB_SUID_NEVER)) | 79 | IF_ASH(APPLET(ash, _BB_DIR_BIN, _BB_SUID_NEVER)) |
| 80 | USE_AWK(APPLET_NOEXEC(awk, awk, _BB_DIR_USR_BIN, _BB_SUID_NEVER, awk)) | 80 | IF_AWK(APPLET_NOEXEC(awk, awk, _BB_DIR_USR_BIN, _BB_SUID_NEVER, awk)) |
| 81 | USE_BASENAME(APPLET_NOFORK(basename, basename, _BB_DIR_USR_BIN, _BB_SUID_NEVER, basename)) | 81 | IF_BASENAME(APPLET_NOFORK(basename, basename, _BB_DIR_USR_BIN, _BB_SUID_NEVER, basename)) |
| 82 | USE_BBCONFIG(APPLET(bbconfig, _BB_DIR_BIN, _BB_SUID_NEVER)) | 82 | IF_BBCONFIG(APPLET(bbconfig, _BB_DIR_BIN, _BB_SUID_NEVER)) |
| 83 | //USE_BBSH(APPLET(bbsh, _BB_DIR_BIN, _BB_SUID_NEVER)) | 83 | //IF_BBSH(APPLET(bbsh, _BB_DIR_BIN, _BB_SUID_NEVER)) |
| 84 | USE_BLKID(APPLET(blkid, _BB_DIR_SBIN, _BB_SUID_NEVER)) | 84 | IF_BLKID(APPLET(blkid, _BB_DIR_SBIN, _BB_SUID_NEVER)) |
| 85 | USE_BRCTL(APPLET(brctl, _BB_DIR_USR_SBIN, _BB_SUID_NEVER)) | 85 | IF_BRCTL(APPLET(brctl, _BB_DIR_USR_SBIN, _BB_SUID_NEVER)) |
| 86 | USE_BUNZIP2(APPLET(bunzip2, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) | 86 | IF_BUNZIP2(APPLET(bunzip2, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) |
| 87 | USE_BUNZIP2(APPLET_ODDNAME(bzcat, bunzip2, _BB_DIR_USR_BIN, _BB_SUID_NEVER, bzcat)) | 87 | IF_BUNZIP2(APPLET_ODDNAME(bzcat, bunzip2, _BB_DIR_USR_BIN, _BB_SUID_NEVER, bzcat)) |
| 88 | USE_BZIP2(APPLET(bzip2, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) | 88 | IF_BZIP2(APPLET(bzip2, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) |
| 89 | USE_CAL(APPLET(cal, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) | 89 | IF_CAL(APPLET(cal, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) |
| 90 | USE_CAT(APPLET_NOFORK(cat, cat, _BB_DIR_BIN, _BB_SUID_NEVER, cat)) | 90 | IF_CAT(APPLET_NOFORK(cat, cat, _BB_DIR_BIN, _BB_SUID_NEVER, cat)) |
| 91 | USE_CATV(APPLET(catv, _BB_DIR_BIN, _BB_SUID_NEVER)) | 91 | IF_CATV(APPLET(catv, _BB_DIR_BIN, _BB_SUID_NEVER)) |
| 92 | USE_CHAT(APPLET(chat, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) | 92 | IF_CHAT(APPLET(chat, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) |
| 93 | USE_CHATTR(APPLET(chattr, _BB_DIR_BIN, _BB_SUID_NEVER)) | 93 | IF_CHATTR(APPLET(chattr, _BB_DIR_BIN, _BB_SUID_NEVER)) |
| 94 | USE_CHCON(APPLET(chcon, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) | 94 | IF_CHCON(APPLET(chcon, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) |
| 95 | USE_CHGRP(APPLET_NOEXEC(chgrp, chgrp, _BB_DIR_BIN, _BB_SUID_NEVER, chgrp)) | 95 | IF_CHGRP(APPLET_NOEXEC(chgrp, chgrp, _BB_DIR_BIN, _BB_SUID_NEVER, chgrp)) |
| 96 | USE_CHMOD(APPLET_NOEXEC(chmod, chmod, _BB_DIR_BIN, _BB_SUID_NEVER, chmod)) | 96 | IF_CHMOD(APPLET_NOEXEC(chmod, chmod, _BB_DIR_BIN, _BB_SUID_NEVER, chmod)) |
| 97 | USE_CHOWN(APPLET_NOEXEC(chown, chown, _BB_DIR_BIN, _BB_SUID_NEVER, chown)) | 97 | IF_CHOWN(APPLET_NOEXEC(chown, chown, _BB_DIR_BIN, _BB_SUID_NEVER, chown)) |
| 98 | USE_CHPASSWD(APPLET(chpasswd, _BB_DIR_USR_SBIN, _BB_SUID_NEVER)) | 98 | IF_CHPASSWD(APPLET(chpasswd, _BB_DIR_USR_SBIN, _BB_SUID_NEVER)) |
| 99 | USE_CHPST(APPLET(chpst, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) | 99 | IF_CHPST(APPLET(chpst, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) |
| 100 | USE_CHROOT(APPLET(chroot, _BB_DIR_USR_SBIN, _BB_SUID_NEVER)) | 100 | IF_CHROOT(APPLET(chroot, _BB_DIR_USR_SBIN, _BB_SUID_NEVER)) |
| 101 | USE_CHRT(APPLET(chrt, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) | 101 | IF_CHRT(APPLET(chrt, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) |
| 102 | USE_CHVT(APPLET(chvt, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) | 102 | IF_CHVT(APPLET(chvt, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) |
| 103 | USE_CKSUM(APPLET(cksum, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) | 103 | IF_CKSUM(APPLET(cksum, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) |
| 104 | USE_CLEAR(APPLET(clear, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) | 104 | IF_CLEAR(APPLET(clear, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) |
| 105 | USE_CMP(APPLET(cmp, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) | 105 | IF_CMP(APPLET(cmp, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) |
| 106 | USE_COMM(APPLET(comm, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) | 106 | IF_COMM(APPLET(comm, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) |
| 107 | USE_CP(APPLET_NOEXEC(cp, cp, _BB_DIR_BIN, _BB_SUID_NEVER, cp)) | 107 | IF_CP(APPLET_NOEXEC(cp, cp, _BB_DIR_BIN, _BB_SUID_NEVER, cp)) |
| 108 | USE_CPIO(APPLET(cpio, _BB_DIR_BIN, _BB_SUID_NEVER)) | 108 | IF_CPIO(APPLET(cpio, _BB_DIR_BIN, _BB_SUID_NEVER)) |
| 109 | USE_CROND(APPLET(crond, _BB_DIR_USR_SBIN, _BB_SUID_NEVER)) | 109 | IF_CROND(APPLET(crond, _BB_DIR_USR_SBIN, _BB_SUID_NEVER)) |
| 110 | USE_CRONTAB(APPLET(crontab, _BB_DIR_USR_BIN, _BB_SUID_ALWAYS)) | 110 | IF_CRONTAB(APPLET(crontab, _BB_DIR_USR_BIN, _BB_SUID_ALWAYS)) |
| 111 | USE_CRYPTPW(APPLET(cryptpw, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) | 111 | IF_CRYPTPW(APPLET(cryptpw, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) |
| 112 | USE_CTTYHACK(APPLET(cttyhack, _BB_DIR_BIN, _BB_SUID_NEVER)) | 112 | IF_CTTYHACK(APPLET(cttyhack, _BB_DIR_BIN, _BB_SUID_NEVER)) |
| 113 | USE_CUT(APPLET_NOEXEC(cut, cut, _BB_DIR_USR_BIN, _BB_SUID_NEVER, cut)) | 113 | IF_CUT(APPLET_NOEXEC(cut, cut, _BB_DIR_USR_BIN, _BB_SUID_NEVER, cut)) |
| 114 | USE_DATE(APPLET(date, _BB_DIR_BIN, _BB_SUID_NEVER)) | 114 | IF_DATE(APPLET(date, _BB_DIR_BIN, _BB_SUID_NEVER)) |
| 115 | USE_DC(APPLET(dc, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) | 115 | IF_DC(APPLET(dc, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) |
| 116 | USE_DD(APPLET_NOEXEC(dd, dd, _BB_DIR_BIN, _BB_SUID_NEVER, dd)) | 116 | IF_DD(APPLET_NOEXEC(dd, dd, _BB_DIR_BIN, _BB_SUID_NEVER, dd)) |
| 117 | USE_DEALLOCVT(APPLET(deallocvt, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) | 117 | IF_DEALLOCVT(APPLET(deallocvt, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) |
| 118 | USE_DELGROUP(APPLET_ODDNAME(delgroup, deluser, _BB_DIR_BIN, _BB_SUID_NEVER, delgroup)) | 118 | IF_DELGROUP(APPLET_ODDNAME(delgroup, deluser, _BB_DIR_BIN, _BB_SUID_NEVER, delgroup)) |
| 119 | USE_DELUSER(APPLET(deluser, _BB_DIR_BIN, _BB_SUID_NEVER)) | 119 | IF_DELUSER(APPLET(deluser, _BB_DIR_BIN, _BB_SUID_NEVER)) |
| 120 | USE_DEPMOD(APPLET(depmod, _BB_DIR_SBIN, _BB_SUID_NEVER)) | 120 | IF_DEPMOD(APPLET(depmod, _BB_DIR_SBIN, _BB_SUID_NEVER)) |
| 121 | USE_MODPROBE_SMALL(APPLET_ODDNAME(depmod, modprobe, _BB_DIR_SBIN, _BB_SUID_NEVER, modprobe)) | 121 | IF_MODPROBE_SMALL(APPLET_ODDNAME(depmod, modprobe, _BB_DIR_SBIN, _BB_SUID_NEVER, modprobe)) |
| 122 | USE_DEVFSD(APPLET(devfsd, _BB_DIR_SBIN, _BB_SUID_NEVER)) | 122 | IF_DEVFSD(APPLET(devfsd, _BB_DIR_SBIN, _BB_SUID_NEVER)) |
| 123 | USE_DEVMEM(APPLET(devmem, _BB_DIR_SBIN, _BB_SUID_NEVER)) | 123 | IF_DEVMEM(APPLET(devmem, _BB_DIR_SBIN, _BB_SUID_NEVER)) |
| 124 | USE_DF(APPLET(df, _BB_DIR_BIN, _BB_SUID_NEVER)) | 124 | IF_DF(APPLET(df, _BB_DIR_BIN, _BB_SUID_NEVER)) |
| 125 | USE_APP_DHCPRELAY(APPLET(dhcprelay, _BB_DIR_USR_SBIN, _BB_SUID_NEVER)) | 125 | IF_APP_DHCPRELAY(APPLET(dhcprelay, _BB_DIR_USR_SBIN, _BB_SUID_NEVER)) |
| 126 | USE_DIFF(APPLET(diff, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) | 126 | IF_DIFF(APPLET(diff, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) |
| 127 | USE_DIRNAME(APPLET_NOFORK(dirname, dirname, _BB_DIR_USR_BIN, _BB_SUID_NEVER, dirname)) | 127 | IF_DIRNAME(APPLET_NOFORK(dirname, dirname, _BB_DIR_USR_BIN, _BB_SUID_NEVER, dirname)) |
| 128 | USE_DMESG(APPLET(dmesg, _BB_DIR_BIN, _BB_SUID_NEVER)) | 128 | IF_DMESG(APPLET(dmesg, _BB_DIR_BIN, _BB_SUID_NEVER)) |
| 129 | USE_DNSD(APPLET(dnsd, _BB_DIR_USR_SBIN, _BB_SUID_ALWAYS)) | 129 | IF_DNSD(APPLET(dnsd, _BB_DIR_USR_SBIN, _BB_SUID_ALWAYS)) |
| 130 | USE_DOS2UNIX(APPLET(dos2unix, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) | 130 | IF_DOS2UNIX(APPLET(dos2unix, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) |
| 131 | USE_DPKG(APPLET(dpkg, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) | 131 | IF_DPKG(APPLET(dpkg, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) |
| 132 | USE_DPKG_DEB(APPLET_ODDNAME(dpkg-deb, dpkg_deb, _BB_DIR_USR_BIN, _BB_SUID_NEVER, dpkg_deb)) | 132 | IF_DPKG_DEB(APPLET_ODDNAME(dpkg-deb, dpkg_deb, _BB_DIR_USR_BIN, _BB_SUID_NEVER, dpkg_deb)) |
| 133 | USE_DU(APPLET(du, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) | 133 | IF_DU(APPLET(du, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) |
| 134 | USE_DUMPKMAP(APPLET(dumpkmap, _BB_DIR_BIN, _BB_SUID_NEVER)) | 134 | IF_DUMPKMAP(APPLET(dumpkmap, _BB_DIR_BIN, _BB_SUID_NEVER)) |
| 135 | USE_APP_DUMPLEASES(APPLET(dumpleases, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) | 135 | IF_APP_DUMPLEASES(APPLET(dumpleases, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) |
| 136 | //USE_E2FSCK(APPLET(e2fsck, _BB_DIR_SBIN, _BB_SUID_NEVER)) | 136 | //IF_E2FSCK(APPLET(e2fsck, _BB_DIR_SBIN, _BB_SUID_NEVER)) |
| 137 | //USE_E2LABEL(APPLET_ODDNAME(e2label, tune2fs, _BB_DIR_SBIN, _BB_SUID_NEVER, e2label)) | 137 | //IF_E2LABEL(APPLET_ODDNAME(e2label, tune2fs, _BB_DIR_SBIN, _BB_SUID_NEVER, e2label)) |
| 138 | USE_ECHO(APPLET_NOFORK(echo, echo, _BB_DIR_BIN, _BB_SUID_NEVER, echo)) | 138 | IF_ECHO(APPLET_NOFORK(echo, echo, _BB_DIR_BIN, _BB_SUID_NEVER, echo)) |
| 139 | USE_ED(APPLET(ed, _BB_DIR_BIN, _BB_SUID_NEVER)) | 139 | IF_ED(APPLET(ed, _BB_DIR_BIN, _BB_SUID_NEVER)) |
| 140 | USE_FEATURE_GREP_EGREP_ALIAS(APPLET_ODDNAME(egrep, grep, _BB_DIR_BIN, _BB_SUID_NEVER, egrep)) | 140 | IF_FEATURE_GREP_EGREP_ALIAS(APPLET_ODDNAME(egrep, grep, _BB_DIR_BIN, _BB_SUID_NEVER, egrep)) |
| 141 | USE_EJECT(APPLET(eject, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) | 141 | IF_EJECT(APPLET(eject, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) |
| 142 | USE_ENV(APPLET_NOEXEC(env, env, _BB_DIR_USR_BIN, _BB_SUID_NEVER, env)) | 142 | IF_ENV(APPLET_NOEXEC(env, env, _BB_DIR_USR_BIN, _BB_SUID_NEVER, env)) |
| 143 | USE_ENVDIR(APPLET_ODDNAME(envdir, chpst, _BB_DIR_USR_BIN, _BB_SUID_NEVER, envdir)) | 143 | IF_ENVDIR(APPLET_ODDNAME(envdir, chpst, _BB_DIR_USR_BIN, _BB_SUID_NEVER, envdir)) |
| 144 | USE_ENVUIDGID(APPLET_ODDNAME(envuidgid, chpst, _BB_DIR_USR_BIN, _BB_SUID_NEVER, envuidgid)) | 144 | IF_ENVUIDGID(APPLET_ODDNAME(envuidgid, chpst, _BB_DIR_USR_BIN, _BB_SUID_NEVER, envuidgid)) |
| 145 | USE_ETHER_WAKE(APPLET_ODDNAME(ether-wake, ether_wake, _BB_DIR_USR_BIN, _BB_SUID_NEVER, ether_wake)) | 145 | IF_ETHER_WAKE(APPLET_ODDNAME(ether-wake, ether_wake, _BB_DIR_USR_BIN, _BB_SUID_NEVER, ether_wake)) |
| 146 | USE_EXPAND(APPLET(expand, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) | 146 | IF_EXPAND(APPLET(expand, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) |
| 147 | USE_EXPR(APPLET(expr, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) | 147 | IF_EXPR(APPLET(expr, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) |
| 148 | USE_FAKEIDENTD(APPLET(fakeidentd, _BB_DIR_USR_SBIN, _BB_SUID_NEVER)) | 148 | IF_FAKEIDENTD(APPLET(fakeidentd, _BB_DIR_USR_SBIN, _BB_SUID_NEVER)) |
| 149 | USE_FALSE(APPLET_NOFORK(false, false, _BB_DIR_BIN, _BB_SUID_NEVER, false)) | 149 | IF_FALSE(APPLET_NOFORK(false, false, _BB_DIR_BIN, _BB_SUID_NEVER, false)) |
| 150 | USE_FBSET(APPLET(fbset, _BB_DIR_USR_SBIN, _BB_SUID_NEVER)) | 150 | IF_FBSET(APPLET(fbset, _BB_DIR_USR_SBIN, _BB_SUID_NEVER)) |
| 151 | USE_FBSPLASH(APPLET(fbsplash, _BB_DIR_SBIN, _BB_SUID_NEVER)) | 151 | IF_FBSPLASH(APPLET(fbsplash, _BB_DIR_SBIN, _BB_SUID_NEVER)) |
| 152 | USE_FDFLUSH(APPLET_ODDNAME(fdflush, freeramdisk, _BB_DIR_BIN, _BB_SUID_NEVER, fdflush)) | 152 | IF_FDFLUSH(APPLET_ODDNAME(fdflush, freeramdisk, _BB_DIR_BIN, _BB_SUID_NEVER, fdflush)) |
| 153 | USE_FDFORMAT(APPLET(fdformat, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) | 153 | IF_FDFORMAT(APPLET(fdformat, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) |
| 154 | USE_FDISK(APPLET(fdisk, _BB_DIR_SBIN, _BB_SUID_NEVER)) | 154 | IF_FDISK(APPLET(fdisk, _BB_DIR_SBIN, _BB_SUID_NEVER)) |
| 155 | USE_FEATURE_GREP_FGREP_ALIAS(APPLET_ODDNAME(fgrep, grep, _BB_DIR_BIN, _BB_SUID_NEVER, fgrep)) | 155 | IF_FEATURE_GREP_FGREP_ALIAS(APPLET_ODDNAME(fgrep, grep, _BB_DIR_BIN, _BB_SUID_NEVER, fgrep)) |
| 156 | USE_FIND(APPLET_NOEXEC(find, find, _BB_DIR_USR_BIN, _BB_SUID_NEVER, find)) | 156 | IF_FIND(APPLET_NOEXEC(find, find, _BB_DIR_USR_BIN, _BB_SUID_NEVER, find)) |
| 157 | USE_FINDFS(APPLET(findfs, _BB_DIR_SBIN, _BB_SUID_MAYBE)) | 157 | IF_FINDFS(APPLET(findfs, _BB_DIR_SBIN, _BB_SUID_MAYBE)) |
| 158 | //USE_FLASH_ERASEALL(APPLET_ODDNAME(flash_eraseall, flash_eraseall, _BB_DIR_USR_SBIN, _BB_SUID_NEVER, flash_eraseall)) | 158 | //IF_FLASH_ERASEALL(APPLET_ODDNAME(flash_eraseall, flash_eraseall, _BB_DIR_USR_SBIN, _BB_SUID_NEVER, flash_eraseall)) |
| 159 | USE_FLASH_ERASEALL(APPLET(flash_eraseall, _BB_DIR_USR_SBIN, _BB_SUID_NEVER)) | 159 | IF_FLASH_ERASEALL(APPLET(flash_eraseall, _BB_DIR_USR_SBIN, _BB_SUID_NEVER)) |
| 160 | USE_FOLD(APPLET(fold, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) | 160 | IF_FOLD(APPLET(fold, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) |
| 161 | USE_FREE(APPLET(free, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) | 161 | IF_FREE(APPLET(free, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) |
| 162 | USE_FREERAMDISK(APPLET(freeramdisk, _BB_DIR_SBIN, _BB_SUID_NEVER)) | 162 | IF_FREERAMDISK(APPLET(freeramdisk, _BB_DIR_SBIN, _BB_SUID_NEVER)) |
| 163 | USE_FSCK(APPLET(fsck, _BB_DIR_SBIN, _BB_SUID_NEVER)) | 163 | IF_FSCK(APPLET(fsck, _BB_DIR_SBIN, _BB_SUID_NEVER)) |
| 164 | //USE_E2FSCK(APPLET_ODDNAME(fsck.ext2, e2fsck, _BB_DIR_SBIN, _BB_SUID_NEVER, fsck_ext2)) | 164 | //IF_E2FSCK(APPLET_ODDNAME(fsck.ext2, e2fsck, _BB_DIR_SBIN, _BB_SUID_NEVER, fsck_ext2)) |
| 165 | //USE_E2FSCK(APPLET_ODDNAME(fsck.ext3, e2fsck, _BB_DIR_SBIN, _BB_SUID_NEVER, fsck_ext3)) | 165 | //IF_E2FSCK(APPLET_ODDNAME(fsck.ext3, e2fsck, _BB_DIR_SBIN, _BB_SUID_NEVER, fsck_ext3)) |
| 166 | USE_FSCK_MINIX(APPLET_ODDNAME(fsck.minix, fsck_minix, _BB_DIR_SBIN, _BB_SUID_NEVER, fsck_minix)) | 166 | IF_FSCK_MINIX(APPLET_ODDNAME(fsck.minix, fsck_minix, _BB_DIR_SBIN, _BB_SUID_NEVER, fsck_minix)) |
| 167 | USE_FTPD(APPLET(ftpd, _BB_DIR_USR_SBIN, _BB_SUID_NEVER)) | 167 | IF_FTPD(APPLET(ftpd, _BB_DIR_USR_SBIN, _BB_SUID_NEVER)) |
| 168 | USE_FTPGET(APPLET_ODDNAME(ftpget, ftpgetput, _BB_DIR_USR_BIN, _BB_SUID_NEVER, ftpget)) | 168 | IF_FTPGET(APPLET_ODDNAME(ftpget, ftpgetput, _BB_DIR_USR_BIN, _BB_SUID_NEVER, ftpget)) |
| 169 | USE_FTPPUT(APPLET_ODDNAME(ftpput, ftpgetput, _BB_DIR_USR_BIN, _BB_SUID_NEVER, ftpput)) | 169 | IF_FTPPUT(APPLET_ODDNAME(ftpput, ftpgetput, _BB_DIR_USR_BIN, _BB_SUID_NEVER, ftpput)) |
| 170 | USE_FUSER(APPLET(fuser, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) | 170 | IF_FUSER(APPLET(fuser, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) |
| 171 | USE_GETENFORCE(APPLET(getenforce, _BB_DIR_USR_SBIN, _BB_SUID_NEVER)) | 171 | IF_GETENFORCE(APPLET(getenforce, _BB_DIR_USR_SBIN, _BB_SUID_NEVER)) |
| 172 | USE_GETOPT(APPLET(getopt, _BB_DIR_BIN, _BB_SUID_NEVER)) | 172 | IF_GETOPT(APPLET(getopt, _BB_DIR_BIN, _BB_SUID_NEVER)) |
| 173 | USE_GETSEBOOL(APPLET(getsebool, _BB_DIR_USR_SBIN, _BB_SUID_NEVER)) | 173 | IF_GETSEBOOL(APPLET(getsebool, _BB_DIR_USR_SBIN, _BB_SUID_NEVER)) |
| 174 | USE_GETTY(APPLET(getty, _BB_DIR_SBIN, _BB_SUID_NEVER)) | 174 | IF_GETTY(APPLET(getty, _BB_DIR_SBIN, _BB_SUID_NEVER)) |
| 175 | USE_GREP(APPLET(grep, _BB_DIR_BIN, _BB_SUID_NEVER)) | 175 | IF_GREP(APPLET(grep, _BB_DIR_BIN, _BB_SUID_NEVER)) |
| 176 | USE_GUNZIP(APPLET(gunzip, _BB_DIR_BIN, _BB_SUID_NEVER)) | 176 | IF_GUNZIP(APPLET(gunzip, _BB_DIR_BIN, _BB_SUID_NEVER)) |
| 177 | USE_GZIP(APPLET(gzip, _BB_DIR_BIN, _BB_SUID_NEVER)) | 177 | IF_GZIP(APPLET(gzip, _BB_DIR_BIN, _BB_SUID_NEVER)) |
| 178 | USE_HALT(APPLET(halt, _BB_DIR_SBIN, _BB_SUID_NEVER)) | 178 | IF_HALT(APPLET(halt, _BB_DIR_SBIN, _BB_SUID_NEVER)) |
| 179 | USE_HD(APPLET_NOEXEC(hd, hexdump, _BB_DIR_USR_BIN, _BB_SUID_NEVER, hd)) | 179 | IF_HD(APPLET_NOEXEC(hd, hexdump, _BB_DIR_USR_BIN, _BB_SUID_NEVER, hd)) |
| 180 | USE_HDPARM(APPLET(hdparm, _BB_DIR_SBIN, _BB_SUID_NEVER)) | 180 | IF_HDPARM(APPLET(hdparm, _BB_DIR_SBIN, _BB_SUID_NEVER)) |
| 181 | USE_HEAD(APPLET(head, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) | 181 | IF_HEAD(APPLET(head, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) |
| 182 | USE_HEXDUMP(APPLET_NOEXEC(hexdump, hexdump, _BB_DIR_USR_BIN, _BB_SUID_NEVER, hexdump)) | 182 | IF_HEXDUMP(APPLET_NOEXEC(hexdump, hexdump, _BB_DIR_USR_BIN, _BB_SUID_NEVER, hexdump)) |
| 183 | USE_HOSTID(APPLET_NOFORK(hostid, hostid, _BB_DIR_USR_BIN, _BB_SUID_NEVER, hostid)) | 183 | IF_HOSTID(APPLET_NOFORK(hostid, hostid, _BB_DIR_USR_BIN, _BB_SUID_NEVER, hostid)) |
| 184 | USE_HOSTNAME(APPLET(hostname, _BB_DIR_BIN, _BB_SUID_NEVER)) | 184 | IF_HOSTNAME(APPLET(hostname, _BB_DIR_BIN, _BB_SUID_NEVER)) |
| 185 | USE_HTTPD(APPLET(httpd, _BB_DIR_USR_SBIN, _BB_SUID_NEVER)) | 185 | IF_HTTPD(APPLET(httpd, _BB_DIR_USR_SBIN, _BB_SUID_NEVER)) |
| 186 | USE_HUSH(APPLET(hush, _BB_DIR_BIN, _BB_SUID_NEVER)) | 186 | IF_HUSH(APPLET(hush, _BB_DIR_BIN, _BB_SUID_NEVER)) |
| 187 | USE_HWCLOCK(APPLET(hwclock, _BB_DIR_SBIN, _BB_SUID_NEVER)) | 187 | IF_HWCLOCK(APPLET(hwclock, _BB_DIR_SBIN, _BB_SUID_NEVER)) |
| 188 | USE_ID(APPLET(id, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) | 188 | IF_ID(APPLET(id, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) |
| 189 | USE_IFCONFIG(APPLET(ifconfig, _BB_DIR_SBIN, _BB_SUID_NEVER)) | 189 | IF_IFCONFIG(APPLET(ifconfig, _BB_DIR_SBIN, _BB_SUID_NEVER)) |
| 190 | USE_IFUPDOWN(APPLET_ODDNAME(ifdown, ifupdown, _BB_DIR_SBIN, _BB_SUID_NEVER, ifdown)) | 190 | IF_IFUPDOWN(APPLET_ODDNAME(ifdown, ifupdown, _BB_DIR_SBIN, _BB_SUID_NEVER, ifdown)) |
| 191 | USE_IFENSLAVE(APPLET(ifenslave, _BB_DIR_SBIN, _BB_SUID_NEVER)) | 191 | IF_IFENSLAVE(APPLET(ifenslave, _BB_DIR_SBIN, _BB_SUID_NEVER)) |
| 192 | USE_IFUPDOWN(APPLET_ODDNAME(ifup, ifupdown, _BB_DIR_SBIN, _BB_SUID_NEVER, ifup)) | 192 | IF_IFUPDOWN(APPLET_ODDNAME(ifup, ifupdown, _BB_DIR_SBIN, _BB_SUID_NEVER, ifup)) |
| 193 | USE_INETD(APPLET(inetd, _BB_DIR_USR_SBIN, _BB_SUID_NEVER)) | 193 | IF_INETD(APPLET(inetd, _BB_DIR_USR_SBIN, _BB_SUID_NEVER)) |
| 194 | USE_INIT(APPLET(init, _BB_DIR_SBIN, _BB_SUID_NEVER)) | 194 | IF_INIT(APPLET(init, _BB_DIR_SBIN, _BB_SUID_NEVER)) |
| 195 | USE_INOTIFYD(APPLET(inotifyd, _BB_DIR_SBIN, _BB_SUID_NEVER)) | 195 | IF_INOTIFYD(APPLET(inotifyd, _BB_DIR_SBIN, _BB_SUID_NEVER)) |
| 196 | USE_INSMOD(APPLET(insmod, _BB_DIR_SBIN, _BB_SUID_NEVER)) | 196 | IF_INSMOD(APPLET(insmod, _BB_DIR_SBIN, _BB_SUID_NEVER)) |
| 197 | USE_MODPROBE_SMALL(APPLET_ODDNAME(insmod, modprobe, _BB_DIR_SBIN, _BB_SUID_NEVER, modprobe)) | 197 | IF_MODPROBE_SMALL(APPLET_ODDNAME(insmod, modprobe, _BB_DIR_SBIN, _BB_SUID_NEVER, modprobe)) |
| 198 | USE_INSTALL(APPLET(install, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) | 198 | IF_INSTALL(APPLET(install, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) |
| 199 | USE_IONICE(APPLET(ionice, _BB_DIR_BIN, _BB_SUID_NEVER)) | 199 | IF_IONICE(APPLET(ionice, _BB_DIR_BIN, _BB_SUID_NEVER)) |
| 200 | #if ENABLE_FEATURE_IP_ADDRESS \ | 200 | #if ENABLE_FEATURE_IP_ADDRESS \ |
| 201 | || ENABLE_FEATURE_IP_ROUTE \ | 201 | || ENABLE_FEATURE_IP_ROUTE \ |
| 202 | || ENABLE_FEATURE_IP_LINK \ | 202 | || ENABLE_FEATURE_IP_LINK \ |
| 203 | || ENABLE_FEATURE_IP_TUNNEL \ | 203 | || ENABLE_FEATURE_IP_TUNNEL \ |
| 204 | || ENABLE_FEATURE_IP_RULE | 204 | || ENABLE_FEATURE_IP_RULE |
| 205 | USE_IP(APPLET(ip, _BB_DIR_BIN, _BB_SUID_NEVER)) | 205 | IF_IP(APPLET(ip, _BB_DIR_BIN, _BB_SUID_NEVER)) |
| 206 | #endif | 206 | #endif |
| 207 | USE_IPADDR(APPLET(ipaddr, _BB_DIR_BIN, _BB_SUID_NEVER)) | 207 | IF_IPADDR(APPLET(ipaddr, _BB_DIR_BIN, _BB_SUID_NEVER)) |
| 208 | USE_IPCALC(APPLET(ipcalc, _BB_DIR_BIN, _BB_SUID_NEVER)) | 208 | IF_IPCALC(APPLET(ipcalc, _BB_DIR_BIN, _BB_SUID_NEVER)) |
| 209 | USE_IPCRM(APPLET(ipcrm, _BB_DIR_USR_BIN, _BB_SUID_ALWAYS)) | 209 | IF_IPCRM(APPLET(ipcrm, _BB_DIR_USR_BIN, _BB_SUID_ALWAYS)) |
| 210 | USE_IPCS(APPLET(ipcs, _BB_DIR_USR_BIN, _BB_SUID_ALWAYS)) | 210 | IF_IPCS(APPLET(ipcs, _BB_DIR_USR_BIN, _BB_SUID_ALWAYS)) |
| 211 | USE_IPLINK(APPLET(iplink, _BB_DIR_BIN, _BB_SUID_NEVER)) | 211 | IF_IPLINK(APPLET(iplink, _BB_DIR_BIN, _BB_SUID_NEVER)) |
| 212 | USE_IPROUTE(APPLET(iproute, _BB_DIR_BIN, _BB_SUID_NEVER)) | 212 | IF_IPROUTE(APPLET(iproute, _BB_DIR_BIN, _BB_SUID_NEVER)) |
| 213 | USE_IPRULE(APPLET(iprule, _BB_DIR_BIN, _BB_SUID_NEVER)) | 213 | IF_IPRULE(APPLET(iprule, _BB_DIR_BIN, _BB_SUID_NEVER)) |
| 214 | USE_IPTUNNEL(APPLET(iptunnel, _BB_DIR_BIN, _BB_SUID_NEVER)) | 214 | IF_IPTUNNEL(APPLET(iptunnel, _BB_DIR_BIN, _BB_SUID_NEVER)) |
| 215 | USE_KBD_MODE(APPLET(kbd_mode, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) | 215 | IF_KBD_MODE(APPLET(kbd_mode, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) |
| 216 | USE_KILL(APPLET(kill, _BB_DIR_BIN, _BB_SUID_NEVER)) | 216 | IF_KILL(APPLET(kill, _BB_DIR_BIN, _BB_SUID_NEVER)) |
| 217 | USE_KILLALL(APPLET_ODDNAME(killall, kill, _BB_DIR_USR_BIN, _BB_SUID_NEVER, killall)) | 217 | IF_KILLALL(APPLET_ODDNAME(killall, kill, _BB_DIR_USR_BIN, _BB_SUID_NEVER, killall)) |
| 218 | USE_KILLALL5(APPLET_ODDNAME(killall5, kill, _BB_DIR_USR_BIN, _BB_SUID_NEVER, killall5)) | 218 | IF_KILLALL5(APPLET_ODDNAME(killall5, kill, _BB_DIR_USR_BIN, _BB_SUID_NEVER, killall5)) |
| 219 | USE_KLOGD(APPLET(klogd, _BB_DIR_SBIN, _BB_SUID_NEVER)) | 219 | IF_KLOGD(APPLET(klogd, _BB_DIR_SBIN, _BB_SUID_NEVER)) |
| 220 | USE_LASH(APPLET(lash, _BB_DIR_BIN, _BB_SUID_NEVER)) | 220 | IF_LASH(APPLET(lash, _BB_DIR_BIN, _BB_SUID_NEVER)) |
| 221 | USE_LAST(APPLET(last, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) | 221 | IF_LAST(APPLET(last, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) |
| 222 | USE_LENGTH(APPLET_NOFORK(length, length, _BB_DIR_USR_BIN, _BB_SUID_NEVER, length)) | 222 | IF_LENGTH(APPLET_NOFORK(length, length, _BB_DIR_USR_BIN, _BB_SUID_NEVER, length)) |
| 223 | USE_LESS(APPLET(less, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) | 223 | IF_LESS(APPLET(less, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) |
| 224 | USE_SETARCH(APPLET_ODDNAME(linux32, setarch, _BB_DIR_BIN, _BB_SUID_NEVER, linux32)) | 224 | IF_SETARCH(APPLET_ODDNAME(linux32, setarch, _BB_DIR_BIN, _BB_SUID_NEVER, linux32)) |
| 225 | USE_SETARCH(APPLET_ODDNAME(linux64, setarch, _BB_DIR_BIN, _BB_SUID_NEVER, linux64)) | 225 | IF_SETARCH(APPLET_ODDNAME(linux64, setarch, _BB_DIR_BIN, _BB_SUID_NEVER, linux64)) |
| 226 | USE_FEATURE_INITRD(APPLET_ODDNAME(linuxrc, init, _BB_DIR_ROOT, _BB_SUID_NEVER, linuxrc)) | 226 | IF_FEATURE_INITRD(APPLET_ODDNAME(linuxrc, init, _BB_DIR_ROOT, _BB_SUID_NEVER, linuxrc)) |
| 227 | USE_LN(APPLET_NOEXEC(ln, ln, _BB_DIR_BIN, _BB_SUID_NEVER, ln)) | 227 | IF_LN(APPLET_NOEXEC(ln, ln, _BB_DIR_BIN, _BB_SUID_NEVER, ln)) |
| 228 | USE_LOAD_POLICY(APPLET(load_policy, _BB_DIR_USR_SBIN, _BB_SUID_NEVER)) | 228 | IF_LOAD_POLICY(APPLET(load_policy, _BB_DIR_USR_SBIN, _BB_SUID_NEVER)) |
| 229 | USE_LOADFONT(APPLET(loadfont, _BB_DIR_USR_SBIN, _BB_SUID_NEVER)) | 229 | IF_LOADFONT(APPLET(loadfont, _BB_DIR_USR_SBIN, _BB_SUID_NEVER)) |
| 230 | USE_LOADKMAP(APPLET(loadkmap, _BB_DIR_SBIN, _BB_SUID_NEVER)) | 230 | IF_LOADKMAP(APPLET(loadkmap, _BB_DIR_SBIN, _BB_SUID_NEVER)) |
| 231 | USE_LOGGER(APPLET(logger, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) | 231 | IF_LOGGER(APPLET(logger, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) |
| 232 | USE_LOGIN(APPLET(login, _BB_DIR_BIN, _BB_SUID_ALWAYS)) | 232 | IF_LOGIN(APPLET(login, _BB_DIR_BIN, _BB_SUID_ALWAYS)) |
| 233 | USE_LOGNAME(APPLET_NOFORK(logname, logname, _BB_DIR_USR_BIN, _BB_SUID_NEVER, logname)) | 233 | IF_LOGNAME(APPLET_NOFORK(logname, logname, _BB_DIR_USR_BIN, _BB_SUID_NEVER, logname)) |
| 234 | USE_LOGREAD(APPLET(logread, _BB_DIR_SBIN, _BB_SUID_NEVER)) | 234 | IF_LOGREAD(APPLET(logread, _BB_DIR_SBIN, _BB_SUID_NEVER)) |
| 235 | USE_LOSETUP(APPLET(losetup, _BB_DIR_SBIN, _BB_SUID_NEVER)) | 235 | IF_LOSETUP(APPLET(losetup, _BB_DIR_SBIN, _BB_SUID_NEVER)) |
| 236 | USE_LPD(APPLET(lpd, _BB_DIR_USR_SBIN, _BB_SUID_NEVER)) | 236 | IF_LPD(APPLET(lpd, _BB_DIR_USR_SBIN, _BB_SUID_NEVER)) |
| 237 | USE_LPQ(APPLET_ODDNAME(lpq, lpqr, _BB_DIR_USR_BIN, _BB_SUID_NEVER, lpq)) | 237 | IF_LPQ(APPLET_ODDNAME(lpq, lpqr, _BB_DIR_USR_BIN, _BB_SUID_NEVER, lpq)) |
| 238 | USE_LPR(APPLET_ODDNAME(lpr, lpqr, _BB_DIR_USR_BIN, _BB_SUID_NEVER, lpr)) | 238 | IF_LPR(APPLET_ODDNAME(lpr, lpqr, _BB_DIR_USR_BIN, _BB_SUID_NEVER, lpr)) |
| 239 | USE_LS(APPLET_NOEXEC(ls, ls, _BB_DIR_BIN, _BB_SUID_NEVER, ls)) | 239 | IF_LS(APPLET_NOEXEC(ls, ls, _BB_DIR_BIN, _BB_SUID_NEVER, ls)) |
| 240 | USE_LSATTR(APPLET(lsattr, _BB_DIR_BIN, _BB_SUID_NEVER)) | 240 | IF_LSATTR(APPLET(lsattr, _BB_DIR_BIN, _BB_SUID_NEVER)) |
| 241 | USE_LSMOD(APPLET(lsmod, _BB_DIR_SBIN, _BB_SUID_NEVER)) | 241 | IF_LSMOD(APPLET(lsmod, _BB_DIR_SBIN, _BB_SUID_NEVER)) |
| 242 | USE_MODPROBE_SMALL(APPLET_ODDNAME(lsmod, modprobe, _BB_DIR_SBIN, _BB_SUID_NEVER, modprobe)) | 242 | IF_MODPROBE_SMALL(APPLET_ODDNAME(lsmod, modprobe, _BB_DIR_SBIN, _BB_SUID_NEVER, modprobe)) |
| 243 | USE_UNLZMA(APPLET_ODDNAME(lzmacat, unlzma, _BB_DIR_USR_BIN, _BB_SUID_NEVER, lzmacat)) | 243 | IF_UNLZMA(APPLET_ODDNAME(lzmacat, unlzma, _BB_DIR_USR_BIN, _BB_SUID_NEVER, lzmacat)) |
| 244 | USE_MAKEDEVS(APPLET(makedevs, _BB_DIR_SBIN, _BB_SUID_NEVER)) | 244 | IF_MAKEDEVS(APPLET(makedevs, _BB_DIR_SBIN, _BB_SUID_NEVER)) |
| 245 | USE_MAKEMIME(APPLET(makemime, _BB_DIR_BIN, _BB_SUID_NEVER)) | 245 | IF_MAKEMIME(APPLET(makemime, _BB_DIR_BIN, _BB_SUID_NEVER)) |
| 246 | USE_MAN(APPLET(man, _BB_DIR_SBIN, _BB_SUID_NEVER)) | 246 | IF_MAN(APPLET(man, _BB_DIR_SBIN, _BB_SUID_NEVER)) |
| 247 | USE_MATCHPATHCON(APPLET(matchpathcon, _BB_DIR_USR_SBIN, _BB_SUID_NEVER)) | 247 | IF_MATCHPATHCON(APPLET(matchpathcon, _BB_DIR_USR_SBIN, _BB_SUID_NEVER)) |
| 248 | USE_MD5SUM(APPLET_ODDNAME(md5sum, md5_sha1_sum, _BB_DIR_USR_BIN, _BB_SUID_NEVER, md5sum)) | 248 | IF_MD5SUM(APPLET_ODDNAME(md5sum, md5_sha1_sum, _BB_DIR_USR_BIN, _BB_SUID_NEVER, md5sum)) |
| 249 | USE_MDEV(APPLET(mdev, _BB_DIR_SBIN, _BB_SUID_NEVER)) | 249 | IF_MDEV(APPLET(mdev, _BB_DIR_SBIN, _BB_SUID_NEVER)) |
| 250 | USE_MESG(APPLET(mesg, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) | 250 | IF_MESG(APPLET(mesg, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) |
| 251 | USE_MICROCOM(APPLET(microcom, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) | 251 | IF_MICROCOM(APPLET(microcom, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) |
| 252 | USE_MKDIR(APPLET_NOFORK(mkdir, mkdir, _BB_DIR_BIN, _BB_SUID_NEVER, mkdir)) | 252 | IF_MKDIR(APPLET_NOFORK(mkdir, mkdir, _BB_DIR_BIN, _BB_SUID_NEVER, mkdir)) |
| 253 | USE_MKFS_VFAT(APPLET_ODDNAME(mkdosfs, mkfs_vfat, _BB_DIR_SBIN, _BB_SUID_NEVER, mkfs_vfat)) | 253 | IF_MKFS_VFAT(APPLET_ODDNAME(mkdosfs, mkfs_vfat, _BB_DIR_SBIN, _BB_SUID_NEVER, mkfs_vfat)) |
| 254 | //USE_MKE2FS(APPLET(mke2fs, _BB_DIR_SBIN, _BB_SUID_NEVER)) | 254 | //IF_MKE2FS(APPLET(mke2fs, _BB_DIR_SBIN, _BB_SUID_NEVER)) |
| 255 | USE_MKFIFO(APPLET(mkfifo, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) | 255 | IF_MKFIFO(APPLET(mkfifo, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) |
| 256 | //USE_MKE2FS(APPLET_ODDNAME(mkfs.ext2, mke2fs, _BB_DIR_SBIN, _BB_SUID_NEVER, mkfs_ext2)) | 256 | //IF_MKE2FS(APPLET_ODDNAME(mkfs.ext2, mke2fs, _BB_DIR_SBIN, _BB_SUID_NEVER, mkfs_ext2)) |
| 257 | //USE_MKE2FS(APPLET_ODDNAME(mkfs.ext3, mke2fs, _BB_DIR_SBIN, _BB_SUID_NEVER, mkfs_ext3)) | 257 | //IF_MKE2FS(APPLET_ODDNAME(mkfs.ext3, mke2fs, _BB_DIR_SBIN, _BB_SUID_NEVER, mkfs_ext3)) |
| 258 | USE_MKFS_MINIX(APPLET_ODDNAME(mkfs.minix, mkfs_minix, _BB_DIR_SBIN, _BB_SUID_NEVER, mkfs_minix)) | 258 | IF_MKFS_MINIX(APPLET_ODDNAME(mkfs.minix, mkfs_minix, _BB_DIR_SBIN, _BB_SUID_NEVER, mkfs_minix)) |
| 259 | USE_MKFS_VFAT(APPLET_ODDNAME(mkfs.vfat, mkfs_vfat, _BB_DIR_SBIN, _BB_SUID_NEVER, mkfs_vfat)) | 259 | IF_MKFS_VFAT(APPLET_ODDNAME(mkfs.vfat, mkfs_vfat, _BB_DIR_SBIN, _BB_SUID_NEVER, mkfs_vfat)) |
| 260 | USE_MKNOD(APPLET(mknod, _BB_DIR_BIN, _BB_SUID_NEVER)) | 260 | IF_MKNOD(APPLET(mknod, _BB_DIR_BIN, _BB_SUID_NEVER)) |
| 261 | USE_CRYPTPW(APPLET_ODDNAME(mkpasswd, cryptpw, _BB_DIR_USR_BIN, _BB_SUID_NEVER, mkpasswd)) | 261 | IF_CRYPTPW(APPLET_ODDNAME(mkpasswd, cryptpw, _BB_DIR_USR_BIN, _BB_SUID_NEVER, mkpasswd)) |
| 262 | USE_MKSWAP(APPLET(mkswap, _BB_DIR_SBIN, _BB_SUID_NEVER)) | 262 | IF_MKSWAP(APPLET(mkswap, _BB_DIR_SBIN, _BB_SUID_NEVER)) |
| 263 | USE_MKTEMP(APPLET(mktemp, _BB_DIR_BIN, _BB_SUID_NEVER)) | 263 | IF_MKTEMP(APPLET(mktemp, _BB_DIR_BIN, _BB_SUID_NEVER)) |
| 264 | USE_MODPROBE(APPLET(modprobe, _BB_DIR_SBIN, _BB_SUID_NEVER)) | 264 | IF_MODPROBE(APPLET(modprobe, _BB_DIR_SBIN, _BB_SUID_NEVER)) |
| 265 | USE_MODPROBE_SMALL(APPLET(modprobe, _BB_DIR_SBIN, _BB_SUID_NEVER)) | 265 | IF_MODPROBE_SMALL(APPLET(modprobe, _BB_DIR_SBIN, _BB_SUID_NEVER)) |
| 266 | USE_MORE(APPLET(more, _BB_DIR_BIN, _BB_SUID_NEVER)) | 266 | IF_MORE(APPLET(more, _BB_DIR_BIN, _BB_SUID_NEVER)) |
| 267 | USE_MOUNT(APPLET(mount, _BB_DIR_BIN, USE_DESKTOP(_BB_SUID_MAYBE) SKIP_DESKTOP(_BB_SUID_NEVER))) | 267 | IF_MOUNT(APPLET(mount, _BB_DIR_BIN, IF_DESKTOP(_BB_SUID_MAYBE) IF_NOT_DESKTOP(_BB_SUID_NEVER))) |
| 268 | USE_MOUNTPOINT(APPLET(mountpoint, _BB_DIR_BIN, _BB_SUID_NEVER)) | 268 | IF_MOUNTPOINT(APPLET(mountpoint, _BB_DIR_BIN, _BB_SUID_NEVER)) |
| 269 | USE_MSH(APPLET(msh, _BB_DIR_BIN, _BB_SUID_NEVER)) | 269 | IF_MSH(APPLET(msh, _BB_DIR_BIN, _BB_SUID_NEVER)) |
| 270 | USE_MT(APPLET(mt, _BB_DIR_BIN, _BB_SUID_NEVER)) | 270 | IF_MT(APPLET(mt, _BB_DIR_BIN, _BB_SUID_NEVER)) |
| 271 | USE_MV(APPLET(mv, _BB_DIR_BIN, _BB_SUID_NEVER)) | 271 | IF_MV(APPLET(mv, _BB_DIR_BIN, _BB_SUID_NEVER)) |
| 272 | USE_NAMEIF(APPLET(nameif, _BB_DIR_SBIN, _BB_SUID_NEVER)) | 272 | IF_NAMEIF(APPLET(nameif, _BB_DIR_SBIN, _BB_SUID_NEVER)) |
| 273 | USE_NC(APPLET(nc, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) | 273 | IF_NC(APPLET(nc, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) |
| 274 | USE_NETSTAT(APPLET(netstat, _BB_DIR_BIN, _BB_SUID_NEVER)) | 274 | IF_NETSTAT(APPLET(netstat, _BB_DIR_BIN, _BB_SUID_NEVER)) |
| 275 | USE_NICE(APPLET(nice, _BB_DIR_BIN, _BB_SUID_NEVER)) | 275 | IF_NICE(APPLET(nice, _BB_DIR_BIN, _BB_SUID_NEVER)) |
| 276 | USE_NMETER(APPLET(nmeter, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) | 276 | IF_NMETER(APPLET(nmeter, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) |
| 277 | USE_NOHUP(APPLET(nohup, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) | 277 | IF_NOHUP(APPLET(nohup, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) |
| 278 | USE_NSLOOKUP(APPLET(nslookup, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) | 278 | IF_NSLOOKUP(APPLET(nslookup, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) |
| 279 | USE_OD(APPLET(od, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) | 279 | IF_OD(APPLET(od, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) |
| 280 | USE_OPENVT(APPLET(openvt, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) | 280 | IF_OPENVT(APPLET(openvt, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) |
| 281 | //USE_PARSE(APPLET(parse, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) | 281 | //IF_PARSE(APPLET(parse, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) |
| 282 | USE_PASSWD(APPLET(passwd, _BB_DIR_USR_BIN, _BB_SUID_ALWAYS)) | 282 | IF_PASSWD(APPLET(passwd, _BB_DIR_USR_BIN, _BB_SUID_ALWAYS)) |
| 283 | USE_PATCH(APPLET(patch, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) | 283 | IF_PATCH(APPLET(patch, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) |
| 284 | USE_PGREP(APPLET(pgrep, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) | 284 | IF_PGREP(APPLET(pgrep, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) |
| 285 | USE_PIDOF(APPLET(pidof, _BB_DIR_BIN, _BB_SUID_NEVER)) | 285 | IF_PIDOF(APPLET(pidof, _BB_DIR_BIN, _BB_SUID_NEVER)) |
| 286 | USE_PING(APPLET(ping, _BB_DIR_BIN, _BB_SUID_MAYBE)) | 286 | IF_PING(APPLET(ping, _BB_DIR_BIN, _BB_SUID_MAYBE)) |
| 287 | USE_PING6(APPLET(ping6, _BB_DIR_BIN, _BB_SUID_NEVER)) | 287 | IF_PING6(APPLET(ping6, _BB_DIR_BIN, _BB_SUID_NEVER)) |
| 288 | USE_PIPE_PROGRESS(APPLET(pipe_progress, _BB_DIR_BIN, _BB_SUID_NEVER)) | 288 | IF_PIPE_PROGRESS(APPLET(pipe_progress, _BB_DIR_BIN, _BB_SUID_NEVER)) |
| 289 | USE_PIVOT_ROOT(APPLET(pivot_root, _BB_DIR_SBIN, _BB_SUID_NEVER)) | 289 | IF_PIVOT_ROOT(APPLET(pivot_root, _BB_DIR_SBIN, _BB_SUID_NEVER)) |
| 290 | USE_PKILL(APPLET_ODDNAME(pkill, pgrep, _BB_DIR_USR_BIN, _BB_SUID_NEVER, pkill)) | 290 | IF_PKILL(APPLET_ODDNAME(pkill, pgrep, _BB_DIR_USR_BIN, _BB_SUID_NEVER, pkill)) |
| 291 | USE_POPMAILDIR(APPLET(popmaildir, _BB_DIR_USR_SBIN, _BB_SUID_NEVER)) | 291 | IF_POPMAILDIR(APPLET(popmaildir, _BB_DIR_USR_SBIN, _BB_SUID_NEVER)) |
| 292 | USE_HALT(APPLET_ODDNAME(poweroff, halt, _BB_DIR_SBIN, _BB_SUID_NEVER, poweroff)) | 292 | IF_HALT(APPLET_ODDNAME(poweroff, halt, _BB_DIR_SBIN, _BB_SUID_NEVER, poweroff)) |
| 293 | USE_PRINTENV(APPLET(printenv, _BB_DIR_BIN, _BB_SUID_NEVER)) | 293 | IF_PRINTENV(APPLET(printenv, _BB_DIR_BIN, _BB_SUID_NEVER)) |
| 294 | USE_PRINTF(APPLET_NOFORK(printf, printf, _BB_DIR_USR_BIN, _BB_SUID_NEVER, printf)) | 294 | IF_PRINTF(APPLET_NOFORK(printf, printf, _BB_DIR_USR_BIN, _BB_SUID_NEVER, printf)) |
| 295 | USE_PS(APPLET(ps, _BB_DIR_BIN, _BB_SUID_NEVER)) | 295 | IF_PS(APPLET(ps, _BB_DIR_BIN, _BB_SUID_NEVER)) |
| 296 | USE_PSCAN(APPLET(pscan, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) | 296 | IF_PSCAN(APPLET(pscan, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) |
| 297 | USE_PWD(APPLET_NOFORK(pwd, pwd, _BB_DIR_BIN, _BB_SUID_NEVER, pwd)) | 297 | IF_PWD(APPLET_NOFORK(pwd, pwd, _BB_DIR_BIN, _BB_SUID_NEVER, pwd)) |
| 298 | USE_RAIDAUTORUN(APPLET(raidautorun, _BB_DIR_SBIN, _BB_SUID_NEVER)) | 298 | IF_RAIDAUTORUN(APPLET(raidautorun, _BB_DIR_SBIN, _BB_SUID_NEVER)) |
| 299 | USE_RDATE(APPLET(rdate, _BB_DIR_USR_SBIN, _BB_SUID_NEVER)) | 299 | IF_RDATE(APPLET(rdate, _BB_DIR_USR_SBIN, _BB_SUID_NEVER)) |
| 300 | USE_RDEV(APPLET(rdev, _BB_DIR_USR_SBIN, _BB_SUID_NEVER)) | 300 | IF_RDEV(APPLET(rdev, _BB_DIR_USR_SBIN, _BB_SUID_NEVER)) |
| 301 | USE_READAHEAD(APPLET(readahead, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) | 301 | IF_READAHEAD(APPLET(readahead, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) |
| 302 | USE_READLINK(APPLET(readlink, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) | 302 | IF_READLINK(APPLET(readlink, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) |
| 303 | USE_READPROFILE(APPLET(readprofile, _BB_DIR_USR_SBIN, _BB_SUID_NEVER)) | 303 | IF_READPROFILE(APPLET(readprofile, _BB_DIR_USR_SBIN, _BB_SUID_NEVER)) |
| 304 | USE_REALPATH(APPLET(realpath, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) | 304 | IF_REALPATH(APPLET(realpath, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) |
| 305 | USE_HALT(APPLET_ODDNAME(reboot, halt, _BB_DIR_SBIN, _BB_SUID_NEVER, reboot)) | 305 | IF_HALT(APPLET_ODDNAME(reboot, halt, _BB_DIR_SBIN, _BB_SUID_NEVER, reboot)) |
| 306 | USE_REFORMIME(APPLET(reformime, _BB_DIR_BIN, _BB_SUID_NEVER)) | 306 | IF_REFORMIME(APPLET(reformime, _BB_DIR_BIN, _BB_SUID_NEVER)) |
| 307 | USE_RENICE(APPLET(renice, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) | 307 | IF_RENICE(APPLET(renice, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) |
| 308 | USE_RESET(APPLET(reset, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) | 308 | IF_RESET(APPLET(reset, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) |
| 309 | USE_RESIZE(APPLET(resize, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) | 309 | IF_RESIZE(APPLET(resize, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) |
| 310 | USE_RESTORECON(APPLET_ODDNAME(restorecon, setfiles, _BB_DIR_SBIN, _BB_SUID_NEVER, restorecon)) | 310 | IF_RESTORECON(APPLET_ODDNAME(restorecon, setfiles, _BB_DIR_SBIN, _BB_SUID_NEVER, restorecon)) |
| 311 | USE_RM(APPLET_NOFORK(rm, rm, _BB_DIR_BIN, _BB_SUID_NEVER, rm)) | 311 | IF_RM(APPLET_NOFORK(rm, rm, _BB_DIR_BIN, _BB_SUID_NEVER, rm)) |
| 312 | USE_RMDIR(APPLET_NOFORK(rmdir, rmdir, _BB_DIR_BIN, _BB_SUID_NEVER, rmdir)) | 312 | IF_RMDIR(APPLET_NOFORK(rmdir, rmdir, _BB_DIR_BIN, _BB_SUID_NEVER, rmdir)) |
| 313 | USE_RMMOD(APPLET(rmmod, _BB_DIR_SBIN, _BB_SUID_NEVER)) | 313 | IF_RMMOD(APPLET(rmmod, _BB_DIR_SBIN, _BB_SUID_NEVER)) |
| 314 | USE_MODPROBE_SMALL(APPLET_ODDNAME(rmmod, modprobe, _BB_DIR_SBIN, _BB_SUID_NEVER, modprobe)) | 314 | IF_MODPROBE_SMALL(APPLET_ODDNAME(rmmod, modprobe, _BB_DIR_SBIN, _BB_SUID_NEVER, modprobe)) |
| 315 | USE_ROUTE(APPLET(route, _BB_DIR_SBIN, _BB_SUID_NEVER)) | 315 | IF_ROUTE(APPLET(route, _BB_DIR_SBIN, _BB_SUID_NEVER)) |
| 316 | USE_RPM(APPLET(rpm, _BB_DIR_BIN, _BB_SUID_NEVER)) | 316 | IF_RPM(APPLET(rpm, _BB_DIR_BIN, _BB_SUID_NEVER)) |
| 317 | USE_RPM2CPIO(APPLET(rpm2cpio, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) | 317 | IF_RPM2CPIO(APPLET(rpm2cpio, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) |
| 318 | USE_RTCWAKE(APPLET(rtcwake, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) | 318 | IF_RTCWAKE(APPLET(rtcwake, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) |
| 319 | USE_RUN_PARTS(APPLET_ODDNAME(run-parts, run_parts, _BB_DIR_BIN, _BB_SUID_NEVER, run_parts)) | 319 | IF_RUN_PARTS(APPLET_ODDNAME(run-parts, run_parts, _BB_DIR_BIN, _BB_SUID_NEVER, run_parts)) |
| 320 | USE_RUNCON(APPLET(runcon, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) | 320 | IF_RUNCON(APPLET(runcon, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) |
| 321 | USE_RUNLEVEL(APPLET(runlevel, _BB_DIR_SBIN, _BB_SUID_NEVER)) | 321 | IF_RUNLEVEL(APPLET(runlevel, _BB_DIR_SBIN, _BB_SUID_NEVER)) |
| 322 | USE_RUNSV(APPLET(runsv, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) | 322 | IF_RUNSV(APPLET(runsv, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) |
| 323 | USE_RUNSVDIR(APPLET(runsvdir, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) | 323 | IF_RUNSVDIR(APPLET(runsvdir, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) |
| 324 | USE_RX(APPLET(rx, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) | 324 | IF_RX(APPLET(rx, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) |
| 325 | USE_SCRIPT(APPLET(script, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) | 325 | IF_SCRIPT(APPLET(script, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) |
| 326 | USE_SED(APPLET(sed, _BB_DIR_BIN, _BB_SUID_NEVER)) | 326 | IF_SED(APPLET(sed, _BB_DIR_BIN, _BB_SUID_NEVER)) |
| 327 | USE_SELINUXENABLED(APPLET(selinuxenabled, _BB_DIR_USR_SBIN, _BB_SUID_NEVER)) | 327 | IF_SELINUXENABLED(APPLET(selinuxenabled, _BB_DIR_USR_SBIN, _BB_SUID_NEVER)) |
| 328 | USE_SENDMAIL(APPLET(sendmail, _BB_DIR_USR_SBIN, _BB_SUID_NEVER)) | 328 | IF_SENDMAIL(APPLET(sendmail, _BB_DIR_USR_SBIN, _BB_SUID_NEVER)) |
| 329 | USE_SEQ(APPLET_NOFORK(seq, seq, _BB_DIR_USR_BIN, _BB_SUID_NEVER, seq)) | 329 | IF_SEQ(APPLET_NOFORK(seq, seq, _BB_DIR_USR_BIN, _BB_SUID_NEVER, seq)) |
| 330 | USE_SESTATUS(APPLET(sestatus, _BB_DIR_USR_SBIN, _BB_SUID_NEVER)) | 330 | IF_SESTATUS(APPLET(sestatus, _BB_DIR_USR_SBIN, _BB_SUID_NEVER)) |
| 331 | USE_SETARCH(APPLET(setarch, _BB_DIR_BIN, _BB_SUID_NEVER)) | 331 | IF_SETARCH(APPLET(setarch, _BB_DIR_BIN, _BB_SUID_NEVER)) |
| 332 | USE_SETCONSOLE(APPLET(setconsole, _BB_DIR_SBIN, _BB_SUID_NEVER)) | 332 | IF_SETCONSOLE(APPLET(setconsole, _BB_DIR_SBIN, _BB_SUID_NEVER)) |
| 333 | USE_SETENFORCE(APPLET(setenforce, _BB_DIR_USR_SBIN, _BB_SUID_NEVER)) | 333 | IF_SETENFORCE(APPLET(setenforce, _BB_DIR_USR_SBIN, _BB_SUID_NEVER)) |
| 334 | USE_SETFILES(APPLET(setfiles, _BB_DIR_SBIN, _BB_SUID_NEVER)) | 334 | IF_SETFILES(APPLET(setfiles, _BB_DIR_SBIN, _BB_SUID_NEVER)) |
| 335 | USE_SETFONT(APPLET(setfont, _BB_DIR_USR_SBIN, _BB_SUID_NEVER)) | 335 | IF_SETFONT(APPLET(setfont, _BB_DIR_USR_SBIN, _BB_SUID_NEVER)) |
| 336 | USE_SETKEYCODES(APPLET(setkeycodes, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) | 336 | IF_SETKEYCODES(APPLET(setkeycodes, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) |
| 337 | USE_SETLOGCONS(APPLET(setlogcons, _BB_DIR_USR_SBIN, _BB_SUID_NEVER)) | 337 | IF_SETLOGCONS(APPLET(setlogcons, _BB_DIR_USR_SBIN, _BB_SUID_NEVER)) |
| 338 | USE_SETSEBOOL(APPLET(setsebool, _BB_DIR_USR_SBIN, _BB_SUID_NEVER)) | 338 | IF_SETSEBOOL(APPLET(setsebool, _BB_DIR_USR_SBIN, _BB_SUID_NEVER)) |
| 339 | USE_SETSID(APPLET(setsid, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) | 339 | IF_SETSID(APPLET(setsid, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) |
| 340 | USE_SETUIDGID(APPLET_ODDNAME(setuidgid, chpst, _BB_DIR_USR_BIN, _BB_SUID_NEVER, setuidgid)) | 340 | IF_SETUIDGID(APPLET_ODDNAME(setuidgid, chpst, _BB_DIR_USR_BIN, _BB_SUID_NEVER, setuidgid)) |
| 341 | USE_FEATURE_SH_IS_ASH(APPLET_ODDNAME(sh, ash, _BB_DIR_BIN, _BB_SUID_NEVER, sh)) | 341 | IF_FEATURE_SH_IS_ASH(APPLET_ODDNAME(sh, ash, _BB_DIR_BIN, _BB_SUID_NEVER, sh)) |
| 342 | USE_FEATURE_SH_IS_HUSH(APPLET_ODDNAME(sh, hush, _BB_DIR_BIN, _BB_SUID_NEVER, sh)) | 342 | IF_FEATURE_SH_IS_HUSH(APPLET_ODDNAME(sh, hush, _BB_DIR_BIN, _BB_SUID_NEVER, sh)) |
| 343 | USE_FEATURE_SH_IS_MSH(APPLET_ODDNAME(sh, msh, _BB_DIR_BIN, _BB_SUID_NEVER, sh)) | 343 | IF_FEATURE_SH_IS_MSH(APPLET_ODDNAME(sh, msh, _BB_DIR_BIN, _BB_SUID_NEVER, sh)) |
| 344 | USE_SHA1SUM(APPLET_ODDNAME(sha1sum, md5_sha1_sum, _BB_DIR_USR_BIN, _BB_SUID_NEVER, sha1sum)) | 344 | IF_SHA1SUM(APPLET_ODDNAME(sha1sum, md5_sha1_sum, _BB_DIR_USR_BIN, _BB_SUID_NEVER, sha1sum)) |
| 345 | USE_SHA256SUM(APPLET_ODDNAME(sha256sum, md5_sha1_sum, _BB_DIR_USR_BIN, _BB_SUID_NEVER, sha256sum)) | 345 | IF_SHA256SUM(APPLET_ODDNAME(sha256sum, md5_sha1_sum, _BB_DIR_USR_BIN, _BB_SUID_NEVER, sha256sum)) |
| 346 | USE_SHA512SUM(APPLET_ODDNAME(sha512sum, md5_sha1_sum, _BB_DIR_USR_BIN, _BB_SUID_NEVER, sha512sum)) | 346 | IF_SHA512SUM(APPLET_ODDNAME(sha512sum, md5_sha1_sum, _BB_DIR_USR_BIN, _BB_SUID_NEVER, sha512sum)) |
| 347 | USE_SHOWKEY(APPLET(showkey, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) | 347 | IF_SHOWKEY(APPLET(showkey, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) |
| 348 | USE_SLATTACH(APPLET(slattach, _BB_DIR_SBIN, _BB_SUID_NEVER)) | 348 | IF_SLATTACH(APPLET(slattach, _BB_DIR_SBIN, _BB_SUID_NEVER)) |
| 349 | USE_SLEEP(APPLET_NOFORK(sleep, sleep, _BB_DIR_BIN, _BB_SUID_NEVER, sleep)) | 349 | IF_SLEEP(APPLET_NOFORK(sleep, sleep, _BB_DIR_BIN, _BB_SUID_NEVER, sleep)) |
| 350 | USE_SOFTLIMIT(APPLET_ODDNAME(softlimit, chpst, _BB_DIR_USR_BIN, _BB_SUID_NEVER, softlimit)) | 350 | IF_SOFTLIMIT(APPLET_ODDNAME(softlimit, chpst, _BB_DIR_USR_BIN, _BB_SUID_NEVER, softlimit)) |
| 351 | USE_SORT(APPLET_NOEXEC(sort, sort, _BB_DIR_USR_BIN, _BB_SUID_NEVER, sort)) | 351 | IF_SORT(APPLET_NOEXEC(sort, sort, _BB_DIR_USR_BIN, _BB_SUID_NEVER, sort)) |
| 352 | USE_SPLIT(APPLET(split, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) | 352 | IF_SPLIT(APPLET(split, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) |
| 353 | USE_START_STOP_DAEMON(APPLET_ODDNAME(start-stop-daemon, start_stop_daemon, _BB_DIR_SBIN, _BB_SUID_NEVER, start_stop_daemon)) | 353 | IF_START_STOP_DAEMON(APPLET_ODDNAME(start-stop-daemon, start_stop_daemon, _BB_DIR_SBIN, _BB_SUID_NEVER, start_stop_daemon)) |
| 354 | USE_STAT(APPLET(stat, _BB_DIR_BIN, _BB_SUID_NEVER)) | 354 | IF_STAT(APPLET(stat, _BB_DIR_BIN, _BB_SUID_NEVER)) |
| 355 | USE_STRINGS(APPLET(strings, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) | 355 | IF_STRINGS(APPLET(strings, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) |
| 356 | USE_STTY(APPLET(stty, _BB_DIR_BIN, _BB_SUID_NEVER)) | 356 | IF_STTY(APPLET(stty, _BB_DIR_BIN, _BB_SUID_NEVER)) |
| 357 | USE_SU(APPLET(su, _BB_DIR_BIN, _BB_SUID_ALWAYS)) | 357 | IF_SU(APPLET(su, _BB_DIR_BIN, _BB_SUID_ALWAYS)) |
| 358 | USE_SULOGIN(APPLET(sulogin, _BB_DIR_SBIN, _BB_SUID_NEVER)) | 358 | IF_SULOGIN(APPLET(sulogin, _BB_DIR_SBIN, _BB_SUID_NEVER)) |
| 359 | USE_SUM(APPLET(sum, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) | 359 | IF_SUM(APPLET(sum, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) |
| 360 | USE_SV(APPLET(sv, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) | 360 | IF_SV(APPLET(sv, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) |
| 361 | USE_SVLOGD(APPLET(svlogd, _BB_DIR_USR_SBIN, _BB_SUID_NEVER)) | 361 | IF_SVLOGD(APPLET(svlogd, _BB_DIR_USR_SBIN, _BB_SUID_NEVER)) |
| 362 | USE_SWAPONOFF(APPLET_ODDNAME(swapoff, swap_on_off, _BB_DIR_SBIN, _BB_SUID_NEVER,swapoff)) | 362 | IF_SWAPONOFF(APPLET_ODDNAME(swapoff, swap_on_off, _BB_DIR_SBIN, _BB_SUID_NEVER,swapoff)) |
| 363 | USE_SWAPONOFF(APPLET_ODDNAME(swapon, swap_on_off, _BB_DIR_SBIN, _BB_SUID_NEVER, swapon)) | 363 | IF_SWAPONOFF(APPLET_ODDNAME(swapon, swap_on_off, _BB_DIR_SBIN, _BB_SUID_NEVER, swapon)) |
| 364 | USE_SWITCH_ROOT(APPLET(switch_root, _BB_DIR_SBIN, _BB_SUID_NEVER)) | 364 | IF_SWITCH_ROOT(APPLET(switch_root, _BB_DIR_SBIN, _BB_SUID_NEVER)) |
| 365 | USE_SYNC(APPLET_NOFORK(sync, sync, _BB_DIR_BIN, _BB_SUID_NEVER, sync)) | 365 | IF_SYNC(APPLET_NOFORK(sync, sync, _BB_DIR_BIN, _BB_SUID_NEVER, sync)) |
| 366 | USE_BB_SYSCTL(APPLET(sysctl, _BB_DIR_SBIN, _BB_SUID_NEVER)) | 366 | IF_BB_SYSCTL(APPLET(sysctl, _BB_DIR_SBIN, _BB_SUID_NEVER)) |
| 367 | USE_SYSLOGD(APPLET(syslogd, _BB_DIR_SBIN, _BB_SUID_NEVER)) | 367 | IF_SYSLOGD(APPLET(syslogd, _BB_DIR_SBIN, _BB_SUID_NEVER)) |
| 368 | USE_TAC(APPLET_NOEXEC(tac, tac, _BB_DIR_USR_BIN, _BB_SUID_NEVER, tac)) | 368 | IF_TAC(APPLET_NOEXEC(tac, tac, _BB_DIR_USR_BIN, _BB_SUID_NEVER, tac)) |
| 369 | USE_TAIL(APPLET(tail, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) | 369 | IF_TAIL(APPLET(tail, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) |
| 370 | USE_TAR(APPLET(tar, _BB_DIR_BIN, _BB_SUID_NEVER)) | 370 | IF_TAR(APPLET(tar, _BB_DIR_BIN, _BB_SUID_NEVER)) |
| 371 | USE_TASKSET(APPLET(taskset, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) | 371 | IF_TASKSET(APPLET(taskset, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) |
| 372 | /* USE_TC(APPLET(tc, _BB_DIR_SBIN, _BB_SUID_NEVER)) */ | 372 | /* IF_TC(APPLET(tc, _BB_DIR_SBIN, _BB_SUID_NEVER)) */ |
| 373 | USE_TCPSVD(APPLET_ODDNAME(tcpsvd, tcpudpsvd, _BB_DIR_USR_BIN, _BB_SUID_NEVER, tcpsvd)) | 373 | IF_TCPSVD(APPLET_ODDNAME(tcpsvd, tcpudpsvd, _BB_DIR_USR_BIN, _BB_SUID_NEVER, tcpsvd)) |
| 374 | USE_TEE(APPLET(tee, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) | 374 | IF_TEE(APPLET(tee, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) |
| 375 | USE_TELNET(APPLET(telnet, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) | 375 | IF_TELNET(APPLET(telnet, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) |
| 376 | USE_TELNETD(APPLET(telnetd, _BB_DIR_USR_SBIN, _BB_SUID_NEVER)) | 376 | IF_TELNETD(APPLET(telnetd, _BB_DIR_USR_SBIN, _BB_SUID_NEVER)) |
| 377 | USE_TEST(APPLET_NOFORK(test, test, _BB_DIR_USR_BIN, _BB_SUID_NEVER, test)) | 377 | IF_TEST(APPLET_NOFORK(test, test, _BB_DIR_USR_BIN, _BB_SUID_NEVER, test)) |
| 378 | #if ENABLE_FEATURE_TFTP_GET || ENABLE_FEATURE_TFTP_PUT | 378 | #if ENABLE_FEATURE_TFTP_GET || ENABLE_FEATURE_TFTP_PUT |
| 379 | USE_TFTP(APPLET(tftp, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) | 379 | IF_TFTP(APPLET(tftp, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) |
| 380 | USE_TFTPD(APPLET(tftpd, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) | 380 | IF_TFTPD(APPLET(tftpd, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) |
| 381 | #endif | 381 | #endif |
| 382 | USE_TIME(APPLET(time, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) | 382 | IF_TIME(APPLET(time, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) |
| 383 | USE_TIMEOUT(APPLET(timeout, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) | 383 | IF_TIMEOUT(APPLET(timeout, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) |
| 384 | USE_TOP(APPLET(top, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) | 384 | IF_TOP(APPLET(top, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) |
| 385 | USE_TOUCH(APPLET_NOFORK(touch, touch, _BB_DIR_BIN, _BB_SUID_NEVER, touch)) | 385 | IF_TOUCH(APPLET_NOFORK(touch, touch, _BB_DIR_BIN, _BB_SUID_NEVER, touch)) |
| 386 | USE_TR(APPLET(tr, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) | 386 | IF_TR(APPLET(tr, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) |
| 387 | USE_TRACEROUTE(APPLET(traceroute, _BB_DIR_USR_BIN, _BB_SUID_MAYBE)) | 387 | IF_TRACEROUTE(APPLET(traceroute, _BB_DIR_USR_BIN, _BB_SUID_MAYBE)) |
| 388 | USE_TRUE(APPLET_NOFORK(true, true, _BB_DIR_BIN, _BB_SUID_NEVER, true)) | 388 | IF_TRUE(APPLET_NOFORK(true, true, _BB_DIR_BIN, _BB_SUID_NEVER, true)) |
| 389 | USE_TTY(APPLET(tty, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) | 389 | IF_TTY(APPLET(tty, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) |
| 390 | USE_TTYSIZE(APPLET(ttysize, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) | 390 | IF_TTYSIZE(APPLET(ttysize, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) |
| 391 | USE_TUNCTL(APPLET(tunctl, _BB_DIR_SBIN, _BB_SUID_NEVER)) | 391 | IF_TUNCTL(APPLET(tunctl, _BB_DIR_SBIN, _BB_SUID_NEVER)) |
| 392 | //USE_TUNE2FS(APPLET(tune2fs, _BB_DIR_SBIN, _BB_SUID_NEVER)) | 392 | //IF_TUNE2FS(APPLET(tune2fs, _BB_DIR_SBIN, _BB_SUID_NEVER)) |
| 393 | USE_APP_UDHCPC(APPLET(udhcpc, _BB_DIR_SBIN, _BB_SUID_NEVER)) | 393 | IF_APP_UDHCPC(APPLET(udhcpc, _BB_DIR_SBIN, _BB_SUID_NEVER)) |
| 394 | USE_APP_UDHCPD(APPLET(udhcpd, _BB_DIR_USR_SBIN, _BB_SUID_NEVER)) | 394 | IF_APP_UDHCPD(APPLET(udhcpd, _BB_DIR_USR_SBIN, _BB_SUID_NEVER)) |
| 395 | USE_UDPSVD(APPLET_ODDNAME(udpsvd, tcpudpsvd, _BB_DIR_USR_BIN, _BB_SUID_NEVER, udpsvd)) | 395 | IF_UDPSVD(APPLET_ODDNAME(udpsvd, tcpudpsvd, _BB_DIR_USR_BIN, _BB_SUID_NEVER, udpsvd)) |
| 396 | USE_UMOUNT(APPLET(umount, _BB_DIR_BIN, _BB_SUID_NEVER)) | 396 | IF_UMOUNT(APPLET(umount, _BB_DIR_BIN, _BB_SUID_NEVER)) |
| 397 | USE_UNAME(APPLET(uname, _BB_DIR_BIN, _BB_SUID_NEVER)) | 397 | IF_UNAME(APPLET(uname, _BB_DIR_BIN, _BB_SUID_NEVER)) |
| 398 | USE_UNCOMPRESS(APPLET(uncompress, _BB_DIR_BIN, _BB_SUID_NEVER)) | 398 | IF_UNCOMPRESS(APPLET(uncompress, _BB_DIR_BIN, _BB_SUID_NEVER)) |
| 399 | USE_UNEXPAND(APPLET_ODDNAME(unexpand, expand, _BB_DIR_USR_BIN, _BB_SUID_NEVER, unexpand)) | 399 | IF_UNEXPAND(APPLET_ODDNAME(unexpand, expand, _BB_DIR_USR_BIN, _BB_SUID_NEVER, unexpand)) |
| 400 | USE_UNIQ(APPLET(uniq, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) | 400 | IF_UNIQ(APPLET(uniq, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) |
| 401 | USE_UNIX2DOS(APPLET_ODDNAME(unix2dos, dos2unix, _BB_DIR_USR_BIN, _BB_SUID_NEVER, unix2dos)) | 401 | IF_UNIX2DOS(APPLET_ODDNAME(unix2dos, dos2unix, _BB_DIR_USR_BIN, _BB_SUID_NEVER, unix2dos)) |
| 402 | USE_UNLZMA(APPLET(unlzma, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) | 402 | IF_UNLZMA(APPLET(unlzma, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) |
| 403 | USE_UNZIP(APPLET(unzip, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) | 403 | IF_UNZIP(APPLET(unzip, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) |
| 404 | USE_UPTIME(APPLET(uptime, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) | 404 | IF_UPTIME(APPLET(uptime, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) |
| 405 | USE_USLEEP(APPLET_NOFORK(usleep, usleep, _BB_DIR_BIN, _BB_SUID_NEVER, usleep)) | 405 | IF_USLEEP(APPLET_NOFORK(usleep, usleep, _BB_DIR_BIN, _BB_SUID_NEVER, usleep)) |
| 406 | USE_UUDECODE(APPLET(uudecode, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) | 406 | IF_UUDECODE(APPLET(uudecode, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) |
| 407 | USE_UUENCODE(APPLET(uuencode, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) | 407 | IF_UUENCODE(APPLET(uuencode, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) |
| 408 | USE_VCONFIG(APPLET(vconfig, _BB_DIR_SBIN, _BB_SUID_NEVER)) | 408 | IF_VCONFIG(APPLET(vconfig, _BB_DIR_SBIN, _BB_SUID_NEVER)) |
| 409 | USE_VI(APPLET(vi, _BB_DIR_BIN, _BB_SUID_NEVER)) | 409 | IF_VI(APPLET(vi, _BB_DIR_BIN, _BB_SUID_NEVER)) |
| 410 | USE_VLOCK(APPLET(vlock, _BB_DIR_USR_BIN, _BB_SUID_ALWAYS)) | 410 | IF_VLOCK(APPLET(vlock, _BB_DIR_USR_BIN, _BB_SUID_ALWAYS)) |
| 411 | USE_WATCH(APPLET(watch, _BB_DIR_BIN, _BB_SUID_NEVER)) | 411 | IF_WATCH(APPLET(watch, _BB_DIR_BIN, _BB_SUID_NEVER)) |
| 412 | USE_WATCHDOG(APPLET(watchdog, _BB_DIR_SBIN, _BB_SUID_NEVER)) | 412 | IF_WATCHDOG(APPLET(watchdog, _BB_DIR_SBIN, _BB_SUID_NEVER)) |
| 413 | USE_WC(APPLET(wc, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) | 413 | IF_WC(APPLET(wc, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) |
| 414 | USE_WGET(APPLET(wget, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) | 414 | IF_WGET(APPLET(wget, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) |
| 415 | USE_WHICH(APPLET(which, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) | 415 | IF_WHICH(APPLET(which, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) |
| 416 | USE_WHO(APPLET(who, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) | 416 | IF_WHO(APPLET(who, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) |
| 417 | USE_WHOAMI(APPLET_NOFORK(whoami, whoami, _BB_DIR_USR_BIN, _BB_SUID_NEVER, whoami)) | 417 | IF_WHOAMI(APPLET_NOFORK(whoami, whoami, _BB_DIR_USR_BIN, _BB_SUID_NEVER, whoami)) |
| 418 | USE_XARGS(APPLET_NOEXEC(xargs, xargs, _BB_DIR_USR_BIN, _BB_SUID_NEVER, xargs)) | 418 | IF_XARGS(APPLET_NOEXEC(xargs, xargs, _BB_DIR_USR_BIN, _BB_SUID_NEVER, xargs)) |
| 419 | USE_YES(APPLET_NOFORK(yes, yes, _BB_DIR_USR_BIN, _BB_SUID_NEVER, yes)) | 419 | IF_YES(APPLET_NOFORK(yes, yes, _BB_DIR_USR_BIN, _BB_SUID_NEVER, yes)) |
| 420 | USE_GUNZIP(APPLET_ODDNAME(zcat, gunzip, _BB_DIR_BIN, _BB_SUID_NEVER, zcat)) | 420 | IF_GUNZIP(APPLET_ODDNAME(zcat, gunzip, _BB_DIR_BIN, _BB_SUID_NEVER, zcat)) |
| 421 | USE_ZCIP(APPLET(zcip, _BB_DIR_SBIN, _BB_SUID_NEVER)) | 421 | IF_ZCIP(APPLET(zcip, _BB_DIR_SBIN, _BB_SUID_NEVER)) |
| 422 | 422 | ||
| 423 | #if !defined(PROTOTYPES) && !defined(NAME_MAIN_CNAME) && !defined(MAKE_USAGE) | 423 | #if !defined(PROTOTYPES) && !defined(NAME_MAIN_CNAME) && !defined(MAKE_USAGE) |
| 424 | }; | 424 | }; |
diff --git a/include/libbb.h b/include/libbb.h index 1faa9e9fd..4de3e7915 100644 --- a/include/libbb.h +++ b/include/libbb.h | |||
| @@ -260,7 +260,7 @@ enum { /* DO NOT CHANGE THESE VALUES! cp.c, mv.c, install.c depend on them. */ | |||
| 260 | FILEUTILS_SET_SECURITY_CONTEXT = 0x200 | 260 | FILEUTILS_SET_SECURITY_CONTEXT = 0x200 |
| 261 | #endif | 261 | #endif |
| 262 | }; | 262 | }; |
| 263 | #define FILEUTILS_CP_OPTSTR "pdRfilsL" USE_SELINUX("c") | 263 | #define FILEUTILS_CP_OPTSTR "pdRfilsL" IF_SELINUX("c") |
| 264 | extern int remove_file(const char *path, int flags) FAST_FUNC; | 264 | extern int remove_file(const char *path, int flags) FAST_FUNC; |
| 265 | /* NB: without FILEUTILS_RECUR in flags, it will basically "cat" | 265 | /* NB: without FILEUTILS_RECUR in flags, it will basically "cat" |
| 266 | * the source, not copy (unless "source" is a directory). | 266 | * the source, not copy (unless "source" is a directory). |
| @@ -916,15 +916,15 @@ extern void bb_verror_msg(const char *s, va_list p, const char *strerr) FAST_FUN | |||
| 916 | /* Applets which are useful from another applets */ | 916 | /* Applets which are useful from another applets */ |
| 917 | int bb_cat(char** argv); | 917 | int bb_cat(char** argv); |
| 918 | /* If shell needs them, they exist even if not enabled as applets */ | 918 | /* If shell needs them, they exist even if not enabled as applets */ |
| 919 | int echo_main(int argc, char** argv) USE_ECHO(MAIN_EXTERNALLY_VISIBLE); | 919 | int echo_main(int argc, char** argv) IF_ECHO(MAIN_EXTERNALLY_VISIBLE); |
| 920 | int printf_main(int argc, char **argv) USE_PRINTF(MAIN_EXTERNALLY_VISIBLE); | 920 | int printf_main(int argc, char **argv) IF_PRINTF(MAIN_EXTERNALLY_VISIBLE); |
| 921 | int test_main(int argc, char **argv) USE_TEST(MAIN_EXTERNALLY_VISIBLE); | 921 | int test_main(int argc, char **argv) IF_TEST(MAIN_EXTERNALLY_VISIBLE); |
| 922 | int kill_main(int argc, char **argv) USE_KILL(MAIN_EXTERNALLY_VISIBLE); | 922 | int kill_main(int argc, char **argv) IF_KILL(MAIN_EXTERNALLY_VISIBLE); |
| 923 | /* Similar, but used by chgrp, not shell */ | 923 | /* Similar, but used by chgrp, not shell */ |
| 924 | int chown_main(int argc, char **argv) USE_CHOWN(MAIN_EXTERNALLY_VISIBLE); | 924 | int chown_main(int argc, char **argv) IF_CHOWN(MAIN_EXTERNALLY_VISIBLE); |
| 925 | /* Used by ftpd */ | 925 | /* Used by ftpd */ |
| 926 | int ls_main(int argc, char **argv) USE_LS(MAIN_EXTERNALLY_VISIBLE); | 926 | int ls_main(int argc, char **argv) IF_LS(MAIN_EXTERNALLY_VISIBLE); |
| 927 | /* Don't need USE_xxx() guard for these */ | 927 | /* Don't need IF_xxx() guard for these */ |
| 928 | int gunzip_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; | 928 | int gunzip_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; |
| 929 | int bunzip2_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; | 929 | int bunzip2_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; |
| 930 | 930 | ||
| @@ -1253,7 +1253,7 @@ typedef struct procps_status_t { | |||
| 1253 | /* Fields are set to 0/NULL if failed to determine (or not requested) */ | 1253 | /* Fields are set to 0/NULL if failed to determine (or not requested) */ |
| 1254 | uint16_t argv_len; | 1254 | uint16_t argv_len; |
| 1255 | char *argv0; | 1255 | char *argv0; |
| 1256 | USE_SELINUX(char *context;) | 1256 | IF_SELINUX(char *context;) |
| 1257 | /* Everything below must contain no ptrs to malloc'ed data: | 1257 | /* Everything below must contain no ptrs to malloc'ed data: |
| 1258 | * it is memset(0) for each process in procps_scan() */ | 1258 | * it is memset(0) for each process in procps_scan() */ |
| 1259 | unsigned long vsz, rss; /* we round it to kbytes */ | 1259 | unsigned long vsz, rss; /* we round it to kbytes */ |
| @@ -1309,7 +1309,7 @@ enum { | |||
| 1309 | || ENABLE_PIDOF | 1309 | || ENABLE_PIDOF |
| 1310 | || ENABLE_SESTATUS | 1310 | || ENABLE_SESTATUS |
| 1311 | ), | 1311 | ), |
| 1312 | USE_SELINUX(PSSCAN_CONTEXT = 1 << 17,) | 1312 | IF_SELINUX(PSSCAN_CONTEXT = 1 << 17,) |
| 1313 | PSSCAN_START_TIME = 1 << 18, | 1313 | PSSCAN_START_TIME = 1 << 18, |
| 1314 | PSSCAN_CPU = 1 << 19, | 1314 | PSSCAN_CPU = 1 << 19, |
| 1315 | /* These are all retrieved from proc/NN/stat in one go: */ | 1315 | /* These are all retrieved from proc/NN/stat in one go: */ |
diff --git a/include/unarchive.h b/include/unarchive.h index 9d4f1fa40..682e810d5 100644 --- a/include/unarchive.h +++ b/include/unarchive.h | |||
| @@ -125,24 +125,24 @@ typedef struct inflate_unzip_result { | |||
| 125 | uint32_t crc; | 125 | uint32_t crc; |
| 126 | } inflate_unzip_result; | 126 | } inflate_unzip_result; |
| 127 | 127 | ||
| 128 | USE_DESKTOP(long long) int inflate_unzip(inflate_unzip_result *res, off_t compr_size, int src_fd, int dst_fd) FAST_FUNC; | 128 | IF_DESKTOP(long long) int inflate_unzip(inflate_unzip_result *res, off_t compr_size, int src_fd, int dst_fd) FAST_FUNC; |
| 129 | /* lzma unpacker takes .lzma stream from offset 0 */ | 129 | /* lzma unpacker takes .lzma stream from offset 0 */ |
| 130 | USE_DESKTOP(long long) int unpack_lzma_stream(int src_fd, int dst_fd) FAST_FUNC; | 130 | IF_DESKTOP(long long) int unpack_lzma_stream(int src_fd, int dst_fd) FAST_FUNC; |
| 131 | /* the rest wants 2 first bytes already skipped by the caller */ | 131 | /* the rest wants 2 first bytes already skipped by the caller */ |
| 132 | USE_DESKTOP(long long) int unpack_bz2_stream(int src_fd, int dst_fd) FAST_FUNC; | 132 | IF_DESKTOP(long long) int unpack_bz2_stream(int src_fd, int dst_fd) FAST_FUNC; |
| 133 | USE_DESKTOP(long long) int unpack_gz_stream(int src_fd, int dst_fd) FAST_FUNC; | 133 | IF_DESKTOP(long long) int unpack_gz_stream(int src_fd, int dst_fd) FAST_FUNC; |
| 134 | USE_DESKTOP(long long) int unpack_gz_stream_with_info(int src_fd, int dst_fd, unpack_info_t *info) FAST_FUNC; | 134 | IF_DESKTOP(long long) int unpack_gz_stream_with_info(int src_fd, int dst_fd, unpack_info_t *info) FAST_FUNC; |
| 135 | USE_DESKTOP(long long) int unpack_Z_stream(int fd_in, int fd_out) FAST_FUNC; | 135 | IF_DESKTOP(long long) int unpack_Z_stream(int fd_in, int fd_out) FAST_FUNC; |
| 136 | /* wrapper which checks first two bytes to be "BZ" */ | 136 | /* wrapper which checks first two bytes to be "BZ" */ |
| 137 | USE_DESKTOP(long long) int unpack_bz2_stream_prime(int src_fd, int dst_fd) FAST_FUNC; | 137 | IF_DESKTOP(long long) int unpack_bz2_stream_prime(int src_fd, int dst_fd) FAST_FUNC; |
| 138 | 138 | ||
| 139 | int bbunpack(char **argv, | 139 | int bbunpack(char **argv, |
| 140 | char* (*make_new_name)(char *filename), | 140 | char* (*make_new_name)(char *filename), |
| 141 | USE_DESKTOP(long long) int (*unpacker)(unpack_info_t *info)) FAST_FUNC; | 141 | IF_DESKTOP(long long) int (*unpacker)(unpack_info_t *info)) FAST_FUNC; |
| 142 | 142 | ||
| 143 | #if BB_MMU | 143 | #if BB_MMU |
| 144 | void open_transformer(int fd, | 144 | void open_transformer(int fd, |
| 145 | USE_DESKTOP(long long) int FAST_FUNC (*transformer)(int src_fd, int dst_fd)) FAST_FUNC; | 145 | IF_DESKTOP(long long) int FAST_FUNC (*transformer)(int src_fd, int dst_fd)) FAST_FUNC; |
| 146 | #define open_transformer(fd, transformer, transform_prog) open_transformer(fd, transformer) | 146 | #define open_transformer(fd, transformer, transform_prog) open_transformer(fd, transformer) |
| 147 | #else | 147 | #else |
| 148 | void open_transformer(int src_fd, const char *transform_prog) FAST_FUNC; | 148 | void open_transformer(int src_fd, const char *transform_prog) FAST_FUNC; |
diff --git a/include/usage.h b/include/usage.h index d3bf7849e..bfb07a4cf 100644 --- a/include/usage.h +++ b/include/usage.h | |||
| @@ -25,7 +25,7 @@ | |||
| 25 | "\n -c DIR Config directory [/etc/acpi]" \ | 25 | "\n -c DIR Config directory [/etc/acpi]" \ |
| 26 | "\n -e FILE /proc event file [/proc/acpi/event]" \ | 26 | "\n -e FILE /proc event file [/proc/acpi/event]" \ |
| 27 | "\n -l FILE Log file [/var/log/acpid]" \ | 27 | "\n -l FILE Log file [/var/log/acpid]" \ |
| 28 | USE_FEATURE_ACPID_COMPAT( \ | 28 | IF_FEATURE_ACPID_COMPAT( \ |
| 29 | "\n\nAccept and ignore compatibility options -g -m -s -S -v" \ | 29 | "\n\nAccept and ignore compatibility options -g -m -s -S -v" \ |
| 30 | ) | 30 | ) |
| 31 | 31 | ||
| @@ -34,9 +34,9 @@ | |||
| 34 | "# acpid -d /dev/input/event*\n" | 34 | "# acpid -d /dev/input/event*\n" |
| 35 | 35 | ||
| 36 | #define addgroup_trivial_usage \ | 36 | #define addgroup_trivial_usage \ |
| 37 | "[-g GID] " USE_FEATURE_ADDUSER_TO_GROUP("[user_name] ") "group_name" | 37 | "[-g GID] " IF_FEATURE_ADDUSER_TO_GROUP("[user_name] ") "group_name" |
| 38 | #define addgroup_full_usage "\n\n" \ | 38 | #define addgroup_full_usage "\n\n" \ |
| 39 | "Add a group " USE_FEATURE_ADDUSER_TO_GROUP("or add a user to a group") "\n" \ | 39 | "Add a group " IF_FEATURE_ADDUSER_TO_GROUP("or add a user to a group") "\n" \ |
| 40 | "\nOptions:" \ | 40 | "\nOptions:" \ |
| 41 | "\n -g GID Group id" \ | 41 | "\n -g GID Group id" \ |
| 42 | 42 | ||
| @@ -160,14 +160,14 @@ | |||
| 160 | #define brctl_full_usage "\n\n" \ | 160 | #define brctl_full_usage "\n\n" \ |
| 161 | "Manage ethernet bridges.\n" \ | 161 | "Manage ethernet bridges.\n" \ |
| 162 | "\nCommands:" \ | 162 | "\nCommands:" \ |
| 163 | USE_FEATURE_BRCTL_SHOW( \ | 163 | IF_FEATURE_BRCTL_SHOW( \ |
| 164 | "\n show Show a list of bridges" \ | 164 | "\n show Show a list of bridges" \ |
| 165 | ) \ | 165 | ) \ |
| 166 | "\n addbr BRIDGE Create BRIDGE" \ | 166 | "\n addbr BRIDGE Create BRIDGE" \ |
| 167 | "\n delbr BRIDGE Delete BRIDGE" \ | 167 | "\n delbr BRIDGE Delete BRIDGE" \ |
| 168 | "\n addif BRIDGE IFACE Add IFACE to BRIDGE" \ | 168 | "\n addif BRIDGE IFACE Add IFACE to BRIDGE" \ |
| 169 | "\n delif BRIDGE IFACE Delete IFACE from BRIDGE" \ | 169 | "\n delif BRIDGE IFACE Delete IFACE from BRIDGE" \ |
| 170 | USE_FEATURE_BRCTL_FANCY( \ | 170 | IF_FEATURE_BRCTL_FANCY( \ |
| 171 | "\n setageing BRIDGE TIME Set ageing time" \ | 171 | "\n setageing BRIDGE TIME Set ageing time" \ |
| 172 | "\n setfd BRIDGE TIME Set bridge forward delay" \ | 172 | "\n setfd BRIDGE TIME Set bridge forward delay" \ |
| 173 | "\n sethello BRIDGE TIME Set hello time" \ | 173 | "\n sethello BRIDGE TIME Set hello time" \ |
| @@ -281,12 +281,12 @@ | |||
| 281 | #define chcon_trivial_usage \ | 281 | #define chcon_trivial_usage \ |
| 282 | "[OPTIONS] CONTEXT FILE..." \ | 282 | "[OPTIONS] CONTEXT FILE..." \ |
| 283 | "\n chcon [OPTIONS] [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE..." \ | 283 | "\n chcon [OPTIONS] [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE..." \ |
| 284 | USE_FEATURE_CHCON_LONG_OPTIONS( \ | 284 | IF_FEATURE_CHCON_LONG_OPTIONS( \ |
| 285 | "\n chcon [OPTIONS] --reference=RFILE FILE..." \ | 285 | "\n chcon [OPTIONS] --reference=RFILE FILE..." \ |
| 286 | ) | 286 | ) |
| 287 | #define chcon_full_usage "\n\n" \ | 287 | #define chcon_full_usage "\n\n" \ |
| 288 | "Change the security context of each FILE to CONTEXT\n" \ | 288 | "Change the security context of each FILE to CONTEXT\n" \ |
| 289 | USE_FEATURE_CHCON_LONG_OPTIONS( \ | 289 | IF_FEATURE_CHCON_LONG_OPTIONS( \ |
| 290 | "\n -v,--verbose Verbose" \ | 290 | "\n -v,--verbose Verbose" \ |
| 291 | "\n -c,--changes Report changes made" \ | 291 | "\n -c,--changes Report changes made" \ |
| 292 | "\n -h,--no-dereference Affect symlinks instead of their targets" \ | 292 | "\n -h,--no-dereference Affect symlinks instead of their targets" \ |
| @@ -298,7 +298,7 @@ | |||
| 298 | "\n -l,--range=RANGE" \ | 298 | "\n -l,--range=RANGE" \ |
| 299 | "\n -R,--recursive Recurse subdirectories" \ | 299 | "\n -R,--recursive Recurse subdirectories" \ |
| 300 | ) \ | 300 | ) \ |
| 301 | SKIP_FEATURE_CHCON_LONG_OPTIONS( \ | 301 | IF_NOT_FEATURE_CHCON_LONG_OPTIONS( \ |
| 302 | "\n -v Verbose" \ | 302 | "\n -v Verbose" \ |
| 303 | "\n -c Report changes made" \ | 303 | "\n -c Report changes made" \ |
| 304 | "\n -h Affect symlinks instead of their targets" \ | 304 | "\n -h Affect symlinks instead of their targets" \ |
| @@ -311,13 +311,13 @@ | |||
| 311 | ) | 311 | ) |
| 312 | 312 | ||
| 313 | #define chmod_trivial_usage \ | 313 | #define chmod_trivial_usage \ |
| 314 | "[-R"USE_DESKTOP("cvf")"] MODE[,MODE]... FILE..." | 314 | "[-R"IF_DESKTOP("cvf")"] MODE[,MODE]... FILE..." |
| 315 | #define chmod_full_usage "\n\n" \ | 315 | #define chmod_full_usage "\n\n" \ |
| 316 | "Each MODE is one or more of the letters ugoa, one of the\n" \ | 316 | "Each MODE is one or more of the letters ugoa, one of the\n" \ |
| 317 | "symbols +-= and one or more of the letters rwxst\n" \ | 317 | "symbols +-= and one or more of the letters rwxst\n" \ |
| 318 | "\nOptions:" \ | 318 | "\nOptions:" \ |
| 319 | "\n -R Recurse directories" \ | 319 | "\n -R Recurse directories" \ |
| 320 | USE_DESKTOP( \ | 320 | IF_DESKTOP( \ |
| 321 | "\n -c List changed files" \ | 321 | "\n -c List changed files" \ |
| 322 | "\n -v List all files" \ | 322 | "\n -v List all files" \ |
| 323 | "\n -f Hide errors" \ | 323 | "\n -f Hide errors" \ |
| @@ -333,7 +333,7 @@ | |||
| 333 | "-r--r--r-- 1 root root 0 Apr 12 18:25 /tmp/foo\n" | 333 | "-r--r--r-- 1 root root 0 Apr 12 18:25 /tmp/foo\n" |
| 334 | 334 | ||
| 335 | #define chgrp_trivial_usage \ | 335 | #define chgrp_trivial_usage \ |
| 336 | "[-RhLHP"USE_DESKTOP("cvf")"]... GROUP FILE..." | 336 | "[-RhLHP"IF_DESKTOP("cvf")"]... GROUP FILE..." |
| 337 | #define chgrp_full_usage "\n\n" \ | 337 | #define chgrp_full_usage "\n\n" \ |
| 338 | "Change the group membership of each FILE to GROUP\n" \ | 338 | "Change the group membership of each FILE to GROUP\n" \ |
| 339 | "\nOptions:" \ | 339 | "\nOptions:" \ |
| @@ -342,7 +342,7 @@ | |||
| 342 | "\n -L Traverse all symlinks to directories" \ | 342 | "\n -L Traverse all symlinks to directories" \ |
| 343 | "\n -H Traverse symlinks on command line only" \ | 343 | "\n -H Traverse symlinks on command line only" \ |
| 344 | "\n -P Do not traverse symlinks (default)" \ | 344 | "\n -P Do not traverse symlinks (default)" \ |
| 345 | USE_DESKTOP( \ | 345 | IF_DESKTOP( \ |
| 346 | "\n -c List changed files" \ | 346 | "\n -c List changed files" \ |
| 347 | "\n -v Verbose" \ | 347 | "\n -v Verbose" \ |
| 348 | "\n -f Hide errors" \ | 348 | "\n -f Hide errors" \ |
| @@ -355,7 +355,7 @@ | |||
| 355 | "-r--r--r-- 1 andersen root 0 Apr 12 18:25 /tmp/foo\n" | 355 | "-r--r--r-- 1 andersen root 0 Apr 12 18:25 /tmp/foo\n" |
| 356 | 356 | ||
| 357 | #define chown_trivial_usage \ | 357 | #define chown_trivial_usage \ |
| 358 | "[-RhLHP"USE_DESKTOP("cvf")"]... OWNER[<.|:>[GROUP]] FILE..." | 358 | "[-RhLHP"IF_DESKTOP("cvf")"]... OWNER[<.|:>[GROUP]] FILE..." |
| 359 | #define chown_full_usage "\n\n" \ | 359 | #define chown_full_usage "\n\n" \ |
| 360 | "Change the owner and/or group of each FILE to OWNER and/or GROUP\n" \ | 360 | "Change the owner and/or group of each FILE to OWNER and/or GROUP\n" \ |
| 361 | "\nOptions:" \ | 361 | "\nOptions:" \ |
| @@ -364,7 +364,7 @@ | |||
| 364 | "\n -L Traverse all symlinks to directories" \ | 364 | "\n -L Traverse all symlinks to directories" \ |
| 365 | "\n -H Traverse symlinks on command line only" \ | 365 | "\n -H Traverse symlinks on command line only" \ |
| 366 | "\n -P Do not traverse symlinks (default)" \ | 366 | "\n -P Do not traverse symlinks (default)" \ |
| 367 | USE_DESKTOP( \ | 367 | IF_DESKTOP( \ |
| 368 | "\n -c List changed files" \ | 368 | "\n -c List changed files" \ |
| 369 | "\n -v List all files" \ | 369 | "\n -v List all files" \ |
| 370 | "\n -f Hide errors" \ | 370 | "\n -f Hide errors" \ |
| @@ -468,7 +468,7 @@ | |||
| 468 | "Clear screen" | 468 | "Clear screen" |
| 469 | 469 | ||
| 470 | #define cmp_trivial_usage \ | 470 | #define cmp_trivial_usage \ |
| 471 | "[-l] [-s] FILE1 [FILE2" USE_DESKTOP(" [SKIP1 [SKIP2]") "]]" | 471 | "[-l] [-s] FILE1 [FILE2" IF_DESKTOP(" [SKIP1 [SKIP2]") "]]" |
| 472 | #define cmp_full_usage "\n\n" \ | 472 | #define cmp_full_usage "\n\n" \ |
| 473 | "Compares FILE1 vs stdin if FILE2 is not specified\n" \ | 473 | "Compares FILE1 vs stdin if FILE2 is not specified\n" \ |
| 474 | "\nOptions:" \ | 474 | "\nOptions:" \ |
| @@ -518,7 +518,7 @@ | |||
| 518 | "Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY\n" \ | 518 | "Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY\n" \ |
| 519 | "\nOptions:" \ | 519 | "\nOptions:" \ |
| 520 | "\n -a Same as -dpR" \ | 520 | "\n -a Same as -dpR" \ |
| 521 | USE_SELINUX( \ | 521 | IF_SELINUX( \ |
| 522 | "\n -c Preserve security context" \ | 522 | "\n -c Preserve security context" \ |
| 523 | ) \ | 523 | ) \ |
| 524 | "\n -d,-P Preserve links" \ | 524 | "\n -d,-P Preserve links" \ |
| @@ -530,18 +530,18 @@ | |||
| 530 | "\n -l,-s Create (sym)links" \ | 530 | "\n -l,-s Create (sym)links" \ |
| 531 | 531 | ||
| 532 | #define cpio_trivial_usage \ | 532 | #define cpio_trivial_usage \ |
| 533 | "-[ti" USE_FEATURE_CPIO_O("o") USE_FEATURE_CPIO_P("p") "dmvu] [-F FILE]" \ | 533 | "-[ti" IF_FEATURE_CPIO_O("o") IF_FEATURE_CPIO_P("p") "dmvu] [-F FILE]" \ |
| 534 | USE_FEATURE_CPIO_O( " [-H newc]" ) | 534 | IF_FEATURE_CPIO_O( " [-H newc]" ) |
| 535 | #define cpio_full_usage "\n\n" \ | 535 | #define cpio_full_usage "\n\n" \ |
| 536 | "Extract or list files from a cpio archive" \ | 536 | "Extract or list files from a cpio archive" \ |
| 537 | USE_FEATURE_CPIO_O( ", or create a cpio archive" ) \ | 537 | IF_FEATURE_CPIO_O( ", or create a cpio archive" ) \ |
| 538 | "\nMain operation mode:" \ | 538 | "\nMain operation mode:" \ |
| 539 | "\n -t List" \ | 539 | "\n -t List" \ |
| 540 | "\n -i Extract" \ | 540 | "\n -i Extract" \ |
| 541 | USE_FEATURE_CPIO_O( \ | 541 | IF_FEATURE_CPIO_O( \ |
| 542 | "\n -o Create" \ | 542 | "\n -o Create" \ |
| 543 | ) \ | 543 | ) \ |
| 544 | USE_FEATURE_CPIO_P( \ | 544 | IF_FEATURE_CPIO_P( \ |
| 545 | "\n -p Passthrough" \ | 545 | "\n -p Passthrough" \ |
| 546 | ) \ | 546 | ) \ |
| 547 | "\nOptions:" \ | 547 | "\nOptions:" \ |
| @@ -550,18 +550,18 @@ | |||
| 550 | "\n -v Verbose" \ | 550 | "\n -v Verbose" \ |
| 551 | "\n -u Overwrite" \ | 551 | "\n -u Overwrite" \ |
| 552 | "\n -F Input file" \ | 552 | "\n -F Input file" \ |
| 553 | USE_FEATURE_CPIO_O( \ | 553 | IF_FEATURE_CPIO_O( \ |
| 554 | "\n -H Define format" \ | 554 | "\n -H Define format" \ |
| 555 | ) \ | 555 | ) \ |
| 556 | 556 | ||
| 557 | #define crond_trivial_usage \ | 557 | #define crond_trivial_usage \ |
| 558 | "-fbS -l N " USE_FEATURE_CROND_D("-d N ") "-L LOGFILE -c DIR" | 558 | "-fbS -l N " IF_FEATURE_CROND_D("-d N ") "-L LOGFILE -c DIR" |
| 559 | #define crond_full_usage "\n\n" \ | 559 | #define crond_full_usage "\n\n" \ |
| 560 | " -f Foreground" \ | 560 | " -f Foreground" \ |
| 561 | "\n -b Background (default)" \ | 561 | "\n -b Background (default)" \ |
| 562 | "\n -S Log to syslog (default)" \ | 562 | "\n -S Log to syslog (default)" \ |
| 563 | "\n -l Set log level. 0 is the most verbose, default 8" \ | 563 | "\n -l Set log level. 0 is the most verbose, default 8" \ |
| 564 | USE_FEATURE_CROND_D( \ | 564 | IF_FEATURE_CROND_D( \ |
| 565 | "\n -d Set log level, log to stderr" \ | 565 | "\n -d Set log level, log to stderr" \ |
| 566 | ) \ | 566 | ) \ |
| 567 | "\n -L Log to file" \ | 567 | "\n -L Log to file" \ |
| @@ -583,13 +583,13 @@ | |||
| 583 | #define cryptpw_full_usage "\n\n" \ | 583 | #define cryptpw_full_usage "\n\n" \ |
| 584 | "Crypt the PASSWORD using crypt(3)\n" \ | 584 | "Crypt the PASSWORD using crypt(3)\n" \ |
| 585 | "\nOptions:" \ | 585 | "\nOptions:" \ |
| 586 | USE_GETOPT_LONG( \ | 586 | IF_GETOPT_LONG( \ |
| 587 | "\n -P,--password-fd=NUM Read password from fd NUM" \ | 587 | "\n -P,--password-fd=NUM Read password from fd NUM" \ |
| 588 | /* "\n -s,--stdin Use stdin; like -P0" */ \ | 588 | /* "\n -s,--stdin Use stdin; like -P0" */ \ |
| 589 | "\n -m,--method=TYPE Encryption method TYPE" \ | 589 | "\n -m,--method=TYPE Encryption method TYPE" \ |
| 590 | "\n -S,--salt=SALT" \ | 590 | "\n -S,--salt=SALT" \ |
| 591 | ) \ | 591 | ) \ |
| 592 | SKIP_GETOPT_LONG( \ | 592 | IF_NOT_GETOPT_LONG( \ |
| 593 | "\n -P NUM Read password from fd NUM" \ | 593 | "\n -P NUM Read password from fd NUM" \ |
| 594 | /* "\n -s Use stdin; like -P0" */ \ | 594 | /* "\n -s Use stdin; like -P0" */ \ |
| 595 | "\n -m TYPE Encryption method TYPE" \ | 595 | "\n -m TYPE Encryption method TYPE" \ |
| @@ -604,13 +604,13 @@ | |||
| 604 | #define mkpasswd_full_usage "\n\n" \ | 604 | #define mkpasswd_full_usage "\n\n" \ |
| 605 | "Crypt the PASSWORD using crypt(3)\n" \ | 605 | "Crypt the PASSWORD using crypt(3)\n" \ |
| 606 | "\nOptions:" \ | 606 | "\nOptions:" \ |
| 607 | USE_GETOPT_LONG( \ | 607 | IF_GETOPT_LONG( \ |
| 608 | "\n -P,--password-fd=NUM Read password from fd NUM" \ | 608 | "\n -P,--password-fd=NUM Read password from fd NUM" \ |
| 609 | /* "\n -s,--stdin Use stdin; like -P0" */ \ | 609 | /* "\n -s,--stdin Use stdin; like -P0" */ \ |
| 610 | "\n -m,--method=TYPE Encryption method TYPE" \ | 610 | "\n -m,--method=TYPE Encryption method TYPE" \ |
| 611 | "\n -S,--salt=SALT" \ | 611 | "\n -S,--salt=SALT" \ |
| 612 | ) \ | 612 | ) \ |
| 613 | SKIP_GETOPT_LONG( \ | 613 | IF_NOT_GETOPT_LONG( \ |
| 614 | "\n -P NUM Read password from fd NUM" \ | 614 | "\n -P NUM Read password from fd NUM" \ |
| 615 | /* "\n -s Use stdin; like -P0" */ \ | 615 | /* "\n -s Use stdin; like -P0" */ \ |
| 616 | "\n -m TYPE Encryption method TYPE" \ | 616 | "\n -m TYPE Encryption method TYPE" \ |
| @@ -645,7 +645,7 @@ | |||
| 645 | "\nOptions:" \ | 645 | "\nOptions:" \ |
| 646 | "\n -u Work in UTC (don't convert to local time)" \ | 646 | "\n -u Work in UTC (don't convert to local time)" \ |
| 647 | "\n -R Output RFC-822 compliant date string" \ | 647 | "\n -R Output RFC-822 compliant date string" \ |
| 648 | USE_FEATURE_DATE_ISOFMT( \ | 648 | IF_FEATURE_DATE_ISOFMT( \ |
| 649 | "\n -I[SPEC] Output ISO-8601 compliant date string" \ | 649 | "\n -I[SPEC] Output ISO-8601 compliant date string" \ |
| 650 | "\n SPEC='date' (default) for date only," \ | 650 | "\n SPEC='date' (default) for date only," \ |
| 651 | "\n 'hours', 'minutes', or 'seconds' for date and" \ | 651 | "\n 'hours', 'minutes', or 'seconds' for date and" \ |
| @@ -654,7 +654,7 @@ | |||
| 654 | "\n -d TIME Display TIME, not 'now'" \ | 654 | "\n -d TIME Display TIME, not 'now'" \ |
| 655 | "\n -r FILE Display last modification time of FILE" \ | 655 | "\n -r FILE Display last modification time of FILE" \ |
| 656 | "\n [-s] TIME Set time to TIME" \ | 656 | "\n [-s] TIME Set time to TIME" \ |
| 657 | USE_FEATURE_DATE_ISOFMT( \ | 657 | IF_FEATURE_DATE_ISOFMT( \ |
| 658 | "\n -D FMT Use FMT for str->date conversion" \ | 658 | "\n -D FMT Use FMT for str->date conversion" \ |
| 659 | ) \ | 659 | ) \ |
| 660 | "\n" \ | 660 | "\n" \ |
| @@ -691,24 +691,24 @@ | |||
| 691 | "64\n" | 691 | "64\n" |
| 692 | 692 | ||
| 693 | #define dd_trivial_usage \ | 693 | #define dd_trivial_usage \ |
| 694 | "[if=FILE] [of=FILE] " USE_FEATURE_DD_IBS_OBS("[ibs=N] [obs=N] ") "[bs=N] [count=N] [skip=N]\n" \ | 694 | "[if=FILE] [of=FILE] " IF_FEATURE_DD_IBS_OBS("[ibs=N] [obs=N] ") "[bs=N] [count=N] [skip=N]\n" \ |
| 695 | " [seek=N]" USE_FEATURE_DD_IBS_OBS(" [conv=notrunc|noerror|sync|fsync]") | 695 | " [seek=N]" IF_FEATURE_DD_IBS_OBS(" [conv=notrunc|noerror|sync|fsync]") |
| 696 | #define dd_full_usage "\n\n" \ | 696 | #define dd_full_usage "\n\n" \ |
| 697 | "Copy a file with converting and formatting\n" \ | 697 | "Copy a file with converting and formatting\n" \ |
| 698 | "\nOptions:" \ | 698 | "\nOptions:" \ |
| 699 | "\n if=FILE Read from FILE instead of stdin" \ | 699 | "\n if=FILE Read from FILE instead of stdin" \ |
| 700 | "\n of=FILE Write to FILE instead of stdout" \ | 700 | "\n of=FILE Write to FILE instead of stdout" \ |
| 701 | "\n bs=N Read and write N bytes at a time" \ | 701 | "\n bs=N Read and write N bytes at a time" \ |
| 702 | USE_FEATURE_DD_IBS_OBS( \ | 702 | IF_FEATURE_DD_IBS_OBS( \ |
| 703 | "\n ibs=N Read N bytes at a time" \ | 703 | "\n ibs=N Read N bytes at a time" \ |
| 704 | ) \ | 704 | ) \ |
| 705 | USE_FEATURE_DD_IBS_OBS( \ | 705 | IF_FEATURE_DD_IBS_OBS( \ |
| 706 | "\n obs=N Write N bytes at a time" \ | 706 | "\n obs=N Write N bytes at a time" \ |
| 707 | ) \ | 707 | ) \ |
| 708 | "\n count=N Copy only N input blocks" \ | 708 | "\n count=N Copy only N input blocks" \ |
| 709 | "\n skip=N Skip N input blocks" \ | 709 | "\n skip=N Skip N input blocks" \ |
| 710 | "\n seek=N Skip N output blocks" \ | 710 | "\n seek=N Skip N output blocks" \ |
| 711 | USE_FEATURE_DD_IBS_OBS( \ | 711 | IF_FEATURE_DD_IBS_OBS( \ |
| 712 | "\n conv=notrunc Don't truncate output file" \ | 712 | "\n conv=notrunc Don't truncate output file" \ |
| 713 | "\n conv=noerror Continue after read errors" \ | 713 | "\n conv=noerror Continue after read errors" \ |
| 714 | "\n conv=sync Pad blocks with zeros" \ | 714 | "\n conv=sync Pad blocks with zeros" \ |
| @@ -729,10 +729,10 @@ | |||
| 729 | "Deallocate unused virtual terminal /dev/ttyN" | 729 | "Deallocate unused virtual terminal /dev/ttyN" |
| 730 | 730 | ||
| 731 | #define delgroup_trivial_usage \ | 731 | #define delgroup_trivial_usage \ |
| 732 | USE_FEATURE_DEL_USER_FROM_GROUP("[USER] ")"GROUP" | 732 | IF_FEATURE_DEL_USER_FROM_GROUP("[USER] ")"GROUP" |
| 733 | #define delgroup_full_usage "\n\n" \ | 733 | #define delgroup_full_usage "\n\n" \ |
| 734 | "Delete group GROUP from the system" \ | 734 | "Delete group GROUP from the system" \ |
| 735 | USE_FEATURE_DEL_USER_FROM_GROUP(" or user USER from group GROUP") | 735 | IF_FEATURE_DEL_USER_FROM_GROUP(" or user USER from group GROUP") |
| 736 | 736 | ||
| 737 | #define deluser_trivial_usage \ | 737 | #define deluser_trivial_usage \ |
| 738 | "USER" | 738 | "USER" |
| @@ -752,14 +752,14 @@ | |||
| 752 | "\n VALUE Data to be written" \ | 752 | "\n VALUE Data to be written" \ |
| 753 | 753 | ||
| 754 | #define devfsd_trivial_usage \ | 754 | #define devfsd_trivial_usage \ |
| 755 | "mntpnt [-v]" USE_DEVFSD_FG_NP("[-fg][-np]") | 755 | "mntpnt [-v]" IF_DEVFSD_FG_NP("[-fg][-np]") |
| 756 | #define devfsd_full_usage "\n\n" \ | 756 | #define devfsd_full_usage "\n\n" \ |
| 757 | "Manage devfs permissions and old device name symlinks\n" \ | 757 | "Manage devfs permissions and old device name symlinks\n" \ |
| 758 | "\nOptions:" \ | 758 | "\nOptions:" \ |
| 759 | "\n mntpnt The mount point where devfs is mounted" \ | 759 | "\n mntpnt The mount point where devfs is mounted" \ |
| 760 | "\n -v Print the protocol version numbers for devfsd" \ | 760 | "\n -v Print the protocol version numbers for devfsd" \ |
| 761 | "\n and the kernel-side protocol version and exit" \ | 761 | "\n and the kernel-side protocol version and exit" \ |
| 762 | USE_DEVFSD_FG_NP( \ | 762 | IF_DEVFSD_FG_NP( \ |
| 763 | "\n -fg Run in foreground" \ | 763 | "\n -fg Run in foreground" \ |
| 764 | "\n -np Exit after parsing the configuration file" \ | 764 | "\n -np Exit after parsing the configuration file" \ |
| 765 | "\n and processing synthetic REGISTER events," \ | 765 | "\n and processing synthetic REGISTER events," \ |
| @@ -768,19 +768,19 @@ | |||
| 768 | 768 | ||
| 769 | #define df_trivial_usage \ | 769 | #define df_trivial_usage \ |
| 770 | "[-Pk" \ | 770 | "[-Pk" \ |
| 771 | USE_FEATURE_HUMAN_READABLE("mh") \ | 771 | IF_FEATURE_HUMAN_READABLE("mh") \ |
| 772 | USE_FEATURE_DF_FANCY("ai] [-B SIZE") \ | 772 | IF_FEATURE_DF_FANCY("ai] [-B SIZE") \ |
| 773 | "] [FILESYSTEM...]" | 773 | "] [FILESYSTEM...]" |
| 774 | #define df_full_usage "\n\n" \ | 774 | #define df_full_usage "\n\n" \ |
| 775 | "Print filesystem usage statistics\n" \ | 775 | "Print filesystem usage statistics\n" \ |
| 776 | "\nOptions:" \ | 776 | "\nOptions:" \ |
| 777 | "\n -P POSIX output format" \ | 777 | "\n -P POSIX output format" \ |
| 778 | "\n -k 1024-byte blocks (default)" \ | 778 | "\n -k 1024-byte blocks (default)" \ |
| 779 | USE_FEATURE_HUMAN_READABLE( \ | 779 | IF_FEATURE_HUMAN_READABLE( \ |
| 780 | "\n -m 1M-byte blocks" \ | 780 | "\n -m 1M-byte blocks" \ |
| 781 | "\n -h Human readable (e.g. 1K 243M 2G)" \ | 781 | "\n -h Human readable (e.g. 1K 243M 2G)" \ |
| 782 | ) \ | 782 | ) \ |
| 783 | USE_FEATURE_DF_FANCY( \ | 783 | IF_FEATURE_DF_FANCY( \ |
| 784 | "\n -a Show all filesystems" \ | 784 | "\n -a Show all filesystems" \ |
| 785 | "\n -i Inodes" \ | 785 | "\n -i Inodes" \ |
| 786 | "\n -B SIZE Blocksize" \ | 786 | "\n -B SIZE Blocksize" \ |
| @@ -894,12 +894,12 @@ | |||
| 894 | "$ dpkg-deb -X ./busybox_0.48-1_i386.deb /tmp\n" | 894 | "$ dpkg-deb -X ./busybox_0.48-1_i386.deb /tmp\n" |
| 895 | 895 | ||
| 896 | #define du_trivial_usage \ | 896 | #define du_trivial_usage \ |
| 897 | "[-aHLdclsx" USE_FEATURE_HUMAN_READABLE("hm") "k] [FILE]..." | 897 | "[-aHLdclsx" IF_FEATURE_HUMAN_READABLE("hm") "k] [FILE]..." |
| 898 | #define du_full_usage "\n\n" \ | 898 | #define du_full_usage "\n\n" \ |
| 899 | "Summarize disk space used for each FILE and/or directory.\n" \ | 899 | "Summarize disk space used for each FILE and/or directory.\n" \ |
| 900 | "Disk space is printed in units of " \ | 900 | "Disk space is printed in units of " \ |
| 901 | USE_FEATURE_DU_DEFAULT_BLOCKSIZE_1K("1024") \ | 901 | IF_FEATURE_DU_DEFAULT_BLOCKSIZE_1K("1024") \ |
| 902 | SKIP_FEATURE_DU_DEFAULT_BLOCKSIZE_1K("512") \ | 902 | IF_NOT_FEATURE_DU_DEFAULT_BLOCKSIZE_1K("512") \ |
| 903 | " bytes.\n" \ | 903 | " bytes.\n" \ |
| 904 | "\nOptions:" \ | 904 | "\nOptions:" \ |
| 905 | "\n -a Show file sizes too" \ | 905 | "\n -a Show file sizes too" \ |
| @@ -910,12 +910,12 @@ | |||
| 910 | "\n -l Count sizes many times if hard linked" \ | 910 | "\n -l Count sizes many times if hard linked" \ |
| 911 | "\n -s Display only a total for each argument" \ | 911 | "\n -s Display only a total for each argument" \ |
| 912 | "\n -x Skip directories on different filesystems" \ | 912 | "\n -x Skip directories on different filesystems" \ |
| 913 | USE_FEATURE_HUMAN_READABLE( \ | 913 | IF_FEATURE_HUMAN_READABLE( \ |
| 914 | "\n -h Sizes in human readable format (e.g., 1K 243M 2G )" \ | 914 | "\n -h Sizes in human readable format (e.g., 1K 243M 2G )" \ |
| 915 | "\n -m Sizes in megabytes" \ | 915 | "\n -m Sizes in megabytes" \ |
| 916 | ) \ | 916 | ) \ |
| 917 | "\n -k Sizes in kilobytes" \ | 917 | "\n -k Sizes in kilobytes" \ |
| 918 | USE_FEATURE_DU_DEFAULT_BLOCKSIZE_1K(" (default)") \ | 918 | IF_FEATURE_DU_DEFAULT_BLOCKSIZE_1K(" (default)") \ |
| 919 | 919 | ||
| 920 | #define du_example_usage \ | 920 | #define du_example_usage \ |
| 921 | "$ du\n" \ | 921 | "$ du\n" \ |
| @@ -942,12 +942,12 @@ | |||
| 942 | #define dumpleases_full_usage "\n\n" \ | 942 | #define dumpleases_full_usage "\n\n" \ |
| 943 | "Display DHCP leases granted by udhcpd\n" \ | 943 | "Display DHCP leases granted by udhcpd\n" \ |
| 944 | "\nOptions:" \ | 944 | "\nOptions:" \ |
| 945 | USE_GETOPT_LONG( \ | 945 | IF_GETOPT_LONG( \ |
| 946 | "\n -f,--file=FILE Leases file to load" \ | 946 | "\n -f,--file=FILE Leases file to load" \ |
| 947 | "\n -r,--remaining Interpret lease times as time remaining" \ | 947 | "\n -r,--remaining Interpret lease times as time remaining" \ |
| 948 | "\n -a,--absolute Interpret lease times as expire time" \ | 948 | "\n -a,--absolute Interpret lease times as expire time" \ |
| 949 | ) \ | 949 | ) \ |
| 950 | SKIP_GETOPT_LONG( \ | 950 | IF_NOT_GETOPT_LONG( \ |
| 951 | "\n -f FILE Leases file to load" \ | 951 | "\n -f FILE Leases file to load" \ |
| 952 | "\n -r Interpret lease times as time remaining" \ | 952 | "\n -r Interpret lease times as time remaining" \ |
| 953 | "\n -a Interpret lease times as expire time" \ | 953 | "\n -a Interpret lease times as expire time" \ |
| @@ -974,10 +974,10 @@ | |||
| 974 | "\n -L file Set badblocks list" \ | 974 | "\n -L file Set badblocks list" \ |
| 975 | 975 | ||
| 976 | #define echo_trivial_usage \ | 976 | #define echo_trivial_usage \ |
| 977 | USE_FEATURE_FANCY_ECHO("[-neE] ") "[ARG...]" | 977 | IF_FEATURE_FANCY_ECHO("[-neE] ") "[ARG...]" |
| 978 | #define echo_full_usage "\n\n" \ | 978 | #define echo_full_usage "\n\n" \ |
| 979 | "Print the specified ARGs to stdout" \ | 979 | "Print the specified ARGs to stdout" \ |
| 980 | USE_FEATURE_FANCY_ECHO( "\n" \ | 980 | IF_FEATURE_FANCY_ECHO( "\n" \ |
| 981 | "\nOptions:" \ | 981 | "\nOptions:" \ |
| 982 | "\n -n Suppress trailing newline" \ | 982 | "\n -n Suppress trailing newline" \ |
| 983 | "\n -e Interpret backslash-escaped characters (i.e., \\t=tab)" \ | 983 | "\n -e Interpret backslash-escaped characters (i.e., \\t=tab)" \ |
| @@ -986,7 +986,7 @@ | |||
| 986 | #define echo_example_usage \ | 986 | #define echo_example_usage \ |
| 987 | "$ echo \"Erik is cool\"\n" \ | 987 | "$ echo \"Erik is cool\"\n" \ |
| 988 | "Erik is cool\n" \ | 988 | "Erik is cool\n" \ |
| 989 | USE_FEATURE_FANCY_ECHO("$ echo -e \"Erik\\nis\\ncool\"\n" \ | 989 | IF_FEATURE_FANCY_ECHO("$ echo -e \"Erik\\nis\\ncool\"\n" \ |
| 990 | "Erik\n" \ | 990 | "Erik\n" \ |
| 991 | "is\n" \ | 991 | "is\n" \ |
| 992 | "cool\n" \ | 992 | "cool\n" \ |
| @@ -998,7 +998,7 @@ | |||
| 998 | #define eject_full_usage "\n\n" \ | 998 | #define eject_full_usage "\n\n" \ |
| 999 | "Eject specified DEVICE (or default /dev/cdrom)\n" \ | 999 | "Eject specified DEVICE (or default /dev/cdrom)\n" \ |
| 1000 | "\nOptions:" \ | 1000 | "\nOptions:" \ |
| 1001 | USE_FEATURE_EJECT_SCSI( \ | 1001 | IF_FEATURE_EJECT_SCSI( \ |
| 1002 | "\n -s SCSI device" \ | 1002 | "\n -s SCSI device" \ |
| 1003 | ) \ | 1003 | ) \ |
| 1004 | "\n -t Close tray" \ | 1004 | "\n -t Close tray" \ |
| @@ -1032,11 +1032,11 @@ | |||
| 1032 | #define expand_full_usage "\n\n" \ | 1032 | #define expand_full_usage "\n\n" \ |
| 1033 | "Convert tabs to spaces, writing to standard output.\n" \ | 1033 | "Convert tabs to spaces, writing to standard output.\n" \ |
| 1034 | "\nOptions:" \ | 1034 | "\nOptions:" \ |
| 1035 | USE_FEATURE_EXPAND_LONG_OPTIONS( \ | 1035 | IF_FEATURE_EXPAND_LONG_OPTIONS( \ |
| 1036 | "\n -i,--initial Do not convert tabs after non blanks" \ | 1036 | "\n -i,--initial Do not convert tabs after non blanks" \ |
| 1037 | "\n -t,--tabs=N Tabstops every N chars" \ | 1037 | "\n -t,--tabs=N Tabstops every N chars" \ |
| 1038 | ) \ | 1038 | ) \ |
| 1039 | SKIP_FEATURE_EXPAND_LONG_OPTIONS( \ | 1039 | IF_NOT_FEATURE_EXPAND_LONG_OPTIONS( \ |
| 1040 | "\n -i Do not convert tabs after non blanks" \ | 1040 | "\n -i Do not convert tabs after non blanks" \ |
| 1041 | "\n -t Tabstops every N chars" \ | 1041 | "\n -t Tabstops every N chars" \ |
| 1042 | ) | 1042 | ) |
| @@ -1127,18 +1127,18 @@ | |||
| 1127 | /* Looks like someone forgot to add this to config system */ | 1127 | /* Looks like someone forgot to add this to config system */ |
| 1128 | #ifndef ENABLE_FEATURE_FDISK_BLKSIZE | 1128 | #ifndef ENABLE_FEATURE_FDISK_BLKSIZE |
| 1129 | # define ENABLE_FEATURE_FDISK_BLKSIZE 0 | 1129 | # define ENABLE_FEATURE_FDISK_BLKSIZE 0 |
| 1130 | # define USE_FEATURE_FDISK_BLKSIZE(a) | 1130 | # define IF_FEATURE_FDISK_BLKSIZE(a) |
| 1131 | #endif | 1131 | #endif |
| 1132 | 1132 | ||
| 1133 | #define fdisk_trivial_usage \ | 1133 | #define fdisk_trivial_usage \ |
| 1134 | "[-ul" USE_FEATURE_FDISK_BLKSIZE("s") "] " \ | 1134 | "[-ul" IF_FEATURE_FDISK_BLKSIZE("s") "] " \ |
| 1135 | "[-C CYLINDERS] [-H HEADS] [-S SECTORS] [-b SSZ] DISK" | 1135 | "[-C CYLINDERS] [-H HEADS] [-S SECTORS] [-b SSZ] DISK" |
| 1136 | #define fdisk_full_usage "\n\n" \ | 1136 | #define fdisk_full_usage "\n\n" \ |
| 1137 | "Change partition table\n" \ | 1137 | "Change partition table\n" \ |
| 1138 | "\nOptions:" \ | 1138 | "\nOptions:" \ |
| 1139 | "\n -u Start and End are in sectors (instead of cylinders)" \ | 1139 | "\n -u Start and End are in sectors (instead of cylinders)" \ |
| 1140 | "\n -l Show partition table for each DISK, then exit" \ | 1140 | "\n -l Show partition table for each DISK, then exit" \ |
| 1141 | USE_FEATURE_FDISK_BLKSIZE( \ | 1141 | IF_FEATURE_FDISK_BLKSIZE( \ |
| 1142 | "\n -s Show partition sizes in kb for each DISK, then exit" \ | 1142 | "\n -s Show partition sizes in kb for each DISK, then exit" \ |
| 1143 | ) \ | 1143 | ) \ |
| 1144 | "\n -b 2048 (for certain MO disks) use 2048-byte sectors" \ | 1144 | "\n -b 2048 (for certain MO disks) use 2048-byte sectors" \ |
| @@ -1165,56 +1165,56 @@ | |||
| 1165 | "default EXPRESSION is '-print'\n" \ | 1165 | "default EXPRESSION is '-print'\n" \ |
| 1166 | "\nEXPRESSION may consist of:" \ | 1166 | "\nEXPRESSION may consist of:" \ |
| 1167 | "\n -follow Dereference symlinks" \ | 1167 | "\n -follow Dereference symlinks" \ |
| 1168 | USE_FEATURE_FIND_XDEV( \ | 1168 | IF_FEATURE_FIND_XDEV( \ |
| 1169 | "\n -xdev Don't descend directories on other filesystems") \ | 1169 | "\n -xdev Don't descend directories on other filesystems") \ |
| 1170 | USE_FEATURE_FIND_MAXDEPTH( \ | 1170 | IF_FEATURE_FIND_MAXDEPTH( \ |
| 1171 | "\n -maxdepth N Descend at most N levels. -maxdepth 0 applies" \ | 1171 | "\n -maxdepth N Descend at most N levels. -maxdepth 0 applies" \ |
| 1172 | "\n tests/actions to command line arguments only") \ | 1172 | "\n tests/actions to command line arguments only") \ |
| 1173 | "\n -mindepth N Do not act on first N levels" \ | 1173 | "\n -mindepth N Do not act on first N levels" \ |
| 1174 | "\n -name PATTERN File name (w/o directory name) matches PATTERN" \ | 1174 | "\n -name PATTERN File name (w/o directory name) matches PATTERN" \ |
| 1175 | "\n -iname PATTERN Case insensitive -name" \ | 1175 | "\n -iname PATTERN Case insensitive -name" \ |
| 1176 | USE_FEATURE_FIND_PATH( \ | 1176 | IF_FEATURE_FIND_PATH( \ |
| 1177 | "\n -path PATTERN Path matches PATTERN") \ | 1177 | "\n -path PATTERN Path matches PATTERN") \ |
| 1178 | USE_FEATURE_FIND_REGEX( \ | 1178 | IF_FEATURE_FIND_REGEX( \ |
| 1179 | "\n -regex PATTERN Path matches regex PATTERN") \ | 1179 | "\n -regex PATTERN Path matches regex PATTERN") \ |
| 1180 | USE_FEATURE_FIND_TYPE( \ | 1180 | IF_FEATURE_FIND_TYPE( \ |
| 1181 | "\n -type X File type is X (X is one of: f,d,l,b,c,...)") \ | 1181 | "\n -type X File type is X (X is one of: f,d,l,b,c,...)") \ |
| 1182 | USE_FEATURE_FIND_PERM( \ | 1182 | IF_FEATURE_FIND_PERM( \ |
| 1183 | "\n -perm NNN Permissions match any of (+NNN), all of (-NNN)," \ | 1183 | "\n -perm NNN Permissions match any of (+NNN), all of (-NNN)," \ |
| 1184 | "\n or exactly (NNN)") \ | 1184 | "\n or exactly (NNN)") \ |
| 1185 | USE_FEATURE_FIND_MTIME( \ | 1185 | IF_FEATURE_FIND_MTIME( \ |
| 1186 | "\n -mtime DAYS Modified time is greater than (+N), less than (-N)," \ | 1186 | "\n -mtime DAYS Modified time is greater than (+N), less than (-N)," \ |
| 1187 | "\n or exactly (N) days") \ | 1187 | "\n or exactly (N) days") \ |
| 1188 | USE_FEATURE_FIND_MMIN( \ | 1188 | IF_FEATURE_FIND_MMIN( \ |
| 1189 | "\n -mmin MINS Modified time is greater than (+N), less than (-N)," \ | 1189 | "\n -mmin MINS Modified time is greater than (+N), less than (-N)," \ |
| 1190 | "\n or exactly (N) minutes") \ | 1190 | "\n or exactly (N) minutes") \ |
| 1191 | USE_FEATURE_FIND_NEWER( \ | 1191 | IF_FEATURE_FIND_NEWER( \ |
| 1192 | "\n -newer FILE Modified time is more recent than FILE's") \ | 1192 | "\n -newer FILE Modified time is more recent than FILE's") \ |
| 1193 | USE_FEATURE_FIND_INUM( \ | 1193 | IF_FEATURE_FIND_INUM( \ |
| 1194 | "\n -inum N File has inode number N") \ | 1194 | "\n -inum N File has inode number N") \ |
| 1195 | USE_FEATURE_FIND_USER( \ | 1195 | IF_FEATURE_FIND_USER( \ |
| 1196 | "\n -user NAME File is owned by user NAME (numeric user ID allowed)") \ | 1196 | "\n -user NAME File is owned by user NAME (numeric user ID allowed)") \ |
| 1197 | USE_FEATURE_FIND_GROUP( \ | 1197 | IF_FEATURE_FIND_GROUP( \ |
| 1198 | "\n -group NAME File belongs to group NAME (numeric group ID allowed)") \ | 1198 | "\n -group NAME File belongs to group NAME (numeric group ID allowed)") \ |
| 1199 | USE_FEATURE_FIND_DEPTH( \ | 1199 | IF_FEATURE_FIND_DEPTH( \ |
| 1200 | "\n -depth Process directory name after traversing it") \ | 1200 | "\n -depth Process directory name after traversing it") \ |
| 1201 | USE_FEATURE_FIND_SIZE( \ | 1201 | IF_FEATURE_FIND_SIZE( \ |
| 1202 | "\n -size N[bck] File size is N (c:bytes,k:kbytes,b:512 bytes(def.))." \ | 1202 | "\n -size N[bck] File size is N (c:bytes,k:kbytes,b:512 bytes(def.))." \ |
| 1203 | "\n +/-N: file size is bigger/smaller than N") \ | 1203 | "\n +/-N: file size is bigger/smaller than N") \ |
| 1204 | "\n -print Print (default and assumed)" \ | 1204 | "\n -print Print (default and assumed)" \ |
| 1205 | USE_FEATURE_FIND_PRINT0( \ | 1205 | IF_FEATURE_FIND_PRINT0( \ |
| 1206 | "\n -print0 Delimit output with null characters rather than" \ | 1206 | "\n -print0 Delimit output with null characters rather than" \ |
| 1207 | "\n newlines") \ | 1207 | "\n newlines") \ |
| 1208 | USE_FEATURE_FIND_CONTEXT ( \ | 1208 | IF_FEATURE_FIND_CONTEXT ( \ |
| 1209 | "\n -context File has specified security context") \ | 1209 | "\n -context File has specified security context") \ |
| 1210 | USE_FEATURE_FIND_EXEC( \ | 1210 | IF_FEATURE_FIND_EXEC( \ |
| 1211 | "\n -exec CMD ARG ; Execute CMD with all instances of {} replaced by the" \ | 1211 | "\n -exec CMD ARG ; Execute CMD with all instances of {} replaced by the" \ |
| 1212 | "\n matching files") \ | 1212 | "\n matching files") \ |
| 1213 | USE_FEATURE_FIND_PRUNE( \ | 1213 | IF_FEATURE_FIND_PRUNE( \ |
| 1214 | "\n -prune Stop traversing current subtree") \ | 1214 | "\n -prune Stop traversing current subtree") \ |
| 1215 | USE_FEATURE_FIND_DELETE( \ | 1215 | IF_FEATURE_FIND_DELETE( \ |
| 1216 | "\n -delete Delete files, turns on -depth option") \ | 1216 | "\n -delete Delete files, turns on -depth option") \ |
| 1217 | USE_FEATURE_FIND_PAREN( \ | 1217 | IF_FEATURE_FIND_PAREN( \ |
| 1218 | "\n (EXPR) Group an expression") \ | 1218 | "\n (EXPR) Group an expression") \ |
| 1219 | 1219 | ||
| 1220 | #define find_example_usage \ | 1220 | #define find_example_usage \ |
| @@ -1306,14 +1306,14 @@ | |||
| 1306 | #define ftpget_full_usage "\n\n" \ | 1306 | #define ftpget_full_usage "\n\n" \ |
| 1307 | "Retrieve a remote file via FTP\n" \ | 1307 | "Retrieve a remote file via FTP\n" \ |
| 1308 | "\nOptions:" \ | 1308 | "\nOptions:" \ |
| 1309 | USE_FEATURE_FTPGETPUT_LONG_OPTIONS( \ | 1309 | IF_FEATURE_FTPGETPUT_LONG_OPTIONS( \ |
| 1310 | "\n -c,--continue Continue previous transfer" \ | 1310 | "\n -c,--continue Continue previous transfer" \ |
| 1311 | "\n -v,--verbose Verbose" \ | 1311 | "\n -v,--verbose Verbose" \ |
| 1312 | "\n -u,--username Username" \ | 1312 | "\n -u,--username Username" \ |
| 1313 | "\n -p,--password Password" \ | 1313 | "\n -p,--password Password" \ |
| 1314 | "\n -P,--port Port number" \ | 1314 | "\n -P,--port Port number" \ |
| 1315 | ) \ | 1315 | ) \ |
| 1316 | SKIP_FEATURE_FTPGETPUT_LONG_OPTIONS( \ | 1316 | IF_NOT_FEATURE_FTPGETPUT_LONG_OPTIONS( \ |
| 1317 | "\n -c Continue previous transfer" \ | 1317 | "\n -c Continue previous transfer" \ |
| 1318 | "\n -v Verbose" \ | 1318 | "\n -v Verbose" \ |
| 1319 | "\n -u Username" \ | 1319 | "\n -u Username" \ |
| @@ -1326,13 +1326,13 @@ | |||
| 1326 | #define ftpput_full_usage "\n\n" \ | 1326 | #define ftpput_full_usage "\n\n" \ |
| 1327 | "Store a local file on a remote machine via FTP\n" \ | 1327 | "Store a local file on a remote machine via FTP\n" \ |
| 1328 | "\nOptions:" \ | 1328 | "\nOptions:" \ |
| 1329 | USE_FEATURE_FTPGETPUT_LONG_OPTIONS( \ | 1329 | IF_FEATURE_FTPGETPUT_LONG_OPTIONS( \ |
| 1330 | "\n -v,--verbose Verbose" \ | 1330 | "\n -v,--verbose Verbose" \ |
| 1331 | "\n -u,--username Username" \ | 1331 | "\n -u,--username Username" \ |
| 1332 | "\n -p,--password Password" \ | 1332 | "\n -p,--password Password" \ |
| 1333 | "\n -P,--port Port number" \ | 1333 | "\n -P,--port Port number" \ |
| 1334 | ) \ | 1334 | ) \ |
| 1335 | SKIP_FEATURE_FTPGETPUT_LONG_OPTIONS( \ | 1335 | IF_NOT_FEATURE_FTPGETPUT_LONG_OPTIONS( \ |
| 1336 | "\n -v Verbose" \ | 1336 | "\n -v Verbose" \ |
| 1337 | "\n -u Username" \ | 1337 | "\n -u Username" \ |
| 1338 | "\n -p Password" \ | 1338 | "\n -p Password" \ |
| @@ -1358,7 +1358,7 @@ | |||
| 1358 | "[OPTIONS]..." | 1358 | "[OPTIONS]..." |
| 1359 | #define getopt_full_usage "\n\n" \ | 1359 | #define getopt_full_usage "\n\n" \ |
| 1360 | "Parse command options\n" \ | 1360 | "Parse command options\n" \ |
| 1361 | USE_GETOPT_LONG( \ | 1361 | IF_GETOPT_LONG( \ |
| 1362 | "\n -a,--alternative Allow long options starting with single -" \ | 1362 | "\n -a,--alternative Allow long options starting with single -" \ |
| 1363 | "\n -l,--longoptions=longopts Long options to be recognized" \ | 1363 | "\n -l,--longoptions=longopts Long options to be recognized" \ |
| 1364 | "\n -n,--name=progname The name under which errors are reported" \ | 1364 | "\n -n,--name=progname The name under which errors are reported" \ |
| @@ -1369,7 +1369,7 @@ | |||
| 1369 | "\n -T,--test Test for getopt(1) version" \ | 1369 | "\n -T,--test Test for getopt(1) version" \ |
| 1370 | "\n -u,--unquoted Don't quote the output" \ | 1370 | "\n -u,--unquoted Don't quote the output" \ |
| 1371 | ) \ | 1371 | ) \ |
| 1372 | SKIP_GETOPT_LONG( \ | 1372 | IF_NOT_GETOPT_LONG( \ |
| 1373 | "\n -a Allow long options starting with single -" \ | 1373 | "\n -a Allow long options starting with single -" \ |
| 1374 | "\n -l longopts Long options to be recognized" \ | 1374 | "\n -l longopts Long options to be recognized" \ |
| 1375 | "\n -n progname The name under which errors are reported" \ | 1375 | "\n -n progname The name under which errors are reported" \ |
| @@ -1425,11 +1425,11 @@ | |||
| 1425 | 1425 | ||
| 1426 | #define grep_trivial_usage \ | 1426 | #define grep_trivial_usage \ |
| 1427 | "[-HhrilLnqvso" \ | 1427 | "[-HhrilLnqvso" \ |
| 1428 | USE_DESKTOP("w") \ | 1428 | IF_DESKTOP("w") \ |
| 1429 | "eF" \ | 1429 | "eF" \ |
| 1430 | USE_FEATURE_GREP_EGREP_ALIAS("E") \ | 1430 | IF_FEATURE_GREP_EGREP_ALIAS("E") \ |
| 1431 | USE_FEATURE_GREP_CONTEXT("ABC") \ | 1431 | IF_FEATURE_GREP_CONTEXT("ABC") \ |
| 1432 | USE_EXTRA_COMPAT("z") \ | 1432 | IF_EXTRA_COMPAT("z") \ |
| 1433 | "] PATTERN [FILEs...]" | 1433 | "] PATTERN [FILEs...]" |
| 1434 | #define grep_full_usage "\n\n" \ | 1434 | #define grep_full_usage "\n\n" \ |
| 1435 | "Search for PATTERN in each FILE or standard input\n" \ | 1435 | "Search for PATTERN in each FILE or standard input\n" \ |
| @@ -1447,18 +1447,18 @@ | |||
| 1447 | "\n -c Only print count of matching lines" \ | 1447 | "\n -c Only print count of matching lines" \ |
| 1448 | "\n -o Show only the part of a line that matches PATTERN" \ | 1448 | "\n -o Show only the part of a line that matches PATTERN" \ |
| 1449 | "\n -m MAX Match up to MAX times per file" \ | 1449 | "\n -m MAX Match up to MAX times per file" \ |
| 1450 | USE_DESKTOP( \ | 1450 | IF_DESKTOP( \ |
| 1451 | "\n -w Match whole words only") \ | 1451 | "\n -w Match whole words only") \ |
| 1452 | "\n -F PATTERN is a set of newline-separated strings" \ | 1452 | "\n -F PATTERN is a set of newline-separated strings" \ |
| 1453 | USE_FEATURE_GREP_EGREP_ALIAS( \ | 1453 | IF_FEATURE_GREP_EGREP_ALIAS( \ |
| 1454 | "\n -E PATTERN is an extended regular expression") \ | 1454 | "\n -E PATTERN is an extended regular expression") \ |
| 1455 | "\n -e PTRN Pattern to match" \ | 1455 | "\n -e PTRN Pattern to match" \ |
| 1456 | "\n -f FILE Read pattern from file" \ | 1456 | "\n -f FILE Read pattern from file" \ |
| 1457 | USE_FEATURE_GREP_CONTEXT( \ | 1457 | IF_FEATURE_GREP_CONTEXT( \ |
| 1458 | "\n -A Print NUM lines of trailing context" \ | 1458 | "\n -A Print NUM lines of trailing context" \ |
| 1459 | "\n -B Print NUM lines of leading context" \ | 1459 | "\n -B Print NUM lines of leading context" \ |
| 1460 | "\n -C Print NUM lines of output context") \ | 1460 | "\n -C Print NUM lines of output context") \ |
| 1461 | USE_EXTRA_COMPAT( \ | 1461 | IF_EXTRA_COMPAT( \ |
| 1462 | "\n -z Input is NUL terminated") \ | 1462 | "\n -z Input is NUL terminated") \ |
| 1463 | 1463 | ||
| 1464 | #define grep_example_usage \ | 1464 | #define grep_example_usage \ |
| @@ -1506,14 +1506,14 @@ | |||
| 1506 | "-rw-rw-r-- 1 andersen andersen 554058 Apr 14 17:49 /tmp/busybox.tar.gz\n" | 1506 | "-rw-rw-r-- 1 andersen andersen 554058 Apr 14 17:49 /tmp/busybox.tar.gz\n" |
| 1507 | 1507 | ||
| 1508 | #define halt_trivial_usage \ | 1508 | #define halt_trivial_usage \ |
| 1509 | "[-d delay] [-n] [-f]" USE_FEATURE_WTMP(" [-w]") | 1509 | "[-d delay] [-n] [-f]" IF_FEATURE_WTMP(" [-w]") |
| 1510 | #define halt_full_usage "\n\n" \ | 1510 | #define halt_full_usage "\n\n" \ |
| 1511 | "Halt the system\n" \ | 1511 | "Halt the system\n" \ |
| 1512 | "\nOptions:" \ | 1512 | "\nOptions:" \ |
| 1513 | "\n -d Delay interval for halting" \ | 1513 | "\n -d Delay interval for halting" \ |
| 1514 | "\n -n No call to sync()" \ | 1514 | "\n -n No call to sync()" \ |
| 1515 | "\n -f Force halt (don't go through init)" \ | 1515 | "\n -f Force halt (don't go through init)" \ |
| 1516 | USE_FEATURE_WTMP( \ | 1516 | IF_FEATURE_WTMP( \ |
| 1517 | "\n -w Only write a wtmp record" \ | 1517 | "\n -w Only write a wtmp record" \ |
| 1518 | ) | 1518 | ) |
| 1519 | 1519 | ||
| @@ -1527,15 +1527,15 @@ | |||
| 1527 | "\n -B Set Advanced Power Management setting (1-255)" \ | 1527 | "\n -B Set Advanced Power Management setting (1-255)" \ |
| 1528 | "\n -c Get/set IDE 32-bit IO setting" \ | 1528 | "\n -c Get/set IDE 32-bit IO setting" \ |
| 1529 | "\n -C Check IDE power mode status" \ | 1529 | "\n -C Check IDE power mode status" \ |
| 1530 | USE_FEATURE_HDPARM_HDIO_GETSET_DMA( \ | 1530 | IF_FEATURE_HDPARM_HDIO_GETSET_DMA( \ |
| 1531 | "\n -d Get/set using_dma flag") \ | 1531 | "\n -d Get/set using_dma flag") \ |
| 1532 | "\n -D Enable/disable drive defect-mgmt" \ | 1532 | "\n -D Enable/disable drive defect-mgmt" \ |
| 1533 | "\n -f Flush buffer cache for device on exit" \ | 1533 | "\n -f Flush buffer cache for device on exit" \ |
| 1534 | "\n -g Display drive geometry" \ | 1534 | "\n -g Display drive geometry" \ |
| 1535 | "\n -h Display terse usage information" \ | 1535 | "\n -h Display terse usage information" \ |
| 1536 | USE_FEATURE_HDPARM_GET_IDENTITY( \ | 1536 | IF_FEATURE_HDPARM_GET_IDENTITY( \ |
| 1537 | "\n -i Display drive identification") \ | 1537 | "\n -i Display drive identification") \ |
| 1538 | USE_FEATURE_HDPARM_GET_IDENTITY( \ | 1538 | IF_FEATURE_HDPARM_GET_IDENTITY( \ |
| 1539 | "\n -I Detailed/current information directly from drive") \ | 1539 | "\n -I Detailed/current information directly from drive") \ |
| 1540 | "\n -k Get/set keep_settings_over_reset flag (0/1)" \ | 1540 | "\n -k Get/set keep_settings_over_reset flag (0/1)" \ |
| 1541 | "\n -K Set drive keep_features_over_reset flag (0/1)" \ | 1541 | "\n -K Set drive keep_features_over_reset flag (0/1)" \ |
| @@ -1547,20 +1547,20 @@ | |||
| 1547 | /* "\n -q Change next setting quietly" - not supported ib bbox */ \ | 1547 | /* "\n -q Change next setting quietly" - not supported ib bbox */ \ |
| 1548 | "\n -Q Get/set DMA tagged-queuing depth (if supported)" \ | 1548 | "\n -Q Get/set DMA tagged-queuing depth (if supported)" \ |
| 1549 | "\n -r Get/set readonly flag (DANGEROUS to set)" \ | 1549 | "\n -r Get/set readonly flag (DANGEROUS to set)" \ |
| 1550 | USE_FEATURE_HDPARM_HDIO_SCAN_HWIF( \ | 1550 | IF_FEATURE_HDPARM_HDIO_SCAN_HWIF( \ |
| 1551 | "\n -R Register an IDE interface (DANGEROUS)") \ | 1551 | "\n -R Register an IDE interface (DANGEROUS)") \ |
| 1552 | "\n -S Set standby (spindown) timeout" \ | 1552 | "\n -S Set standby (spindown) timeout" \ |
| 1553 | "\n -t Perform device read timings" \ | 1553 | "\n -t Perform device read timings" \ |
| 1554 | "\n -T Perform cache read timings" \ | 1554 | "\n -T Perform cache read timings" \ |
| 1555 | "\n -u Get/set unmaskirq flag (0/1)" \ | 1555 | "\n -u Get/set unmaskirq flag (0/1)" \ |
| 1556 | USE_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF( \ | 1556 | IF_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF( \ |
| 1557 | "\n -U Un-register an IDE interface (DANGEROUS)") \ | 1557 | "\n -U Un-register an IDE interface (DANGEROUS)") \ |
| 1558 | "\n -v Defaults; same as -mcudkrag for IDE drives" \ | 1558 | "\n -v Defaults; same as -mcudkrag for IDE drives" \ |
| 1559 | "\n -V Display program version and exit immediately" \ | 1559 | "\n -V Display program version and exit immediately" \ |
| 1560 | USE_FEATURE_HDPARM_HDIO_DRIVE_RESET( \ | 1560 | IF_FEATURE_HDPARM_HDIO_DRIVE_RESET( \ |
| 1561 | "\n -w Perform device reset (DANGEROUS)") \ | 1561 | "\n -w Perform device reset (DANGEROUS)") \ |
| 1562 | "\n -W Set drive write-caching flag (0/1) (DANGEROUS)" \ | 1562 | "\n -W Set drive write-caching flag (0/1) (DANGEROUS)" \ |
| 1563 | USE_FEATURE_HDPARM_HDIO_TRISTATE_HWIF( \ | 1563 | IF_FEATURE_HDPARM_HDIO_TRISTATE_HWIF( \ |
| 1564 | "\n -x Tristate device for hotswap (0/1) (DANGEROUS)") \ | 1564 | "\n -x Tristate device for hotswap (0/1) (DANGEROUS)") \ |
| 1565 | "\n -X Set IDE xfer mode (DANGEROUS)" \ | 1565 | "\n -X Set IDE xfer mode (DANGEROUS)" \ |
| 1566 | "\n -y Put IDE drive in standby mode" \ | 1566 | "\n -y Put IDE drive in standby mode" \ |
| @@ -1576,7 +1576,7 @@ | |||
| 1576 | "file name. With no FILE, or when FILE is -, read standard input.\n" \ | 1576 | "file name. With no FILE, or when FILE is -, read standard input.\n" \ |
| 1577 | "\nOptions:" \ | 1577 | "\nOptions:" \ |
| 1578 | "\n -n NUM Print first NUM lines instead of first 10" \ | 1578 | "\n -n NUM Print first NUM lines instead of first 10" \ |
| 1579 | USE_FEATURE_FANCY_HEAD( \ | 1579 | IF_FEATURE_FANCY_HEAD( \ |
| 1580 | "\n -c NUM Output the first NUM bytes" \ | 1580 | "\n -c NUM Output the first NUM bytes" \ |
| 1581 | "\n -q Never output headers giving file names" \ | 1581 | "\n -q Never output headers giving file names" \ |
| 1582 | "\n -v Always output headers giving file names") \ | 1582 | "\n -v Always output headers giving file names") \ |
| @@ -1587,7 +1587,7 @@ | |||
| 1587 | "daemon:x:1:1:daemon:/usr/sbin:/bin/sh\n" | 1587 | "daemon:x:1:1:daemon:/usr/sbin:/bin/sh\n" |
| 1588 | 1588 | ||
| 1589 | #define hexdump_trivial_usage \ | 1589 | #define hexdump_trivial_usage \ |
| 1590 | "[-bcCdefnosvx" USE_FEATURE_HEXDUMP_REVERSE("R") "] FILE..." | 1590 | "[-bcCdefnosvx" IF_FEATURE_HEXDUMP_REVERSE("R") "] FILE..." |
| 1591 | #define hexdump_full_usage "\n\n" \ | 1591 | #define hexdump_full_usage "\n\n" \ |
| 1592 | "Display file(s) or standard input in a user specified format\n" \ | 1592 | "Display file(s) or standard input in a user specified format\n" \ |
| 1593 | "\nOptions:" \ | 1593 | "\nOptions:" \ |
| @@ -1602,7 +1602,7 @@ | |||
| 1602 | "\n -s OFFSET Skip OFFSET bytes" \ | 1602 | "\n -s OFFSET Skip OFFSET bytes" \ |
| 1603 | "\n -v Display all input data" \ | 1603 | "\n -v Display all input data" \ |
| 1604 | "\n -x Two-byte hexadecimal display" \ | 1604 | "\n -x Two-byte hexadecimal display" \ |
| 1605 | USE_FEATURE_HEXDUMP_REVERSE( \ | 1605 | IF_FEATURE_HEXDUMP_REVERSE( \ |
| 1606 | "\n -R Reverse of 'hexdump -Cv'") \ | 1606 | "\n -R Reverse of 'hexdump -Cv'") \ |
| 1607 | 1607 | ||
| 1608 | #define hd_trivial_usage \ | 1608 | #define hd_trivial_usage \ |
| @@ -1634,9 +1634,9 @@ | |||
| 1634 | "[-c conffile]" \ | 1634 | "[-c conffile]" \ |
| 1635 | " [-p [ip:]port]" \ | 1635 | " [-p [ip:]port]" \ |
| 1636 | " [-i] [-f] [-v[v]]" \ | 1636 | " [-i] [-f] [-v[v]]" \ |
| 1637 | USE_FEATURE_HTTPD_SETUID(" [-u user[:grp]]") \ | 1637 | IF_FEATURE_HTTPD_SETUID(" [-u user[:grp]]") \ |
| 1638 | USE_FEATURE_HTTPD_BASIC_AUTH(" [-r realm]") \ | 1638 | IF_FEATURE_HTTPD_BASIC_AUTH(" [-r realm]") \ |
| 1639 | USE_FEATURE_HTTPD_AUTH_MD5(" [-m pass]") \ | 1639 | IF_FEATURE_HTTPD_AUTH_MD5(" [-m pass]") \ |
| 1640 | " [-h home]" \ | 1640 | " [-h home]" \ |
| 1641 | " [-d/-e string]" | 1641 | " [-d/-e string]" |
| 1642 | #define httpd_full_usage "\n\n" \ | 1642 | #define httpd_full_usage "\n\n" \ |
| @@ -1647,23 +1647,23 @@ | |||
| 1647 | "\n -i Inetd mode" \ | 1647 | "\n -i Inetd mode" \ |
| 1648 | "\n -f Do not daemonize" \ | 1648 | "\n -f Do not daemonize" \ |
| 1649 | "\n -v[v] Verbose" \ | 1649 | "\n -v[v] Verbose" \ |
| 1650 | USE_FEATURE_HTTPD_SETUID( \ | 1650 | IF_FEATURE_HTTPD_SETUID( \ |
| 1651 | "\n -u USER[:GRP] Set uid/gid after binding to port") \ | 1651 | "\n -u USER[:GRP] Set uid/gid after binding to port") \ |
| 1652 | USE_FEATURE_HTTPD_BASIC_AUTH( \ | 1652 | IF_FEATURE_HTTPD_BASIC_AUTH( \ |
| 1653 | "\n -r REALM Authentication Realm for Basic Authentication") \ | 1653 | "\n -r REALM Authentication Realm for Basic Authentication") \ |
| 1654 | USE_FEATURE_HTTPD_AUTH_MD5( \ | 1654 | IF_FEATURE_HTTPD_AUTH_MD5( \ |
| 1655 | "\n -m PASS Crypt PASS with md5 algorithm") \ | 1655 | "\n -m PASS Crypt PASS with md5 algorithm") \ |
| 1656 | "\n -h HOME Home directory (default .)" \ | 1656 | "\n -h HOME Home directory (default .)" \ |
| 1657 | "\n -e STRING HTML encode STRING" \ | 1657 | "\n -e STRING HTML encode STRING" \ |
| 1658 | "\n -d STRING URL decode STRING" \ | 1658 | "\n -d STRING URL decode STRING" \ |
| 1659 | 1659 | ||
| 1660 | #define hwclock_trivial_usage \ | 1660 | #define hwclock_trivial_usage \ |
| 1661 | USE_FEATURE_HWCLOCK_LONG_OPTIONS( \ | 1661 | IF_FEATURE_HWCLOCK_LONG_OPTIONS( \ |
| 1662 | "[-r|--show] [-s|--hctosys] [-w|--systohc]" \ | 1662 | "[-r|--show] [-s|--hctosys] [-w|--systohc]" \ |
| 1663 | " [-l|--localtime] [-u|--utc]" \ | 1663 | " [-l|--localtime] [-u|--utc]" \ |
| 1664 | " [-f FILE]" \ | 1664 | " [-f FILE]" \ |
| 1665 | ) \ | 1665 | ) \ |
| 1666 | SKIP_FEATURE_HWCLOCK_LONG_OPTIONS( \ | 1666 | IF_NOT_FEATURE_HWCLOCK_LONG_OPTIONS( \ |
| 1667 | "[-r] [-s] [-w] [-l] [-u] [-f FILE]" \ | 1667 | "[-r] [-s] [-w] [-l] [-u] [-f FILE]" \ |
| 1668 | ) | 1668 | ) |
| 1669 | #define hwclock_full_usage "\n\n" \ | 1669 | #define hwclock_full_usage "\n\n" \ |
| @@ -1681,7 +1681,7 @@ | |||
| 1681 | #define id_full_usage "\n\n" \ | 1681 | #define id_full_usage "\n\n" \ |
| 1682 | "Print information about USER or the current user\n" \ | 1682 | "Print information about USER or the current user\n" \ |
| 1683 | "\nOptions:" \ | 1683 | "\nOptions:" \ |
| 1684 | USE_SELINUX( \ | 1684 | IF_SELINUX( \ |
| 1685 | "\n -Z Print the security context" \ | 1685 | "\n -Z Print the security context" \ |
| 1686 | ) \ | 1686 | ) \ |
| 1687 | "\n -u Print user ID" \ | 1687 | "\n -u Print user ID" \ |
| @@ -1695,23 +1695,23 @@ | |||
| 1695 | "uid=1000(andersen) gid=1000(andersen)\n" | 1695 | "uid=1000(andersen) gid=1000(andersen)\n" |
| 1696 | 1696 | ||
| 1697 | #define ifconfig_trivial_usage \ | 1697 | #define ifconfig_trivial_usage \ |
| 1698 | USE_FEATURE_IFCONFIG_STATUS("[-a]") " interface [address]" | 1698 | IF_FEATURE_IFCONFIG_STATUS("[-a]") " interface [address]" |
| 1699 | #define ifconfig_full_usage "\n\n" \ | 1699 | #define ifconfig_full_usage "\n\n" \ |
| 1700 | "Configure a network interface\n" \ | 1700 | "Configure a network interface\n" \ |
| 1701 | "\nOptions:" \ | 1701 | "\nOptions:" \ |
| 1702 | "\n" \ | 1702 | "\n" \ |
| 1703 | USE_FEATURE_IPV6( \ | 1703 | IF_FEATURE_IPV6( \ |
| 1704 | " [add ADDRESS[/PREFIXLEN]]\n") \ | 1704 | " [add ADDRESS[/PREFIXLEN]]\n") \ |
| 1705 | USE_FEATURE_IPV6( \ | 1705 | IF_FEATURE_IPV6( \ |
| 1706 | " [del ADDRESS[/PREFIXLEN]]\n") \ | 1706 | " [del ADDRESS[/PREFIXLEN]]\n") \ |
| 1707 | " [[-]broadcast [ADDRESS]] [[-]pointopoint [ADDRESS]]\n" \ | 1707 | " [[-]broadcast [ADDRESS]] [[-]pointopoint [ADDRESS]]\n" \ |
| 1708 | " [netmask ADDRESS] [dstaddr ADDRESS]\n" \ | 1708 | " [netmask ADDRESS] [dstaddr ADDRESS]\n" \ |
| 1709 | USE_FEATURE_IFCONFIG_SLIP( \ | 1709 | IF_FEATURE_IFCONFIG_SLIP( \ |
| 1710 | " [outfill NN] [keepalive NN]\n") \ | 1710 | " [outfill NN] [keepalive NN]\n") \ |
| 1711 | " " USE_FEATURE_IFCONFIG_HW("[hw ether" USE_FEATURE_HWIB("|infiniband")" ADDRESS] ") "[metric NN] [mtu NN]\n" \ | 1711 | " " IF_FEATURE_IFCONFIG_HW("[hw ether" IF_FEATURE_HWIB("|infiniband")" ADDRESS] ") "[metric NN] [mtu NN]\n" \ |
| 1712 | " [[-]trailers] [[-]arp] [[-]allmulti]\n" \ | 1712 | " [[-]trailers] [[-]arp] [[-]allmulti]\n" \ |
| 1713 | " [multicast] [[-]promisc] [txqueuelen NN] [[-]dynamic]\n" \ | 1713 | " [multicast] [[-]promisc] [txqueuelen NN] [[-]dynamic]\n" \ |
| 1714 | USE_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ( \ | 1714 | IF_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ( \ |
| 1715 | " [mem_start NN] [io_addr NN] [irq NN]\n") \ | 1715 | " [mem_start NN] [io_addr NN] [irq NN]\n") \ |
| 1716 | " [up|down] ..." | 1716 | " [up|down] ..." |
| 1717 | 1717 | ||
| @@ -1743,13 +1743,13 @@ | |||
| 1743 | " # ifenslave -c bond0 eth0\n" \ | 1743 | " # ifenslave -c bond0 eth0\n" \ |
| 1744 | 1744 | ||
| 1745 | #define ifup_trivial_usage \ | 1745 | #define ifup_trivial_usage \ |
| 1746 | "[-ain"USE_FEATURE_IFUPDOWN_MAPPING("m")"vf] ifaces..." | 1746 | "[-ain"IF_FEATURE_IFUPDOWN_MAPPING("m")"vf] ifaces..." |
| 1747 | #define ifup_full_usage "\n\n" \ | 1747 | #define ifup_full_usage "\n\n" \ |
| 1748 | "Options:" \ | 1748 | "Options:" \ |
| 1749 | "\n -a De/configure all interfaces automatically" \ | 1749 | "\n -a De/configure all interfaces automatically" \ |
| 1750 | "\n -i FILE Use FILE for interface definitions" \ | 1750 | "\n -i FILE Use FILE for interface definitions" \ |
| 1751 | "\n -n Print out what would happen, but don't do it" \ | 1751 | "\n -n Print out what would happen, but don't do it" \ |
| 1752 | USE_FEATURE_IFUPDOWN_MAPPING( \ | 1752 | IF_FEATURE_IFUPDOWN_MAPPING( \ |
| 1753 | "\n (note: doesn't disable mappings)" \ | 1753 | "\n (note: doesn't disable mappings)" \ |
| 1754 | "\n -m Don't run any mappings" \ | 1754 | "\n -m Don't run any mappings" \ |
| 1755 | ) \ | 1755 | ) \ |
| @@ -1757,13 +1757,13 @@ | |||
| 1757 | "\n -f Force de/configuration" \ | 1757 | "\n -f Force de/configuration" \ |
| 1758 | 1758 | ||
| 1759 | #define ifdown_trivial_usage \ | 1759 | #define ifdown_trivial_usage \ |
| 1760 | "[-ain"USE_FEATURE_IFUPDOWN_MAPPING("m")"vf] ifaces..." | 1760 | "[-ain"IF_FEATURE_IFUPDOWN_MAPPING("m")"vf] ifaces..." |
| 1761 | #define ifdown_full_usage "\n\n" \ | 1761 | #define ifdown_full_usage "\n\n" \ |
| 1762 | "Options:" \ | 1762 | "Options:" \ |
| 1763 | "\n -a De/configure all interfaces automatically" \ | 1763 | "\n -a De/configure all interfaces automatically" \ |
| 1764 | "\n -i FILE Use FILE for interface definitions" \ | 1764 | "\n -i FILE Use FILE for interface definitions" \ |
| 1765 | "\n -n Print out what would happen, but don't do it" \ | 1765 | "\n -n Print out what would happen, but don't do it" \ |
| 1766 | USE_FEATURE_IFUPDOWN_MAPPING( \ | 1766 | IF_FEATURE_IFUPDOWN_MAPPING( \ |
| 1767 | "\n (note: doesn't disable mappings)" \ | 1767 | "\n (note: doesn't disable mappings)" \ |
| 1768 | "\n -m Don't run any mappings" \ | 1768 | "\n -m Don't run any mappings" \ |
| 1769 | ) \ | 1769 | ) \ |
| @@ -1943,19 +1943,19 @@ | |||
| 1943 | /* 2.6 style insmod has no options and required filename | 1943 | /* 2.6 style insmod has no options and required filename |
| 1944 | * (not module name - .ko can't be omitted) */ | 1944 | * (not module name - .ko can't be omitted) */ |
| 1945 | #define insmod_trivial_usage \ | 1945 | #define insmod_trivial_usage \ |
| 1946 | USE_FEATURE_2_4_MODULES("[OPTION]... MODULE ") \ | 1946 | IF_FEATURE_2_4_MODULES("[OPTION]... MODULE ") \ |
| 1947 | SKIP_FEATURE_2_4_MODULES("FILE ") \ | 1947 | IF_NOT_FEATURE_2_4_MODULES("FILE ") \ |
| 1948 | "[symbol=value]..." | 1948 | "[symbol=value]..." |
| 1949 | #define insmod_full_usage "\n\n" \ | 1949 | #define insmod_full_usage "\n\n" \ |
| 1950 | "Load the specified kernel modules into the kernel" \ | 1950 | "Load the specified kernel modules into the kernel" \ |
| 1951 | USE_FEATURE_2_4_MODULES( "\n" \ | 1951 | IF_FEATURE_2_4_MODULES( "\n" \ |
| 1952 | "\nOptions:" \ | 1952 | "\nOptions:" \ |
| 1953 | "\n -f Force module to load into the wrong kernel version" \ | 1953 | "\n -f Force module to load into the wrong kernel version" \ |
| 1954 | "\n -k Make module autoclean-able" \ | 1954 | "\n -k Make module autoclean-able" \ |
| 1955 | "\n -v Verbose" \ | 1955 | "\n -v Verbose" \ |
| 1956 | "\n -q Quiet" \ | 1956 | "\n -q Quiet" \ |
| 1957 | "\n -L Lock to prevent simultaneous loads of a module" \ | 1957 | "\n -L Lock to prevent simultaneous loads of a module" \ |
| 1958 | USE_FEATURE_INSMOD_LOAD_MAP( \ | 1958 | IF_FEATURE_INSMOD_LOAD_MAP( \ |
| 1959 | "\n -m Output load map to stdout" \ | 1959 | "\n -m Output load map to stdout" \ |
| 1960 | ) \ | 1960 | ) \ |
| 1961 | "\n -o NAME Set internal module name to NAME" \ | 1961 | "\n -o NAME Set internal module name to NAME" \ |
| @@ -1976,7 +1976,7 @@ | |||
| 1976 | "\n -o USER Set ownership" \ | 1976 | "\n -o USER Set ownership" \ |
| 1977 | "\n -g GRP Set group ownership" \ | 1977 | "\n -g GRP Set group ownership" \ |
| 1978 | "\n -m MODE Set permissions" \ | 1978 | "\n -m MODE Set permissions" \ |
| 1979 | USE_SELINUX( \ | 1979 | IF_SELINUX( \ |
| 1980 | "\n -Z Set security context" \ | 1980 | "\n -Z Set security context" \ |
| 1981 | ) | 1981 | ) |
| 1982 | 1982 | ||
| @@ -1991,20 +1991,20 @@ | |||
| 1991 | /* would need to make the " | " optional depending on more than one selected: */ | 1991 | /* would need to make the " | " optional depending on more than one selected: */ |
| 1992 | #define ip_trivial_usage \ | 1992 | #define ip_trivial_usage \ |
| 1993 | "[OPTIONS] {" \ | 1993 | "[OPTIONS] {" \ |
| 1994 | USE_FEATURE_IP_ADDRESS("address | ") \ | 1994 | IF_FEATURE_IP_ADDRESS("address | ") \ |
| 1995 | USE_FEATURE_IP_ROUTE("route | ") \ | 1995 | IF_FEATURE_IP_ROUTE("route | ") \ |
| 1996 | USE_FEATURE_IP_LINK("link | ") \ | 1996 | IF_FEATURE_IP_LINK("link | ") \ |
| 1997 | USE_FEATURE_IP_TUNNEL("tunnel | ") \ | 1997 | IF_FEATURE_IP_TUNNEL("tunnel | ") \ |
| 1998 | USE_FEATURE_IP_RULE("rule") \ | 1998 | IF_FEATURE_IP_RULE("rule") \ |
| 1999 | "} {COMMAND}" | 1999 | "} {COMMAND}" |
| 2000 | #define ip_full_usage "\n\n" \ | 2000 | #define ip_full_usage "\n\n" \ |
| 2001 | "ip [OPTIONS] OBJECT {COMMAND}\n" \ | 2001 | "ip [OPTIONS] OBJECT {COMMAND}\n" \ |
| 2002 | "where OBJECT := {" \ | 2002 | "where OBJECT := {" \ |
| 2003 | USE_FEATURE_IP_ADDRESS("address | ") \ | 2003 | IF_FEATURE_IP_ADDRESS("address | ") \ |
| 2004 | USE_FEATURE_IP_ROUTE("route | ") \ | 2004 | IF_FEATURE_IP_ROUTE("route | ") \ |
| 2005 | USE_FEATURE_IP_LINK("link | ") \ | 2005 | IF_FEATURE_IP_LINK("link | ") \ |
| 2006 | USE_FEATURE_IP_TUNNEL("tunnel | ") \ | 2006 | IF_FEATURE_IP_TUNNEL("tunnel | ") \ |
| 2007 | USE_FEATURE_IP_RULE("rule") \ | 2007 | IF_FEATURE_IP_RULE("rule") \ |
| 2008 | "}\n" \ | 2008 | "}\n" \ |
| 2009 | "OPTIONS := { -f[amily] { inet | inet6 | link } | -o[neline] }" \ | 2009 | "OPTIONS := { -f[amily] { inet | inet6 | link } | -o[neline] }" \ |
| 2010 | 2010 | ||
| @@ -2025,21 +2025,21 @@ | |||
| 2025 | #define ipcalc_full_usage "\n\n" \ | 2025 | #define ipcalc_full_usage "\n\n" \ |
| 2026 | "Calculate IP network settings from a IP address\n" \ | 2026 | "Calculate IP network settings from a IP address\n" \ |
| 2027 | "\nOptions:" \ | 2027 | "\nOptions:" \ |
| 2028 | USE_FEATURE_IPCALC_LONG_OPTIONS( \ | 2028 | IF_FEATURE_IPCALC_LONG_OPTIONS( \ |
| 2029 | "\n -b,--broadcast Display calculated broadcast address" \ | 2029 | "\n -b,--broadcast Display calculated broadcast address" \ |
| 2030 | "\n -n,--network Display calculated network address" \ | 2030 | "\n -n,--network Display calculated network address" \ |
| 2031 | "\n -m,--netmask Display default netmask for IP" \ | 2031 | "\n -m,--netmask Display default netmask for IP" \ |
| 2032 | USE_FEATURE_IPCALC_FANCY( \ | 2032 | IF_FEATURE_IPCALC_FANCY( \ |
| 2033 | "\n -p,--prefix Display the prefix for IP/NETMASK" \ | 2033 | "\n -p,--prefix Display the prefix for IP/NETMASK" \ |
| 2034 | "\n -h,--hostname Display first resolved host name" \ | 2034 | "\n -h,--hostname Display first resolved host name" \ |
| 2035 | "\n -s,--silent Don't ever display error messages" \ | 2035 | "\n -s,--silent Don't ever display error messages" \ |
| 2036 | ) \ | 2036 | ) \ |
| 2037 | ) \ | 2037 | ) \ |
| 2038 | SKIP_FEATURE_IPCALC_LONG_OPTIONS( \ | 2038 | IF_NOT_FEATURE_IPCALC_LONG_OPTIONS( \ |
| 2039 | "\n -b Display calculated broadcast address" \ | 2039 | "\n -b Display calculated broadcast address" \ |
| 2040 | "\n -n Display calculated network address" \ | 2040 | "\n -n Display calculated network address" \ |
| 2041 | "\n -m Display default netmask for IP" \ | 2041 | "\n -m Display default netmask for IP" \ |
| 2042 | USE_FEATURE_IPCALC_FANCY( \ | 2042 | IF_FEATURE_IPCALC_FANCY( \ |
| 2043 | "\n -p Display the prefix for IP/NETMASK" \ | 2043 | "\n -p Display the prefix for IP/NETMASK" \ |
| 2044 | "\n -h Display first resolved host name" \ | 2044 | "\n -h Display first resolved host name" \ |
| 2045 | "\n -s Don't ever display error messages" \ | 2045 | "\n -s Don't ever display error messages" \ |
| @@ -2332,14 +2332,14 @@ | |||
| 2332 | "\n -V Verbose" \ | 2332 | "\n -V Verbose" \ |
| 2333 | 2333 | ||
| 2334 | #define ls_trivial_usage \ | 2334 | #define ls_trivial_usage \ |
| 2335 | "[-1Aa" USE_FEATURE_LS_TIMESTAMPS("c") "Cd" \ | 2335 | "[-1Aa" IF_FEATURE_LS_TIMESTAMPS("c") "Cd" \ |
| 2336 | USE_FEATURE_LS_TIMESTAMPS("e") USE_FEATURE_LS_FILETYPES("F") "iln" \ | 2336 | IF_FEATURE_LS_TIMESTAMPS("e") IF_FEATURE_LS_FILETYPES("F") "iln" \ |
| 2337 | USE_FEATURE_LS_FILETYPES("p") USE_FEATURE_LS_FOLLOWLINKS("L") \ | 2337 | IF_FEATURE_LS_FILETYPES("p") IF_FEATURE_LS_FOLLOWLINKS("L") \ |
| 2338 | USE_FEATURE_LS_RECURSIVE("R") USE_FEATURE_LS_SORTFILES("rS") "s" \ | 2338 | IF_FEATURE_LS_RECURSIVE("R") IF_FEATURE_LS_SORTFILES("rS") "s" \ |
| 2339 | USE_FEATURE_AUTOWIDTH("T") USE_FEATURE_LS_TIMESTAMPS("tu") \ | 2339 | IF_FEATURE_AUTOWIDTH("T") IF_FEATURE_LS_TIMESTAMPS("tu") \ |
| 2340 | USE_FEATURE_LS_SORTFILES("v") USE_FEATURE_AUTOWIDTH("w") "x" \ | 2340 | IF_FEATURE_LS_SORTFILES("v") IF_FEATURE_AUTOWIDTH("w") "x" \ |
| 2341 | USE_FEATURE_LS_SORTFILES("X") USE_FEATURE_HUMAN_READABLE("h") "k" \ | 2341 | IF_FEATURE_LS_SORTFILES("X") IF_FEATURE_HUMAN_READABLE("h") "k" \ |
| 2342 | USE_SELINUX("K") "] [filenames...]" | 2342 | IF_SELINUX("K") "] [filenames...]" |
| 2343 | #define ls_full_usage "\n\n" \ | 2343 | #define ls_full_usage "\n\n" \ |
| 2344 | "List directory contents\n" \ | 2344 | "List directory contents\n" \ |
| 2345 | "\nOptions:" \ | 2345 | "\nOptions:" \ |
| @@ -2347,49 +2347,49 @@ | |||
| 2347 | "\n -A Don't list . and .." \ | 2347 | "\n -A Don't list . and .." \ |
| 2348 | "\n -a Don't hide entries starting with ." \ | 2348 | "\n -a Don't hide entries starting with ." \ |
| 2349 | "\n -C List by columns" \ | 2349 | "\n -C List by columns" \ |
| 2350 | USE_FEATURE_LS_TIMESTAMPS( \ | 2350 | IF_FEATURE_LS_TIMESTAMPS( \ |
| 2351 | "\n -c With -l: sort by ctime") \ | 2351 | "\n -c With -l: sort by ctime") \ |
| 2352 | USE_FEATURE_LS_COLOR( \ | 2352 | IF_FEATURE_LS_COLOR( \ |
| 2353 | "\n --color[={always,never,auto}] Control coloring") \ | 2353 | "\n --color[={always,never,auto}] Control coloring") \ |
| 2354 | "\n -d List directory entries instead of contents" \ | 2354 | "\n -d List directory entries instead of contents" \ |
| 2355 | USE_FEATURE_LS_TIMESTAMPS( \ | 2355 | IF_FEATURE_LS_TIMESTAMPS( \ |
| 2356 | "\n -e List full date and time") \ | 2356 | "\n -e List full date and time") \ |
| 2357 | USE_FEATURE_LS_FILETYPES( \ | 2357 | IF_FEATURE_LS_FILETYPES( \ |
| 2358 | "\n -F Append indicator (one of */=@|) to entries") \ | 2358 | "\n -F Append indicator (one of */=@|) to entries") \ |
| 2359 | "\n -i List inode numbers" \ | 2359 | "\n -i List inode numbers" \ |
| 2360 | "\n -l Long listing format" \ | 2360 | "\n -l Long listing format" \ |
| 2361 | "\n -n List numeric UIDs and GIDs instead of names" \ | 2361 | "\n -n List numeric UIDs and GIDs instead of names" \ |
| 2362 | USE_FEATURE_LS_FILETYPES( \ | 2362 | IF_FEATURE_LS_FILETYPES( \ |
| 2363 | "\n -p Append indicator (one of /=@|) to entries") \ | 2363 | "\n -p Append indicator (one of /=@|) to entries") \ |
| 2364 | USE_FEATURE_LS_FOLLOWLINKS( \ | 2364 | IF_FEATURE_LS_FOLLOWLINKS( \ |
| 2365 | "\n -L List entries pointed to by symlinks") \ | 2365 | "\n -L List entries pointed to by symlinks") \ |
| 2366 | USE_FEATURE_LS_RECURSIVE( \ | 2366 | IF_FEATURE_LS_RECURSIVE( \ |
| 2367 | "\n -R List subdirectories recursively") \ | 2367 | "\n -R List subdirectories recursively") \ |
| 2368 | USE_FEATURE_LS_SORTFILES( \ | 2368 | IF_FEATURE_LS_SORTFILES( \ |
| 2369 | "\n -r Sort in reverse order") \ | 2369 | "\n -r Sort in reverse order") \ |
| 2370 | USE_FEATURE_LS_SORTFILES( \ | 2370 | IF_FEATURE_LS_SORTFILES( \ |
| 2371 | "\n -S Sort by file size") \ | 2371 | "\n -S Sort by file size") \ |
| 2372 | "\n -s List the size of each file, in blocks" \ | 2372 | "\n -s List the size of each file, in blocks" \ |
| 2373 | USE_FEATURE_AUTOWIDTH( \ | 2373 | IF_FEATURE_AUTOWIDTH( \ |
| 2374 | "\n -T NUM Assume tabstop every NUM columns") \ | 2374 | "\n -T NUM Assume tabstop every NUM columns") \ |
| 2375 | USE_FEATURE_LS_TIMESTAMPS( \ | 2375 | IF_FEATURE_LS_TIMESTAMPS( \ |
| 2376 | "\n -t With -l: sort by modification time") \ | 2376 | "\n -t With -l: sort by modification time") \ |
| 2377 | USE_FEATURE_LS_TIMESTAMPS( \ | 2377 | IF_FEATURE_LS_TIMESTAMPS( \ |
| 2378 | "\n -u With -l: sort by access time") \ | 2378 | "\n -u With -l: sort by access time") \ |
| 2379 | USE_FEATURE_LS_SORTFILES( \ | 2379 | IF_FEATURE_LS_SORTFILES( \ |
| 2380 | "\n -v Sort by version") \ | 2380 | "\n -v Sort by version") \ |
| 2381 | USE_FEATURE_AUTOWIDTH( \ | 2381 | IF_FEATURE_AUTOWIDTH( \ |
| 2382 | "\n -w NUM Assume the terminal is NUM columns wide") \ | 2382 | "\n -w NUM Assume the terminal is NUM columns wide") \ |
| 2383 | "\n -x List by lines" \ | 2383 | "\n -x List by lines" \ |
| 2384 | USE_FEATURE_LS_SORTFILES( \ | 2384 | IF_FEATURE_LS_SORTFILES( \ |
| 2385 | "\n -X Sort by extension") \ | 2385 | "\n -X Sort by extension") \ |
| 2386 | USE_FEATURE_HUMAN_READABLE( \ | 2386 | IF_FEATURE_HUMAN_READABLE( \ |
| 2387 | "\n -h List sizes in human readable format (1K 243M 2G)") \ | 2387 | "\n -h List sizes in human readable format (1K 243M 2G)") \ |
| 2388 | USE_SELINUX( \ | 2388 | IF_SELINUX( \ |
| 2389 | "\n -k List security context") \ | 2389 | "\n -k List security context") \ |
| 2390 | USE_SELINUX( \ | 2390 | IF_SELINUX( \ |
| 2391 | "\n -K List security context in long format") \ | 2391 | "\n -K List security context in long format") \ |
| 2392 | USE_SELINUX( \ | 2392 | IF_SELINUX( \ |
| 2393 | "\n -Z List security context and permission") \ | 2393 | "\n -Z List security context and permission") \ |
| 2394 | 2394 | ||
| 2395 | #define lsattr_trivial_usage \ | 2395 | #define lsattr_trivial_usage \ |
| @@ -2495,10 +2495,10 @@ | |||
| 2495 | 2495 | ||
| 2496 | #define md5sum_trivial_usage \ | 2496 | #define md5sum_trivial_usage \ |
| 2497 | "[OPTION] [FILEs...]" \ | 2497 | "[OPTION] [FILEs...]" \ |
| 2498 | USE_FEATURE_MD5_SHA1_SUM_CHECK("\n or: md5sum [OPTION] -c [FILE]") | 2498 | IF_FEATURE_MD5_SHA1_SUM_CHECK("\n or: md5sum [OPTION] -c [FILE]") |
| 2499 | #define md5sum_full_usage "\n\n" \ | 2499 | #define md5sum_full_usage "\n\n" \ |
| 2500 | "Print" USE_FEATURE_MD5_SHA1_SUM_CHECK(" or check") " MD5 checksums" \ | 2500 | "Print" IF_FEATURE_MD5_SHA1_SUM_CHECK(" or check") " MD5 checksums" \ |
| 2501 | USE_FEATURE_MD5_SHA1_SUM_CHECK( "\n" \ | 2501 | IF_FEATURE_MD5_SHA1_SUM_CHECK( "\n" \ |
| 2502 | "\nOptions:" \ | 2502 | "\nOptions:" \ |
| 2503 | "\n -c Check sums against given list" \ | 2503 | "\n -c Check sums against given list" \ |
| 2504 | "\n -s Don't output anything, status code shows success" \ | 2504 | "\n -s Don't output anything, status code shows success" \ |
| @@ -2517,10 +2517,10 @@ | |||
| 2517 | 2517 | ||
| 2518 | #define sha1sum_trivial_usage \ | 2518 | #define sha1sum_trivial_usage \ |
| 2519 | "[OPTION] [FILEs...]" \ | 2519 | "[OPTION] [FILEs...]" \ |
| 2520 | USE_FEATURE_MD5_SHA1_SUM_CHECK("\n or: sha1sum [OPTION] -c [FILE]") | 2520 | IF_FEATURE_MD5_SHA1_SUM_CHECK("\n or: sha1sum [OPTION] -c [FILE]") |
| 2521 | #define sha1sum_full_usage "\n\n" \ | 2521 | #define sha1sum_full_usage "\n\n" \ |
| 2522 | "Print" USE_FEATURE_MD5_SHA1_SUM_CHECK(" or check") " SHA1 checksums." \ | 2522 | "Print" IF_FEATURE_MD5_SHA1_SUM_CHECK(" or check") " SHA1 checksums." \ |
| 2523 | USE_FEATURE_MD5_SHA1_SUM_CHECK( "\n" \ | 2523 | IF_FEATURE_MD5_SHA1_SUM_CHECK( "\n" \ |
| 2524 | "\nOptions:" \ | 2524 | "\nOptions:" \ |
| 2525 | "\n -c Check sums against given list" \ | 2525 | "\n -c Check sums against given list" \ |
| 2526 | "\n -s Don't output anything, status code shows success" \ | 2526 | "\n -s Don't output anything, status code shows success" \ |
| @@ -2529,10 +2529,10 @@ | |||
| 2529 | 2529 | ||
| 2530 | #define sha256sum_trivial_usage \ | 2530 | #define sha256sum_trivial_usage \ |
| 2531 | "[OPTION] [FILEs...]" \ | 2531 | "[OPTION] [FILEs...]" \ |
| 2532 | USE_FEATURE_MD5_SHA1_SUM_CHECK("\n or: sha256sum [OPTION] -c [FILE]") | 2532 | IF_FEATURE_MD5_SHA1_SUM_CHECK("\n or: sha256sum [OPTION] -c [FILE]") |
| 2533 | #define sha256sum_full_usage "\n\n" \ | 2533 | #define sha256sum_full_usage "\n\n" \ |
| 2534 | "Print" USE_FEATURE_MD5_SHA1_SUM_CHECK(" or check") " SHA1 checksums." \ | 2534 | "Print" IF_FEATURE_MD5_SHA1_SUM_CHECK(" or check") " SHA1 checksums." \ |
| 2535 | USE_FEATURE_MD5_SHA1_SUM_CHECK( "\n" \ | 2535 | IF_FEATURE_MD5_SHA1_SUM_CHECK( "\n" \ |
| 2536 | "\nOptions:" \ | 2536 | "\nOptions:" \ |
| 2537 | "\n -c Check sums against given list" \ | 2537 | "\n -c Check sums against given list" \ |
| 2538 | "\n -s Don't output anything, status code shows success" \ | 2538 | "\n -s Don't output anything, status code shows success" \ |
| @@ -2541,10 +2541,10 @@ | |||
| 2541 | 2541 | ||
| 2542 | #define sha512sum_trivial_usage \ | 2542 | #define sha512sum_trivial_usage \ |
| 2543 | "[OPTION] [FILEs...]" \ | 2543 | "[OPTION] [FILEs...]" \ |
| 2544 | USE_FEATURE_MD5_SHA1_SUM_CHECK("\n or: sha512sum [OPTION] -c [FILE]") | 2544 | IF_FEATURE_MD5_SHA1_SUM_CHECK("\n or: sha512sum [OPTION] -c [FILE]") |
| 2545 | #define sha512sum_full_usage "\n\n" \ | 2545 | #define sha512sum_full_usage "\n\n" \ |
| 2546 | "Print" USE_FEATURE_MD5_SHA1_SUM_CHECK(" or check") " SHA1 checksums." \ | 2546 | "Print" IF_FEATURE_MD5_SHA1_SUM_CHECK(" or check") " SHA1 checksums." \ |
| 2547 | USE_FEATURE_MD5_SHA1_SUM_CHECK( "\n" \ | 2547 | IF_FEATURE_MD5_SHA1_SUM_CHECK( "\n" \ |
| 2548 | "\nOptions:" \ | 2548 | "\nOptions:" \ |
| 2549 | "\n -c Check sums against given list" \ | 2549 | "\n -c Check sums against given list" \ |
| 2550 | "\n -s Don't output anything, status code shows success" \ | 2550 | "\n -s Don't output anything, status code shows success" \ |
| @@ -2558,19 +2558,19 @@ | |||
| 2558 | "\n" \ | 2558 | "\n" \ |
| 2559 | "It can be run by kernel as a hotplug helper. To activate it:\n" \ | 2559 | "It can be run by kernel as a hotplug helper. To activate it:\n" \ |
| 2560 | " echo /bin/mdev >/proc/sys/kernel/hotplug\n" \ | 2560 | " echo /bin/mdev >/proc/sys/kernel/hotplug\n" \ |
| 2561 | USE_FEATURE_MDEV_CONF( \ | 2561 | IF_FEATURE_MDEV_CONF( \ |
| 2562 | "It uses /etc/mdev.conf with lines\n" \ | 2562 | "It uses /etc/mdev.conf with lines\n" \ |
| 2563 | "[-]DEVNAME UID:GID PERM" \ | 2563 | "[-]DEVNAME UID:GID PERM" \ |
| 2564 | USE_FEATURE_MDEV_RENAME(" [>|=PATH]") \ | 2564 | IF_FEATURE_MDEV_RENAME(" [>|=PATH]") \ |
| 2565 | USE_FEATURE_MDEV_EXEC(" [@|$|*COMMAND]") \ | 2565 | IF_FEATURE_MDEV_EXEC(" [@|$|*COMMAND]") \ |
| 2566 | ) \ | 2566 | ) \ |
| 2567 | 2567 | ||
| 2568 | #define mdev_notes_usage "" \ | 2568 | #define mdev_notes_usage "" \ |
| 2569 | USE_FEATURE_MDEV_CONFIG( \ | 2569 | IF_FEATURE_MDEV_CONFIG( \ |
| 2570 | "The mdev config file contains lines that look like:\n" \ | 2570 | "The mdev config file contains lines that look like:\n" \ |
| 2571 | " hd[a-z][0-9]* 0:3 660\n\n" \ | 2571 | " hd[a-z][0-9]* 0:3 660\n\n" \ |
| 2572 | "That's device name (with regex match), uid:gid, and permissions.\n\n" \ | 2572 | "That's device name (with regex match), uid:gid, and permissions.\n\n" \ |
| 2573 | USE_FEATURE_MDEV_EXEC( \ | 2573 | IF_FEATURE_MDEV_EXEC( \ |
| 2574 | "Optionally, that can be followed (on the same line) by a special character\n" \ | 2574 | "Optionally, that can be followed (on the same line) by a special character\n" \ |
| 2575 | "and a command line to run after creating/before deleting the corresponding\n" \ | 2575 | "and a command line to run after creating/before deleting the corresponding\n" \ |
| 2576 | "device(s). The environment variable $MDEV indicates the active device node\n" \ | 2576 | "device(s). The environment variable $MDEV indicates the active device node\n" \ |
| @@ -2610,7 +2610,7 @@ | |||
| 2610 | "\nOptions:" \ | 2610 | "\nOptions:" \ |
| 2611 | "\n -m Set permission mode (as in chmod), not rwxrwxrwx - umask" \ | 2611 | "\n -m Set permission mode (as in chmod), not rwxrwxrwx - umask" \ |
| 2612 | "\n -p No error if existing, make parent directories as needed" \ | 2612 | "\n -p No error if existing, make parent directories as needed" \ |
| 2613 | USE_SELINUX( \ | 2613 | IF_SELINUX( \ |
| 2614 | "\n -Z Set security context" \ | 2614 | "\n -Z Set security context" \ |
| 2615 | ) | 2615 | ) |
| 2616 | 2616 | ||
| @@ -2659,7 +2659,7 @@ | |||
| 2659 | "Create named pipe (identical to 'mknod name p')\n" \ | 2659 | "Create named pipe (identical to 'mknod name p')\n" \ |
| 2660 | "\nOptions:" \ | 2660 | "\nOptions:" \ |
| 2661 | "\n -m MODE Mode (default a=rw)" \ | 2661 | "\n -m MODE Mode (default a=rw)" \ |
| 2662 | USE_SELINUX( \ | 2662 | IF_SELINUX( \ |
| 2663 | "\n -Z Set security context" \ | 2663 | "\n -Z Set security context" \ |
| 2664 | ) | 2664 | ) |
| 2665 | 2665 | ||
| @@ -2700,7 +2700,7 @@ | |||
| 2700 | "\n b: Make a block device" \ | 2700 | "\n b: Make a block device" \ |
| 2701 | "\n c or u: Make a character device" \ | 2701 | "\n c or u: Make a character device" \ |
| 2702 | "\n p: Make a named pipe (MAJOR and MINOR are ignored)" \ | 2702 | "\n p: Make a named pipe (MAJOR and MINOR are ignored)" \ |
| 2703 | USE_SELINUX( \ | 2703 | IF_SELINUX( \ |
| 2704 | "\n -Z Set security context" \ | 2704 | "\n -Z Set security context" \ |
| 2705 | ) | 2705 | ) |
| 2706 | 2706 | ||
| @@ -2745,7 +2745,7 @@ | |||
| 2745 | "[-knqrsv] MODULE [symbol=value...]" | 2745 | "[-knqrsv] MODULE [symbol=value...]" |
| 2746 | #define modprobe_full_usage "\n\n" \ | 2746 | #define modprobe_full_usage "\n\n" \ |
| 2747 | "Options:" \ | 2747 | "Options:" \ |
| 2748 | USE_FEATURE_2_4_MODULES( \ | 2748 | IF_FEATURE_2_4_MODULES( \ |
| 2749 | "\n -k Make module autoclean-able" \ | 2749 | "\n -k Make module autoclean-able" \ |
| 2750 | ) \ | 2750 | ) \ |
| 2751 | "\n -n Dry run" \ | 2751 | "\n -n Dry run" \ |
| @@ -2753,7 +2753,7 @@ | |||
| 2753 | "\n -r Remove module (stacks) or do autoclean" \ | 2753 | "\n -r Remove module (stacks) or do autoclean" \ |
| 2754 | "\n -s Report via syslog instead of stderr" \ | 2754 | "\n -s Report via syslog instead of stderr" \ |
| 2755 | "\n -v Verbose" \ | 2755 | "\n -v Verbose" \ |
| 2756 | USE_FEATURE_MODPROBE_BLACKLIST( \ | 2756 | IF_FEATURE_MODPROBE_BLACKLIST( \ |
| 2757 | "\n -b Apply blacklist to module names too" \ | 2757 | "\n -b Apply blacklist to module names too" \ |
| 2758 | ) | 2758 | ) |
| 2759 | 2759 | ||
| @@ -2831,15 +2831,15 @@ | |||
| 2831 | "Mount a filesystem. Filesystem autodetection requires /proc be mounted.\n" \ | 2831 | "Mount a filesystem. Filesystem autodetection requires /proc be mounted.\n" \ |
| 2832 | "\nOptions:" \ | 2832 | "\nOptions:" \ |
| 2833 | "\n -a Mount all filesystems in fstab" \ | 2833 | "\n -a Mount all filesystems in fstab" \ |
| 2834 | USE_FEATURE_MOUNT_FAKE( \ | 2834 | IF_FEATURE_MOUNT_FAKE( \ |
| 2835 | USE_FEATURE_MTAB_SUPPORT( \ | 2835 | IF_FEATURE_MTAB_SUPPORT( \ |
| 2836 | "\n -f Update /etc/mtab, but don't mount" \ | 2836 | "\n -f Update /etc/mtab, but don't mount" \ |
| 2837 | ) \ | 2837 | ) \ |
| 2838 | SKIP_FEATURE_MTAB_SUPPORT( \ | 2838 | IF_NOT_FEATURE_MTAB_SUPPORT( \ |
| 2839 | "\n -f Dry run" \ | 2839 | "\n -f Dry run" \ |
| 2840 | ) \ | 2840 | ) \ |
| 2841 | ) \ | 2841 | ) \ |
| 2842 | USE_FEATURE_MTAB_SUPPORT( \ | 2842 | IF_FEATURE_MTAB_SUPPORT( \ |
| 2843 | "\n -n Don't update /etc/mtab" \ | 2843 | "\n -n Don't update /etc/mtab" \ |
| 2844 | ) \ | 2844 | ) \ |
| 2845 | "\n -r Read-only mount" \ | 2845 | "\n -r Read-only mount" \ |
| @@ -2847,10 +2847,10 @@ | |||
| 2847 | "\n -t FSTYPE Filesystem type" \ | 2847 | "\n -t FSTYPE Filesystem type" \ |
| 2848 | "\n -O OPT Mount only filesystems with option OPT (-a only)" \ | 2848 | "\n -O OPT Mount only filesystems with option OPT (-a only)" \ |
| 2849 | "\n-o OPT:" \ | 2849 | "\n-o OPT:" \ |
| 2850 | USE_FEATURE_MOUNT_LOOP( \ | 2850 | IF_FEATURE_MOUNT_LOOP( \ |
| 2851 | "\n loop Ignored (loop devices are autodetected)" \ | 2851 | "\n loop Ignored (loop devices are autodetected)" \ |
| 2852 | ) \ | 2852 | ) \ |
| 2853 | USE_FEATURE_MOUNT_FLAGS( \ | 2853 | IF_FEATURE_MOUNT_FLAGS( \ |
| 2854 | "\n [a]sync Writes are [a]synchronous" \ | 2854 | "\n [a]sync Writes are [a]synchronous" \ |
| 2855 | "\n [no]atime Disable/enable updates to inode access times" \ | 2855 | "\n [no]atime Disable/enable updates to inode access times" \ |
| 2856 | "\n [no]diratime Disable/enable atime updates to directories" \ | 2856 | "\n [no]diratime Disable/enable atime updates to directories" \ |
| @@ -2945,26 +2945,26 @@ | |||
| 2945 | #endif | 2945 | #endif |
| 2946 | 2946 | ||
| 2947 | #define nc_trivial_usage \ | 2947 | #define nc_trivial_usage \ |
| 2948 | USE_NC_EXTRA("[-iN] [-wN] ")USE_NC_SERVER("[-l] [-p PORT] ") \ | 2948 | IF_NC_EXTRA("[-iN] [-wN] ")IF_NC_SERVER("[-l] [-p PORT] ") \ |
| 2949 | "["USE_NC_EXTRA("-f FILENAME|")"IPADDR PORTNUM]"USE_NC_EXTRA(" [-e COMMAND]") | 2949 | "["IF_NC_EXTRA("-f FILENAME|")"IPADDR PORTNUM]"IF_NC_EXTRA(" [-e COMMAND]") |
| 2950 | #define nc_full_usage "\n\n" \ | 2950 | #define nc_full_usage "\n\n" \ |
| 2951 | "Open a pipe to IP:port" USE_NC_EXTRA(" or file") \ | 2951 | "Open a pipe to IP:port" IF_NC_EXTRA(" or file") \ |
| 2952 | NC_OPTIONS_STR \ | 2952 | NC_OPTIONS_STR \ |
| 2953 | USE_NC_EXTRA( \ | 2953 | IF_NC_EXTRA( \ |
| 2954 | "\n -e Exec rest of command line after connect" \ | 2954 | "\n -e Exec rest of command line after connect" \ |
| 2955 | "\n -i SECS Delay interval for lines sent" \ | 2955 | "\n -i SECS Delay interval for lines sent" \ |
| 2956 | "\n -w SECS Timeout for connect" \ | 2956 | "\n -w SECS Timeout for connect" \ |
| 2957 | "\n -f FILE Use file (ala /dev/ttyS0) instead of network" \ | 2957 | "\n -f FILE Use file (ala /dev/ttyS0) instead of network" \ |
| 2958 | ) \ | 2958 | ) \ |
| 2959 | USE_NC_SERVER( \ | 2959 | IF_NC_SERVER( \ |
| 2960 | "\n -l Listen mode, for inbound connects" \ | 2960 | "\n -l Listen mode, for inbound connects" \ |
| 2961 | USE_NC_EXTRA( \ | 2961 | IF_NC_EXTRA( \ |
| 2962 | "\n (use -l twice with -e for persistent server)") \ | 2962 | "\n (use -l twice with -e for persistent server)") \ |
| 2963 | "\n -p PORT Local port number" \ | 2963 | "\n -p PORT Local port number" \ |
| 2964 | ) | 2964 | ) |
| 2965 | 2965 | ||
| 2966 | #define nc_notes_usage "" \ | 2966 | #define nc_notes_usage "" \ |
| 2967 | USE_NC_EXTRA( \ | 2967 | IF_NC_EXTRA( \ |
| 2968 | "To use netcat as a terminal emulator on a serial port:\n\n" \ | 2968 | "To use netcat as a terminal emulator on a serial port:\n\n" \ |
| 2969 | "$ stty 115200 -F /dev/ttyS0\n" \ | 2969 | "$ stty 115200 -F /dev/ttyS0\n" \ |
| 2970 | "$ stty raw -echo -ctlecho && nc -f /dev/ttyS0\n" \ | 2970 | "$ stty raw -echo -ctlecho && nc -f /dev/ttyS0\n" \ |
| @@ -2984,12 +2984,12 @@ | |||
| 2984 | 2984 | ||
| 2985 | #define nc_trivial_usage \ | 2985 | #define nc_trivial_usage \ |
| 2986 | "[-options] hostname port - connect" \ | 2986 | "[-options] hostname port - connect" \ |
| 2987 | USE_NC_SERVER("\n" \ | 2987 | IF_NC_SERVER("\n" \ |
| 2988 | "nc [-options] -l -p port [hostname] [port] - listen") | 2988 | "nc [-options] -l -p port [hostname] [port] - listen") |
| 2989 | #define nc_full_usage "\n\n" \ | 2989 | #define nc_full_usage "\n\n" \ |
| 2990 | "Options:" \ | 2990 | "Options:" \ |
| 2991 | "\n -e prog [args] Program to exec after connect (must be last)" \ | 2991 | "\n -e prog [args] Program to exec after connect (must be last)" \ |
| 2992 | USE_NC_SERVER( \ | 2992 | IF_NC_SERVER( \ |
| 2993 | "\n -l Listen mode, for inbound connects" \ | 2993 | "\n -l Listen mode, for inbound connects" \ |
| 2994 | ) \ | 2994 | ) \ |
| 2995 | "\n -n Don't do DNS resolution" \ | 2995 | "\n -n Don't do DNS resolution" \ |
| @@ -2998,7 +2998,7 @@ | |||
| 2998 | "\n -u UDP mode" \ | 2998 | "\n -u UDP mode" \ |
| 2999 | "\n -v Verbose (cumulative: -vv)" \ | 2999 | "\n -v Verbose (cumulative: -vv)" \ |
| 3000 | "\n -w secs Timeout for connects and final net reads" \ | 3000 | "\n -w secs Timeout for connects and final net reads" \ |
| 3001 | USE_NC_EXTRA( \ | 3001 | IF_NC_EXTRA( \ |
| 3002 | "\n -i sec Delay interval for lines sent" /* ", ports scanned" */ \ | 3002 | "\n -i sec Delay interval for lines sent" /* ", ports scanned" */ \ |
| 3003 | "\n -o file Hex dump of traffic" \ | 3003 | "\n -o file Hex dump of traffic" \ |
| 3004 | "\n -z Zero-I/O mode (scanning)" \ | 3004 | "\n -z Zero-I/O mode (scanning)" \ |
| @@ -3011,7 +3011,7 @@ | |||
| 3011 | #endif | 3011 | #endif |
| 3012 | 3012 | ||
| 3013 | #define netstat_trivial_usage \ | 3013 | #define netstat_trivial_usage \ |
| 3014 | "[-laentuwxr"USE_FEATURE_NETSTAT_WIDE("W")USE_FEATURE_NETSTAT_PRG("p")"]" | 3014 | "[-laentuwxr"IF_FEATURE_NETSTAT_WIDE("W")IF_FEATURE_NETSTAT_PRG("p")"]" |
| 3015 | #define netstat_full_usage "\n\n" \ | 3015 | #define netstat_full_usage "\n\n" \ |
| 3016 | "Display networking information\n" \ | 3016 | "Display networking information\n" \ |
| 3017 | "\nOptions:" \ | 3017 | "\nOptions:" \ |
| @@ -3024,10 +3024,10 @@ | |||
| 3024 | "\n -w Raw sockets" \ | 3024 | "\n -w Raw sockets" \ |
| 3025 | "\n -x Unix sockets" \ | 3025 | "\n -x Unix sockets" \ |
| 3026 | "\n -r Display routing table" \ | 3026 | "\n -r Display routing table" \ |
| 3027 | USE_FEATURE_NETSTAT_WIDE( \ | 3027 | IF_FEATURE_NETSTAT_WIDE( \ |
| 3028 | "\n -W Display with no column truncation" \ | 3028 | "\n -W Display with no column truncation" \ |
| 3029 | ) \ | 3029 | ) \ |
| 3030 | USE_FEATURE_NETSTAT_PRG( \ | 3030 | IF_FEATURE_NETSTAT_PRG( \ |
| 3031 | "\n -p Display PID/Program name for sockets" \ | 3031 | "\n -p Display PID/Program name for sockets" \ |
| 3032 | ) | 3032 | ) |
| 3033 | 3033 | ||
| @@ -3084,7 +3084,7 @@ | |||
| 3084 | "Address: 127.0.0.1\n" | 3084 | "Address: 127.0.0.1\n" |
| 3085 | 3085 | ||
| 3086 | #define od_trivial_usage \ | 3086 | #define od_trivial_usage \ |
| 3087 | "[-aBbcDdeFfHhIiLlOovXx] " USE_DESKTOP("[-t TYPE] ") "[FILE]" | 3087 | "[-aBbcDdeFfHhIiLlOovXx] " IF_DESKTOP("[-t TYPE] ") "[FILE]" |
| 3088 | #define od_full_usage "\n\n" \ | 3088 | #define od_full_usage "\n\n" \ |
| 3089 | "Write an unambiguous representation, octal bytes by default, of FILE\n" \ | 3089 | "Write an unambiguous representation, octal bytes by default, of FILE\n" \ |
| 3090 | "to standard output. With no FILE or when FILE is -, read standard input." | 3090 | "to standard output. With no FILE or when FILE is -, read standard input." |
| @@ -3119,16 +3119,16 @@ | |||
| 3119 | "\n -u Unlock (re-enable) account" \ | 3119 | "\n -u Unlock (re-enable) account" \ |
| 3120 | 3120 | ||
| 3121 | #define chpasswd_trivial_usage \ | 3121 | #define chpasswd_trivial_usage \ |
| 3122 | USE_GETOPT_LONG("[--md5|--encrypted]") SKIP_GETOPT_LONG("[-m|-e]") | 3122 | IF_GETOPT_LONG("[--md5|--encrypted]") IF_NOT_GETOPT_LONG("[-m|-e]") |
| 3123 | #define chpasswd_full_usage "\n\n" \ | 3123 | #define chpasswd_full_usage "\n\n" \ |
| 3124 | "Read user:password information from stdin " \ | 3124 | "Read user:password information from stdin " \ |
| 3125 | "and update /etc/passwd accordingly.\n" \ | 3125 | "and update /etc/passwd accordingly.\n" \ |
| 3126 | "\nOptions:" \ | 3126 | "\nOptions:" \ |
| 3127 | USE_GETOPT_LONG( \ | 3127 | IF_GETOPT_LONG( \ |
| 3128 | "\n -e,--encrypted Supplied passwords are in encrypted form" \ | 3128 | "\n -e,--encrypted Supplied passwords are in encrypted form" \ |
| 3129 | "\n -m,--md5 Use MD5 encryption instead of DES" \ | 3129 | "\n -m,--md5 Use MD5 encryption instead of DES" \ |
| 3130 | ) \ | 3130 | ) \ |
| 3131 | SKIP_GETOPT_LONG( \ | 3131 | IF_NOT_GETOPT_LONG( \ |
| 3132 | "\n -e Supplied passwords are in encrypted form" \ | 3132 | "\n -e Supplied passwords are in encrypted form" \ |
| 3133 | "\n -m Use MD5 encryption instead of DES" \ | 3133 | "\n -m Use MD5 encryption instead of DES" \ |
| 3134 | ) | 3134 | ) |
| @@ -3168,18 +3168,18 @@ | |||
| 3168 | #define pidof_full_usage "\n\n" \ | 3168 | #define pidof_full_usage "\n\n" \ |
| 3169 | "List PIDs of all processes with names that match NAMEs" \ | 3169 | "List PIDs of all processes with names that match NAMEs" \ |
| 3170 | USAGE_PIDOF \ | 3170 | USAGE_PIDOF \ |
| 3171 | USE_FEATURE_PIDOF_SINGLE( \ | 3171 | IF_FEATURE_PIDOF_SINGLE( \ |
| 3172 | "\n -s Show only one PID") \ | 3172 | "\n -s Show only one PID") \ |
| 3173 | USE_FEATURE_PIDOF_OMIT( \ | 3173 | IF_FEATURE_PIDOF_OMIT( \ |
| 3174 | "\n -o PID Omit given pid" \ | 3174 | "\n -o PID Omit given pid" \ |
| 3175 | "\n Use %PPID to omit pid of pidof's parent") \ | 3175 | "\n Use %PPID to omit pid of pidof's parent") \ |
| 3176 | 3176 | ||
| 3177 | #define pidof_example_usage \ | 3177 | #define pidof_example_usage \ |
| 3178 | "$ pidof init\n" \ | 3178 | "$ pidof init\n" \ |
| 3179 | "1\n" \ | 3179 | "1\n" \ |
| 3180 | USE_FEATURE_PIDOF_OMIT( \ | 3180 | IF_FEATURE_PIDOF_OMIT( \ |
| 3181 | "$ pidof /bin/sh\n20351 5973 5950\n") \ | 3181 | "$ pidof /bin/sh\n20351 5973 5950\n") \ |
| 3182 | USE_FEATURE_PIDOF_OMIT( \ | 3182 | IF_FEATURE_PIDOF_OMIT( \ |
| 3183 | "$ pidof /bin/sh -o %PPID\n20351 5950") | 3183 | "$ pidof /bin/sh -o %PPID\n20351 5950") |
| 3184 | 3184 | ||
| 3185 | #if !ENABLE_FEATURE_FANCY_PING | 3185 | #if !ENABLE_FEATURE_FANCY_PING |
| @@ -3273,7 +3273,7 @@ | |||
| 3273 | "\n -T Get messages with TOP instead with RETR" \ | 3273 | "\n -T Get messages with TOP instead with RETR" \ |
| 3274 | "\n -k Keep retrieved messages on the server" \ | 3274 | "\n -k Keep retrieved messages on the server" \ |
| 3275 | "\n -t timeout Set network timeout" \ | 3275 | "\n -t timeout Set network timeout" \ |
| 3276 | USE_FEATURE_POPMAILDIR_DELIVERY( \ | 3276 | IF_FEATURE_POPMAILDIR_DELIVERY( \ |
| 3277 | "\n -F \"program arg1 arg2 ...\" Filter by program. May be multiple" \ | 3277 | "\n -F \"program arg1 arg2 ...\" Filter by program. May be multiple" \ |
| 3278 | "\n -M \"program arg1 arg2 ...\" Deliver by program" \ | 3278 | "\n -M \"program arg1 arg2 ...\" Deliver by program" \ |
| 3279 | ) \ | 3279 | ) \ |
| @@ -3332,10 +3332,10 @@ | |||
| 3332 | #define ps_full_usage "\n\n" \ | 3332 | #define ps_full_usage "\n\n" \ |
| 3333 | "Report process status\n" \ | 3333 | "Report process status\n" \ |
| 3334 | USAGE_PS \ | 3334 | USAGE_PS \ |
| 3335 | USE_SELINUX( \ | 3335 | IF_SELINUX( \ |
| 3336 | "\n -Z Show SE Linux context" \ | 3336 | "\n -Z Show SE Linux context" \ |
| 3337 | ) \ | 3337 | ) \ |
| 3338 | USE_FEATURE_PS_WIDE( \ | 3338 | IF_FEATURE_PS_WIDE( \ |
| 3339 | "\n w Wide output" \ | 3339 | "\n w Wide output" \ |
| 3340 | ) | 3340 | ) |
| 3341 | 3341 | ||
| @@ -3404,10 +3404,10 @@ | |||
| 3404 | "files do not block on disk I/O" | 3404 | "files do not block on disk I/O" |
| 3405 | 3405 | ||
| 3406 | #define readlink_trivial_usage \ | 3406 | #define readlink_trivial_usage \ |
| 3407 | USE_FEATURE_READLINK_FOLLOW("[-f] ") "FILE" | 3407 | IF_FEATURE_READLINK_FOLLOW("[-f] ") "FILE" |
| 3408 | #define readlink_full_usage "\n\n" \ | 3408 | #define readlink_full_usage "\n\n" \ |
| 3409 | "Display the value of a symlink" \ | 3409 | "Display the value of a symlink" \ |
| 3410 | USE_FEATURE_READLINK_FOLLOW( "\n" \ | 3410 | IF_FEATURE_READLINK_FOLLOW( "\n" \ |
| 3411 | "\nOptions:" \ | 3411 | "\nOptions:" \ |
| 3412 | "\n -f Canonicalize by following all symlinks") \ | 3412 | "\n -f Canonicalize by following all symlinks") \ |
| 3413 | 3413 | ||
| @@ -3505,11 +3505,11 @@ | |||
| 3505 | #define rmdir_full_usage "\n\n" \ | 3505 | #define rmdir_full_usage "\n\n" \ |
| 3506 | "Remove the DIRECTORY, if it is empty.\n" \ | 3506 | "Remove the DIRECTORY, if it is empty.\n" \ |
| 3507 | "\nOptions:" \ | 3507 | "\nOptions:" \ |
| 3508 | USE_FEATURE_RMDIR_LONG_OPTIONS( \ | 3508 | IF_FEATURE_RMDIR_LONG_OPTIONS( \ |
| 3509 | "\n -p|--parents Include parents" \ | 3509 | "\n -p|--parents Include parents" \ |
| 3510 | "\n -ignore-fail-on-non-empty" \ | 3510 | "\n -ignore-fail-on-non-empty" \ |
| 3511 | ) \ | 3511 | ) \ |
| 3512 | SKIP_FEATURE_RMDIR_LONG_OPTIONS( \ | 3512 | IF_NOT_FEATURE_RMDIR_LONG_OPTIONS( \ |
| 3513 | "\n -p Include parents" \ | 3513 | "\n -p Include parents" \ |
| 3514 | ) | 3514 | ) |
| 3515 | 3515 | ||
| @@ -3535,7 +3535,7 @@ | |||
| 3535 | "\nOptions:" \ | 3535 | "\nOptions:" \ |
| 3536 | "\n -n Don't resolve names" \ | 3536 | "\n -n Don't resolve names" \ |
| 3537 | "\n -e Display other/more information" \ | 3537 | "\n -e Display other/more information" \ |
| 3538 | "\n -A inet" USE_FEATURE_IPV6("{6}") " Select address family" \ | 3538 | "\n -A inet" IF_FEATURE_IPV6("{6}") " Select address family" \ |
| 3539 | 3539 | ||
| 3540 | #define rpm_trivial_usage \ | 3540 | #define rpm_trivial_usage \ |
| 3541 | "-i -q[ildc]p package.rpm" | 3541 | "-i -q[ildc]p package.rpm" |
| @@ -3559,7 +3559,7 @@ | |||
| 3559 | "[-a | -l | -u] [-d DEV] [-m MODE] [-s SEC | -t TIME]" | 3559 | "[-a | -l | -u] [-d DEV] [-m MODE] [-s SEC | -t TIME]" |
| 3560 | #define rtcwake_full_usage "\n\n" \ | 3560 | #define rtcwake_full_usage "\n\n" \ |
| 3561 | "Enter a system sleep state until specified wakeup time\n" \ | 3561 | "Enter a system sleep state until specified wakeup time\n" \ |
| 3562 | USE_GETOPT_LONG( \ | 3562 | IF_GETOPT_LONG( \ |
| 3563 | "\n -a,--auto Read clock mode from adjtime" \ | 3563 | "\n -a,--auto Read clock mode from adjtime" \ |
| 3564 | "\n -l,--local Clock is set to local time" \ | 3564 | "\n -l,--local Clock is set to local time" \ |
| 3565 | "\n -u,--utc Clock is set to UTC time" \ | 3565 | "\n -u,--utc Clock is set to UTC time" \ |
| @@ -3568,7 +3568,7 @@ | |||
| 3568 | "\n -s,--seconds=SEC Set the timeout in SEC seconds from now" \ | 3568 | "\n -s,--seconds=SEC Set the timeout in SEC seconds from now" \ |
| 3569 | "\n -t,--time=TIME Set the timeout to TIME seconds from epoch" \ | 3569 | "\n -t,--time=TIME Set the timeout to TIME seconds from epoch" \ |
| 3570 | ) \ | 3570 | ) \ |
| 3571 | SKIP_GETOPT_LONG( \ | 3571 | IF_NOT_GETOPT_LONG( \ |
| 3572 | "\n -a Read clock mode from adjtime" \ | 3572 | "\n -a Read clock mode from adjtime" \ |
| 3573 | "\n -l Clock is set to local time" \ | 3573 | "\n -l Clock is set to local time" \ |
| 3574 | "\n -u Clock is set to UTC time" \ | 3574 | "\n -u Clock is set to UTC time" \ |
| @@ -3584,14 +3584,14 @@ | |||
| 3584 | #define runcon_full_usage "\n\n" \ | 3584 | #define runcon_full_usage "\n\n" \ |
| 3585 | "Run a program in a different security context\n" \ | 3585 | "Run a program in a different security context\n" \ |
| 3586 | "\n CONTEXT Complete security context\n" \ | 3586 | "\n CONTEXT Complete security context\n" \ |
| 3587 | USE_FEATURE_RUNCON_LONG_OPTIONS( \ | 3587 | IF_FEATURE_RUNCON_LONG_OPTIONS( \ |
| 3588 | "\n -c,--compute Compute process transition context before modifying" \ | 3588 | "\n -c,--compute Compute process transition context before modifying" \ |
| 3589 | "\n -t,--type=TYPE Type (for same role as parent)" \ | 3589 | "\n -t,--type=TYPE Type (for same role as parent)" \ |
| 3590 | "\n -u,--user=USER User identity" \ | 3590 | "\n -u,--user=USER User identity" \ |
| 3591 | "\n -r,--role=ROLE Role" \ | 3591 | "\n -r,--role=ROLE Role" \ |
| 3592 | "\n -l,--range=RNG Levelrange" \ | 3592 | "\n -l,--range=RNG Levelrange" \ |
| 3593 | ) \ | 3593 | ) \ |
| 3594 | SKIP_FEATURE_RUNCON_LONG_OPTIONS( \ | 3594 | IF_NOT_FEATURE_RUNCON_LONG_OPTIONS( \ |
| 3595 | "\n -c Compute process transition context before modifying" \ | 3595 | "\n -c Compute process transition context before modifying" \ |
| 3596 | "\n -t TYPE Type (for same role as parent)" \ | 3596 | "\n -t TYPE Type (for same role as parent)" \ |
| 3597 | "\n -u USER User identity" \ | 3597 | "\n -u USER User identity" \ |
| @@ -3600,14 +3600,14 @@ | |||
| 3600 | ) | 3600 | ) |
| 3601 | 3601 | ||
| 3602 | #define run_parts_trivial_usage \ | 3602 | #define run_parts_trivial_usage \ |
| 3603 | "[-t] "USE_FEATURE_RUN_PARTS_FANCY("[-l] ")"[-a ARG] [-u MASK] DIRECTORY" | 3603 | "[-t] "IF_FEATURE_RUN_PARTS_FANCY("[-l] ")"[-a ARG] [-u MASK] DIRECTORY" |
| 3604 | #define run_parts_full_usage "\n\n" \ | 3604 | #define run_parts_full_usage "\n\n" \ |
| 3605 | "Run a bunch of scripts in a directory\n" \ | 3605 | "Run a bunch of scripts in a directory\n" \ |
| 3606 | "\nOptions:" \ | 3606 | "\nOptions:" \ |
| 3607 | "\n -t Print what would be run, but don't actually run anything" \ | 3607 | "\n -t Print what would be run, but don't actually run anything" \ |
| 3608 | "\n -a ARG Pass ARG as argument for every program" \ | 3608 | "\n -a ARG Pass ARG as argument for every program" \ |
| 3609 | "\n -u MASK Set the umask to MASK before running every program" \ | 3609 | "\n -u MASK Set the umask to MASK before running every program" \ |
| 3610 | USE_FEATURE_RUN_PARTS_FANCY( \ | 3610 | IF_FEATURE_RUN_PARTS_FANCY( \ |
| 3611 | "\n -l Print names of all matching files even if they are not executable" \ | 3611 | "\n -l Print names of all matching files even if they are not executable" \ |
| 3612 | ) | 3612 | ) |
| 3613 | 3613 | ||
| @@ -3728,7 +3728,7 @@ | |||
| 3728 | "\n -b Display current state of booleans" \ | 3728 | "\n -b Display current state of booleans" \ |
| 3729 | 3729 | ||
| 3730 | #define setconsole_trivial_usage \ | 3730 | #define setconsole_trivial_usage \ |
| 3731 | "[-r" USE_FEATURE_SETCONSOLE_LONG_OPTIONS("|--reset") "] [DEVICE]" | 3731 | "[-r" IF_FEATURE_SETCONSOLE_LONG_OPTIONS("|--reset") "] [DEVICE]" |
| 3732 | #define setconsole_full_usage "\n\n" \ | 3732 | #define setconsole_full_usage "\n\n" \ |
| 3733 | "Redirect system console output to DEVICE (default: /dev/tty)\n" \ | 3733 | "Redirect system console output to DEVICE (default: /dev/tty)\n" \ |
| 3734 | "\nOptions:" \ | 3734 | "\nOptions:" \ |
| @@ -3740,13 +3740,13 @@ | |||
| 3740 | 3740 | ||
| 3741 | #define setfiles_trivial_usage \ | 3741 | #define setfiles_trivial_usage \ |
| 3742 | "[-dnpqsvW] [-e dir]... [-o file] [-r alt_root_path]" \ | 3742 | "[-dnpqsvW] [-e dir]... [-o file] [-r alt_root_path]" \ |
| 3743 | USE_FEATURE_SETFILES_CHECK_OPTION( \ | 3743 | IF_FEATURE_SETFILES_CHECK_OPTION( \ |
| 3744 | " [-c policyfile] spec_file" \ | 3744 | " [-c policyfile] spec_file" \ |
| 3745 | ) \ | 3745 | ) \ |
| 3746 | " pathname" | 3746 | " pathname" |
| 3747 | #define setfiles_full_usage "\n\n" \ | 3747 | #define setfiles_full_usage "\n\n" \ |
| 3748 | "Reset file contexts under pathname according to spec_file\n" \ | 3748 | "Reset file contexts under pathname according to spec_file\n" \ |
| 3749 | USE_FEATURE_SETFILES_CHECK_OPTION( \ | 3749 | IF_FEATURE_SETFILES_CHECK_OPTION( \ |
| 3750 | "\n -c file Check the validity of the contexts against the specified binary policy" \ | 3750 | "\n -c file Check the validity of the contexts against the specified binary policy" \ |
| 3751 | ) \ | 3751 | ) \ |
| 3752 | "\n -d Show which specification matched each file" \ | 3752 | "\n -d Show which specification matched each file" \ |
| @@ -3809,10 +3809,10 @@ | |||
| 3809 | "lash is deprecated, please use hush" | 3809 | "lash is deprecated, please use hush" |
| 3810 | 3810 | ||
| 3811 | #define last_trivial_usage \ | 3811 | #define last_trivial_usage \ |
| 3812 | ""USE_FEATURE_LAST_FANCY("[-HW] [-f file]") | 3812 | ""IF_FEATURE_LAST_FANCY("[-HW] [-f file]") |
| 3813 | #define last_full_usage "\n\n" \ | 3813 | #define last_full_usage "\n\n" \ |
| 3814 | "Show listing of the last users that logged into the system" \ | 3814 | "Show listing of the last users that logged into the system" \ |
| 3815 | USE_FEATURE_LAST_FANCY( "\n" \ | 3815 | IF_FEATURE_LAST_FANCY( "\n" \ |
| 3816 | "\nOptions:" \ | 3816 | "\nOptions:" \ |
| 3817 | /* "\n -H Show header line" */ \ | 3817 | /* "\n -H Show header line" */ \ |
| 3818 | "\n -W Display with no host column truncation" \ | 3818 | "\n -W Display with no host column truncation" \ |
| @@ -3843,27 +3843,27 @@ | |||
| 3843 | "\n -F Disable RTS/CTS flow control" \ | 3843 | "\n -F Disable RTS/CTS flow control" \ |
| 3844 | 3844 | ||
| 3845 | #define sleep_trivial_usage \ | 3845 | #define sleep_trivial_usage \ |
| 3846 | USE_FEATURE_FANCY_SLEEP("[") "N" USE_FEATURE_FANCY_SLEEP("]...") | 3846 | IF_FEATURE_FANCY_SLEEP("[") "N" IF_FEATURE_FANCY_SLEEP("]...") |
| 3847 | #define sleep_full_usage "\n\n" \ | 3847 | #define sleep_full_usage "\n\n" \ |
| 3848 | SKIP_FEATURE_FANCY_SLEEP("Pause for N seconds") \ | 3848 | IF_NOT_FEATURE_FANCY_SLEEP("Pause for N seconds") \ |
| 3849 | USE_FEATURE_FANCY_SLEEP( \ | 3849 | IF_FEATURE_FANCY_SLEEP( \ |
| 3850 | "Pause for a time equal to the total of the args given, where each arg can\n" \ | 3850 | "Pause for a time equal to the total of the args given, where each arg can\n" \ |
| 3851 | "have an optional suffix of (s)econds, (m)inutes, (h)ours, or (d)ays") | 3851 | "have an optional suffix of (s)econds, (m)inutes, (h)ours, or (d)ays") |
| 3852 | #define sleep_example_usage \ | 3852 | #define sleep_example_usage \ |
| 3853 | "$ sleep 2\n" \ | 3853 | "$ sleep 2\n" \ |
| 3854 | "[2 second delay results]\n" \ | 3854 | "[2 second delay results]\n" \ |
| 3855 | USE_FEATURE_FANCY_SLEEP( \ | 3855 | IF_FEATURE_FANCY_SLEEP( \ |
| 3856 | "$ sleep 1d 3h 22m 8s\n" \ | 3856 | "$ sleep 1d 3h 22m 8s\n" \ |
| 3857 | "[98528 second delay results]\n") | 3857 | "[98528 second delay results]\n") |
| 3858 | 3858 | ||
| 3859 | #define sort_trivial_usage \ | 3859 | #define sort_trivial_usage \ |
| 3860 | "[-nru" \ | 3860 | "[-nru" \ |
| 3861 | USE_FEATURE_SORT_BIG("gMcszbdfimSTokt] [-o FILE] [-k start[.offset][opts][,end[.offset][opts]] [-t CHAR") \ | 3861 | IF_FEATURE_SORT_BIG("gMcszbdfimSTokt] [-o FILE] [-k start[.offset][opts][,end[.offset][opts]] [-t CHAR") \ |
| 3862 | "] [FILE]..." | 3862 | "] [FILE]..." |
| 3863 | #define sort_full_usage "\n\n" \ | 3863 | #define sort_full_usage "\n\n" \ |
| 3864 | "Sort lines of text\n" \ | 3864 | "Sort lines of text\n" \ |
| 3865 | "\nOptions:" \ | 3865 | "\nOptions:" \ |
| 3866 | USE_FEATURE_SORT_BIG( \ | 3866 | IF_FEATURE_SORT_BIG( \ |
| 3867 | "\n -b Ignore leading blanks" \ | 3867 | "\n -b Ignore leading blanks" \ |
| 3868 | "\n -c Check whether input is sorted" \ | 3868 | "\n -c Check whether input is sorted" \ |
| 3869 | "\n -d Dictionary order (blank or alphanumeric only)" \ | 3869 | "\n -d Dictionary order (blank or alphanumeric only)" \ |
| @@ -3874,17 +3874,17 @@ | |||
| 3874 | "\n -M Sort month" \ | 3874 | "\n -M Sort month" \ |
| 3875 | ) \ | 3875 | ) \ |
| 3876 | "\n -n Sort numbers" \ | 3876 | "\n -n Sort numbers" \ |
| 3877 | USE_FEATURE_SORT_BIG( \ | 3877 | IF_FEATURE_SORT_BIG( \ |
| 3878 | "\n -o Output to file" \ | 3878 | "\n -o Output to file" \ |
| 3879 | "\n -k Sort by key" \ | 3879 | "\n -k Sort by key" \ |
| 3880 | "\n -t CHAR Key separator" \ | 3880 | "\n -t CHAR Key separator" \ |
| 3881 | ) \ | 3881 | ) \ |
| 3882 | "\n -r Reverse sort order" \ | 3882 | "\n -r Reverse sort order" \ |
| 3883 | USE_FEATURE_SORT_BIG( \ | 3883 | IF_FEATURE_SORT_BIG( \ |
| 3884 | "\n -s Stable (don't sort ties alphabetically)" \ | 3884 | "\n -s Stable (don't sort ties alphabetically)" \ |
| 3885 | ) \ | 3885 | ) \ |
| 3886 | "\n -u Suppress duplicate lines" \ | 3886 | "\n -u Suppress duplicate lines" \ |
| 3887 | USE_FEATURE_SORT_BIG( \ | 3887 | IF_FEATURE_SORT_BIG( \ |
| 3888 | "\n -z Lines are terminated by NUL, not newline" \ | 3888 | "\n -z Lines are terminated by NUL, not newline" \ |
| 3889 | "\n -mST Ignored for GNU compatibility") \ | 3889 | "\n -mST Ignored for GNU compatibility") \ |
| 3890 | 3890 | ||
| @@ -3896,7 +3896,7 @@ | |||
| 3896 | "d\n" \ | 3896 | "d\n" \ |
| 3897 | "e\n" \ | 3897 | "e\n" \ |
| 3898 | "f\n" \ | 3898 | "f\n" \ |
| 3899 | USE_FEATURE_SORT_BIG( \ | 3899 | IF_FEATURE_SORT_BIG( \ |
| 3900 | "$ echo -e \"c 3\\nb 2\\nd 2\" | $SORT -k 2,2n -k 1,1r\n" \ | 3900 | "$ echo -e \"c 3\\nb 2\\nd 2\" | $SORT -k 2,2n -k 1,1r\n" \ |
| 3901 | "d 2\n" \ | 3901 | "d 2\n" \ |
| 3902 | "b 2\n" \ | 3902 | "b 2\n" \ |
| @@ -3922,7 +3922,7 @@ | |||
| 3922 | "Search for matching processes, and then\n" \ | 3922 | "Search for matching processes, and then\n" \ |
| 3923 | "-K: stop all matching processes.\n" \ | 3923 | "-K: stop all matching processes.\n" \ |
| 3924 | "-S: start a process unless a matching process is found.\n" \ | 3924 | "-S: start a process unless a matching process is found.\n" \ |
| 3925 | USE_FEATURE_START_STOP_DAEMON_LONG_OPTIONS( \ | 3925 | IF_FEATURE_START_STOP_DAEMON_LONG_OPTIONS( \ |
| 3926 | "\nProcess matching:" \ | 3926 | "\nProcess matching:" \ |
| 3927 | "\n -u,--user USERNAME|UID Match only this user's processes" \ | 3927 | "\n -u,--user USERNAME|UID Match only this user's processes" \ |
| 3928 | "\n -n,--name NAME Match processes with NAME" \ | 3928 | "\n -n,--name NAME Match processes with NAME" \ |
| @@ -3935,7 +3935,7 @@ | |||
| 3935 | "\n -x,--exec EXECUTABLE Program to run" \ | 3935 | "\n -x,--exec EXECUTABLE Program to run" \ |
| 3936 | "\n -a,--startas NAME Zeroth argument" \ | 3936 | "\n -a,--startas NAME Zeroth argument" \ |
| 3937 | "\n -b,--background Background" \ | 3937 | "\n -b,--background Background" \ |
| 3938 | USE_FEATURE_START_STOP_DAEMON_FANCY( \ | 3938 | IF_FEATURE_START_STOP_DAEMON_FANCY( \ |
| 3939 | "\n -N,--nicelevel N Change nice level" \ | 3939 | "\n -N,--nicelevel N Change nice level" \ |
| 3940 | ) \ | 3940 | ) \ |
| 3941 | "\n -c,--chuid USER[:[GRP]] Change to user/group" \ | 3941 | "\n -c,--chuid USER[:[GRP]] Change to user/group" \ |
| @@ -3944,13 +3944,13 @@ | |||
| 3944 | "\n -s,--signal SIG Signal to send" \ | 3944 | "\n -s,--signal SIG Signal to send" \ |
| 3945 | "\n -t,--test Match only, exit with 0 if a process is found" \ | 3945 | "\n -t,--test Match only, exit with 0 if a process is found" \ |
| 3946 | "\nOther:" \ | 3946 | "\nOther:" \ |
| 3947 | USE_FEATURE_START_STOP_DAEMON_FANCY( \ | 3947 | IF_FEATURE_START_STOP_DAEMON_FANCY( \ |
| 3948 | "\n -o,--oknodo Exit with status 0 if nothing is done" \ | 3948 | "\n -o,--oknodo Exit with status 0 if nothing is done" \ |
| 3949 | "\n -v,--verbose Verbose" \ | 3949 | "\n -v,--verbose Verbose" \ |
| 3950 | ) \ | 3950 | ) \ |
| 3951 | "\n -q,--quiet Quiet" \ | 3951 | "\n -q,--quiet Quiet" \ |
| 3952 | ) \ | 3952 | ) \ |
| 3953 | SKIP_FEATURE_START_STOP_DAEMON_LONG_OPTIONS( \ | 3953 | IF_NOT_FEATURE_START_STOP_DAEMON_LONG_OPTIONS( \ |
| 3954 | "\nProcess matching:" \ | 3954 | "\nProcess matching:" \ |
| 3955 | "\n -u USERNAME|UID Match only this user's processes" \ | 3955 | "\n -u USERNAME|UID Match only this user's processes" \ |
| 3956 | "\n -n NAME Match processes with NAME" \ | 3956 | "\n -n NAME Match processes with NAME" \ |
| @@ -3963,7 +3963,7 @@ | |||
| 3963 | "\n -x EXECUTABLE Program to run" \ | 3963 | "\n -x EXECUTABLE Program to run" \ |
| 3964 | "\n -a NAME Zeroth argument" \ | 3964 | "\n -a NAME Zeroth argument" \ |
| 3965 | "\n -b Background" \ | 3965 | "\n -b Background" \ |
| 3966 | USE_FEATURE_START_STOP_DAEMON_FANCY( \ | 3966 | IF_FEATURE_START_STOP_DAEMON_FANCY( \ |
| 3967 | "\n -N N Change nice level" \ | 3967 | "\n -N N Change nice level" \ |
| 3968 | ) \ | 3968 | ) \ |
| 3969 | "\n -c USER[:[GRP]] Change to user/group" \ | 3969 | "\n -c USER[:[GRP]] Change to user/group" \ |
| @@ -3972,7 +3972,7 @@ | |||
| 3972 | "\n -s SIG Signal to send" \ | 3972 | "\n -s SIG Signal to send" \ |
| 3973 | "\n -t Match only, exit with 0 if a process is found" \ | 3973 | "\n -t Match only, exit with 0 if a process is found" \ |
| 3974 | "\nOther:" \ | 3974 | "\nOther:" \ |
| 3975 | USE_FEATURE_START_STOP_DAEMON_FANCY( \ | 3975 | IF_FEATURE_START_STOP_DAEMON_FANCY( \ |
| 3976 | "\n -o Exit with status 0 if nothing is done" \ | 3976 | "\n -o Exit with status 0 if nothing is done" \ |
| 3977 | "\n -v Verbose" \ | 3977 | "\n -v Verbose" \ |
| 3978 | ) \ | 3978 | ) \ |
| @@ -3984,16 +3984,16 @@ | |||
| 3984 | #define stat_full_usage "\n\n" \ | 3984 | #define stat_full_usage "\n\n" \ |
| 3985 | "Display file (default) or filesystem status\n" \ | 3985 | "Display file (default) or filesystem status\n" \ |
| 3986 | "\nOptions:" \ | 3986 | "\nOptions:" \ |
| 3987 | USE_FEATURE_STAT_FORMAT( \ | 3987 | IF_FEATURE_STAT_FORMAT( \ |
| 3988 | "\n -c fmt Use the specified format" \ | 3988 | "\n -c fmt Use the specified format" \ |
| 3989 | ) \ | 3989 | ) \ |
| 3990 | "\n -f Display filesystem status" \ | 3990 | "\n -f Display filesystem status" \ |
| 3991 | "\n -L Dereference links" \ | 3991 | "\n -L Dereference links" \ |
| 3992 | "\n -t Display info in terse form" \ | 3992 | "\n -t Display info in terse form" \ |
| 3993 | USE_SELINUX( \ | 3993 | IF_SELINUX( \ |
| 3994 | "\n -Z Print security context" \ | 3994 | "\n -Z Print security context" \ |
| 3995 | ) \ | 3995 | ) \ |
| 3996 | USE_FEATURE_STAT_FORMAT( \ | 3996 | IF_FEATURE_STAT_FORMAT( \ |
| 3997 | "\n\nValid format sequences for files:\n" \ | 3997 | "\n\nValid format sequences for files:\n" \ |
| 3998 | " %a Access rights in octal\n" \ | 3998 | " %a Access rights in octal\n" \ |
| 3999 | " %A Access rights in human readable form\n" \ | 3999 | " %A Access rights in human readable form\n" \ |
| @@ -4027,7 +4027,7 @@ | |||
| 4027 | " %c Total file nodes in file system\n" \ | 4027 | " %c Total file nodes in file system\n" \ |
| 4028 | " %d Free file nodes in file system\n" \ | 4028 | " %d Free file nodes in file system\n" \ |
| 4029 | " %f Free blocks in file system\n" \ | 4029 | " %f Free blocks in file system\n" \ |
| 4030 | USE_SELINUX( \ | 4030 | IF_SELINUX( \ |
| 4031 | " %C Security context in SELinux\n" \ | 4031 | " %C Security context in SELinux\n" \ |
| 4032 | ) \ | 4032 | ) \ |
| 4033 | " %i File System ID in hex\n" \ | 4033 | " %i File System ID in hex\n" \ |
| @@ -4115,12 +4115,12 @@ | |||
| 4115 | "\n -a Stop swapping on all swap devices" \ | 4115 | "\n -a Stop swapping on all swap devices" \ |
| 4116 | 4116 | ||
| 4117 | #define swapon_trivial_usage \ | 4117 | #define swapon_trivial_usage \ |
| 4118 | "[-a]" USE_FEATURE_SWAPON_PRI(" [-p pri]") " [DEVICE]" | 4118 | "[-a]" IF_FEATURE_SWAPON_PRI(" [-p pri]") " [DEVICE]" |
| 4119 | #define swapon_full_usage "\n\n" \ | 4119 | #define swapon_full_usage "\n\n" \ |
| 4120 | "Start swapping on DEVICE\n" \ | 4120 | "Start swapping on DEVICE\n" \ |
| 4121 | "\nOptions:" \ | 4121 | "\nOptions:" \ |
| 4122 | "\n -a Start swapping on all swap devices" \ | 4122 | "\n -a Start swapping on all swap devices" \ |
| 4123 | USE_FEATURE_SWAPON_PRI( \ | 4123 | IF_FEATURE_SWAPON_PRI( \ |
| 4124 | "\n -p pri Set swap device priority" \ | 4124 | "\n -p pri Set swap device priority" \ |
| 4125 | ) \ | 4125 | ) \ |
| 4126 | 4126 | ||
| @@ -4166,15 +4166,15 @@ | |||
| 4166 | "\n -O FILE Log to given file (default=/var/log/messages)" \ | 4166 | "\n -O FILE Log to given file (default=/var/log/messages)" \ |
| 4167 | "\n -l n Set local log level" \ | 4167 | "\n -l n Set local log level" \ |
| 4168 | "\n -S Smaller logging output" \ | 4168 | "\n -S Smaller logging output" \ |
| 4169 | USE_FEATURE_ROTATE_LOGFILE( \ | 4169 | IF_FEATURE_ROTATE_LOGFILE( \ |
| 4170 | "\n -s SIZE Max size (KB) before rotate (default=200KB, 0=off)" \ | 4170 | "\n -s SIZE Max size (KB) before rotate (default=200KB, 0=off)" \ |
| 4171 | "\n -b NUM Number of rotated logs to keep (default=1, max=99, 0=purge)") \ | 4171 | "\n -b NUM Number of rotated logs to keep (default=1, max=99, 0=purge)") \ |
| 4172 | USE_FEATURE_REMOTE_LOG( \ | 4172 | IF_FEATURE_REMOTE_LOG( \ |
| 4173 | "\n -R HOST[:PORT] Log to IP or hostname on PORT (default PORT=514/UDP)" \ | 4173 | "\n -R HOST[:PORT] Log to IP or hostname on PORT (default PORT=514/UDP)" \ |
| 4174 | "\n -L Log locally and via network (default is network only if -R)") \ | 4174 | "\n -L Log locally and via network (default is network only if -R)") \ |
| 4175 | USE_FEATURE_SYSLOGD_DUP( \ | 4175 | IF_FEATURE_SYSLOGD_DUP( \ |
| 4176 | "\n -D Drop duplicates") \ | 4176 | "\n -D Drop duplicates") \ |
| 4177 | USE_FEATURE_IPC_SYSLOG( \ | 4177 | IF_FEATURE_IPC_SYSLOG( \ |
| 4178 | "\n -C[size(KiB)] Log to shared mem buffer (read it using logread)") \ | 4178 | "\n -C[size(KiB)] Log to shared mem buffer (read it using logread)") \ |
| 4179 | /* NB: -Csize shouldn't have space (because size is optional) */ | 4179 | /* NB: -Csize shouldn't have space (because size is optional) */ |
| 4180 | /* "\n -m MIN Minutes between MARK lines (default=20, 0=off)" */ | 4180 | /* "\n -m MIN Minutes between MARK lines (default=20, 0=off)" */ |
| @@ -4195,11 +4195,11 @@ | |||
| 4195 | "With more than one FILE, precede each with a header giving the\n" \ | 4195 | "With more than one FILE, precede each with a header giving the\n" \ |
| 4196 | "file name. With no FILE, or when FILE is -, read standard input.\n" \ | 4196 | "file name. With no FILE, or when FILE is -, read standard input.\n" \ |
| 4197 | "\nOptions:" \ | 4197 | "\nOptions:" \ |
| 4198 | USE_FEATURE_FANCY_TAIL( \ | 4198 | IF_FEATURE_FANCY_TAIL( \ |
| 4199 | "\n -c N[kbm] Output the last N bytes") \ | 4199 | "\n -c N[kbm] Output the last N bytes") \ |
| 4200 | "\n -n N[kbm] Print last N lines instead of last 10" \ | 4200 | "\n -n N[kbm] Print last N lines instead of last 10" \ |
| 4201 | "\n -f Output data as the file grows" \ | 4201 | "\n -f Output data as the file grows" \ |
| 4202 | USE_FEATURE_FANCY_TAIL( \ | 4202 | IF_FEATURE_FANCY_TAIL( \ |
| 4203 | "\n -q Never output headers giving file names" \ | 4203 | "\n -q Never output headers giving file names" \ |
| 4204 | "\n -s SEC Wait SEC seconds between reads with -f" \ | 4204 | "\n -s SEC Wait SEC seconds between reads with -f" \ |
| 4205 | "\n -v Always output headers giving file names" \ | 4205 | "\n -v Always output headers giving file names" \ |
| @@ -4213,35 +4213,35 @@ | |||
| 4213 | "nameserver 10.0.0.1\n" | 4213 | "nameserver 10.0.0.1\n" |
| 4214 | 4214 | ||
| 4215 | #define tar_trivial_usage \ | 4215 | #define tar_trivial_usage \ |
| 4216 | "-[" USE_FEATURE_TAR_CREATE("c") USE_FEATURE_SEAMLESS_GZ("z") \ | 4216 | "-[" IF_FEATURE_TAR_CREATE("c") IF_FEATURE_SEAMLESS_GZ("z") \ |
| 4217 | USE_FEATURE_SEAMLESS_BZ2("j") USE_FEATURE_SEAMLESS_LZMA("a") \ | 4217 | IF_FEATURE_SEAMLESS_BZ2("j") IF_FEATURE_SEAMLESS_LZMA("a") \ |
| 4218 | USE_FEATURE_SEAMLESS_Z("Z") "xtvO] " \ | 4218 | IF_FEATURE_SEAMLESS_Z("Z") "xtvO] " \ |
| 4219 | USE_FEATURE_TAR_FROM("[-X FILE] ") \ | 4219 | IF_FEATURE_TAR_FROM("[-X FILE] ") \ |
| 4220 | "[-f TARFILE] [-C DIR] [FILE(s)]..." | 4220 | "[-f TARFILE] [-C DIR] [FILE(s)]..." |
| 4221 | #define tar_full_usage "\n\n" \ | 4221 | #define tar_full_usage "\n\n" \ |
| 4222 | "Create, extract, or list files from a tar file\n" \ | 4222 | "Create, extract, or list files from a tar file\n" \ |
| 4223 | "\nOptions:" \ | 4223 | "\nOptions:" \ |
| 4224 | USE_FEATURE_TAR_CREATE( \ | 4224 | IF_FEATURE_TAR_CREATE( \ |
| 4225 | "\n c Create") \ | 4225 | "\n c Create") \ |
| 4226 | "\n x Extract" \ | 4226 | "\n x Extract" \ |
| 4227 | "\n t List" \ | 4227 | "\n t List" \ |
| 4228 | "\nArchive format selection:" \ | 4228 | "\nArchive format selection:" \ |
| 4229 | USE_FEATURE_SEAMLESS_GZ( \ | 4229 | IF_FEATURE_SEAMLESS_GZ( \ |
| 4230 | "\n z Filter the archive through gzip" \ | 4230 | "\n z Filter the archive through gzip" \ |
| 4231 | ) \ | 4231 | ) \ |
| 4232 | USE_FEATURE_SEAMLESS_BZ2( \ | 4232 | IF_FEATURE_SEAMLESS_BZ2( \ |
| 4233 | "\n j Filter the archive through bzip2" \ | 4233 | "\n j Filter the archive through bzip2" \ |
| 4234 | ) \ | 4234 | ) \ |
| 4235 | USE_FEATURE_SEAMLESS_LZMA( \ | 4235 | IF_FEATURE_SEAMLESS_LZMA( \ |
| 4236 | "\n a Filter the archive through lzma" \ | 4236 | "\n a Filter the archive through lzma" \ |
| 4237 | ) \ | 4237 | ) \ |
| 4238 | USE_FEATURE_SEAMLESS_Z( \ | 4238 | IF_FEATURE_SEAMLESS_Z( \ |
| 4239 | "\n Z Filter the archive through compress" \ | 4239 | "\n Z Filter the archive through compress" \ |
| 4240 | ) \ | 4240 | ) \ |
| 4241 | "\nFile selection:" \ | 4241 | "\nFile selection:" \ |
| 4242 | "\n f Name of TARFILE or \"-\" for stdin" \ | 4242 | "\n f Name of TARFILE or \"-\" for stdin" \ |
| 4243 | "\n O Extract to stdout" \ | 4243 | "\n O Extract to stdout" \ |
| 4244 | USE_FEATURE_TAR_FROM( \ | 4244 | IF_FEATURE_TAR_FROM( \ |
| 4245 | "\n exclude File to exclude" \ | 4245 | "\n exclude File to exclude" \ |
| 4246 | "\n X File with names to exclude" \ | 4246 | "\n X File with names to exclude" \ |
| 4247 | ) \ | 4247 | ) \ |
| @@ -4303,13 +4303,13 @@ | |||
| 4303 | "[OPTION]" | 4303 | "[OPTION]" |
| 4304 | #define telnetd_full_usage "\n\n" \ | 4304 | #define telnetd_full_usage "\n\n" \ |
| 4305 | "Handle incoming telnet connections" \ | 4305 | "Handle incoming telnet connections" \ |
| 4306 | SKIP_FEATURE_TELNETD_STANDALONE(" via inetd") "\n" \ | 4306 | IF_NOT_FEATURE_TELNETD_STANDALONE(" via inetd") "\n" \ |
| 4307 | "\nOptions:" \ | 4307 | "\nOptions:" \ |
| 4308 | "\n -l LOGIN Exec LOGIN on connect" \ | 4308 | "\n -l LOGIN Exec LOGIN on connect" \ |
| 4309 | "\n -f issue_file Display issue_file instead of /etc/issue" \ | 4309 | "\n -f issue_file Display issue_file instead of /etc/issue" \ |
| 4310 | "\n -K Close connection as soon as login exits" \ | 4310 | "\n -K Close connection as soon as login exits" \ |
| 4311 | "\n (normally wait until all programs close slave pty)" \ | 4311 | "\n (normally wait until all programs close slave pty)" \ |
| 4312 | USE_FEATURE_TELNETD_STANDALONE( \ | 4312 | IF_FEATURE_TELNETD_STANDALONE( \ |
| 4313 | "\n -p PORT Port to listen on" \ | 4313 | "\n -p PORT Port to listen on" \ |
| 4314 | "\n -b ADDR Address to bind to" \ | 4314 | "\n -b ADDR Address to bind to" \ |
| 4315 | "\n -F Run in foreground" \ | 4315 | "\n -F Run in foreground" \ |
| @@ -4343,11 +4343,11 @@ | |||
| 4343 | "OBJECT: {qdisc|class|filter}\n" \ | 4343 | "OBJECT: {qdisc|class|filter}\n" \ |
| 4344 | "CMD: {add|del|change|replace|show}\n" \ | 4344 | "CMD: {add|del|change|replace|show}\n" \ |
| 4345 | "\n" \ | 4345 | "\n" \ |
| 4346 | "qdisc [ handle QHANDLE ] [ root |"USE_FEATURE_TC_INGRESS(" ingress |")" parent CLASSID ]\n" \ | 4346 | "qdisc [ handle QHANDLE ] [ root |"IF_FEATURE_TC_INGRESS(" ingress |")" parent CLASSID ]\n" \ |
| 4347 | /* "\t[ estimator INTERVAL TIME_CONSTANT ]\n" */ \ | 4347 | /* "\t[ estimator INTERVAL TIME_CONSTANT ]\n" */ \ |
| 4348 | "\t[ [ QDISC_KIND ] [ help | OPTIONS ] ]\n" \ | 4348 | "\t[ [ QDISC_KIND ] [ help | OPTIONS ] ]\n" \ |
| 4349 | "\tQDISC_KIND := { [p|b]fifo | tbf | prio | cbq | red | etc. }\n" \ | 4349 | "\tQDISC_KIND := { [p|b]fifo | tbf | prio | cbq | red | etc. }\n" \ |
| 4350 | "qdisc show [ dev STRING ]"USE_FEATURE_TC_INGRESS(" [ingress]")"\n" \ | 4350 | "qdisc show [ dev STRING ]"IF_FEATURE_TC_INGRESS(" [ingress]")"\n" \ |
| 4351 | "class [ classid CLASSID ] [ root | parent CLASSID ]\n" \ | 4351 | "class [ classid CLASSID ] [ root | parent CLASSID ]\n" \ |
| 4352 | "\t[ [ QDISC_KIND ] [ help | OPTIONS ] ]\n" \ | 4352 | "\t[ [ QDISC_KIND ] [ help | OPTIONS ] ]\n" \ |
| 4353 | "class show [ dev STRING ] [ root | parent CLASSID ]\n" \ | 4353 | "class show [ dev STRING ] [ root | parent CLASSID ]\n" \ |
| @@ -4401,13 +4401,13 @@ | |||
| 4401 | "\nOptions:" \ | 4401 | "\nOptions:" \ |
| 4402 | "\n -l FILE Local FILE" \ | 4402 | "\n -l FILE Local FILE" \ |
| 4403 | "\n -r FILE Remote FILE" \ | 4403 | "\n -r FILE Remote FILE" \ |
| 4404 | USE_FEATURE_TFTP_GET( \ | 4404 | IF_FEATURE_TFTP_GET( \ |
| 4405 | "\n -g Get file" \ | 4405 | "\n -g Get file" \ |
| 4406 | ) \ | 4406 | ) \ |
| 4407 | USE_FEATURE_TFTP_PUT( \ | 4407 | IF_FEATURE_TFTP_PUT( \ |
| 4408 | "\n -p Put file" \ | 4408 | "\n -p Put file" \ |
| 4409 | ) \ | 4409 | ) \ |
| 4410 | USE_FEATURE_TFTP_BLOCKSIZE( \ | 4410 | IF_FEATURE_TFTP_BLOCKSIZE( \ |
| 4411 | "\n -b SIZE Transfer blocks of SIZE octets" \ | 4411 | "\n -b SIZE Transfer blocks of SIZE octets" \ |
| 4412 | ) | 4412 | ) |
| 4413 | 4413 | ||
| @@ -4512,7 +4512,7 @@ | |||
| 4512 | "" | 4512 | "" |
| 4513 | #define tty_full_usage "\n\n" \ | 4513 | #define tty_full_usage "\n\n" \ |
| 4514 | "Print file name of standard input's terminal" \ | 4514 | "Print file name of standard input's terminal" \ |
| 4515 | USE_INCLUDE_SUSv2( "\n" \ | 4515 | IF_INCLUDE_SUSv2( "\n" \ |
| 4516 | "\nOptions:" \ | 4516 | "\nOptions:" \ |
| 4517 | "\n -s Print nothing, only return exit status" \ | 4517 | "\n -s Print nothing, only return exit status" \ |
| 4518 | ) | 4518 | ) |
| @@ -4526,14 +4526,14 @@ | |||
| 4526 | "Print dimension(s) of standard input's terminal, on error return 80x25" | 4526 | "Print dimension(s) of standard input's terminal, on error return 80x25" |
| 4527 | 4527 | ||
| 4528 | #define tunctl_trivial_usage \ | 4528 | #define tunctl_trivial_usage \ |
| 4529 | "[-f device] ([-t name] | -d name)" USE_FEATURE_TUNCTL_UG(" [-u owner] [-g group] [-b]") | 4529 | "[-f device] ([-t name] | -d name)" IF_FEATURE_TUNCTL_UG(" [-u owner] [-g group] [-b]") |
| 4530 | #define tunctl_full_usage "\n\n" \ | 4530 | #define tunctl_full_usage "\n\n" \ |
| 4531 | "Create or delete tun interfaces" \ | 4531 | "Create or delete tun interfaces" \ |
| 4532 | "\nOptions:" \ | 4532 | "\nOptions:" \ |
| 4533 | "\n -f name tun device (/dev/net/tun)" \ | 4533 | "\n -f name tun device (/dev/net/tun)" \ |
| 4534 | "\n -t name Create iface 'name'" \ | 4534 | "\n -t name Create iface 'name'" \ |
| 4535 | "\n -d name Delete iface 'name'" \ | 4535 | "\n -d name Delete iface 'name'" \ |
| 4536 | USE_FEATURE_TUNCTL_UG( \ | 4536 | IF_FEATURE_TUNCTL_UG( \ |
| 4537 | "\n -u owner Set iface owner" \ | 4537 | "\n -u owner Set iface owner" \ |
| 4538 | "\n -g group Set iface group" \ | 4538 | "\n -g group Set iface group" \ |
| 4539 | "\n -b Brief output" \ | 4539 | "\n -b Brief output" \ |
| @@ -4554,9 +4554,9 @@ USE_FEATURE_TUNCTL_UG( \ | |||
| 4554 | 4554 | ||
| 4555 | #define udhcpc_trivial_usage \ | 4555 | #define udhcpc_trivial_usage \ |
| 4556 | "[-Cfbnqtvo] [-c CID] [-V VCLS] [-H HOSTNAME] [-i INTERFACE]\n" \ | 4556 | "[-Cfbnqtvo] [-c CID] [-V VCLS] [-H HOSTNAME] [-i INTERFACE]\n" \ |
| 4557 | " [-p pidfile] [-r IP] [-s script] [-O dhcp-option]..." USE_FEATURE_UDHCP_PORT(" [-P N]") | 4557 | " [-p pidfile] [-r IP] [-s script] [-O dhcp-option]..." IF_FEATURE_UDHCP_PORT(" [-P N]") |
| 4558 | #define udhcpc_full_usage "\n\n" \ | 4558 | #define udhcpc_full_usage "\n\n" \ |
| 4559 | USE_GETOPT_LONG( \ | 4559 | IF_GETOPT_LONG( \ |
| 4560 | " -V,--vendorclass=CLASSID Vendor class identifier" \ | 4560 | " -V,--vendorclass=CLASSID Vendor class identifier" \ |
| 4561 | "\n -i,--interface=INTERFACE Interface to use (default eth0)" \ | 4561 | "\n -i,--interface=INTERFACE Interface to use (default eth0)" \ |
| 4562 | "\n -H,-h,--hostname=HOSTNAME Client hostname" \ | 4562 | "\n -H,-h,--hostname=HOSTNAME Client hostname" \ |
| @@ -4578,14 +4578,14 @@ USE_FEATURE_TUNCTL_UG( \ | |||
| 4578 | "\n -n,--now Exit with failure if lease is not immediately obtained" \ | 4578 | "\n -n,--now Exit with failure if lease is not immediately obtained" \ |
| 4579 | "\n -q,--quit Quit after obtaining lease" \ | 4579 | "\n -q,--quit Quit after obtaining lease" \ |
| 4580 | "\n -R,--release Release IP on quit" \ | 4580 | "\n -R,--release Release IP on quit" \ |
| 4581 | USE_FEATURE_UDHCP_PORT( \ | 4581 | IF_FEATURE_UDHCP_PORT( \ |
| 4582 | "\n -P,--client-port N Use port N instead of default 68" \ | 4582 | "\n -P,--client-port N Use port N instead of default 68" \ |
| 4583 | ) \ | 4583 | ) \ |
| 4584 | USE_FEATURE_UDHCPC_ARPING( \ | 4584 | IF_FEATURE_UDHCPC_ARPING( \ |
| 4585 | "\n -a,--arping Use arping to validate offered address" \ | 4585 | "\n -a,--arping Use arping to validate offered address" \ |
| 4586 | ) \ | 4586 | ) \ |
| 4587 | ) \ | 4587 | ) \ |
| 4588 | SKIP_GETOPT_LONG( \ | 4588 | IF_NOT_GETOPT_LONG( \ |
| 4589 | " -V CLASSID Vendor class identifier" \ | 4589 | " -V CLASSID Vendor class identifier" \ |
| 4590 | "\n -i INTERFACE Interface to use (default: eth0)" \ | 4590 | "\n -i INTERFACE Interface to use (default: eth0)" \ |
| 4591 | "\n -H,-h HOSTNAME Client hostname" \ | 4591 | "\n -H,-h HOSTNAME Client hostname" \ |
| @@ -4607,22 +4607,22 @@ USE_FEATURE_TUNCTL_UG( \ | |||
| 4607 | "\n -n Exit with failure if lease is not immediately obtained" \ | 4607 | "\n -n Exit with failure if lease is not immediately obtained" \ |
| 4608 | "\n -q Quit after obtaining lease" \ | 4608 | "\n -q Quit after obtaining lease" \ |
| 4609 | "\n -R Release IP on quit" \ | 4609 | "\n -R Release IP on quit" \ |
| 4610 | USE_FEATURE_UDHCP_PORT( \ | 4610 | IF_FEATURE_UDHCP_PORT( \ |
| 4611 | "\n -P N Use port N instead of default 68" \ | 4611 | "\n -P N Use port N instead of default 68" \ |
| 4612 | ) \ | 4612 | ) \ |
| 4613 | USE_FEATURE_UDHCPC_ARPING( \ | 4613 | IF_FEATURE_UDHCPC_ARPING( \ |
| 4614 | "\n -a Use arping to validate offered address" \ | 4614 | "\n -a Use arping to validate offered address" \ |
| 4615 | ) \ | 4615 | ) \ |
| 4616 | ) | 4616 | ) |
| 4617 | 4617 | ||
| 4618 | #define udhcpd_trivial_usage \ | 4618 | #define udhcpd_trivial_usage \ |
| 4619 | "[-fS]" USE_FEATURE_UDHCP_PORT(" [-P N]") " [configfile]" \ | 4619 | "[-fS]" IF_FEATURE_UDHCP_PORT(" [-P N]") " [configfile]" \ |
| 4620 | 4620 | ||
| 4621 | #define udhcpd_full_usage "\n\n" \ | 4621 | #define udhcpd_full_usage "\n\n" \ |
| 4622 | "DHCP server\n" \ | 4622 | "DHCP server\n" \ |
| 4623 | "\n -f Run in foreground" \ | 4623 | "\n -f Run in foreground" \ |
| 4624 | "\n -S Log to syslog too" \ | 4624 | "\n -S Log to syslog too" \ |
| 4625 | USE_FEATURE_UDHCP_PORT( \ | 4625 | IF_FEATURE_UDHCP_PORT( \ |
| 4626 | "\n -P N Use port N instead of default 67" \ | 4626 | "\n -P N Use port N instead of default 67" \ |
| 4627 | ) | 4627 | ) |
| 4628 | 4628 | ||
| @@ -4631,16 +4631,16 @@ USE_FEATURE_TUNCTL_UG( \ | |||
| 4631 | #define umount_full_usage "\n\n" \ | 4631 | #define umount_full_usage "\n\n" \ |
| 4632 | "Unmount file systems\n" \ | 4632 | "Unmount file systems\n" \ |
| 4633 | "\nOptions:" \ | 4633 | "\nOptions:" \ |
| 4634 | USE_FEATURE_UMOUNT_ALL( \ | 4634 | IF_FEATURE_UMOUNT_ALL( \ |
| 4635 | "\n -a Unmount all file systems" USE_FEATURE_MTAB_SUPPORT(" in /etc/mtab") \ | 4635 | "\n -a Unmount all file systems" IF_FEATURE_MTAB_SUPPORT(" in /etc/mtab") \ |
| 4636 | ) \ | 4636 | ) \ |
| 4637 | USE_FEATURE_MTAB_SUPPORT( \ | 4637 | IF_FEATURE_MTAB_SUPPORT( \ |
| 4638 | "\n -n Don't erase /etc/mtab entries" \ | 4638 | "\n -n Don't erase /etc/mtab entries" \ |
| 4639 | ) \ | 4639 | ) \ |
| 4640 | "\n -r Try to remount devices as read-only if mount is busy" \ | 4640 | "\n -r Try to remount devices as read-only if mount is busy" \ |
| 4641 | "\n -l Lazy umount (detach filesystem)" \ | 4641 | "\n -l Lazy umount (detach filesystem)" \ |
| 4642 | "\n -f Force umount (i.e., unreachable NFS server)" \ | 4642 | "\n -f Force umount (i.e., unreachable NFS server)" \ |
| 4643 | USE_FEATURE_MOUNT_LOOP( \ | 4643 | IF_FEATURE_MOUNT_LOOP( \ |
| 4644 | "\n -d Free loop device if it has been used" \ | 4644 | "\n -d Free loop device if it has been used" \ |
| 4645 | ) | 4645 | ) |
| 4646 | 4646 | ||
| @@ -4677,12 +4677,12 @@ USE_FEATURE_TUNCTL_UG( \ | |||
| 4677 | #define unexpand_full_usage "\n\n" \ | 4677 | #define unexpand_full_usage "\n\n" \ |
| 4678 | "Convert spaces to tabs, writing to standard output.\n" \ | 4678 | "Convert spaces to tabs, writing to standard output.\n" \ |
| 4679 | "\nOptions:" \ | 4679 | "\nOptions:" \ |
| 4680 | USE_FEATURE_UNEXPAND_LONG_OPTIONS( \ | 4680 | IF_FEATURE_UNEXPAND_LONG_OPTIONS( \ |
| 4681 | "\n -a,--all Convert all blanks" \ | 4681 | "\n -a,--all Convert all blanks" \ |
| 4682 | "\n -f,--first-only Convert only leading blanks" \ | 4682 | "\n -f,--first-only Convert only leading blanks" \ |
| 4683 | "\n -t,--tabs=N Tabstops every N chars" \ | 4683 | "\n -t,--tabs=N Tabstops every N chars" \ |
| 4684 | ) \ | 4684 | ) \ |
| 4685 | SKIP_FEATURE_UNEXPAND_LONG_OPTIONS( \ | 4685 | IF_NOT_FEATURE_UNEXPAND_LONG_OPTIONS( \ |
| 4686 | "\n -a Convert all blanks" \ | 4686 | "\n -a Convert all blanks" \ |
| 4687 | "\n -f Convert only leading blanks" \ | 4687 | "\n -f Convert only leading blanks" \ |
| 4688 | "\n -t N Tabstops every N chars" \ | 4688 | "\n -t N Tabstops every N chars" \ |
| @@ -4788,9 +4788,9 @@ USE_FEATURE_TUNCTL_UG( \ | |||
| 4788 | #define vi_full_usage "\n\n" \ | 4788 | #define vi_full_usage "\n\n" \ |
| 4789 | "Edit FILE\n" \ | 4789 | "Edit FILE\n" \ |
| 4790 | "\nOptions:" \ | 4790 | "\nOptions:" \ |
| 4791 | USE_FEATURE_VI_COLON( \ | 4791 | IF_FEATURE_VI_COLON( \ |
| 4792 | "\n -c Initial command to run ($EXINIT also available)") \ | 4792 | "\n -c Initial command to run ($EXINIT also available)") \ |
| 4793 | USE_FEATURE_VI_READONLY( \ | 4793 | IF_FEATURE_VI_READONLY( \ |
| 4794 | "\n -R Read-only - do not write to the file") \ | 4794 | "\n -R Read-only - do not write to the file") \ |
| 4795 | "\n -H Short help regarding available features" \ | 4795 | "\n -H Short help regarding available features" \ |
| 4796 | 4796 | ||
| @@ -4842,12 +4842,12 @@ USE_FEATURE_TUNCTL_UG( \ | |||
| 4842 | " 31 46 1365 /etc/passwd\n" | 4842 | " 31 46 1365 /etc/passwd\n" |
| 4843 | 4843 | ||
| 4844 | #define wget_trivial_usage \ | 4844 | #define wget_trivial_usage \ |
| 4845 | USE_FEATURE_WGET_LONG_OPTIONS( \ | 4845 | IF_FEATURE_WGET_LONG_OPTIONS( \ |
| 4846 | "[-c|--continue] [-s|--spider] [-q|--quiet] [-O|--output-document file]\n" \ | 4846 | "[-c|--continue] [-s|--spider] [-q|--quiet] [-O|--output-document file]\n" \ |
| 4847 | " [--header 'header: value'] [-Y|--proxy on/off] [-P DIR]\n" \ | 4847 | " [--header 'header: value'] [-Y|--proxy on/off] [-P DIR]\n" \ |
| 4848 | " [-U|--user-agent agent] url" \ | 4848 | " [-U|--user-agent agent] url" \ |
| 4849 | ) \ | 4849 | ) \ |
| 4850 | SKIP_FEATURE_WGET_LONG_OPTIONS( \ | 4850 | IF_NOT_FEATURE_WGET_LONG_OPTIONS( \ |
| 4851 | "[-csq] [-O file] [-Y on/off] [-P DIR] [-U agent] url" \ | 4851 | "[-csq] [-O file] [-Y on/off] [-P DIR] [-U agent] url" \ |
| 4852 | ) | 4852 | ) |
| 4853 | #define wget_full_usage "\n\n" \ | 4853 | #define wget_full_usage "\n\n" \ |
| @@ -4886,16 +4886,16 @@ USE_FEATURE_TUNCTL_UG( \ | |||
| 4886 | #define xargs_full_usage "\n\n" \ | 4886 | #define xargs_full_usage "\n\n" \ |
| 4887 | "Execute COMMAND on every item given by standard input\n" \ | 4887 | "Execute COMMAND on every item given by standard input\n" \ |
| 4888 | "\nOptions:" \ | 4888 | "\nOptions:" \ |
| 4889 | USE_FEATURE_XARGS_SUPPORT_CONFIRMATION( \ | 4889 | IF_FEATURE_XARGS_SUPPORT_CONFIRMATION( \ |
| 4890 | "\n -p Ask user whether to run each command") \ | 4890 | "\n -p Ask user whether to run each command") \ |
| 4891 | "\n -r Do not run command if input is empty" \ | 4891 | "\n -r Do not run command if input is empty" \ |
| 4892 | USE_FEATURE_XARGS_SUPPORT_ZERO_TERM( \ | 4892 | IF_FEATURE_XARGS_SUPPORT_ZERO_TERM( \ |
| 4893 | "\n -0 Input is separated by NUL characters") \ | 4893 | "\n -0 Input is separated by NUL characters") \ |
| 4894 | "\n -t Print the command on stderr before execution" \ | 4894 | "\n -t Print the command on stderr before execution" \ |
| 4895 | "\n -e[STR] STR stops input processing" \ | 4895 | "\n -e[STR] STR stops input processing" \ |
| 4896 | "\n -n N Pass no more than N args to COMMAND" \ | 4896 | "\n -n N Pass no more than N args to COMMAND" \ |
| 4897 | "\n -s N Pass command line of no more than N bytes" \ | 4897 | "\n -s N Pass command line of no more than N bytes" \ |
| 4898 | USE_FEATURE_XARGS_SUPPORT_TERMOPT( \ | 4898 | IF_FEATURE_XARGS_SUPPORT_TERMOPT( \ |
| 4899 | "\n -x Exit if size is exceeded") \ | 4899 | "\n -x Exit if size is exceeded") \ |
| 4900 | 4900 | ||
| 4901 | #define xargs_example_usage \ | 4901 | #define xargs_example_usage \ |
