applets.h 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333
  1. /* vi: set sw=4 ts=4: */
  2. /*
  3. * applets.h - a listing of all busybox applets.
  4. *
  5. * If you write a new applet, you need to add an entry to this list to make
  6. * busybox aware of it.
  7. *
  8. * It is CRUCIAL that this listing be kept in ascii order, otherwise the binary
  9. * search lookup contributed by Gaute B Strokkenes stops working. If you value
  10. * your kneecaps, you'll be sure to *make sure* that any changes made to this
  11. * file result in the listing remaining in ascii order. You have been warned.
  12. */
  13. #undef APPLET
  14. #undef APPLET_ODDNAME
  15. #undef APPLET_NOUSAGE
  16. #if defined(PROTOTYPES)
  17. # define APPLET(a,b,c) extern int a##_main(int argc, char **argv);
  18. # define APPLET_NOUSAGE(a,b,c,d) extern int b##_main(int argc, char **argv);
  19. # define APPLET_ODDNAME(a,b,c,d,e) extern int b##_main(int argc, char **argv);
  20. #elif defined(MAKE_USAGE)
  21. # ifdef CONFIG_FEATURE_VERBOSE_USAGE
  22. # define APPLET(a,b,c) a##_trivial_usage "\n\n" a##_full_usage "\0"
  23. # define APPLET_NOUSAGE(a,b,c,d) "\b\0"
  24. # define APPLET_ODDNAME(a,b,c,d,e) e##_trivial_usage "\n\n" e##_full_usage "\0"
  25. # else
  26. # define APPLET(a,b,c) a##_trivial_usage "\0"
  27. # define APPLET_NOUSAGE(a,b,c,d) "\b\0"
  28. # define APPLET_ODDNAME(a,b,c,d,e) e##_trivial_usage "\0"
  29. # endif
  30. #elif defined(MAKE_LINKS)
  31. # define APPLET(a,b,c) LINK b a
  32. # define APPLET_NOUSAGE(a,b,c,d) LINK c a
  33. # define APPLET_ODDNAME(a,b,c,d,e) LINK c a
  34. #else
  35. const struct BB_applet applets[] = {
  36. # define APPLET(a,b,c) {#a,a##_main,b,c},
  37. # define APPLET_NOUSAGE(a,b,c,d) {#a,b##_main,c,d},
  38. # define APPLET_ODDNAME(a,b,c,d,e) {#a,b##_main,c,d},
  39. #endif
  40. #ifdef CONFIG_INSTALL_NO_USR
  41. # define _BB_DIR_USR_BIN _BB_DIR_BIN
  42. # define _BB_DIR_USR_SBIN _BB_DIR_SBIN
  43. #endif
  44. // _BB_SUID_ALWAYS: will complain if busybox isn't suid
  45. // and is run by non-root (applet_main() will not be called at all)
  46. // _BB_SUID_NEVER: will drop suid prior to applet_main()
  47. // _BB_SUID_MAYBE: neither of the above
  48. USE_TEST(APPLET_NOUSAGE([, test, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
  49. USE_TEST(APPLET_NOUSAGE([[, test, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
  50. USE_ADDGROUP(APPLET(addgroup, _BB_DIR_BIN, _BB_SUID_NEVER))
  51. USE_ADDUSER(APPLET(adduser, _BB_DIR_BIN, _BB_SUID_NEVER))
  52. USE_ADJTIMEX(APPLET(adjtimex, _BB_DIR_SBIN, _BB_SUID_NEVER))
  53. USE_AR(APPLET(ar, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
  54. USE_ARPING(APPLET(arping, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
  55. USE_ASH(APPLET_NOUSAGE(ash, ash, _BB_DIR_BIN, _BB_SUID_NEVER))
  56. USE_AWK(APPLET(awk, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
  57. USE_BASENAME(APPLET(basename, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
  58. USE_BBCONFIG(APPLET(bbconfig, _BB_DIR_BIN, _BB_SUID_NEVER))
  59. //USE_BBSH(APPLET(bbsh, _BB_DIR_BIN, _BB_SUID_NEVER))
  60. USE_BUNZIP2(APPLET(bunzip2, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
  61. /* Always enabled. */
  62. APPLET_NOUSAGE(busybox, busybox, _BB_DIR_BIN, _BB_SUID_MAYBE)
  63. USE_BUNZIP2(APPLET_ODDNAME(bzcat, bunzip2, _BB_DIR_USR_BIN, _BB_SUID_NEVER, bzcat))
  64. USE_CAL(APPLET(cal, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
  65. USE_CAT(APPLET(cat, _BB_DIR_BIN, _BB_SUID_NEVER))
  66. USE_CATV(APPLET(catv, _BB_DIR_BIN, _BB_SUID_NEVER))
  67. USE_CHATTR(APPLET(chattr, _BB_DIR_BIN, _BB_SUID_NEVER))
  68. USE_CHGRP(APPLET(chgrp, _BB_DIR_BIN, _BB_SUID_NEVER))
  69. USE_CHMOD(APPLET(chmod, _BB_DIR_BIN, _BB_SUID_NEVER))
  70. USE_CHOWN(APPLET(chown, _BB_DIR_BIN, _BB_SUID_NEVER))
  71. USE_CHPST(APPLET(chpst, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
  72. USE_CHROOT(APPLET(chroot, _BB_DIR_USR_SBIN, _BB_SUID_NEVER))
  73. USE_CHVT(APPLET(chvt, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
  74. USE_CKSUM(APPLET(cksum, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
  75. USE_CLEAR(APPLET(clear, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
  76. USE_CMP(APPLET(cmp, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
  77. USE_COMM(APPLET(comm, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
  78. USE_CP(APPLET(cp, _BB_DIR_BIN, _BB_SUID_NEVER))
  79. USE_CPIO(APPLET(cpio, _BB_DIR_BIN, _BB_SUID_NEVER))
  80. USE_CROND(APPLET(crond, _BB_DIR_USR_SBIN, _BB_SUID_NEVER))
  81. USE_CRONTAB(APPLET(crontab, _BB_DIR_USR_BIN, _BB_SUID_ALWAYS))
  82. USE_CUT(APPLET(cut, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
  83. USE_DATE(APPLET(date, _BB_DIR_BIN, _BB_SUID_NEVER))
  84. USE_DC(APPLET(dc, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
  85. USE_DD(APPLET(dd, _BB_DIR_BIN, _BB_SUID_NEVER))
  86. USE_DEALLOCVT(APPLET(deallocvt, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
  87. USE_DELGROUP(APPLET_ODDNAME(delgroup, deluser, _BB_DIR_BIN, _BB_SUID_NEVER, delgroup))
  88. USE_DELUSER(APPLET(deluser, _BB_DIR_BIN, _BB_SUID_NEVER))
  89. USE_DEVFSD(APPLET(devfsd, _BB_DIR_SBIN, _BB_SUID_NEVER))
  90. USE_DF(APPLET(df, _BB_DIR_BIN, _BB_SUID_NEVER))
  91. USE_APP_DHCPRELAY(APPLET(dhcprelay, _BB_DIR_USR_SBIN, _BB_SUID_NEVER))
  92. USE_DIFF(APPLET(diff, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
  93. USE_DIRNAME(APPLET(dirname, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
  94. USE_DMESG(APPLET(dmesg, _BB_DIR_BIN, _BB_SUID_NEVER))
  95. USE_DNSD(APPLET(dnsd, _BB_DIR_USR_SBIN, _BB_SUID_ALWAYS))
  96. USE_DOS2UNIX(APPLET(dos2unix, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
  97. USE_DPKG(APPLET(dpkg, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
  98. USE_DPKG_DEB(APPLET_ODDNAME(dpkg-deb, dpkg_deb, _BB_DIR_USR_BIN, _BB_SUID_NEVER, dpkg_deb))
  99. USE_DU(APPLET(du, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
  100. USE_DUMPKMAP(APPLET(dumpkmap, _BB_DIR_BIN, _BB_SUID_NEVER))
  101. USE_APP_DUMPLEASES(APPLET(dumpleases, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
  102. USE_E2FSCK(APPLET(e2fsck, _BB_DIR_SBIN, _BB_SUID_NEVER))
  103. USE_E2LABEL(APPLET_NOUSAGE(e2label, tune2fs, _BB_DIR_SBIN, _BB_SUID_NEVER))
  104. USE_ECHO(APPLET(echo, _BB_DIR_BIN, _BB_SUID_NEVER))
  105. USE_ED(APPLET(ed, _BB_DIR_BIN, _BB_SUID_NEVER))
  106. USE_FEATURE_GREP_EGREP_ALIAS(APPLET_NOUSAGE(egrep, grep, _BB_DIR_BIN, _BB_SUID_NEVER))
  107. USE_EJECT(APPLET(eject, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
  108. USE_ENV(APPLET(env, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
  109. USE_ENVDIR(APPLET_ODDNAME(envdir, chpst, _BB_DIR_USR_BIN, _BB_SUID_NEVER, envdir))
  110. USE_ENVUIDGID(APPLET_ODDNAME(envuidgid, chpst, _BB_DIR_USR_BIN, _BB_SUID_NEVER, envuidgid))
  111. USE_ETHER_WAKE(APPLET_ODDNAME(ether-wake, ether_wake, _BB_DIR_USR_BIN, _BB_SUID_NEVER, ether_wake))
  112. USE_EXPR(APPLET(expr, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
  113. USE_FAKEIDENTD(APPLET(fakeidentd, _BB_DIR_USR_SBIN, _BB_SUID_NEVER))
  114. USE_FALSE(APPLET(false, _BB_DIR_BIN, _BB_SUID_NEVER))
  115. USE_FBSET(APPLET(fbset, _BB_DIR_USR_SBIN, _BB_SUID_NEVER))
  116. USE_FDFLUSH(APPLET_ODDNAME(fdflush, freeramdisk, _BB_DIR_BIN, _BB_SUID_NEVER, fdflush))
  117. USE_FDFORMAT(APPLET(fdformat, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
  118. USE_FDISK(APPLET(fdisk, _BB_DIR_SBIN, _BB_SUID_NEVER))
  119. USE_FEATURE_GREP_FGREP_ALIAS(APPLET_NOUSAGE(fgrep, grep, _BB_DIR_BIN, _BB_SUID_NEVER))
  120. USE_FIND(APPLET(find, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
  121. USE_FINDFS(APPLET_NOUSAGE(findfs, tune2fs, _BB_DIR_SBIN, _BB_SUID_NEVER))
  122. USE_FOLD(APPLET(fold, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
  123. USE_FREE(APPLET(free, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
  124. USE_FREERAMDISK(APPLET(freeramdisk, _BB_DIR_SBIN, _BB_SUID_NEVER))
  125. USE_FSCK(APPLET(fsck, _BB_DIR_SBIN, _BB_SUID_NEVER))
  126. USE_E2FSCK(APPLET_NOUSAGE(fsck.ext2, e2fsck, _BB_DIR_SBIN, _BB_SUID_NEVER))
  127. USE_E2FSCK(APPLET_NOUSAGE(fsck.ext3, e2fsck, _BB_DIR_SBIN, _BB_SUID_NEVER))
  128. USE_FSCK_MINIX(APPLET_ODDNAME(fsck.minix, fsck_minix, _BB_DIR_SBIN, _BB_SUID_NEVER, fsck_minix))
  129. USE_FTPGET(APPLET_ODDNAME(ftpget, ftpgetput, _BB_DIR_USR_BIN, _BB_SUID_NEVER,ftpget))
  130. USE_FTPPUT(APPLET_ODDNAME(ftpput, ftpgetput, _BB_DIR_USR_BIN, _BB_SUID_NEVER,ftpput))
  131. USE_FUSER(APPLET(fuser, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
  132. USE_GETOPT(APPLET(getopt, _BB_DIR_BIN, _BB_SUID_NEVER))
  133. USE_GETTY(APPLET(getty, _BB_DIR_SBIN, _BB_SUID_NEVER))
  134. USE_GREP(APPLET(grep, _BB_DIR_BIN, _BB_SUID_NEVER))
  135. USE_GUNZIP(APPLET(gunzip, _BB_DIR_BIN, _BB_SUID_NEVER))
  136. USE_GZIP(APPLET(gzip, _BB_DIR_BIN, _BB_SUID_NEVER))
  137. USE_HALT(APPLET(halt, _BB_DIR_SBIN, _BB_SUID_NEVER))
  138. USE_HDPARM(APPLET(hdparm, _BB_DIR_SBIN, _BB_SUID_NEVER))
  139. USE_HEAD(APPLET(head, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
  140. USE_HEXDUMP(APPLET(hexdump, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
  141. USE_HOSTID(APPLET(hostid, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
  142. USE_HOSTNAME(APPLET(hostname, _BB_DIR_BIN, _BB_SUID_NEVER))
  143. USE_HTTPD(APPLET(httpd, _BB_DIR_USR_SBIN, _BB_SUID_NEVER))
  144. USE_HUSH(APPLET_NOUSAGE(hush, hush, _BB_DIR_BIN, _BB_SUID_NEVER))
  145. USE_HWCLOCK(APPLET(hwclock, _BB_DIR_SBIN, _BB_SUID_NEVER))
  146. USE_ID(APPLET(id, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
  147. USE_IFCONFIG(APPLET(ifconfig, _BB_DIR_SBIN, _BB_SUID_NEVER))
  148. USE_IFUPDOWN(APPLET_ODDNAME(ifdown, ifupdown, _BB_DIR_SBIN, _BB_SUID_NEVER, ifdown))
  149. USE_IFUPDOWN(APPLET_ODDNAME(ifup, ifupdown, _BB_DIR_SBIN, _BB_SUID_NEVER, ifup))
  150. USE_INETD(APPLET(inetd, _BB_DIR_USR_SBIN, _BB_SUID_NEVER))
  151. USE_INIT(APPLET(init, _BB_DIR_SBIN, _BB_SUID_NEVER))
  152. USE_INSMOD(APPLET(insmod, _BB_DIR_SBIN, _BB_SUID_NEVER))
  153. USE_INSTALL(APPLET(install, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
  154. USE_IP(APPLET(ip, _BB_DIR_BIN, _BB_SUID_NEVER))
  155. USE_IPADDR(APPLET(ipaddr, _BB_DIR_BIN, _BB_SUID_NEVER))
  156. USE_IPCALC(APPLET(ipcalc, _BB_DIR_BIN, _BB_SUID_NEVER))
  157. USE_IPCRM(APPLET(ipcrm, _BB_DIR_USR_BIN, _BB_SUID_ALWAYS))
  158. USE_IPCS(APPLET(ipcs, _BB_DIR_USR_BIN, _BB_SUID_ALWAYS))
  159. USE_IPLINK(APPLET(iplink, _BB_DIR_BIN, _BB_SUID_NEVER))
  160. USE_IPROUTE(APPLET(iproute, _BB_DIR_BIN, _BB_SUID_NEVER))
  161. USE_IPRULE(APPLET(iprule, _BB_DIR_BIN, _BB_SUID_NEVER))
  162. USE_IPTUNNEL(APPLET(iptunnel, _BB_DIR_BIN, _BB_SUID_NEVER))
  163. USE_KILL(APPLET(kill, _BB_DIR_BIN, _BB_SUID_NEVER))
  164. USE_KILLALL(APPLET_ODDNAME(killall, kill, _BB_DIR_USR_BIN, _BB_SUID_NEVER, killall))
  165. USE_KILLALL5(APPLET_ODDNAME(killall5, kill, _BB_DIR_USR_BIN, _BB_SUID_NEVER, killall5))
  166. USE_KLOGD(APPLET(klogd, _BB_DIR_SBIN, _BB_SUID_NEVER))
  167. USE_LASH(APPLET(lash, _BB_DIR_BIN, _BB_SUID_NEVER))
  168. USE_LAST(APPLET(last, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
  169. USE_LENGTH(APPLET(length, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
  170. USE_LESS(APPLET(less, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
  171. USE_SETARCH(APPLET_NOUSAGE(linux32, setarch, _BB_DIR_BIN, _BB_SUID_NEVER))
  172. USE_SETARCH(APPLET_NOUSAGE(linux64, setarch, _BB_DIR_BIN, _BB_SUID_NEVER))
  173. USE_FEATURE_INITRD(APPLET_NOUSAGE(linuxrc, init, _BB_DIR_ROOT, _BB_SUID_NEVER))
  174. USE_LN(APPLET(ln, _BB_DIR_BIN, _BB_SUID_NEVER))
  175. USE_LOADFONT(APPLET(loadfont, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
  176. USE_LOADKMAP(APPLET(loadkmap, _BB_DIR_SBIN, _BB_SUID_NEVER))
  177. USE_LOGGER(APPLET(logger, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
  178. USE_LOGIN(APPLET(login, _BB_DIR_BIN, _BB_SUID_ALWAYS))
  179. USE_LOGNAME(APPLET(logname, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
  180. USE_LOGREAD(APPLET(logread, _BB_DIR_SBIN, _BB_SUID_NEVER))
  181. USE_LOSETUP(APPLET(losetup, _BB_DIR_SBIN, _BB_SUID_NEVER))
  182. USE_LS(APPLET(ls, _BB_DIR_BIN, _BB_SUID_NEVER))
  183. USE_LSATTR(APPLET(lsattr, _BB_DIR_BIN, _BB_SUID_NEVER))
  184. USE_LSMOD(APPLET(lsmod, _BB_DIR_SBIN, _BB_SUID_NEVER))
  185. USE_UNLZMA(APPLET_ODDNAME(lzmacat, unlzma, _BB_DIR_USR_BIN, _BB_SUID_NEVER, lzmacat))
  186. USE_MAKEDEVS(APPLET(makedevs, _BB_DIR_SBIN, _BB_SUID_NEVER))
  187. USE_MD5SUM(APPLET_ODDNAME(md5sum, md5_sha1_sum, _BB_DIR_USR_BIN, _BB_SUID_NEVER, md5sum))
  188. USE_MDEV(APPLET(mdev, _BB_DIR_SBIN, _BB_SUID_NEVER))
  189. USE_MESG(APPLET(mesg, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
  190. USE_MKDIR(APPLET(mkdir, _BB_DIR_BIN, _BB_SUID_NEVER))
  191. USE_MKE2FS(APPLET(mke2fs, _BB_DIR_SBIN, _BB_SUID_NEVER))
  192. USE_MKFIFO(APPLET(mkfifo, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
  193. USE_MKE2FS(APPLET_NOUSAGE(mkfs.ext2, mke2fs, _BB_DIR_SBIN, _BB_SUID_NEVER))
  194. USE_MKE2FS(APPLET_NOUSAGE(mkfs.ext3, mke2fs, _BB_DIR_SBIN, _BB_SUID_NEVER))
  195. USE_MKFS_MINIX(APPLET_ODDNAME(mkfs.minix, mkfs_minix, _BB_DIR_SBIN, _BB_SUID_NEVER, mkfs_minix))
  196. USE_MKNOD(APPLET(mknod, _BB_DIR_BIN, _BB_SUID_NEVER))
  197. USE_MKSWAP(APPLET(mkswap, _BB_DIR_SBIN, _BB_SUID_NEVER))
  198. USE_MKTEMP(APPLET(mktemp, _BB_DIR_BIN, _BB_SUID_NEVER))
  199. USE_MODPROBE(APPLET(modprobe, _BB_DIR_SBIN, _BB_SUID_NEVER))
  200. USE_MORE(APPLET(more, _BB_DIR_BIN, _BB_SUID_NEVER))
  201. USE_MOUNT(APPLET(mount, _BB_DIR_BIN, USE_DESKTOP(_BB_SUID_MAYBE) SKIP_DESKTOP(_BB_SUID_NEVER)))
  202. USE_MOUNTPOINT(APPLET(mountpoint, _BB_DIR_BIN, _BB_SUID_NEVER))
  203. USE_MSH(APPLET_NOUSAGE(msh, msh, _BB_DIR_BIN, _BB_SUID_NEVER))
  204. USE_MT(APPLET(mt, _BB_DIR_BIN, _BB_SUID_NEVER))
  205. USE_MV(APPLET(mv, _BB_DIR_BIN, _BB_SUID_NEVER))
  206. USE_NAMEIF(APPLET(nameif, _BB_DIR_SBIN, _BB_SUID_NEVER))
  207. USE_NC(APPLET(nc, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
  208. USE_NETSTAT(APPLET(netstat, _BB_DIR_BIN, _BB_SUID_NEVER))
  209. USE_NICE(APPLET(nice, _BB_DIR_BIN, _BB_SUID_NEVER))
  210. USE_NMETER(APPLET(nmeter, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
  211. USE_NOHUP(APPLET(nohup, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
  212. USE_NSLOOKUP(APPLET(nslookup, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
  213. USE_OD(APPLET(od, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
  214. USE_OPENVT(APPLET(openvt, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
  215. USE_PASSWD(APPLET(passwd, _BB_DIR_USR_BIN, _BB_SUID_ALWAYS))
  216. USE_PATCH(APPLET(patch, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
  217. USE_PIDOF(APPLET(pidof, _BB_DIR_BIN, _BB_SUID_NEVER))
  218. USE_PING(APPLET(ping, _BB_DIR_BIN, _BB_SUID_MAYBE))
  219. USE_PING6(APPLET(ping6, _BB_DIR_BIN, _BB_SUID_NEVER))
  220. USE_PIPE_PROGRESS(APPLET_NOUSAGE(pipe_progress, pipe_progress, _BB_DIR_BIN, _BB_SUID_NEVER))
  221. USE_PIVOT_ROOT(APPLET(pivot_root, _BB_DIR_SBIN, _BB_SUID_NEVER))
  222. USE_HALT(APPLET_ODDNAME(poweroff, halt, _BB_DIR_SBIN, _BB_SUID_NEVER, poweroff))
  223. USE_PRINTENV(APPLET(printenv, _BB_DIR_BIN, _BB_SUID_NEVER))
  224. USE_PRINTF(APPLET(printf, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
  225. USE_PS(APPLET(ps, _BB_DIR_BIN, _BB_SUID_NEVER))
  226. USE_PWD(APPLET(pwd, _BB_DIR_BIN, _BB_SUID_NEVER))
  227. USE_RAIDAUTORUN(APPLET(raidautorun, _BB_DIR_SBIN, _BB_SUID_NEVER))
  228. USE_RDATE(APPLET(rdate, _BB_DIR_USR_SBIN, _BB_SUID_NEVER))
  229. USE_READAHEAD(APPLET(readahead, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
  230. USE_READLINK(APPLET(readlink, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
  231. USE_READPROFILE(APPLET(readprofile, _BB_DIR_USR_SBIN, _BB_SUID_NEVER))
  232. USE_REALPATH(APPLET(realpath, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
  233. USE_HALT(APPLET_ODDNAME(reboot, halt, _BB_DIR_SBIN, _BB_SUID_NEVER, reboot))
  234. USE_RENICE(APPLET(renice, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
  235. USE_RESET(APPLET(reset, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
  236. USE_RESIZE(APPLET(resize, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
  237. USE_RM(APPLET(rm, _BB_DIR_BIN, _BB_SUID_NEVER))
  238. USE_RMDIR(APPLET(rmdir, _BB_DIR_BIN, _BB_SUID_NEVER))
  239. USE_RMMOD(APPLET(rmmod, _BB_DIR_SBIN, _BB_SUID_NEVER))
  240. USE_ROUTE(APPLET(route, _BB_DIR_SBIN, _BB_SUID_NEVER))
  241. USE_RPM(APPLET(rpm, _BB_DIR_BIN, _BB_SUID_NEVER))
  242. USE_RPM2CPIO(APPLET(rpm2cpio, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
  243. USE_RUN_PARTS(APPLET_ODDNAME(run-parts, run_parts, _BB_DIR_BIN, _BB_SUID_NEVER, run_parts))
  244. USE_RUNLEVEL(APPLET(runlevel, _BB_DIR_SBIN, _BB_SUID_NEVER))
  245. USE_RUNSV(APPLET(runsv, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
  246. USE_RUNSVDIR(APPLET(runsvdir, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
  247. USE_RX(APPLET(rx, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
  248. USE_SED(APPLET(sed, _BB_DIR_BIN, _BB_SUID_NEVER))
  249. USE_SEQ(APPLET(seq, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
  250. USE_SETARCH(APPLET(setarch, _BB_DIR_BIN, _BB_SUID_NEVER))
  251. USE_SETCONSOLE(APPLET(setconsole, _BB_DIR_SBIN, _BB_SUID_NEVER))
  252. USE_SETKEYCODES(APPLET(setkeycodes, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
  253. USE_SETLOGCONS(APPLET(setlogcons, _BB_DIR_USR_SBIN, _BB_SUID_NEVER))
  254. USE_SETSID(APPLET(setsid, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
  255. USE_SETUIDGID(APPLET_ODDNAME(setuidgid, chpst, _BB_DIR_USR_BIN, _BB_SUID_NEVER, setuidgid))
  256. USE_FEATURE_SH_IS_ASH(APPLET_NOUSAGE(sh, ash, _BB_DIR_BIN, _BB_SUID_NEVER))
  257. USE_FEATURE_SH_IS_HUSH(APPLET_NOUSAGE(sh, hush, _BB_DIR_BIN, _BB_SUID_NEVER))
  258. USE_FEATURE_SH_IS_LASH(APPLET_NOUSAGE(sh, lash, _BB_DIR_BIN, _BB_SUID_NEVER))
  259. USE_FEATURE_SH_IS_MSH(APPLET_NOUSAGE(sh, msh, _BB_DIR_BIN, _BB_SUID_NEVER))
  260. USE_SHA1SUM(APPLET_ODDNAME(sha1sum, md5_sha1_sum, _BB_DIR_USR_BIN, _BB_SUID_NEVER, sha1sum))
  261. USE_SLEEP(APPLET(sleep, _BB_DIR_BIN, _BB_SUID_NEVER))
  262. USE_SOFTLIMIT(APPLET_ODDNAME(softlimit, chpst, _BB_DIR_USR_BIN, _BB_SUID_NEVER, softlimit))
  263. USE_SORT(APPLET(sort, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
  264. USE_START_STOP_DAEMON(APPLET_ODDNAME(start-stop-daemon, start_stop_daemon, _BB_DIR_SBIN, _BB_SUID_NEVER, start_stop_daemon))
  265. USE_STAT(APPLET(stat, _BB_DIR_BIN, _BB_SUID_NEVER))
  266. USE_STRINGS(APPLET(strings, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
  267. USE_STTY(APPLET(stty, _BB_DIR_BIN, _BB_SUID_NEVER))
  268. USE_SU(APPLET(su, _BB_DIR_BIN, _BB_SUID_ALWAYS))
  269. USE_SULOGIN(APPLET(sulogin, _BB_DIR_SBIN, _BB_SUID_NEVER))
  270. USE_SUM(APPLET(sum, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
  271. USE_SV(APPLET(sv, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
  272. USE_SVLOGD(APPLET(svlogd, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
  273. USE_SWAPONOFF(APPLET_ODDNAME(swapoff, swap_on_off, _BB_DIR_SBIN, _BB_SUID_NEVER,swapoff))
  274. USE_SWAPONOFF(APPLET_ODDNAME(swapon, swap_on_off, _BB_DIR_SBIN, _BB_SUID_NEVER, swapon))
  275. USE_SWITCH_ROOT(APPLET(switch_root, _BB_DIR_SBIN, _BB_SUID_NEVER))
  276. USE_SYNC(APPLET(sync, _BB_DIR_BIN, _BB_SUID_NEVER))
  277. USE_BB_SYSCTL(APPLET(sysctl, _BB_DIR_SBIN, _BB_SUID_NEVER))
  278. USE_SYSLOGD(APPLET(syslogd, _BB_DIR_SBIN, _BB_SUID_NEVER))
  279. USE_TAIL(APPLET(tail, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
  280. USE_TAR(APPLET(tar, _BB_DIR_BIN, _BB_SUID_NEVER))
  281. USE_TASKSET(APPLET(taskset, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
  282. USE_TEE(APPLET(tee, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
  283. USE_TELNET(APPLET(telnet, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
  284. USE_TELNETD(APPLET(telnetd, _BB_DIR_USR_SBIN, _BB_SUID_NEVER))
  285. USE_TEST(APPLET(test, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
  286. USE_TFTP(APPLET(tftp, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
  287. USE_TIME(APPLET(time, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
  288. USE_TOP(APPLET(top, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
  289. USE_TOUCH(APPLET(touch, _BB_DIR_BIN, _BB_SUID_NEVER))
  290. USE_TR(APPLET(tr, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
  291. USE_TRACEROUTE(APPLET(traceroute, _BB_DIR_USR_BIN, _BB_SUID_MAYBE))
  292. USE_TRUE(APPLET(true, _BB_DIR_BIN, _BB_SUID_NEVER))
  293. USE_TTY(APPLET(tty, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
  294. USE_TUNE2FS(APPLET(tune2fs, _BB_DIR_SBIN, _BB_SUID_NEVER))
  295. USE_APP_UDHCPC(APPLET(udhcpc, _BB_DIR_SBIN, _BB_SUID_NEVER))
  296. USE_APP_UDHCPD(APPLET(udhcpd, _BB_DIR_USR_SBIN, _BB_SUID_NEVER))
  297. USE_UMOUNT(APPLET(umount, _BB_DIR_BIN, _BB_SUID_NEVER))
  298. USE_UNAME(APPLET(uname, _BB_DIR_BIN, _BB_SUID_NEVER))
  299. USE_UNCOMPRESS(APPLET(uncompress, _BB_DIR_BIN, _BB_SUID_NEVER))
  300. USE_UNIQ(APPLET(uniq, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
  301. USE_UNIX2DOS(APPLET_ODDNAME(unix2dos, dos2unix, _BB_DIR_USR_BIN, _BB_SUID_NEVER, unix2dos))
  302. USE_UNLZMA(APPLET(unlzma, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
  303. USE_UNZIP(APPLET(unzip, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
  304. USE_UPTIME(APPLET(uptime, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
  305. USE_USLEEP(APPLET(usleep, _BB_DIR_BIN, _BB_SUID_NEVER))
  306. USE_UUDECODE(APPLET(uudecode, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
  307. USE_UUENCODE(APPLET(uuencode, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
  308. USE_VCONFIG(APPLET(vconfig, _BB_DIR_SBIN, _BB_SUID_NEVER))
  309. USE_VI(APPLET(vi, _BB_DIR_BIN, _BB_SUID_NEVER))
  310. USE_VLOCK(APPLET(vlock, _BB_DIR_USR_BIN, _BB_SUID_ALWAYS))
  311. USE_WATCH(APPLET(watch, _BB_DIR_BIN, _BB_SUID_NEVER))
  312. USE_WATCHDOG(APPLET(watchdog, _BB_DIR_SBIN, _BB_SUID_NEVER))
  313. USE_WC(APPLET(wc, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
  314. USE_WGET(APPLET(wget, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
  315. USE_WHICH(APPLET(which, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
  316. USE_WHO(APPLET(who, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
  317. USE_WHOAMI(APPLET(whoami, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
  318. USE_XARGS(APPLET(xargs, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
  319. USE_YES(APPLET(yes, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
  320. USE_GUNZIP(APPLET_ODDNAME(zcat, gunzip, _BB_DIR_BIN, _BB_SUID_NEVER, zcat))
  321. USE_ZCIP(APPLET(zcip, _BB_DIR_SBIN, _BB_SUID_NEVER))
  322. #if !defined(PROTOTYPES) && !defined(MAKE_USAGE)
  323. { 0,NULL,0,0 }
  324. };
  325. #endif