aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/applets.h688
-rw-r--r--include/libbb.h20
-rw-r--r--include/unarchive.h18
-rw-r--r--include/usage.h616
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
70USE_TEST(APPLET_NOFORK([, test, _BB_DIR_USR_BIN, _BB_SUID_NEVER, test)) 70IF_TEST(APPLET_NOFORK([, test, _BB_DIR_USR_BIN, _BB_SUID_NEVER, test))
71USE_TEST(APPLET_NOFORK([[, test, _BB_DIR_USR_BIN, _BB_SUID_NEVER, test)) 71IF_TEST(APPLET_NOFORK([[, test, _BB_DIR_USR_BIN, _BB_SUID_NEVER, test))
72USE_ACPID(APPLET(acpid, _BB_DIR_SBIN, _BB_SUID_NEVER)) 72IF_ACPID(APPLET(acpid, _BB_DIR_SBIN, _BB_SUID_NEVER))
73USE_ADDGROUP(APPLET(addgroup, _BB_DIR_BIN, _BB_SUID_NEVER)) 73IF_ADDGROUP(APPLET(addgroup, _BB_DIR_BIN, _BB_SUID_NEVER))
74USE_ADDUSER(APPLET(adduser, _BB_DIR_BIN, _BB_SUID_NEVER)) 74IF_ADDUSER(APPLET(adduser, _BB_DIR_BIN, _BB_SUID_NEVER))
75USE_ADJTIMEX(APPLET(adjtimex, _BB_DIR_SBIN, _BB_SUID_NEVER)) 75IF_ADJTIMEX(APPLET(adjtimex, _BB_DIR_SBIN, _BB_SUID_NEVER))
76USE_AR(APPLET(ar, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 76IF_AR(APPLET(ar, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
77USE_ARP(APPLET(arp, _BB_DIR_SBIN, _BB_SUID_NEVER)) 77IF_ARP(APPLET(arp, _BB_DIR_SBIN, _BB_SUID_NEVER))
78USE_ARPING(APPLET(arping, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 78IF_ARPING(APPLET(arping, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
79USE_ASH(APPLET(ash, _BB_DIR_BIN, _BB_SUID_NEVER)) 79IF_ASH(APPLET(ash, _BB_DIR_BIN, _BB_SUID_NEVER))
80USE_AWK(APPLET_NOEXEC(awk, awk, _BB_DIR_USR_BIN, _BB_SUID_NEVER, awk)) 80IF_AWK(APPLET_NOEXEC(awk, awk, _BB_DIR_USR_BIN, _BB_SUID_NEVER, awk))
81USE_BASENAME(APPLET_NOFORK(basename, basename, _BB_DIR_USR_BIN, _BB_SUID_NEVER, basename)) 81IF_BASENAME(APPLET_NOFORK(basename, basename, _BB_DIR_USR_BIN, _BB_SUID_NEVER, basename))
82USE_BBCONFIG(APPLET(bbconfig, _BB_DIR_BIN, _BB_SUID_NEVER)) 82IF_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))
84USE_BLKID(APPLET(blkid, _BB_DIR_SBIN, _BB_SUID_NEVER)) 84IF_BLKID(APPLET(blkid, _BB_DIR_SBIN, _BB_SUID_NEVER))
85USE_BRCTL(APPLET(brctl, _BB_DIR_USR_SBIN, _BB_SUID_NEVER)) 85IF_BRCTL(APPLET(brctl, _BB_DIR_USR_SBIN, _BB_SUID_NEVER))
86USE_BUNZIP2(APPLET(bunzip2, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 86IF_BUNZIP2(APPLET(bunzip2, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
87USE_BUNZIP2(APPLET_ODDNAME(bzcat, bunzip2, _BB_DIR_USR_BIN, _BB_SUID_NEVER, bzcat)) 87IF_BUNZIP2(APPLET_ODDNAME(bzcat, bunzip2, _BB_DIR_USR_BIN, _BB_SUID_NEVER, bzcat))
88USE_BZIP2(APPLET(bzip2, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 88IF_BZIP2(APPLET(bzip2, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
89USE_CAL(APPLET(cal, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 89IF_CAL(APPLET(cal, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
90USE_CAT(APPLET_NOFORK(cat, cat, _BB_DIR_BIN, _BB_SUID_NEVER, cat)) 90IF_CAT(APPLET_NOFORK(cat, cat, _BB_DIR_BIN, _BB_SUID_NEVER, cat))
91USE_CATV(APPLET(catv, _BB_DIR_BIN, _BB_SUID_NEVER)) 91IF_CATV(APPLET(catv, _BB_DIR_BIN, _BB_SUID_NEVER))
92USE_CHAT(APPLET(chat, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 92IF_CHAT(APPLET(chat, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
93USE_CHATTR(APPLET(chattr, _BB_DIR_BIN, _BB_SUID_NEVER)) 93IF_CHATTR(APPLET(chattr, _BB_DIR_BIN, _BB_SUID_NEVER))
94USE_CHCON(APPLET(chcon, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 94IF_CHCON(APPLET(chcon, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
95USE_CHGRP(APPLET_NOEXEC(chgrp, chgrp, _BB_DIR_BIN, _BB_SUID_NEVER, chgrp)) 95IF_CHGRP(APPLET_NOEXEC(chgrp, chgrp, _BB_DIR_BIN, _BB_SUID_NEVER, chgrp))
96USE_CHMOD(APPLET_NOEXEC(chmod, chmod, _BB_DIR_BIN, _BB_SUID_NEVER, chmod)) 96IF_CHMOD(APPLET_NOEXEC(chmod, chmod, _BB_DIR_BIN, _BB_SUID_NEVER, chmod))
97USE_CHOWN(APPLET_NOEXEC(chown, chown, _BB_DIR_BIN, _BB_SUID_NEVER, chown)) 97IF_CHOWN(APPLET_NOEXEC(chown, chown, _BB_DIR_BIN, _BB_SUID_NEVER, chown))
98USE_CHPASSWD(APPLET(chpasswd, _BB_DIR_USR_SBIN, _BB_SUID_NEVER)) 98IF_CHPASSWD(APPLET(chpasswd, _BB_DIR_USR_SBIN, _BB_SUID_NEVER))
99USE_CHPST(APPLET(chpst, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 99IF_CHPST(APPLET(chpst, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
100USE_CHROOT(APPLET(chroot, _BB_DIR_USR_SBIN, _BB_SUID_NEVER)) 100IF_CHROOT(APPLET(chroot, _BB_DIR_USR_SBIN, _BB_SUID_NEVER))
101USE_CHRT(APPLET(chrt, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 101IF_CHRT(APPLET(chrt, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
102USE_CHVT(APPLET(chvt, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 102IF_CHVT(APPLET(chvt, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
103USE_CKSUM(APPLET(cksum, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 103IF_CKSUM(APPLET(cksum, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
104USE_CLEAR(APPLET(clear, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 104IF_CLEAR(APPLET(clear, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
105USE_CMP(APPLET(cmp, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 105IF_CMP(APPLET(cmp, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
106USE_COMM(APPLET(comm, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 106IF_COMM(APPLET(comm, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
107USE_CP(APPLET_NOEXEC(cp, cp, _BB_DIR_BIN, _BB_SUID_NEVER, cp)) 107IF_CP(APPLET_NOEXEC(cp, cp, _BB_DIR_BIN, _BB_SUID_NEVER, cp))
108USE_CPIO(APPLET(cpio, _BB_DIR_BIN, _BB_SUID_NEVER)) 108IF_CPIO(APPLET(cpio, _BB_DIR_BIN, _BB_SUID_NEVER))
109USE_CROND(APPLET(crond, _BB_DIR_USR_SBIN, _BB_SUID_NEVER)) 109IF_CROND(APPLET(crond, _BB_DIR_USR_SBIN, _BB_SUID_NEVER))
110USE_CRONTAB(APPLET(crontab, _BB_DIR_USR_BIN, _BB_SUID_ALWAYS)) 110IF_CRONTAB(APPLET(crontab, _BB_DIR_USR_BIN, _BB_SUID_ALWAYS))
111USE_CRYPTPW(APPLET(cryptpw, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 111IF_CRYPTPW(APPLET(cryptpw, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
112USE_CTTYHACK(APPLET(cttyhack, _BB_DIR_BIN, _BB_SUID_NEVER)) 112IF_CTTYHACK(APPLET(cttyhack, _BB_DIR_BIN, _BB_SUID_NEVER))
113USE_CUT(APPLET_NOEXEC(cut, cut, _BB_DIR_USR_BIN, _BB_SUID_NEVER, cut)) 113IF_CUT(APPLET_NOEXEC(cut, cut, _BB_DIR_USR_BIN, _BB_SUID_NEVER, cut))
114USE_DATE(APPLET(date, _BB_DIR_BIN, _BB_SUID_NEVER)) 114IF_DATE(APPLET(date, _BB_DIR_BIN, _BB_SUID_NEVER))
115USE_DC(APPLET(dc, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 115IF_DC(APPLET(dc, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
116USE_DD(APPLET_NOEXEC(dd, dd, _BB_DIR_BIN, _BB_SUID_NEVER, dd)) 116IF_DD(APPLET_NOEXEC(dd, dd, _BB_DIR_BIN, _BB_SUID_NEVER, dd))
117USE_DEALLOCVT(APPLET(deallocvt, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 117IF_DEALLOCVT(APPLET(deallocvt, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
118USE_DELGROUP(APPLET_ODDNAME(delgroup, deluser, _BB_DIR_BIN, _BB_SUID_NEVER, delgroup)) 118IF_DELGROUP(APPLET_ODDNAME(delgroup, deluser, _BB_DIR_BIN, _BB_SUID_NEVER, delgroup))
119USE_DELUSER(APPLET(deluser, _BB_DIR_BIN, _BB_SUID_NEVER)) 119IF_DELUSER(APPLET(deluser, _BB_DIR_BIN, _BB_SUID_NEVER))
120USE_DEPMOD(APPLET(depmod, _BB_DIR_SBIN, _BB_SUID_NEVER)) 120IF_DEPMOD(APPLET(depmod, _BB_DIR_SBIN, _BB_SUID_NEVER))
121USE_MODPROBE_SMALL(APPLET_ODDNAME(depmod, modprobe, _BB_DIR_SBIN, _BB_SUID_NEVER, modprobe)) 121IF_MODPROBE_SMALL(APPLET_ODDNAME(depmod, modprobe, _BB_DIR_SBIN, _BB_SUID_NEVER, modprobe))
122USE_DEVFSD(APPLET(devfsd, _BB_DIR_SBIN, _BB_SUID_NEVER)) 122IF_DEVFSD(APPLET(devfsd, _BB_DIR_SBIN, _BB_SUID_NEVER))
123USE_DEVMEM(APPLET(devmem, _BB_DIR_SBIN, _BB_SUID_NEVER)) 123IF_DEVMEM(APPLET(devmem, _BB_DIR_SBIN, _BB_SUID_NEVER))
124USE_DF(APPLET(df, _BB_DIR_BIN, _BB_SUID_NEVER)) 124IF_DF(APPLET(df, _BB_DIR_BIN, _BB_SUID_NEVER))
125USE_APP_DHCPRELAY(APPLET(dhcprelay, _BB_DIR_USR_SBIN, _BB_SUID_NEVER)) 125IF_APP_DHCPRELAY(APPLET(dhcprelay, _BB_DIR_USR_SBIN, _BB_SUID_NEVER))
126USE_DIFF(APPLET(diff, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 126IF_DIFF(APPLET(diff, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
127USE_DIRNAME(APPLET_NOFORK(dirname, dirname, _BB_DIR_USR_BIN, _BB_SUID_NEVER, dirname)) 127IF_DIRNAME(APPLET_NOFORK(dirname, dirname, _BB_DIR_USR_BIN, _BB_SUID_NEVER, dirname))
128USE_DMESG(APPLET(dmesg, _BB_DIR_BIN, _BB_SUID_NEVER)) 128IF_DMESG(APPLET(dmesg, _BB_DIR_BIN, _BB_SUID_NEVER))
129USE_DNSD(APPLET(dnsd, _BB_DIR_USR_SBIN, _BB_SUID_ALWAYS)) 129IF_DNSD(APPLET(dnsd, _BB_DIR_USR_SBIN, _BB_SUID_ALWAYS))
130USE_DOS2UNIX(APPLET(dos2unix, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 130IF_DOS2UNIX(APPLET(dos2unix, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
131USE_DPKG(APPLET(dpkg, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 131IF_DPKG(APPLET(dpkg, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
132USE_DPKG_DEB(APPLET_ODDNAME(dpkg-deb, dpkg_deb, _BB_DIR_USR_BIN, _BB_SUID_NEVER, dpkg_deb)) 132IF_DPKG_DEB(APPLET_ODDNAME(dpkg-deb, dpkg_deb, _BB_DIR_USR_BIN, _BB_SUID_NEVER, dpkg_deb))
133USE_DU(APPLET(du, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 133IF_DU(APPLET(du, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
134USE_DUMPKMAP(APPLET(dumpkmap, _BB_DIR_BIN, _BB_SUID_NEVER)) 134IF_DUMPKMAP(APPLET(dumpkmap, _BB_DIR_BIN, _BB_SUID_NEVER))
135USE_APP_DUMPLEASES(APPLET(dumpleases, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 135IF_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))
138USE_ECHO(APPLET_NOFORK(echo, echo, _BB_DIR_BIN, _BB_SUID_NEVER, echo)) 138IF_ECHO(APPLET_NOFORK(echo, echo, _BB_DIR_BIN, _BB_SUID_NEVER, echo))
139USE_ED(APPLET(ed, _BB_DIR_BIN, _BB_SUID_NEVER)) 139IF_ED(APPLET(ed, _BB_DIR_BIN, _BB_SUID_NEVER))
140USE_FEATURE_GREP_EGREP_ALIAS(APPLET_ODDNAME(egrep, grep, _BB_DIR_BIN, _BB_SUID_NEVER, egrep)) 140IF_FEATURE_GREP_EGREP_ALIAS(APPLET_ODDNAME(egrep, grep, _BB_DIR_BIN, _BB_SUID_NEVER, egrep))
141USE_EJECT(APPLET(eject, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 141IF_EJECT(APPLET(eject, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
142USE_ENV(APPLET_NOEXEC(env, env, _BB_DIR_USR_BIN, _BB_SUID_NEVER, env)) 142IF_ENV(APPLET_NOEXEC(env, env, _BB_DIR_USR_BIN, _BB_SUID_NEVER, env))
143USE_ENVDIR(APPLET_ODDNAME(envdir, chpst, _BB_DIR_USR_BIN, _BB_SUID_NEVER, envdir)) 143IF_ENVDIR(APPLET_ODDNAME(envdir, chpst, _BB_DIR_USR_BIN, _BB_SUID_NEVER, envdir))
144USE_ENVUIDGID(APPLET_ODDNAME(envuidgid, chpst, _BB_DIR_USR_BIN, _BB_SUID_NEVER, envuidgid)) 144IF_ENVUIDGID(APPLET_ODDNAME(envuidgid, chpst, _BB_DIR_USR_BIN, _BB_SUID_NEVER, envuidgid))
145USE_ETHER_WAKE(APPLET_ODDNAME(ether-wake, ether_wake, _BB_DIR_USR_BIN, _BB_SUID_NEVER, ether_wake)) 145IF_ETHER_WAKE(APPLET_ODDNAME(ether-wake, ether_wake, _BB_DIR_USR_BIN, _BB_SUID_NEVER, ether_wake))
146USE_EXPAND(APPLET(expand, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 146IF_EXPAND(APPLET(expand, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
147USE_EXPR(APPLET(expr, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 147IF_EXPR(APPLET(expr, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
148USE_FAKEIDENTD(APPLET(fakeidentd, _BB_DIR_USR_SBIN, _BB_SUID_NEVER)) 148IF_FAKEIDENTD(APPLET(fakeidentd, _BB_DIR_USR_SBIN, _BB_SUID_NEVER))
149USE_FALSE(APPLET_NOFORK(false, false, _BB_DIR_BIN, _BB_SUID_NEVER, false)) 149IF_FALSE(APPLET_NOFORK(false, false, _BB_DIR_BIN, _BB_SUID_NEVER, false))
150USE_FBSET(APPLET(fbset, _BB_DIR_USR_SBIN, _BB_SUID_NEVER)) 150IF_FBSET(APPLET(fbset, _BB_DIR_USR_SBIN, _BB_SUID_NEVER))
151USE_FBSPLASH(APPLET(fbsplash, _BB_DIR_SBIN, _BB_SUID_NEVER)) 151IF_FBSPLASH(APPLET(fbsplash, _BB_DIR_SBIN, _BB_SUID_NEVER))
152USE_FDFLUSH(APPLET_ODDNAME(fdflush, freeramdisk, _BB_DIR_BIN, _BB_SUID_NEVER, fdflush)) 152IF_FDFLUSH(APPLET_ODDNAME(fdflush, freeramdisk, _BB_DIR_BIN, _BB_SUID_NEVER, fdflush))
153USE_FDFORMAT(APPLET(fdformat, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 153IF_FDFORMAT(APPLET(fdformat, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
154USE_FDISK(APPLET(fdisk, _BB_DIR_SBIN, _BB_SUID_NEVER)) 154IF_FDISK(APPLET(fdisk, _BB_DIR_SBIN, _BB_SUID_NEVER))
155USE_FEATURE_GREP_FGREP_ALIAS(APPLET_ODDNAME(fgrep, grep, _BB_DIR_BIN, _BB_SUID_NEVER, fgrep)) 155IF_FEATURE_GREP_FGREP_ALIAS(APPLET_ODDNAME(fgrep, grep, _BB_DIR_BIN, _BB_SUID_NEVER, fgrep))
156USE_FIND(APPLET_NOEXEC(find, find, _BB_DIR_USR_BIN, _BB_SUID_NEVER, find)) 156IF_FIND(APPLET_NOEXEC(find, find, _BB_DIR_USR_BIN, _BB_SUID_NEVER, find))
157USE_FINDFS(APPLET(findfs, _BB_DIR_SBIN, _BB_SUID_MAYBE)) 157IF_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))
159USE_FLASH_ERASEALL(APPLET(flash_eraseall, _BB_DIR_USR_SBIN, _BB_SUID_NEVER)) 159IF_FLASH_ERASEALL(APPLET(flash_eraseall, _BB_DIR_USR_SBIN, _BB_SUID_NEVER))
160USE_FOLD(APPLET(fold, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 160IF_FOLD(APPLET(fold, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
161USE_FREE(APPLET(free, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 161IF_FREE(APPLET(free, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
162USE_FREERAMDISK(APPLET(freeramdisk, _BB_DIR_SBIN, _BB_SUID_NEVER)) 162IF_FREERAMDISK(APPLET(freeramdisk, _BB_DIR_SBIN, _BB_SUID_NEVER))
163USE_FSCK(APPLET(fsck, _BB_DIR_SBIN, _BB_SUID_NEVER)) 163IF_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))
166USE_FSCK_MINIX(APPLET_ODDNAME(fsck.minix, fsck_minix, _BB_DIR_SBIN, _BB_SUID_NEVER, fsck_minix)) 166IF_FSCK_MINIX(APPLET_ODDNAME(fsck.minix, fsck_minix, _BB_DIR_SBIN, _BB_SUID_NEVER, fsck_minix))
167USE_FTPD(APPLET(ftpd, _BB_DIR_USR_SBIN, _BB_SUID_NEVER)) 167IF_FTPD(APPLET(ftpd, _BB_DIR_USR_SBIN, _BB_SUID_NEVER))
168USE_FTPGET(APPLET_ODDNAME(ftpget, ftpgetput, _BB_DIR_USR_BIN, _BB_SUID_NEVER, ftpget)) 168IF_FTPGET(APPLET_ODDNAME(ftpget, ftpgetput, _BB_DIR_USR_BIN, _BB_SUID_NEVER, ftpget))
169USE_FTPPUT(APPLET_ODDNAME(ftpput, ftpgetput, _BB_DIR_USR_BIN, _BB_SUID_NEVER, ftpput)) 169IF_FTPPUT(APPLET_ODDNAME(ftpput, ftpgetput, _BB_DIR_USR_BIN, _BB_SUID_NEVER, ftpput))
170USE_FUSER(APPLET(fuser, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 170IF_FUSER(APPLET(fuser, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
171USE_GETENFORCE(APPLET(getenforce, _BB_DIR_USR_SBIN, _BB_SUID_NEVER)) 171IF_GETENFORCE(APPLET(getenforce, _BB_DIR_USR_SBIN, _BB_SUID_NEVER))
172USE_GETOPT(APPLET(getopt, _BB_DIR_BIN, _BB_SUID_NEVER)) 172IF_GETOPT(APPLET(getopt, _BB_DIR_BIN, _BB_SUID_NEVER))
173USE_GETSEBOOL(APPLET(getsebool, _BB_DIR_USR_SBIN, _BB_SUID_NEVER)) 173IF_GETSEBOOL(APPLET(getsebool, _BB_DIR_USR_SBIN, _BB_SUID_NEVER))
174USE_GETTY(APPLET(getty, _BB_DIR_SBIN, _BB_SUID_NEVER)) 174IF_GETTY(APPLET(getty, _BB_DIR_SBIN, _BB_SUID_NEVER))
175USE_GREP(APPLET(grep, _BB_DIR_BIN, _BB_SUID_NEVER)) 175IF_GREP(APPLET(grep, _BB_DIR_BIN, _BB_SUID_NEVER))
176USE_GUNZIP(APPLET(gunzip, _BB_DIR_BIN, _BB_SUID_NEVER)) 176IF_GUNZIP(APPLET(gunzip, _BB_DIR_BIN, _BB_SUID_NEVER))
177USE_GZIP(APPLET(gzip, _BB_DIR_BIN, _BB_SUID_NEVER)) 177IF_GZIP(APPLET(gzip, _BB_DIR_BIN, _BB_SUID_NEVER))
178USE_HALT(APPLET(halt, _BB_DIR_SBIN, _BB_SUID_NEVER)) 178IF_HALT(APPLET(halt, _BB_DIR_SBIN, _BB_SUID_NEVER))
179USE_HD(APPLET_NOEXEC(hd, hexdump, _BB_DIR_USR_BIN, _BB_SUID_NEVER, hd)) 179IF_HD(APPLET_NOEXEC(hd, hexdump, _BB_DIR_USR_BIN, _BB_SUID_NEVER, hd))
180USE_HDPARM(APPLET(hdparm, _BB_DIR_SBIN, _BB_SUID_NEVER)) 180IF_HDPARM(APPLET(hdparm, _BB_DIR_SBIN, _BB_SUID_NEVER))
181USE_HEAD(APPLET(head, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 181IF_HEAD(APPLET(head, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
182USE_HEXDUMP(APPLET_NOEXEC(hexdump, hexdump, _BB_DIR_USR_BIN, _BB_SUID_NEVER, hexdump)) 182IF_HEXDUMP(APPLET_NOEXEC(hexdump, hexdump, _BB_DIR_USR_BIN, _BB_SUID_NEVER, hexdump))
183USE_HOSTID(APPLET_NOFORK(hostid, hostid, _BB_DIR_USR_BIN, _BB_SUID_NEVER, hostid)) 183IF_HOSTID(APPLET_NOFORK(hostid, hostid, _BB_DIR_USR_BIN, _BB_SUID_NEVER, hostid))
184USE_HOSTNAME(APPLET(hostname, _BB_DIR_BIN, _BB_SUID_NEVER)) 184IF_HOSTNAME(APPLET(hostname, _BB_DIR_BIN, _BB_SUID_NEVER))
185USE_HTTPD(APPLET(httpd, _BB_DIR_USR_SBIN, _BB_SUID_NEVER)) 185IF_HTTPD(APPLET(httpd, _BB_DIR_USR_SBIN, _BB_SUID_NEVER))
186USE_HUSH(APPLET(hush, _BB_DIR_BIN, _BB_SUID_NEVER)) 186IF_HUSH(APPLET(hush, _BB_DIR_BIN, _BB_SUID_NEVER))
187USE_HWCLOCK(APPLET(hwclock, _BB_DIR_SBIN, _BB_SUID_NEVER)) 187IF_HWCLOCK(APPLET(hwclock, _BB_DIR_SBIN, _BB_SUID_NEVER))
188USE_ID(APPLET(id, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 188IF_ID(APPLET(id, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
189USE_IFCONFIG(APPLET(ifconfig, _BB_DIR_SBIN, _BB_SUID_NEVER)) 189IF_IFCONFIG(APPLET(ifconfig, _BB_DIR_SBIN, _BB_SUID_NEVER))
190USE_IFUPDOWN(APPLET_ODDNAME(ifdown, ifupdown, _BB_DIR_SBIN, _BB_SUID_NEVER, ifdown)) 190IF_IFUPDOWN(APPLET_ODDNAME(ifdown, ifupdown, _BB_DIR_SBIN, _BB_SUID_NEVER, ifdown))
191USE_IFENSLAVE(APPLET(ifenslave, _BB_DIR_SBIN, _BB_SUID_NEVER)) 191IF_IFENSLAVE(APPLET(ifenslave, _BB_DIR_SBIN, _BB_SUID_NEVER))
192USE_IFUPDOWN(APPLET_ODDNAME(ifup, ifupdown, _BB_DIR_SBIN, _BB_SUID_NEVER, ifup)) 192IF_IFUPDOWN(APPLET_ODDNAME(ifup, ifupdown, _BB_DIR_SBIN, _BB_SUID_NEVER, ifup))
193USE_INETD(APPLET(inetd, _BB_DIR_USR_SBIN, _BB_SUID_NEVER)) 193IF_INETD(APPLET(inetd, _BB_DIR_USR_SBIN, _BB_SUID_NEVER))
194USE_INIT(APPLET(init, _BB_DIR_SBIN, _BB_SUID_NEVER)) 194IF_INIT(APPLET(init, _BB_DIR_SBIN, _BB_SUID_NEVER))
195USE_INOTIFYD(APPLET(inotifyd, _BB_DIR_SBIN, _BB_SUID_NEVER)) 195IF_INOTIFYD(APPLET(inotifyd, _BB_DIR_SBIN, _BB_SUID_NEVER))
196USE_INSMOD(APPLET(insmod, _BB_DIR_SBIN, _BB_SUID_NEVER)) 196IF_INSMOD(APPLET(insmod, _BB_DIR_SBIN, _BB_SUID_NEVER))
197USE_MODPROBE_SMALL(APPLET_ODDNAME(insmod, modprobe, _BB_DIR_SBIN, _BB_SUID_NEVER, modprobe)) 197IF_MODPROBE_SMALL(APPLET_ODDNAME(insmod, modprobe, _BB_DIR_SBIN, _BB_SUID_NEVER, modprobe))
198USE_INSTALL(APPLET(install, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 198IF_INSTALL(APPLET(install, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
199USE_IONICE(APPLET(ionice, _BB_DIR_BIN, _BB_SUID_NEVER)) 199IF_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
205USE_IP(APPLET(ip, _BB_DIR_BIN, _BB_SUID_NEVER)) 205IF_IP(APPLET(ip, _BB_DIR_BIN, _BB_SUID_NEVER))
206#endif 206#endif
207USE_IPADDR(APPLET(ipaddr, _BB_DIR_BIN, _BB_SUID_NEVER)) 207IF_IPADDR(APPLET(ipaddr, _BB_DIR_BIN, _BB_SUID_NEVER))
208USE_IPCALC(APPLET(ipcalc, _BB_DIR_BIN, _BB_SUID_NEVER)) 208IF_IPCALC(APPLET(ipcalc, _BB_DIR_BIN, _BB_SUID_NEVER))
209USE_IPCRM(APPLET(ipcrm, _BB_DIR_USR_BIN, _BB_SUID_ALWAYS)) 209IF_IPCRM(APPLET(ipcrm, _BB_DIR_USR_BIN, _BB_SUID_ALWAYS))
210USE_IPCS(APPLET(ipcs, _BB_DIR_USR_BIN, _BB_SUID_ALWAYS)) 210IF_IPCS(APPLET(ipcs, _BB_DIR_USR_BIN, _BB_SUID_ALWAYS))
211USE_IPLINK(APPLET(iplink, _BB_DIR_BIN, _BB_SUID_NEVER)) 211IF_IPLINK(APPLET(iplink, _BB_DIR_BIN, _BB_SUID_NEVER))
212USE_IPROUTE(APPLET(iproute, _BB_DIR_BIN, _BB_SUID_NEVER)) 212IF_IPROUTE(APPLET(iproute, _BB_DIR_BIN, _BB_SUID_NEVER))
213USE_IPRULE(APPLET(iprule, _BB_DIR_BIN, _BB_SUID_NEVER)) 213IF_IPRULE(APPLET(iprule, _BB_DIR_BIN, _BB_SUID_NEVER))
214USE_IPTUNNEL(APPLET(iptunnel, _BB_DIR_BIN, _BB_SUID_NEVER)) 214IF_IPTUNNEL(APPLET(iptunnel, _BB_DIR_BIN, _BB_SUID_NEVER))
215USE_KBD_MODE(APPLET(kbd_mode, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 215IF_KBD_MODE(APPLET(kbd_mode, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
216USE_KILL(APPLET(kill, _BB_DIR_BIN, _BB_SUID_NEVER)) 216IF_KILL(APPLET(kill, _BB_DIR_BIN, _BB_SUID_NEVER))
217USE_KILLALL(APPLET_ODDNAME(killall, kill, _BB_DIR_USR_BIN, _BB_SUID_NEVER, killall)) 217IF_KILLALL(APPLET_ODDNAME(killall, kill, _BB_DIR_USR_BIN, _BB_SUID_NEVER, killall))
218USE_KILLALL5(APPLET_ODDNAME(killall5, kill, _BB_DIR_USR_BIN, _BB_SUID_NEVER, killall5)) 218IF_KILLALL5(APPLET_ODDNAME(killall5, kill, _BB_DIR_USR_BIN, _BB_SUID_NEVER, killall5))
219USE_KLOGD(APPLET(klogd, _BB_DIR_SBIN, _BB_SUID_NEVER)) 219IF_KLOGD(APPLET(klogd, _BB_DIR_SBIN, _BB_SUID_NEVER))
220USE_LASH(APPLET(lash, _BB_DIR_BIN, _BB_SUID_NEVER)) 220IF_LASH(APPLET(lash, _BB_DIR_BIN, _BB_SUID_NEVER))
221USE_LAST(APPLET(last, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 221IF_LAST(APPLET(last, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
222USE_LENGTH(APPLET_NOFORK(length, length, _BB_DIR_USR_BIN, _BB_SUID_NEVER, length)) 222IF_LENGTH(APPLET_NOFORK(length, length, _BB_DIR_USR_BIN, _BB_SUID_NEVER, length))
223USE_LESS(APPLET(less, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 223IF_LESS(APPLET(less, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
224USE_SETARCH(APPLET_ODDNAME(linux32, setarch, _BB_DIR_BIN, _BB_SUID_NEVER, linux32)) 224IF_SETARCH(APPLET_ODDNAME(linux32, setarch, _BB_DIR_BIN, _BB_SUID_NEVER, linux32))
225USE_SETARCH(APPLET_ODDNAME(linux64, setarch, _BB_DIR_BIN, _BB_SUID_NEVER, linux64)) 225IF_SETARCH(APPLET_ODDNAME(linux64, setarch, _BB_DIR_BIN, _BB_SUID_NEVER, linux64))
226USE_FEATURE_INITRD(APPLET_ODDNAME(linuxrc, init, _BB_DIR_ROOT, _BB_SUID_NEVER, linuxrc)) 226IF_FEATURE_INITRD(APPLET_ODDNAME(linuxrc, init, _BB_DIR_ROOT, _BB_SUID_NEVER, linuxrc))
227USE_LN(APPLET_NOEXEC(ln, ln, _BB_DIR_BIN, _BB_SUID_NEVER, ln)) 227IF_LN(APPLET_NOEXEC(ln, ln, _BB_DIR_BIN, _BB_SUID_NEVER, ln))
228USE_LOAD_POLICY(APPLET(load_policy, _BB_DIR_USR_SBIN, _BB_SUID_NEVER)) 228IF_LOAD_POLICY(APPLET(load_policy, _BB_DIR_USR_SBIN, _BB_SUID_NEVER))
229USE_LOADFONT(APPLET(loadfont, _BB_DIR_USR_SBIN, _BB_SUID_NEVER)) 229IF_LOADFONT(APPLET(loadfont, _BB_DIR_USR_SBIN, _BB_SUID_NEVER))
230USE_LOADKMAP(APPLET(loadkmap, _BB_DIR_SBIN, _BB_SUID_NEVER)) 230IF_LOADKMAP(APPLET(loadkmap, _BB_DIR_SBIN, _BB_SUID_NEVER))
231USE_LOGGER(APPLET(logger, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 231IF_LOGGER(APPLET(logger, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
232USE_LOGIN(APPLET(login, _BB_DIR_BIN, _BB_SUID_ALWAYS)) 232IF_LOGIN(APPLET(login, _BB_DIR_BIN, _BB_SUID_ALWAYS))
233USE_LOGNAME(APPLET_NOFORK(logname, logname, _BB_DIR_USR_BIN, _BB_SUID_NEVER, logname)) 233IF_LOGNAME(APPLET_NOFORK(logname, logname, _BB_DIR_USR_BIN, _BB_SUID_NEVER, logname))
234USE_LOGREAD(APPLET(logread, _BB_DIR_SBIN, _BB_SUID_NEVER)) 234IF_LOGREAD(APPLET(logread, _BB_DIR_SBIN, _BB_SUID_NEVER))
235USE_LOSETUP(APPLET(losetup, _BB_DIR_SBIN, _BB_SUID_NEVER)) 235IF_LOSETUP(APPLET(losetup, _BB_DIR_SBIN, _BB_SUID_NEVER))
236USE_LPD(APPLET(lpd, _BB_DIR_USR_SBIN, _BB_SUID_NEVER)) 236IF_LPD(APPLET(lpd, _BB_DIR_USR_SBIN, _BB_SUID_NEVER))
237USE_LPQ(APPLET_ODDNAME(lpq, lpqr, _BB_DIR_USR_BIN, _BB_SUID_NEVER, lpq)) 237IF_LPQ(APPLET_ODDNAME(lpq, lpqr, _BB_DIR_USR_BIN, _BB_SUID_NEVER, lpq))
238USE_LPR(APPLET_ODDNAME(lpr, lpqr, _BB_DIR_USR_BIN, _BB_SUID_NEVER, lpr)) 238IF_LPR(APPLET_ODDNAME(lpr, lpqr, _BB_DIR_USR_BIN, _BB_SUID_NEVER, lpr))
239USE_LS(APPLET_NOEXEC(ls, ls, _BB_DIR_BIN, _BB_SUID_NEVER, ls)) 239IF_LS(APPLET_NOEXEC(ls, ls, _BB_DIR_BIN, _BB_SUID_NEVER, ls))
240USE_LSATTR(APPLET(lsattr, _BB_DIR_BIN, _BB_SUID_NEVER)) 240IF_LSATTR(APPLET(lsattr, _BB_DIR_BIN, _BB_SUID_NEVER))
241USE_LSMOD(APPLET(lsmod, _BB_DIR_SBIN, _BB_SUID_NEVER)) 241IF_LSMOD(APPLET(lsmod, _BB_DIR_SBIN, _BB_SUID_NEVER))
242USE_MODPROBE_SMALL(APPLET_ODDNAME(lsmod, modprobe, _BB_DIR_SBIN, _BB_SUID_NEVER, modprobe)) 242IF_MODPROBE_SMALL(APPLET_ODDNAME(lsmod, modprobe, _BB_DIR_SBIN, _BB_SUID_NEVER, modprobe))
243USE_UNLZMA(APPLET_ODDNAME(lzmacat, unlzma, _BB_DIR_USR_BIN, _BB_SUID_NEVER, lzmacat)) 243IF_UNLZMA(APPLET_ODDNAME(lzmacat, unlzma, _BB_DIR_USR_BIN, _BB_SUID_NEVER, lzmacat))
244USE_MAKEDEVS(APPLET(makedevs, _BB_DIR_SBIN, _BB_SUID_NEVER)) 244IF_MAKEDEVS(APPLET(makedevs, _BB_DIR_SBIN, _BB_SUID_NEVER))
245USE_MAKEMIME(APPLET(makemime, _BB_DIR_BIN, _BB_SUID_NEVER)) 245IF_MAKEMIME(APPLET(makemime, _BB_DIR_BIN, _BB_SUID_NEVER))
246USE_MAN(APPLET(man, _BB_DIR_SBIN, _BB_SUID_NEVER)) 246IF_MAN(APPLET(man, _BB_DIR_SBIN, _BB_SUID_NEVER))
247USE_MATCHPATHCON(APPLET(matchpathcon, _BB_DIR_USR_SBIN, _BB_SUID_NEVER)) 247IF_MATCHPATHCON(APPLET(matchpathcon, _BB_DIR_USR_SBIN, _BB_SUID_NEVER))
248USE_MD5SUM(APPLET_ODDNAME(md5sum, md5_sha1_sum, _BB_DIR_USR_BIN, _BB_SUID_NEVER, md5sum)) 248IF_MD5SUM(APPLET_ODDNAME(md5sum, md5_sha1_sum, _BB_DIR_USR_BIN, _BB_SUID_NEVER, md5sum))
249USE_MDEV(APPLET(mdev, _BB_DIR_SBIN, _BB_SUID_NEVER)) 249IF_MDEV(APPLET(mdev, _BB_DIR_SBIN, _BB_SUID_NEVER))
250USE_MESG(APPLET(mesg, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 250IF_MESG(APPLET(mesg, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
251USE_MICROCOM(APPLET(microcom, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 251IF_MICROCOM(APPLET(microcom, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
252USE_MKDIR(APPLET_NOFORK(mkdir, mkdir, _BB_DIR_BIN, _BB_SUID_NEVER, mkdir)) 252IF_MKDIR(APPLET_NOFORK(mkdir, mkdir, _BB_DIR_BIN, _BB_SUID_NEVER, mkdir))
253USE_MKFS_VFAT(APPLET_ODDNAME(mkdosfs, mkfs_vfat, _BB_DIR_SBIN, _BB_SUID_NEVER, mkfs_vfat)) 253IF_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))
255USE_MKFIFO(APPLET(mkfifo, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 255IF_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))
258USE_MKFS_MINIX(APPLET_ODDNAME(mkfs.minix, mkfs_minix, _BB_DIR_SBIN, _BB_SUID_NEVER, mkfs_minix)) 258IF_MKFS_MINIX(APPLET_ODDNAME(mkfs.minix, mkfs_minix, _BB_DIR_SBIN, _BB_SUID_NEVER, mkfs_minix))
259USE_MKFS_VFAT(APPLET_ODDNAME(mkfs.vfat, mkfs_vfat, _BB_DIR_SBIN, _BB_SUID_NEVER, mkfs_vfat)) 259IF_MKFS_VFAT(APPLET_ODDNAME(mkfs.vfat, mkfs_vfat, _BB_DIR_SBIN, _BB_SUID_NEVER, mkfs_vfat))
260USE_MKNOD(APPLET(mknod, _BB_DIR_BIN, _BB_SUID_NEVER)) 260IF_MKNOD(APPLET(mknod, _BB_DIR_BIN, _BB_SUID_NEVER))
261USE_CRYPTPW(APPLET_ODDNAME(mkpasswd, cryptpw, _BB_DIR_USR_BIN, _BB_SUID_NEVER, mkpasswd)) 261IF_CRYPTPW(APPLET_ODDNAME(mkpasswd, cryptpw, _BB_DIR_USR_BIN, _BB_SUID_NEVER, mkpasswd))
262USE_MKSWAP(APPLET(mkswap, _BB_DIR_SBIN, _BB_SUID_NEVER)) 262IF_MKSWAP(APPLET(mkswap, _BB_DIR_SBIN, _BB_SUID_NEVER))
263USE_MKTEMP(APPLET(mktemp, _BB_DIR_BIN, _BB_SUID_NEVER)) 263IF_MKTEMP(APPLET(mktemp, _BB_DIR_BIN, _BB_SUID_NEVER))
264USE_MODPROBE(APPLET(modprobe, _BB_DIR_SBIN, _BB_SUID_NEVER)) 264IF_MODPROBE(APPLET(modprobe, _BB_DIR_SBIN, _BB_SUID_NEVER))
265USE_MODPROBE_SMALL(APPLET(modprobe, _BB_DIR_SBIN, _BB_SUID_NEVER)) 265IF_MODPROBE_SMALL(APPLET(modprobe, _BB_DIR_SBIN, _BB_SUID_NEVER))
266USE_MORE(APPLET(more, _BB_DIR_BIN, _BB_SUID_NEVER)) 266IF_MORE(APPLET(more, _BB_DIR_BIN, _BB_SUID_NEVER))
267USE_MOUNT(APPLET(mount, _BB_DIR_BIN, USE_DESKTOP(_BB_SUID_MAYBE) SKIP_DESKTOP(_BB_SUID_NEVER))) 267IF_MOUNT(APPLET(mount, _BB_DIR_BIN, IF_DESKTOP(_BB_SUID_MAYBE) IF_NOT_DESKTOP(_BB_SUID_NEVER)))
268USE_MOUNTPOINT(APPLET(mountpoint, _BB_DIR_BIN, _BB_SUID_NEVER)) 268IF_MOUNTPOINT(APPLET(mountpoint, _BB_DIR_BIN, _BB_SUID_NEVER))
269USE_MSH(APPLET(msh, _BB_DIR_BIN, _BB_SUID_NEVER)) 269IF_MSH(APPLET(msh, _BB_DIR_BIN, _BB_SUID_NEVER))
270USE_MT(APPLET(mt, _BB_DIR_BIN, _BB_SUID_NEVER)) 270IF_MT(APPLET(mt, _BB_DIR_BIN, _BB_SUID_NEVER))
271USE_MV(APPLET(mv, _BB_DIR_BIN, _BB_SUID_NEVER)) 271IF_MV(APPLET(mv, _BB_DIR_BIN, _BB_SUID_NEVER))
272USE_NAMEIF(APPLET(nameif, _BB_DIR_SBIN, _BB_SUID_NEVER)) 272IF_NAMEIF(APPLET(nameif, _BB_DIR_SBIN, _BB_SUID_NEVER))
273USE_NC(APPLET(nc, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 273IF_NC(APPLET(nc, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
274USE_NETSTAT(APPLET(netstat, _BB_DIR_BIN, _BB_SUID_NEVER)) 274IF_NETSTAT(APPLET(netstat, _BB_DIR_BIN, _BB_SUID_NEVER))
275USE_NICE(APPLET(nice, _BB_DIR_BIN, _BB_SUID_NEVER)) 275IF_NICE(APPLET(nice, _BB_DIR_BIN, _BB_SUID_NEVER))
276USE_NMETER(APPLET(nmeter, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 276IF_NMETER(APPLET(nmeter, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
277USE_NOHUP(APPLET(nohup, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 277IF_NOHUP(APPLET(nohup, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
278USE_NSLOOKUP(APPLET(nslookup, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 278IF_NSLOOKUP(APPLET(nslookup, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
279USE_OD(APPLET(od, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 279IF_OD(APPLET(od, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
280USE_OPENVT(APPLET(openvt, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 280IF_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))
282USE_PASSWD(APPLET(passwd, _BB_DIR_USR_BIN, _BB_SUID_ALWAYS)) 282IF_PASSWD(APPLET(passwd, _BB_DIR_USR_BIN, _BB_SUID_ALWAYS))
283USE_PATCH(APPLET(patch, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 283IF_PATCH(APPLET(patch, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
284USE_PGREP(APPLET(pgrep, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 284IF_PGREP(APPLET(pgrep, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
285USE_PIDOF(APPLET(pidof, _BB_DIR_BIN, _BB_SUID_NEVER)) 285IF_PIDOF(APPLET(pidof, _BB_DIR_BIN, _BB_SUID_NEVER))
286USE_PING(APPLET(ping, _BB_DIR_BIN, _BB_SUID_MAYBE)) 286IF_PING(APPLET(ping, _BB_DIR_BIN, _BB_SUID_MAYBE))
287USE_PING6(APPLET(ping6, _BB_DIR_BIN, _BB_SUID_NEVER)) 287IF_PING6(APPLET(ping6, _BB_DIR_BIN, _BB_SUID_NEVER))
288USE_PIPE_PROGRESS(APPLET(pipe_progress, _BB_DIR_BIN, _BB_SUID_NEVER)) 288IF_PIPE_PROGRESS(APPLET(pipe_progress, _BB_DIR_BIN, _BB_SUID_NEVER))
289USE_PIVOT_ROOT(APPLET(pivot_root, _BB_DIR_SBIN, _BB_SUID_NEVER)) 289IF_PIVOT_ROOT(APPLET(pivot_root, _BB_DIR_SBIN, _BB_SUID_NEVER))
290USE_PKILL(APPLET_ODDNAME(pkill, pgrep, _BB_DIR_USR_BIN, _BB_SUID_NEVER, pkill)) 290IF_PKILL(APPLET_ODDNAME(pkill, pgrep, _BB_DIR_USR_BIN, _BB_SUID_NEVER, pkill))
291USE_POPMAILDIR(APPLET(popmaildir, _BB_DIR_USR_SBIN, _BB_SUID_NEVER)) 291IF_POPMAILDIR(APPLET(popmaildir, _BB_DIR_USR_SBIN, _BB_SUID_NEVER))
292USE_HALT(APPLET_ODDNAME(poweroff, halt, _BB_DIR_SBIN, _BB_SUID_NEVER, poweroff)) 292IF_HALT(APPLET_ODDNAME(poweroff, halt, _BB_DIR_SBIN, _BB_SUID_NEVER, poweroff))
293USE_PRINTENV(APPLET(printenv, _BB_DIR_BIN, _BB_SUID_NEVER)) 293IF_PRINTENV(APPLET(printenv, _BB_DIR_BIN, _BB_SUID_NEVER))
294USE_PRINTF(APPLET_NOFORK(printf, printf, _BB_DIR_USR_BIN, _BB_SUID_NEVER, printf)) 294IF_PRINTF(APPLET_NOFORK(printf, printf, _BB_DIR_USR_BIN, _BB_SUID_NEVER, printf))
295USE_PS(APPLET(ps, _BB_DIR_BIN, _BB_SUID_NEVER)) 295IF_PS(APPLET(ps, _BB_DIR_BIN, _BB_SUID_NEVER))
296USE_PSCAN(APPLET(pscan, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 296IF_PSCAN(APPLET(pscan, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
297USE_PWD(APPLET_NOFORK(pwd, pwd, _BB_DIR_BIN, _BB_SUID_NEVER, pwd)) 297IF_PWD(APPLET_NOFORK(pwd, pwd, _BB_DIR_BIN, _BB_SUID_NEVER, pwd))
298USE_RAIDAUTORUN(APPLET(raidautorun, _BB_DIR_SBIN, _BB_SUID_NEVER)) 298IF_RAIDAUTORUN(APPLET(raidautorun, _BB_DIR_SBIN, _BB_SUID_NEVER))
299USE_RDATE(APPLET(rdate, _BB_DIR_USR_SBIN, _BB_SUID_NEVER)) 299IF_RDATE(APPLET(rdate, _BB_DIR_USR_SBIN, _BB_SUID_NEVER))
300USE_RDEV(APPLET(rdev, _BB_DIR_USR_SBIN, _BB_SUID_NEVER)) 300IF_RDEV(APPLET(rdev, _BB_DIR_USR_SBIN, _BB_SUID_NEVER))
301USE_READAHEAD(APPLET(readahead, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 301IF_READAHEAD(APPLET(readahead, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
302USE_READLINK(APPLET(readlink, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 302IF_READLINK(APPLET(readlink, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
303USE_READPROFILE(APPLET(readprofile, _BB_DIR_USR_SBIN, _BB_SUID_NEVER)) 303IF_READPROFILE(APPLET(readprofile, _BB_DIR_USR_SBIN, _BB_SUID_NEVER))
304USE_REALPATH(APPLET(realpath, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 304IF_REALPATH(APPLET(realpath, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
305USE_HALT(APPLET_ODDNAME(reboot, halt, _BB_DIR_SBIN, _BB_SUID_NEVER, reboot)) 305IF_HALT(APPLET_ODDNAME(reboot, halt, _BB_DIR_SBIN, _BB_SUID_NEVER, reboot))
306USE_REFORMIME(APPLET(reformime, _BB_DIR_BIN, _BB_SUID_NEVER)) 306IF_REFORMIME(APPLET(reformime, _BB_DIR_BIN, _BB_SUID_NEVER))
307USE_RENICE(APPLET(renice, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 307IF_RENICE(APPLET(renice, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
308USE_RESET(APPLET(reset, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 308IF_RESET(APPLET(reset, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
309USE_RESIZE(APPLET(resize, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 309IF_RESIZE(APPLET(resize, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
310USE_RESTORECON(APPLET_ODDNAME(restorecon, setfiles, _BB_DIR_SBIN, _BB_SUID_NEVER, restorecon)) 310IF_RESTORECON(APPLET_ODDNAME(restorecon, setfiles, _BB_DIR_SBIN, _BB_SUID_NEVER, restorecon))
311USE_RM(APPLET_NOFORK(rm, rm, _BB_DIR_BIN, _BB_SUID_NEVER, rm)) 311IF_RM(APPLET_NOFORK(rm, rm, _BB_DIR_BIN, _BB_SUID_NEVER, rm))
312USE_RMDIR(APPLET_NOFORK(rmdir, rmdir, _BB_DIR_BIN, _BB_SUID_NEVER, rmdir)) 312IF_RMDIR(APPLET_NOFORK(rmdir, rmdir, _BB_DIR_BIN, _BB_SUID_NEVER, rmdir))
313USE_RMMOD(APPLET(rmmod, _BB_DIR_SBIN, _BB_SUID_NEVER)) 313IF_RMMOD(APPLET(rmmod, _BB_DIR_SBIN, _BB_SUID_NEVER))
314USE_MODPROBE_SMALL(APPLET_ODDNAME(rmmod, modprobe, _BB_DIR_SBIN, _BB_SUID_NEVER, modprobe)) 314IF_MODPROBE_SMALL(APPLET_ODDNAME(rmmod, modprobe, _BB_DIR_SBIN, _BB_SUID_NEVER, modprobe))
315USE_ROUTE(APPLET(route, _BB_DIR_SBIN, _BB_SUID_NEVER)) 315IF_ROUTE(APPLET(route, _BB_DIR_SBIN, _BB_SUID_NEVER))
316USE_RPM(APPLET(rpm, _BB_DIR_BIN, _BB_SUID_NEVER)) 316IF_RPM(APPLET(rpm, _BB_DIR_BIN, _BB_SUID_NEVER))
317USE_RPM2CPIO(APPLET(rpm2cpio, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 317IF_RPM2CPIO(APPLET(rpm2cpio, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
318USE_RTCWAKE(APPLET(rtcwake, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 318IF_RTCWAKE(APPLET(rtcwake, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
319USE_RUN_PARTS(APPLET_ODDNAME(run-parts, run_parts, _BB_DIR_BIN, _BB_SUID_NEVER, run_parts)) 319IF_RUN_PARTS(APPLET_ODDNAME(run-parts, run_parts, _BB_DIR_BIN, _BB_SUID_NEVER, run_parts))
320USE_RUNCON(APPLET(runcon, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 320IF_RUNCON(APPLET(runcon, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
321USE_RUNLEVEL(APPLET(runlevel, _BB_DIR_SBIN, _BB_SUID_NEVER)) 321IF_RUNLEVEL(APPLET(runlevel, _BB_DIR_SBIN, _BB_SUID_NEVER))
322USE_RUNSV(APPLET(runsv, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 322IF_RUNSV(APPLET(runsv, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
323USE_RUNSVDIR(APPLET(runsvdir, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 323IF_RUNSVDIR(APPLET(runsvdir, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
324USE_RX(APPLET(rx, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 324IF_RX(APPLET(rx, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
325USE_SCRIPT(APPLET(script, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 325IF_SCRIPT(APPLET(script, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
326USE_SED(APPLET(sed, _BB_DIR_BIN, _BB_SUID_NEVER)) 326IF_SED(APPLET(sed, _BB_DIR_BIN, _BB_SUID_NEVER))
327USE_SELINUXENABLED(APPLET(selinuxenabled, _BB_DIR_USR_SBIN, _BB_SUID_NEVER)) 327IF_SELINUXENABLED(APPLET(selinuxenabled, _BB_DIR_USR_SBIN, _BB_SUID_NEVER))
328USE_SENDMAIL(APPLET(sendmail, _BB_DIR_USR_SBIN, _BB_SUID_NEVER)) 328IF_SENDMAIL(APPLET(sendmail, _BB_DIR_USR_SBIN, _BB_SUID_NEVER))
329USE_SEQ(APPLET_NOFORK(seq, seq, _BB_DIR_USR_BIN, _BB_SUID_NEVER, seq)) 329IF_SEQ(APPLET_NOFORK(seq, seq, _BB_DIR_USR_BIN, _BB_SUID_NEVER, seq))
330USE_SESTATUS(APPLET(sestatus, _BB_DIR_USR_SBIN, _BB_SUID_NEVER)) 330IF_SESTATUS(APPLET(sestatus, _BB_DIR_USR_SBIN, _BB_SUID_NEVER))
331USE_SETARCH(APPLET(setarch, _BB_DIR_BIN, _BB_SUID_NEVER)) 331IF_SETARCH(APPLET(setarch, _BB_DIR_BIN, _BB_SUID_NEVER))
332USE_SETCONSOLE(APPLET(setconsole, _BB_DIR_SBIN, _BB_SUID_NEVER)) 332IF_SETCONSOLE(APPLET(setconsole, _BB_DIR_SBIN, _BB_SUID_NEVER))
333USE_SETENFORCE(APPLET(setenforce, _BB_DIR_USR_SBIN, _BB_SUID_NEVER)) 333IF_SETENFORCE(APPLET(setenforce, _BB_DIR_USR_SBIN, _BB_SUID_NEVER))
334USE_SETFILES(APPLET(setfiles, _BB_DIR_SBIN, _BB_SUID_NEVER)) 334IF_SETFILES(APPLET(setfiles, _BB_DIR_SBIN, _BB_SUID_NEVER))
335USE_SETFONT(APPLET(setfont, _BB_DIR_USR_SBIN, _BB_SUID_NEVER)) 335IF_SETFONT(APPLET(setfont, _BB_DIR_USR_SBIN, _BB_SUID_NEVER))
336USE_SETKEYCODES(APPLET(setkeycodes, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 336IF_SETKEYCODES(APPLET(setkeycodes, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
337USE_SETLOGCONS(APPLET(setlogcons, _BB_DIR_USR_SBIN, _BB_SUID_NEVER)) 337IF_SETLOGCONS(APPLET(setlogcons, _BB_DIR_USR_SBIN, _BB_SUID_NEVER))
338USE_SETSEBOOL(APPLET(setsebool, _BB_DIR_USR_SBIN, _BB_SUID_NEVER)) 338IF_SETSEBOOL(APPLET(setsebool, _BB_DIR_USR_SBIN, _BB_SUID_NEVER))
339USE_SETSID(APPLET(setsid, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 339IF_SETSID(APPLET(setsid, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
340USE_SETUIDGID(APPLET_ODDNAME(setuidgid, chpst, _BB_DIR_USR_BIN, _BB_SUID_NEVER, setuidgid)) 340IF_SETUIDGID(APPLET_ODDNAME(setuidgid, chpst, _BB_DIR_USR_BIN, _BB_SUID_NEVER, setuidgid))
341USE_FEATURE_SH_IS_ASH(APPLET_ODDNAME(sh, ash, _BB_DIR_BIN, _BB_SUID_NEVER, sh)) 341IF_FEATURE_SH_IS_ASH(APPLET_ODDNAME(sh, ash, _BB_DIR_BIN, _BB_SUID_NEVER, sh))
342USE_FEATURE_SH_IS_HUSH(APPLET_ODDNAME(sh, hush, _BB_DIR_BIN, _BB_SUID_NEVER, sh)) 342IF_FEATURE_SH_IS_HUSH(APPLET_ODDNAME(sh, hush, _BB_DIR_BIN, _BB_SUID_NEVER, sh))
343USE_FEATURE_SH_IS_MSH(APPLET_ODDNAME(sh, msh, _BB_DIR_BIN, _BB_SUID_NEVER, sh)) 343IF_FEATURE_SH_IS_MSH(APPLET_ODDNAME(sh, msh, _BB_DIR_BIN, _BB_SUID_NEVER, sh))
344USE_SHA1SUM(APPLET_ODDNAME(sha1sum, md5_sha1_sum, _BB_DIR_USR_BIN, _BB_SUID_NEVER, sha1sum)) 344IF_SHA1SUM(APPLET_ODDNAME(sha1sum, md5_sha1_sum, _BB_DIR_USR_BIN, _BB_SUID_NEVER, sha1sum))
345USE_SHA256SUM(APPLET_ODDNAME(sha256sum, md5_sha1_sum, _BB_DIR_USR_BIN, _BB_SUID_NEVER, sha256sum)) 345IF_SHA256SUM(APPLET_ODDNAME(sha256sum, md5_sha1_sum, _BB_DIR_USR_BIN, _BB_SUID_NEVER, sha256sum))
346USE_SHA512SUM(APPLET_ODDNAME(sha512sum, md5_sha1_sum, _BB_DIR_USR_BIN, _BB_SUID_NEVER, sha512sum)) 346IF_SHA512SUM(APPLET_ODDNAME(sha512sum, md5_sha1_sum, _BB_DIR_USR_BIN, _BB_SUID_NEVER, sha512sum))
347USE_SHOWKEY(APPLET(showkey, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 347IF_SHOWKEY(APPLET(showkey, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
348USE_SLATTACH(APPLET(slattach, _BB_DIR_SBIN, _BB_SUID_NEVER)) 348IF_SLATTACH(APPLET(slattach, _BB_DIR_SBIN, _BB_SUID_NEVER))
349USE_SLEEP(APPLET_NOFORK(sleep, sleep, _BB_DIR_BIN, _BB_SUID_NEVER, sleep)) 349IF_SLEEP(APPLET_NOFORK(sleep, sleep, _BB_DIR_BIN, _BB_SUID_NEVER, sleep))
350USE_SOFTLIMIT(APPLET_ODDNAME(softlimit, chpst, _BB_DIR_USR_BIN, _BB_SUID_NEVER, softlimit)) 350IF_SOFTLIMIT(APPLET_ODDNAME(softlimit, chpst, _BB_DIR_USR_BIN, _BB_SUID_NEVER, softlimit))
351USE_SORT(APPLET_NOEXEC(sort, sort, _BB_DIR_USR_BIN, _BB_SUID_NEVER, sort)) 351IF_SORT(APPLET_NOEXEC(sort, sort, _BB_DIR_USR_BIN, _BB_SUID_NEVER, sort))
352USE_SPLIT(APPLET(split, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 352IF_SPLIT(APPLET(split, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
353USE_START_STOP_DAEMON(APPLET_ODDNAME(start-stop-daemon, start_stop_daemon, _BB_DIR_SBIN, _BB_SUID_NEVER, start_stop_daemon)) 353IF_START_STOP_DAEMON(APPLET_ODDNAME(start-stop-daemon, start_stop_daemon, _BB_DIR_SBIN, _BB_SUID_NEVER, start_stop_daemon))
354USE_STAT(APPLET(stat, _BB_DIR_BIN, _BB_SUID_NEVER)) 354IF_STAT(APPLET(stat, _BB_DIR_BIN, _BB_SUID_NEVER))
355USE_STRINGS(APPLET(strings, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 355IF_STRINGS(APPLET(strings, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
356USE_STTY(APPLET(stty, _BB_DIR_BIN, _BB_SUID_NEVER)) 356IF_STTY(APPLET(stty, _BB_DIR_BIN, _BB_SUID_NEVER))
357USE_SU(APPLET(su, _BB_DIR_BIN, _BB_SUID_ALWAYS)) 357IF_SU(APPLET(su, _BB_DIR_BIN, _BB_SUID_ALWAYS))
358USE_SULOGIN(APPLET(sulogin, _BB_DIR_SBIN, _BB_SUID_NEVER)) 358IF_SULOGIN(APPLET(sulogin, _BB_DIR_SBIN, _BB_SUID_NEVER))
359USE_SUM(APPLET(sum, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 359IF_SUM(APPLET(sum, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
360USE_SV(APPLET(sv, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 360IF_SV(APPLET(sv, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
361USE_SVLOGD(APPLET(svlogd, _BB_DIR_USR_SBIN, _BB_SUID_NEVER)) 361IF_SVLOGD(APPLET(svlogd, _BB_DIR_USR_SBIN, _BB_SUID_NEVER))
362USE_SWAPONOFF(APPLET_ODDNAME(swapoff, swap_on_off, _BB_DIR_SBIN, _BB_SUID_NEVER,swapoff)) 362IF_SWAPONOFF(APPLET_ODDNAME(swapoff, swap_on_off, _BB_DIR_SBIN, _BB_SUID_NEVER,swapoff))
363USE_SWAPONOFF(APPLET_ODDNAME(swapon, swap_on_off, _BB_DIR_SBIN, _BB_SUID_NEVER, swapon)) 363IF_SWAPONOFF(APPLET_ODDNAME(swapon, swap_on_off, _BB_DIR_SBIN, _BB_SUID_NEVER, swapon))
364USE_SWITCH_ROOT(APPLET(switch_root, _BB_DIR_SBIN, _BB_SUID_NEVER)) 364IF_SWITCH_ROOT(APPLET(switch_root, _BB_DIR_SBIN, _BB_SUID_NEVER))
365USE_SYNC(APPLET_NOFORK(sync, sync, _BB_DIR_BIN, _BB_SUID_NEVER, sync)) 365IF_SYNC(APPLET_NOFORK(sync, sync, _BB_DIR_BIN, _BB_SUID_NEVER, sync))
366USE_BB_SYSCTL(APPLET(sysctl, _BB_DIR_SBIN, _BB_SUID_NEVER)) 366IF_BB_SYSCTL(APPLET(sysctl, _BB_DIR_SBIN, _BB_SUID_NEVER))
367USE_SYSLOGD(APPLET(syslogd, _BB_DIR_SBIN, _BB_SUID_NEVER)) 367IF_SYSLOGD(APPLET(syslogd, _BB_DIR_SBIN, _BB_SUID_NEVER))
368USE_TAC(APPLET_NOEXEC(tac, tac, _BB_DIR_USR_BIN, _BB_SUID_NEVER, tac)) 368IF_TAC(APPLET_NOEXEC(tac, tac, _BB_DIR_USR_BIN, _BB_SUID_NEVER, tac))
369USE_TAIL(APPLET(tail, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 369IF_TAIL(APPLET(tail, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
370USE_TAR(APPLET(tar, _BB_DIR_BIN, _BB_SUID_NEVER)) 370IF_TAR(APPLET(tar, _BB_DIR_BIN, _BB_SUID_NEVER))
371USE_TASKSET(APPLET(taskset, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 371IF_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)) */
373USE_TCPSVD(APPLET_ODDNAME(tcpsvd, tcpudpsvd, _BB_DIR_USR_BIN, _BB_SUID_NEVER, tcpsvd)) 373IF_TCPSVD(APPLET_ODDNAME(tcpsvd, tcpudpsvd, _BB_DIR_USR_BIN, _BB_SUID_NEVER, tcpsvd))
374USE_TEE(APPLET(tee, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 374IF_TEE(APPLET(tee, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
375USE_TELNET(APPLET(telnet, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 375IF_TELNET(APPLET(telnet, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
376USE_TELNETD(APPLET(telnetd, _BB_DIR_USR_SBIN, _BB_SUID_NEVER)) 376IF_TELNETD(APPLET(telnetd, _BB_DIR_USR_SBIN, _BB_SUID_NEVER))
377USE_TEST(APPLET_NOFORK(test, test, _BB_DIR_USR_BIN, _BB_SUID_NEVER, test)) 377IF_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
379USE_TFTP(APPLET(tftp, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 379IF_TFTP(APPLET(tftp, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
380USE_TFTPD(APPLET(tftpd, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 380IF_TFTPD(APPLET(tftpd, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
381#endif 381#endif
382USE_TIME(APPLET(time, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 382IF_TIME(APPLET(time, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
383USE_TIMEOUT(APPLET(timeout, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 383IF_TIMEOUT(APPLET(timeout, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
384USE_TOP(APPLET(top, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 384IF_TOP(APPLET(top, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
385USE_TOUCH(APPLET_NOFORK(touch, touch, _BB_DIR_BIN, _BB_SUID_NEVER, touch)) 385IF_TOUCH(APPLET_NOFORK(touch, touch, _BB_DIR_BIN, _BB_SUID_NEVER, touch))
386USE_TR(APPLET(tr, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 386IF_TR(APPLET(tr, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
387USE_TRACEROUTE(APPLET(traceroute, _BB_DIR_USR_BIN, _BB_SUID_MAYBE)) 387IF_TRACEROUTE(APPLET(traceroute, _BB_DIR_USR_BIN, _BB_SUID_MAYBE))
388USE_TRUE(APPLET_NOFORK(true, true, _BB_DIR_BIN, _BB_SUID_NEVER, true)) 388IF_TRUE(APPLET_NOFORK(true, true, _BB_DIR_BIN, _BB_SUID_NEVER, true))
389USE_TTY(APPLET(tty, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 389IF_TTY(APPLET(tty, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
390USE_TTYSIZE(APPLET(ttysize, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 390IF_TTYSIZE(APPLET(ttysize, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
391USE_TUNCTL(APPLET(tunctl, _BB_DIR_SBIN, _BB_SUID_NEVER)) 391IF_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))
393USE_APP_UDHCPC(APPLET(udhcpc, _BB_DIR_SBIN, _BB_SUID_NEVER)) 393IF_APP_UDHCPC(APPLET(udhcpc, _BB_DIR_SBIN, _BB_SUID_NEVER))
394USE_APP_UDHCPD(APPLET(udhcpd, _BB_DIR_USR_SBIN, _BB_SUID_NEVER)) 394IF_APP_UDHCPD(APPLET(udhcpd, _BB_DIR_USR_SBIN, _BB_SUID_NEVER))
395USE_UDPSVD(APPLET_ODDNAME(udpsvd, tcpudpsvd, _BB_DIR_USR_BIN, _BB_SUID_NEVER, udpsvd)) 395IF_UDPSVD(APPLET_ODDNAME(udpsvd, tcpudpsvd, _BB_DIR_USR_BIN, _BB_SUID_NEVER, udpsvd))
396USE_UMOUNT(APPLET(umount, _BB_DIR_BIN, _BB_SUID_NEVER)) 396IF_UMOUNT(APPLET(umount, _BB_DIR_BIN, _BB_SUID_NEVER))
397USE_UNAME(APPLET(uname, _BB_DIR_BIN, _BB_SUID_NEVER)) 397IF_UNAME(APPLET(uname, _BB_DIR_BIN, _BB_SUID_NEVER))
398USE_UNCOMPRESS(APPLET(uncompress, _BB_DIR_BIN, _BB_SUID_NEVER)) 398IF_UNCOMPRESS(APPLET(uncompress, _BB_DIR_BIN, _BB_SUID_NEVER))
399USE_UNEXPAND(APPLET_ODDNAME(unexpand, expand, _BB_DIR_USR_BIN, _BB_SUID_NEVER, unexpand)) 399IF_UNEXPAND(APPLET_ODDNAME(unexpand, expand, _BB_DIR_USR_BIN, _BB_SUID_NEVER, unexpand))
400USE_UNIQ(APPLET(uniq, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 400IF_UNIQ(APPLET(uniq, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
401USE_UNIX2DOS(APPLET_ODDNAME(unix2dos, dos2unix, _BB_DIR_USR_BIN, _BB_SUID_NEVER, unix2dos)) 401IF_UNIX2DOS(APPLET_ODDNAME(unix2dos, dos2unix, _BB_DIR_USR_BIN, _BB_SUID_NEVER, unix2dos))
402USE_UNLZMA(APPLET(unlzma, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 402IF_UNLZMA(APPLET(unlzma, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
403USE_UNZIP(APPLET(unzip, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 403IF_UNZIP(APPLET(unzip, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
404USE_UPTIME(APPLET(uptime, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 404IF_UPTIME(APPLET(uptime, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
405USE_USLEEP(APPLET_NOFORK(usleep, usleep, _BB_DIR_BIN, _BB_SUID_NEVER, usleep)) 405IF_USLEEP(APPLET_NOFORK(usleep, usleep, _BB_DIR_BIN, _BB_SUID_NEVER, usleep))
406USE_UUDECODE(APPLET(uudecode, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 406IF_UUDECODE(APPLET(uudecode, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
407USE_UUENCODE(APPLET(uuencode, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 407IF_UUENCODE(APPLET(uuencode, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
408USE_VCONFIG(APPLET(vconfig, _BB_DIR_SBIN, _BB_SUID_NEVER)) 408IF_VCONFIG(APPLET(vconfig, _BB_DIR_SBIN, _BB_SUID_NEVER))
409USE_VI(APPLET(vi, _BB_DIR_BIN, _BB_SUID_NEVER)) 409IF_VI(APPLET(vi, _BB_DIR_BIN, _BB_SUID_NEVER))
410USE_VLOCK(APPLET(vlock, _BB_DIR_USR_BIN, _BB_SUID_ALWAYS)) 410IF_VLOCK(APPLET(vlock, _BB_DIR_USR_BIN, _BB_SUID_ALWAYS))
411USE_WATCH(APPLET(watch, _BB_DIR_BIN, _BB_SUID_NEVER)) 411IF_WATCH(APPLET(watch, _BB_DIR_BIN, _BB_SUID_NEVER))
412USE_WATCHDOG(APPLET(watchdog, _BB_DIR_SBIN, _BB_SUID_NEVER)) 412IF_WATCHDOG(APPLET(watchdog, _BB_DIR_SBIN, _BB_SUID_NEVER))
413USE_WC(APPLET(wc, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 413IF_WC(APPLET(wc, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
414USE_WGET(APPLET(wget, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 414IF_WGET(APPLET(wget, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
415USE_WHICH(APPLET(which, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 415IF_WHICH(APPLET(which, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
416USE_WHO(APPLET(who, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 416IF_WHO(APPLET(who, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
417USE_WHOAMI(APPLET_NOFORK(whoami, whoami, _BB_DIR_USR_BIN, _BB_SUID_NEVER, whoami)) 417IF_WHOAMI(APPLET_NOFORK(whoami, whoami, _BB_DIR_USR_BIN, _BB_SUID_NEVER, whoami))
418USE_XARGS(APPLET_NOEXEC(xargs, xargs, _BB_DIR_USR_BIN, _BB_SUID_NEVER, xargs)) 418IF_XARGS(APPLET_NOEXEC(xargs, xargs, _BB_DIR_USR_BIN, _BB_SUID_NEVER, xargs))
419USE_YES(APPLET_NOFORK(yes, yes, _BB_DIR_USR_BIN, _BB_SUID_NEVER, yes)) 419IF_YES(APPLET_NOFORK(yes, yes, _BB_DIR_USR_BIN, _BB_SUID_NEVER, yes))
420USE_GUNZIP(APPLET_ODDNAME(zcat, gunzip, _BB_DIR_BIN, _BB_SUID_NEVER, zcat)) 420IF_GUNZIP(APPLET_ODDNAME(zcat, gunzip, _BB_DIR_BIN, _BB_SUID_NEVER, zcat))
421USE_ZCIP(APPLET(zcip, _BB_DIR_SBIN, _BB_SUID_NEVER)) 421IF_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")
264extern int remove_file(const char *path, int flags) FAST_FUNC; 264extern 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 */
917int bb_cat(char** argv); 917int 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 */
919int echo_main(int argc, char** argv) USE_ECHO(MAIN_EXTERNALLY_VISIBLE); 919int echo_main(int argc, char** argv) IF_ECHO(MAIN_EXTERNALLY_VISIBLE);
920int printf_main(int argc, char **argv) USE_PRINTF(MAIN_EXTERNALLY_VISIBLE); 920int printf_main(int argc, char **argv) IF_PRINTF(MAIN_EXTERNALLY_VISIBLE);
921int test_main(int argc, char **argv) USE_TEST(MAIN_EXTERNALLY_VISIBLE); 921int test_main(int argc, char **argv) IF_TEST(MAIN_EXTERNALLY_VISIBLE);
922int kill_main(int argc, char **argv) USE_KILL(MAIN_EXTERNALLY_VISIBLE); 922int 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 */
924int chown_main(int argc, char **argv) USE_CHOWN(MAIN_EXTERNALLY_VISIBLE); 924int chown_main(int argc, char **argv) IF_CHOWN(MAIN_EXTERNALLY_VISIBLE);
925/* Used by ftpd */ 925/* Used by ftpd */
926int ls_main(int argc, char **argv) USE_LS(MAIN_EXTERNALLY_VISIBLE); 926int 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 */
928int gunzip_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; 928int gunzip_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
929int bunzip2_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; 929int 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
128USE_DESKTOP(long long) int inflate_unzip(inflate_unzip_result *res, off_t compr_size, int src_fd, int dst_fd) FAST_FUNC; 128IF_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 */
130USE_DESKTOP(long long) int unpack_lzma_stream(int src_fd, int dst_fd) FAST_FUNC; 130IF_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 */
132USE_DESKTOP(long long) int unpack_bz2_stream(int src_fd, int dst_fd) FAST_FUNC; 132IF_DESKTOP(long long) int unpack_bz2_stream(int src_fd, int dst_fd) FAST_FUNC;
133USE_DESKTOP(long long) int unpack_gz_stream(int src_fd, int dst_fd) FAST_FUNC; 133IF_DESKTOP(long long) int unpack_gz_stream(int src_fd, int dst_fd) FAST_FUNC;
134USE_DESKTOP(long long) int unpack_gz_stream_with_info(int src_fd, int dst_fd, unpack_info_t *info) FAST_FUNC; 134IF_DESKTOP(long long) int unpack_gz_stream_with_info(int src_fd, int dst_fd, unpack_info_t *info) FAST_FUNC;
135USE_DESKTOP(long long) int unpack_Z_stream(int fd_in, int fd_out) FAST_FUNC; 135IF_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" */
137USE_DESKTOP(long long) int unpack_bz2_stream_prime(int src_fd, int dst_fd) FAST_FUNC; 137IF_DESKTOP(long long) int unpack_bz2_stream_prime(int src_fd, int dst_fd) FAST_FUNC;
138 138
139int bbunpack(char **argv, 139int 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
144void open_transformer(int fd, 144void 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
148void open_transformer(int src_fd, const char *transform_prog) FAST_FUNC; 148void 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'" \
4536USE_FEATURE_TUNCTL_UG( \ 4536IF_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 \