diff options
Diffstat (limited to 'busybox.c')
-rw-r--r-- | busybox.c | 218 |
1 files changed, 110 insertions, 108 deletions
@@ -37,325 +37,325 @@ void *__libc_stack_end; | |||
37 | const struct BB_applet applets[] = { | 37 | const struct BB_applet applets[] = { |
38 | 38 | ||
39 | #ifdef BB_AR | 39 | #ifdef BB_AR |
40 | {"ar", ar_main, _BB_DIR_USR_BIN}, | 40 | {"ar", ar_main, _BB_DIR_USR_BIN, ar_usage}, |
41 | #endif | 41 | #endif |
42 | #ifdef BB_BASENAME | 42 | #ifdef BB_BASENAME |
43 | {"basename", basename_main, _BB_DIR_USR_BIN}, | 43 | {"basename", basename_main, _BB_DIR_USR_BIN, basename_usage}, |
44 | #endif | 44 | #endif |
45 | {"busybox", busybox_main, _BB_DIR_BIN}, | 45 | {"busybox", busybox_main, _BB_DIR_BIN, NULL}, |
46 | #ifdef BB_CAT | 46 | #ifdef BB_CAT |
47 | {"cat", cat_main, _BB_DIR_BIN}, | 47 | {"cat", cat_main, _BB_DIR_BIN, cat_usage}, |
48 | #endif | 48 | #endif |
49 | #ifdef BB_CHMOD_CHOWN_CHGRP | 49 | #ifdef BB_CHMOD_CHOWN_CHGRP |
50 | {"chgrp", chmod_chown_chgrp_main, _BB_DIR_BIN}, | 50 | {"chgrp", chmod_chown_chgrp_main, _BB_DIR_BIN, chgrp_usage}, |
51 | #endif | 51 | #endif |
52 | #ifdef BB_CHMOD_CHOWN_CHGRP | 52 | #ifdef BB_CHMOD_CHOWN_CHGRP |
53 | {"chmod", chmod_chown_chgrp_main, _BB_DIR_BIN}, | 53 | {"chmod", chmod_chown_chgrp_main, _BB_DIR_BIN, chmod_usage}, |
54 | #endif | 54 | #endif |
55 | #ifdef BB_CHMOD_CHOWN_CHGRP | 55 | #ifdef BB_CHMOD_CHOWN_CHGRP |
56 | {"chown", chmod_chown_chgrp_main, _BB_DIR_BIN}, | 56 | {"chown", chmod_chown_chgrp_main, _BB_DIR_BIN, chown_usage}, |
57 | #endif | 57 | #endif |
58 | #ifdef BB_CHROOT | 58 | #ifdef BB_CHROOT |
59 | {"chroot", chroot_main, _BB_DIR_SBIN}, | 59 | {"chroot", chroot_main, _BB_DIR_SBIN, chroot_usage}, |
60 | #endif | 60 | #endif |
61 | #ifdef BB_CLEAR | 61 | #ifdef BB_CLEAR |
62 | {"clear", clear_main, _BB_DIR_USR_BIN}, | 62 | {"clear", clear_main, _BB_DIR_USR_BIN, clear_usage}, |
63 | #endif | 63 | #endif |
64 | #ifdef BB_CHVT | 64 | #ifdef BB_CHVT |
65 | {"chvt", chvt_main, _BB_DIR_USR_BIN}, | 65 | {"chvt", chvt_main, _BB_DIR_USR_BIN, chvt_usage}, |
66 | #endif | 66 | #endif |
67 | #ifdef BB_CP_MV | 67 | #ifdef BB_CP_MV |
68 | {"cp", cp_mv_main, _BB_DIR_BIN}, | 68 | {"cp", cp_mv_main, _BB_DIR_BIN, cp_usage}, |
69 | #endif | 69 | #endif |
70 | #ifdef BB_CUT | 70 | #ifdef BB_CUT |
71 | {"cut", cut_main, _BB_DIR_USR_BIN}, | 71 | {"cut", cut_main, _BB_DIR_USR_BIN, cut_usage}, |
72 | #endif | 72 | #endif |
73 | #ifdef BB_DATE | 73 | #ifdef BB_DATE |
74 | {"date", date_main, _BB_DIR_BIN}, | 74 | {"date", date_main, _BB_DIR_BIN, date_usage}, |
75 | #endif | 75 | #endif |
76 | #ifdef BB_DC | 76 | #ifdef BB_DC |
77 | {"dc", dc_main, _BB_DIR_USR_BIN}, | 77 | {"dc", dc_main, _BB_DIR_USR_BIN, dc_usage}, |
78 | #endif | 78 | #endif |
79 | #ifdef BB_DD | 79 | #ifdef BB_DD |
80 | {"dd", dd_main, _BB_DIR_BIN}, | 80 | {"dd", dd_main, _BB_DIR_BIN, dd_usage}, |
81 | #endif | 81 | #endif |
82 | #ifdef BB_DF | 82 | #ifdef BB_DF |
83 | {"df", df_main, _BB_DIR_BIN}, | 83 | {"df", df_main, _BB_DIR_BIN, df_usage}, |
84 | #endif | 84 | #endif |
85 | #ifdef BB_DIRNAME | 85 | #ifdef BB_DIRNAME |
86 | {"dirname", dirname_main, _BB_DIR_USR_BIN}, | 86 | {"dirname", dirname_main, _BB_DIR_USR_BIN, dirname_usage}, |
87 | #endif | 87 | #endif |
88 | #ifdef BB_DMESG | 88 | #ifdef BB_DMESG |
89 | {"dmesg", dmesg_main, _BB_DIR_BIN}, | 89 | {"dmesg", dmesg_main, _BB_DIR_BIN, dmesg_usage}, |
90 | #endif | 90 | #endif |
91 | #ifdef BB_DU | 91 | #ifdef BB_DU |
92 | {"du", du_main, _BB_DIR_BIN}, | 92 | {"du", du_main, _BB_DIR_BIN, du_usage}, |
93 | #endif | 93 | #endif |
94 | #ifdef BB_DUMPKMAP | 94 | #ifdef BB_DUMPKMAP |
95 | {"dumpkmap", dumpkmap_main, _BB_DIR_BIN}, | 95 | {"dumpkmap", dumpkmap_main, _BB_DIR_BIN, dumpkmap_usage}, |
96 | #endif | 96 | #endif |
97 | #ifdef BB_DUTMP | 97 | #ifdef BB_DUTMP |
98 | {"dutmp", dutmp_main, _BB_DIR_USR_SBIN}, | 98 | {"dutmp", dutmp_main, _BB_DIR_USR_SBIN, dutmp_usage}, |
99 | #endif | 99 | #endif |
100 | #ifdef BB_ECHO | 100 | #ifdef BB_ECHO |
101 | {"echo", echo_main, _BB_DIR_BIN}, | 101 | {"echo", echo_main, _BB_DIR_BIN, echo_usage}, |
102 | #endif | 102 | #endif |
103 | #ifdef BB_TRUE_FALSE | 103 | #ifdef BB_TRUE_FALSE |
104 | {"false", false_main, _BB_DIR_BIN}, | 104 | {"false", false_main, _BB_DIR_BIN, false_usage}, |
105 | #endif | 105 | #endif |
106 | #ifdef BB_FBSET | 106 | #ifdef BB_FBSET |
107 | {"fbset", fbset_main, _BB_DIR_USR_SBIN}, | 107 | {"fbset", fbset_main, _BB_DIR_USR_SBIN, NULL}, |
108 | #endif | 108 | #endif |
109 | #ifdef BB_FDFLUSH | 109 | #ifdef BB_FDFLUSH |
110 | {"fdflush", fdflush_main, _BB_DIR_BIN}, | 110 | {"fdflush", fdflush_main, _BB_DIR_BIN, fdflush_usage}, |
111 | #endif | 111 | #endif |
112 | #ifdef BB_FIND | 112 | #ifdef BB_FIND |
113 | {"find", find_main, _BB_DIR_USR_BIN}, | 113 | {"find", find_main, _BB_DIR_USR_BIN, find_usage}, |
114 | #endif | 114 | #endif |
115 | #ifdef BB_FREE | 115 | #ifdef BB_FREE |
116 | {"free", free_main, _BB_DIR_USR_BIN}, | 116 | {"free", free_main, _BB_DIR_USR_BIN, free_usage}, |
117 | #endif | 117 | #endif |
118 | #ifdef BB_FREERAMDISK | 118 | #ifdef BB_FREERAMDISK |
119 | {"freeramdisk", freeramdisk_main, _BB_DIR_SBIN}, | 119 | {"freeramdisk", freeramdisk_main, _BB_DIR_SBIN, freeramdisk_usage}, |
120 | #endif | 120 | #endif |
121 | #ifdef BB_DEALLOCVT | 121 | #ifdef BB_DEALLOCVT |
122 | {"deallocvt", deallocvt_main, _BB_DIR_USR_BIN}, | 122 | {"deallocvt", deallocvt_main, _BB_DIR_USR_BIN, deallocvt_usage}, |
123 | #endif | 123 | #endif |
124 | #ifdef BB_FSCK_MINIX | 124 | #ifdef BB_FSCK_MINIX |
125 | {"fsck.minix", fsck_minix_main, _BB_DIR_SBIN}, | 125 | {"fsck.minix", fsck_minix_main, _BB_DIR_SBIN, fsck_minix_usage}, |
126 | #endif | 126 | #endif |
127 | #ifdef BB_GREP | 127 | #ifdef BB_GREP |
128 | {"grep", grep_main, _BB_DIR_BIN}, | 128 | {"grep", grep_main, _BB_DIR_BIN, grep_usage}, |
129 | #endif | 129 | #endif |
130 | #ifdef BB_GUNZIP | 130 | #ifdef BB_GUNZIP |
131 | {"gunzip", gunzip_main, _BB_DIR_BIN}, | 131 | {"gunzip", gunzip_main, _BB_DIR_BIN, gunzip_usage}, |
132 | #endif | 132 | #endif |
133 | #ifdef BB_GZIP | 133 | #ifdef BB_GZIP |
134 | {"gzip", gzip_main, _BB_DIR_BIN}, | 134 | {"gzip", gzip_main, _BB_DIR_BIN, gzip_usage}, |
135 | #endif | 135 | #endif |
136 | #ifdef BB_HALT | 136 | #ifdef BB_HALT |
137 | {"halt", halt_main, _BB_DIR_SBIN}, | 137 | {"halt", halt_main, _BB_DIR_SBIN, halt_usage}, |
138 | #endif | 138 | #endif |
139 | #ifdef BB_HEAD | 139 | #ifdef BB_HEAD |
140 | {"head", head_main, _BB_DIR_USR_BIN}, | 140 | {"head", head_main, _BB_DIR_USR_BIN, head_usage}, |
141 | #endif | 141 | #endif |
142 | #ifdef BB_HOSTID | 142 | #ifdef BB_HOSTID |
143 | {"hostid", hostid_main, _BB_DIR_USR_BIN}, | 143 | {"hostid", hostid_main, _BB_DIR_USR_BIN, hostid_usage}, |
144 | #endif | 144 | #endif |
145 | #ifdef BB_HOSTNAME | 145 | #ifdef BB_HOSTNAME |
146 | {"hostname", hostname_main, _BB_DIR_BIN}, | 146 | {"hostname", hostname_main, _BB_DIR_BIN, hostname_usage}, |
147 | #endif | 147 | #endif |
148 | #ifdef BB_ID | 148 | #ifdef BB_ID |
149 | {"id", id_main, _BB_DIR_USR_BIN}, | 149 | {"id", id_main, _BB_DIR_USR_BIN, id_usage}, |
150 | #endif | 150 | #endif |
151 | #ifdef BB_INIT | 151 | #ifdef BB_INIT |
152 | {"init", init_main, _BB_DIR_SBIN}, | 152 | {"init", init_main, _BB_DIR_SBIN, NULL}, |
153 | #endif | 153 | #endif |
154 | #ifdef BB_INSMOD | 154 | #ifdef BB_INSMOD |
155 | {"insmod", insmod_main, _BB_DIR_SBIN}, | 155 | {"insmod", insmod_main, _BB_DIR_SBIN, insmod_usage}, |
156 | #endif | 156 | #endif |
157 | #ifdef BB_KILL | 157 | #ifdef BB_KILL |
158 | {"kill", kill_main, _BB_DIR_BIN}, | 158 | {"kill", kill_main, _BB_DIR_BIN, kill_usage}, |
159 | #endif | 159 | #endif |
160 | #ifdef BB_KILLALL | 160 | #ifdef BB_KILLALL |
161 | {"killall", kill_main, _BB_DIR_USR_BIN}, | 161 | {"killall", kill_main, _BB_DIR_USR_BIN, kill_usage}, |
162 | #endif | 162 | #endif |
163 | #ifdef BB_LENGTH | 163 | #ifdef BB_LENGTH |
164 | {"length", length_main, _BB_DIR_USR_BIN}, | 164 | {"length", length_main, _BB_DIR_USR_BIN, length_usage}, |
165 | #endif | 165 | #endif |
166 | #ifdef BB_LINUXRC | 166 | #ifdef BB_LINUXRC |
167 | {"linuxrc", init_main, _BB_DIR_ROOT}, | 167 | {"linuxrc", init_main, _BB_DIR_ROOT, init_usage}, |
168 | #endif | 168 | #endif |
169 | #ifdef BB_LN | 169 | #ifdef BB_LN |
170 | {"ln", ln_main, _BB_DIR_BIN}, | 170 | {"ln", ln_main, _BB_DIR_BIN, ln_usage}, |
171 | #endif | 171 | #endif |
172 | #ifdef BB_LOADACM | 172 | #ifdef BB_LOADACM |
173 | {"loadacm", loadacm_main, _BB_DIR_USR_BIN}, | 173 | {"loadacm", loadacm_main, _BB_DIR_USR_BIN, loadacm_usage}, |
174 | #endif | 174 | #endif |
175 | #ifdef BB_LOADFONT | 175 | #ifdef BB_LOADFONT |
176 | {"loadfont", loadfont_main, _BB_DIR_USR_BIN}, | 176 | {"loadfont", loadfont_main, _BB_DIR_USR_BIN, loadfont_usage}, |
177 | #endif | 177 | #endif |
178 | #ifdef BB_LOADKMAP | 178 | #ifdef BB_LOADKMAP |
179 | {"loadkmap", loadkmap_main, _BB_DIR_SBIN}, | 179 | {"loadkmap", loadkmap_main, _BB_DIR_SBIN, loadkmap_usage}, |
180 | #endif | 180 | #endif |
181 | #ifdef BB_LOGGER | 181 | #ifdef BB_LOGGER |
182 | {"logger", logger_main, _BB_DIR_USR_BIN}, | 182 | {"logger", logger_main, _BB_DIR_USR_BIN, logger_usage}, |
183 | #endif | 183 | #endif |
184 | #ifdef BB_LOGNAME | 184 | #ifdef BB_LOGNAME |
185 | {"logname", logname_main, _BB_DIR_USR_BIN}, | 185 | {"logname", logname_main, _BB_DIR_USR_BIN, logname_usage}, |
186 | #endif | 186 | #endif |
187 | #ifdef BB_LS | 187 | #ifdef BB_LS |
188 | {"ls", ls_main, _BB_DIR_BIN}, | 188 | {"ls", ls_main, _BB_DIR_BIN, ls_usage}, |
189 | #endif | 189 | #endif |
190 | #ifdef BB_LSMOD | 190 | #ifdef BB_LSMOD |
191 | {"lsmod", lsmod_main, _BB_DIR_SBIN}, | 191 | {"lsmod", lsmod_main, _BB_DIR_SBIN, lsmod_usage}, |
192 | #endif | 192 | #endif |
193 | #ifdef BB_MAKEDEVS | 193 | #ifdef BB_MAKEDEVS |
194 | {"makedevs", makedevs_main, _BB_DIR_SBIN}, | 194 | {"makedevs", makedevs_main, _BB_DIR_SBIN, makedevs_usage}, |
195 | #endif | 195 | #endif |
196 | #ifdef BB_MD5SUM | 196 | #ifdef BB_MD5SUM |
197 | {"md5sum", md5sum_main, _BB_DIR_USR_BIN}, | 197 | {"md5sum", md5sum_main, _BB_DIR_USR_BIN, md5sum_usage}, |
198 | #endif | 198 | #endif |
199 | #ifdef BB_MKDIR | 199 | #ifdef BB_MKDIR |
200 | {"mkdir", mkdir_main, _BB_DIR_BIN}, | 200 | {"mkdir", mkdir_main, _BB_DIR_BIN, mkdir_usage}, |
201 | #endif | 201 | #endif |
202 | #ifdef BB_MKFIFO | 202 | #ifdef BB_MKFIFO |
203 | {"mkfifo", mkfifo_main, _BB_DIR_USR_BIN}, | 203 | {"mkfifo", mkfifo_main, _BB_DIR_USR_BIN, mkfifo_usage}, |
204 | #endif | 204 | #endif |
205 | #ifdef BB_MKFS_MINIX | 205 | #ifdef BB_MKFS_MINIX |
206 | {"mkfs.minix", mkfs_minix_main, _BB_DIR_SBIN}, | 206 | {"mkfs.minix", mkfs_minix_main, _BB_DIR_SBIN, mkfs_minix_usage}, |
207 | #endif | 207 | #endif |
208 | #ifdef BB_MKNOD | 208 | #ifdef BB_MKNOD |
209 | {"mknod", mknod_main, _BB_DIR_BIN}, | 209 | {"mknod", mknod_main, _BB_DIR_BIN, mknod_usage}, |
210 | #endif | 210 | #endif |
211 | #ifdef BB_MKSWAP | 211 | #ifdef BB_MKSWAP |
212 | {"mkswap", mkswap_main, _BB_DIR_SBIN}, | 212 | {"mkswap", mkswap_main, _BB_DIR_SBIN, mkswap_usage}, |
213 | #endif | 213 | #endif |
214 | #ifdef BB_MKTEMP | 214 | #ifdef BB_MKTEMP |
215 | {"mktemp", mktemp_main, _BB_DIR_BIN}, | 215 | {"mktemp", mktemp_main, _BB_DIR_BIN, mktemp_usage}, |
216 | #endif | 216 | #endif |
217 | #ifdef BB_NC | 217 | #ifdef BB_NC |
218 | {"nc", nc_main, _BB_DIR_USR_BIN}, | 218 | {"nc", nc_main, _BB_DIR_USR_BIN, nc_usage}, |
219 | #endif | 219 | #endif |
220 | #ifdef BB_MORE | 220 | #ifdef BB_MORE |
221 | {"more", more_main, _BB_DIR_BIN}, | 221 | {"more", more_main, _BB_DIR_BIN, more_usage}, |
222 | #endif | 222 | #endif |
223 | #ifdef BB_MOUNT | 223 | #ifdef BB_MOUNT |
224 | {"mount", mount_main, _BB_DIR_BIN}, | 224 | {"mount", mount_main, _BB_DIR_BIN, mount_usage}, |
225 | #endif | 225 | #endif |
226 | #ifdef BB_MT | 226 | #ifdef BB_MT |
227 | {"mt", mt_main, _BB_DIR_BIN}, | 227 | {"mt", mt_main, _BB_DIR_BIN, mt_usage}, |
228 | #endif | 228 | #endif |
229 | #ifdef BB_CP_MV | 229 | #ifdef BB_CP_MV |
230 | {"mv", cp_mv_main, _BB_DIR_BIN}, | 230 | {"mv", cp_mv_main, _BB_DIR_BIN, mv_usage}, |
231 | #endif | 231 | #endif |
232 | #ifdef BB_NSLOOKUP | 232 | #ifdef BB_NSLOOKUP |
233 | {"nslookup", nslookup_main, _BB_DIR_USR_BIN}, | 233 | {"nslookup", nslookup_main, _BB_DIR_USR_BIN, nslookup_usage}, |
234 | #endif | 234 | #endif |
235 | #ifdef BB_PING | 235 | #ifdef BB_PING |
236 | {"ping", ping_main, _BB_DIR_BIN}, | 236 | {"ping", ping_main, _BB_DIR_BIN, ping_usage}, |
237 | #endif | 237 | #endif |
238 | #ifdef BB_POWEROFF | 238 | #ifdef BB_POWEROFF |
239 | {"poweroff", poweroff_main, _BB_DIR_SBIN}, | 239 | {"poweroff", poweroff_main, _BB_DIR_SBIN, poweroff_usage}, |
240 | #endif | 240 | #endif |
241 | #ifdef BB_PRINTF | 241 | #ifdef BB_PRINTF |
242 | {"printf", printf_main, _BB_DIR_USR_BIN}, | 242 | {"printf", printf_main, _BB_DIR_USR_BIN, printf_usage}, |
243 | #endif | 243 | #endif |
244 | #ifdef BB_PS | 244 | #ifdef BB_PS |
245 | {"ps", ps_main, _BB_DIR_BIN}, | 245 | {"ps", ps_main, _BB_DIR_BIN, ps_usage}, |
246 | #endif | 246 | #endif |
247 | #ifdef BB_PWD | 247 | #ifdef BB_PWD |
248 | {"pwd", pwd_main, _BB_DIR_BIN}, | 248 | {"pwd", pwd_main, _BB_DIR_BIN, pwd_usage}, |
249 | #endif | 249 | #endif |
250 | #ifdef BB_REBOOT | 250 | #ifdef BB_REBOOT |
251 | {"reboot", reboot_main, _BB_DIR_SBIN}, | 251 | {"reboot", reboot_main, _BB_DIR_SBIN, reboot_usage}, |
252 | #endif | 252 | #endif |
253 | #ifdef BB_RM | 253 | #ifdef BB_RM |
254 | {"rm", rm_main, _BB_DIR_BIN}, | 254 | {"rm", rm_main, _BB_DIR_BIN, rm_usage}, |
255 | #endif | 255 | #endif |
256 | #ifdef BB_RMDIR | 256 | #ifdef BB_RMDIR |
257 | {"rmdir", rmdir_main, _BB_DIR_BIN}, | 257 | {"rmdir", rmdir_main, _BB_DIR_BIN, rmdir_usage}, |
258 | #endif | 258 | #endif |
259 | #ifdef BB_RMMOD | 259 | #ifdef BB_RMMOD |
260 | {"rmmod", rmmod_main, _BB_DIR_SBIN}, | 260 | {"rmmod", rmmod_main, _BB_DIR_SBIN, rmmod_usage}, |
261 | #endif | 261 | #endif |
262 | #ifdef BB_SED | 262 | #ifdef BB_SED |
263 | {"sed", sed_main, _BB_DIR_BIN}, | 263 | {"sed", sed_main, _BB_DIR_BIN, sed_usage}, |
264 | #endif | 264 | #endif |
265 | #ifdef BB_SETKEYCODES | 265 | #ifdef BB_SETKEYCODES |
266 | {"setkeycodes", setkeycodes_main, _BB_DIR_USR_BIN}, | 266 | {"setkeycodes", setkeycodes_main, _BB_DIR_USR_BIN, setkeycodes_usage}, |
267 | #endif | 267 | #endif |
268 | #ifdef BB_SH | 268 | #ifdef BB_SH |
269 | {"sh", shell_main, _BB_DIR_BIN}, | 269 | {"sh", shell_main, _BB_DIR_BIN, shell_usage}, |
270 | #endif | 270 | #endif |
271 | #ifdef BB_SLEEP | 271 | #ifdef BB_SLEEP |
272 | {"sleep", sleep_main, _BB_DIR_BIN}, | 272 | {"sleep", sleep_main, _BB_DIR_BIN, sleep_usage}, |
273 | #endif | 273 | #endif |
274 | #ifdef BB_SORT | 274 | #ifdef BB_SORT |
275 | {"sort", sort_main, _BB_DIR_BIN}, | 275 | {"sort", sort_main, _BB_DIR_BIN, sort_usage}, |
276 | #endif | 276 | #endif |
277 | #ifdef BB_SYNC | 277 | #ifdef BB_SYNC |
278 | {"sync", sync_main, _BB_DIR_BIN}, | 278 | {"sync", sync_main, _BB_DIR_BIN, sync_usage}, |
279 | #endif | 279 | #endif |
280 | #ifdef BB_SYSLOGD | 280 | #ifdef BB_SYSLOGD |
281 | {"syslogd", syslogd_main, _BB_DIR_SBIN}, | 281 | {"syslogd", syslogd_main, _BB_DIR_SBIN, syslogd_usage}, |
282 | #endif | 282 | #endif |
283 | #ifdef BB_SWAPONOFF | 283 | #ifdef BB_SWAPONOFF |
284 | {"swapon", swap_on_off_main, _BB_DIR_SBIN}, | 284 | {"swapon", swap_on_off_main, _BB_DIR_SBIN, swapon_usage}, |
285 | #endif | 285 | #endif |
286 | #ifdef BB_SWAPONOFF | 286 | #ifdef BB_SWAPONOFF |
287 | {"swapoff", swap_on_off_main, _BB_DIR_SBIN}, | 287 | {"swapoff", swap_on_off_main, _BB_DIR_SBIN, swapoff_usage}, |
288 | #endif | 288 | #endif |
289 | #ifdef BB_TAIL | 289 | #ifdef BB_TAIL |
290 | {"tail", tail_main, _BB_DIR_USR_BIN}, | 290 | {"tail", tail_main, _BB_DIR_USR_BIN, tail_usage}, |
291 | #endif | 291 | #endif |
292 | #ifdef BB_TAR | 292 | #ifdef BB_TAR |
293 | {"tar", tar_main, _BB_DIR_BIN}, | 293 | {"tar", tar_main, _BB_DIR_BIN, tar_usage}, |
294 | #endif | 294 | #endif |
295 | #ifdef BB_TELNET | 295 | #ifdef BB_TELNET |
296 | {"telnet", telnet_main, _BB_DIR_USR_BIN}, | 296 | {"telnet", telnet_main, _BB_DIR_USR_BIN, telnet_usage}, |
297 | #endif | 297 | #endif |
298 | #ifdef BB_TEST | 298 | #ifdef BB_TEST |
299 | {"test", test_main, _BB_DIR_USR_BIN}, | 299 | {"test", test_main, _BB_DIR_USR_BIN, test_usage}, |
300 | #endif | 300 | #endif |
301 | #ifdef BB_TEE | 301 | #ifdef BB_TEE |
302 | {"tee", tee_main, _BB_DIR_BIN}, | 302 | {"tee", tee_main, _BB_DIR_BIN, tee_usage}, |
303 | #endif | 303 | #endif |
304 | #ifdef BB_TOUCH | 304 | #ifdef BB_TOUCH |
305 | {"touch", touch_main, _BB_DIR_USR_BIN}, | 305 | {"touch", touch_main, _BB_DIR_USR_BIN, touch_usage}, |
306 | #endif | 306 | #endif |
307 | #ifdef BB_TR | 307 | #ifdef BB_TR |
308 | {"tr", tr_main, _BB_DIR_USR_BIN}, | 308 | {"tr", tr_main, _BB_DIR_USR_BIN, tr_usage}, |
309 | #endif | 309 | #endif |
310 | #ifdef BB_TRUE_FALSE | 310 | #ifdef BB_TRUE_FALSE |
311 | {"true", true_main, _BB_DIR_BIN}, | 311 | {"true", true_main, _BB_DIR_BIN, true_usage}, |
312 | #endif | 312 | #endif |
313 | #ifdef BB_TTY | 313 | #ifdef BB_TTY |
314 | {"tty", tty_main, _BB_DIR_USR_BIN}, | 314 | {"tty", tty_main, _BB_DIR_USR_BIN, tty_usage}, |
315 | #endif | 315 | #endif |
316 | #ifdef BB_UMOUNT | 316 | #ifdef BB_UMOUNT |
317 | {"umount", umount_main, _BB_DIR_BIN}, | 317 | {"umount", umount_main, _BB_DIR_BIN, umount_usage}, |
318 | #endif | 318 | #endif |
319 | #ifdef BB_UNAME | 319 | #ifdef BB_UNAME |
320 | {"uname", uname_main, _BB_DIR_BIN}, | 320 | {"uname", uname_main, _BB_DIR_BIN, uname_usage}, |
321 | #endif | 321 | #endif |
322 | #ifdef BB_UNIQ | 322 | #ifdef BB_UNIQ |
323 | {"uniq", uniq_main, _BB_DIR_USR_BIN}, | 323 | {"uniq", uniq_main, _BB_DIR_USR_BIN, uniq_usage}, |
324 | #endif | 324 | #endif |
325 | #ifdef BB_UPDATE | 325 | #ifdef BB_UPDATE |
326 | {"update", update_main, _BB_DIR_SBIN}, | 326 | {"update", update_main, _BB_DIR_SBIN, update_usage}, |
327 | #endif | 327 | #endif |
328 | #ifdef BB_UPTIME | 328 | #ifdef BB_UPTIME |
329 | {"uptime", uptime_main, _BB_DIR_USR_BIN}, | 329 | {"uptime", uptime_main, _BB_DIR_USR_BIN, uptime_usage}, |
330 | #endif | 330 | #endif |
331 | #ifdef BB_UUENCODE | 331 | #ifdef BB_UUENCODE |
332 | {"uuencode", uuencode_main, _BB_DIR_USR_BIN}, | 332 | {"uuencode", uuencode_main, _BB_DIR_USR_BIN, uuencode_usage}, |
333 | #endif | 333 | #endif |
334 | #ifdef BB_UUDECODE | 334 | #ifdef BB_UUDECODE |
335 | {"uudecode", uudecode_main, _BB_DIR_USR_BIN}, | 335 | {"uudecode", uudecode_main, _BB_DIR_USR_BIN, uudecode_usage}, |
336 | #endif | 336 | #endif |
337 | #ifdef BB_USLEEP | 337 | #ifdef BB_USLEEP |
338 | {"usleep", usleep_main, _BB_DIR_BIN}, | 338 | {"usleep", usleep_main, _BB_DIR_BIN, usleep_usage}, |
339 | #endif | 339 | #endif |
340 | #ifdef BB_WC | 340 | #ifdef BB_WC |
341 | {"wc", wc_main, _BB_DIR_USR_BIN}, | 341 | {"wc", wc_main, _BB_DIR_USR_BIN, wc_usage}, |
342 | #endif | 342 | #endif |
343 | #ifdef BB_WHICH | 343 | #ifdef BB_WHICH |
344 | {"which", which_main, _BB_DIR_USR_BIN}, | 344 | {"which", which_main, _BB_DIR_USR_BIN, which_usage}, |
345 | #endif | 345 | #endif |
346 | #ifdef BB_WHOAMI | 346 | #ifdef BB_WHOAMI |
347 | {"whoami", whoami_main, _BB_DIR_USR_BIN}, | 347 | {"whoami", whoami_main, _BB_DIR_USR_BIN, whoami_usage}, |
348 | #endif | 348 | #endif |
349 | #ifdef BB_YES | 349 | #ifdef BB_YES |
350 | {"yes", yes_main, _BB_DIR_USR_BIN}, | 350 | {"yes", yes_main, _BB_DIR_USR_BIN, yes_usage}, |
351 | #endif | 351 | #endif |
352 | #ifdef BB_GUNZIP | 352 | #ifdef BB_GUNZIP |
353 | {"zcat", gunzip_main, _BB_DIR_BIN}, | 353 | {"zcat", gunzip_main, _BB_DIR_BIN, gunzip_usage}, |
354 | #endif | 354 | #endif |
355 | #ifdef BB_TEST | 355 | #ifdef BB_TEST |
356 | {"[", test_main, _BB_DIR_USR_BIN}, | 356 | {"[", test_main, _BB_DIR_USR_BIN, test_usage}, |
357 | #endif | 357 | #endif |
358 | {0,NULL,0} | 358 | {0,NULL,0,NULL} |
359 | }; | 359 | }; |
360 | 360 | ||
361 | char *applet_name; | 361 | char *applet_name; |
@@ -490,6 +490,8 @@ int main(int argc, char **argv) | |||
490 | 490 | ||
491 | while (a->name != 0) { | 491 | while (a->name != 0) { |
492 | if (strcmp(applet_name, a->name) == 0) { | 492 | if (strcmp(applet_name, a->name) == 0) { |
493 | if (a->usage && argv[1] && strcmp(argv[1], "--help") == 0) | ||
494 | usage(a->usage); | ||
493 | exit(((*(a->main)) (argc, argv))); | 495 | exit(((*(a->main)) (argc, argv))); |
494 | } | 496 | } |
495 | a++; | 497 | a++; |