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