X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=include%2Fapplets.h;h=9508c3a4b328589cba7c6fb42acf6d46288e8f36;hb=924f93e848c507c92beb1b106c7c52e428d3c2c2;hp=4bd8b79e4f3d86b435c2267918acd13a5a88f47d;hpb=6fd8c664c1bcb44429b81444be640ff08cac3702;p=oweals%2Fbusybox.git diff --git a/include/applets.h b/include/applets.h index 4bd8b79e4..9508c3a4b 100644 --- a/include/applets.h +++ b/include/applets.h @@ -10,394 +10,565 @@ * file result in the listing remaining in ascii order. You have been warned. */ +#undef APPLET +#undef APPLET_ODDNAME +#undef APPLET_NOUSAGE + + #if defined(PROTOTYPES) -#define APPLET(a,b,c,d) \ - extern int b(int argc, char **argv); \ - extern const char d[]; -#define APPLET_NOUSAGE(a,b,c) \ - extern int b(int argc, char **argv); + #define APPLET(a,b,c,d) extern int b(int argc, char **argv); + #define APPLET_NOUSAGE(a,b,c,d) extern int b(int argc, char **argv); + #define APPLET_ODDNAME(a,b,c,d,e) extern int b(int argc, char **argv); + extern const char usage_messages[]; +#elif defined(MAKE_USAGE) + #ifdef CONFIG_FEATURE_VERBOSE_USAGE + #define APPLET(a,b,c,d) a##_trivial_usage "\n\n" a##_full_usage "\0" + #define APPLET_NOUSAGE(a,b,c,d) "\b\0" + #define APPLET_ODDNAME(a,b,c,d,e) e##_trivial_usage "\n\n" e##_full_usage "\0" + #else + #define APPLET(a,b,c,d) a##_trivial_usage "\0" + #define APPLET_NOUSAGE(a,b,c,d) "\b\0" + #define APPLET_ODDNAME(a,b,c,d,e) e##_trivial_usage "\0" + #endif #elif defined(MAKE_LINKS) -#define APPLET(a,b,c,d) LINK c a -#define APPLET_NOUSAGE(a,b,c) LINK c a +# define APPLET(a,b,c,d) LINK c a +# define APPLET_NOUSAGE(a,b,c,d) LINK c a +# define APPLET_ODDNAME(a,b,c,d,e) LINK c a #else -const struct BB_applet applets[] = { -#define APPLET(a,b,c,d) {a,b,c,d}, -#define APPLET_NOUSAGE(a,b,c) {a,b,c,NULL}, + const struct BB_applet applets[] = { + #define APPLET(a,b,c,d) {#a,b,c,d}, + #define APPLET_NOUSAGE(a,b,c,d) {a,b,c,d}, + #define APPLET_ODDNAME(a,b,c,d,e) {a,b,c,d}, #endif -#ifdef BB_TEST - APPLET("[", test_main, _BB_DIR_USR_BIN, test_usage) + + +#ifdef CONFIG_TEST + APPLET_NOUSAGE("[", test_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) +#endif +#ifdef CONFIG_ADDGROUP + APPLET(addgroup, addgroup_main, _BB_DIR_BIN, _BB_SUID_NEVER) +#endif +#ifdef CONFIG_ADDUSER + APPLET(adduser, adduser_main, _BB_DIR_BIN, _BB_SUID_NEVER) +#endif +#ifdef CONFIG_ADJTIMEX + APPLET(adjtimex, adjtimex_main, _BB_DIR_SBIN, _BB_SUID_NEVER) +#endif +#ifdef CONFIG_AR + APPLET(ar, ar_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) +#endif +#ifdef CONFIG_ASH + APPLET_NOUSAGE("ash", ash_main, _BB_DIR_BIN, _BB_SUID_NEVER) +#endif +#ifdef CONFIG_AWK + APPLET(awk, awk_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) +#endif +#ifdef CONFIG_BASENAME + APPLET(basename, basename_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) +#endif +#ifdef CONFIG_BUNZIP2 + APPLET(bunzip2, bunzip2_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) +#endif + APPLET_NOUSAGE("busybox", busybox_main, _BB_DIR_BIN, _BB_SUID_MAYBE) +#ifdef CONFIG_BUNZIP2 + APPLET(bzcat, bunzip2_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) +#endif +#ifdef CONFIG_CAL + APPLET(cal, cal_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) +#endif +#ifdef CONFIG_CAT + APPLET(cat, cat_main, _BB_DIR_BIN, _BB_SUID_NEVER) +#endif +#ifdef CONFIG_CHGRP + APPLET(chgrp, chgrp_main, _BB_DIR_BIN, _BB_SUID_NEVER) +#endif +#ifdef CONFIG_CHMOD + APPLET(chmod, chmod_main, _BB_DIR_BIN, _BB_SUID_NEVER) +#endif +#ifdef CONFIG_CHOWN + APPLET(chown, chown_main, _BB_DIR_BIN, _BB_SUID_NEVER) +#endif +#ifdef CONFIG_CHROOT + APPLET(chroot, chroot_main, _BB_DIR_USR_SBIN, _BB_SUID_NEVER) +#endif +#ifdef CONFIG_CHVT + APPLET(chvt, chvt_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) +#endif +#ifdef CONFIG_CLEAR + APPLET(clear, clear_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) +#endif +#ifdef CONFIG_CMP + APPLET(cmp, cmp_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) +#endif +#ifdef CONFIG_CP + APPLET(cp, cp_main, _BB_DIR_BIN, _BB_SUID_NEVER) +#endif +#ifdef CONFIG_CPIO + APPLET(cpio, cpio_main, _BB_DIR_BIN, _BB_SUID_NEVER) +#endif +#ifdef CONFIG_CUT + APPLET(cut, cut_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) +#endif +#ifdef CONFIG_DATE + APPLET(date, date_main, _BB_DIR_BIN, _BB_SUID_NEVER) +#endif +#ifdef CONFIG_DC + APPLET(dc, dc_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) #endif -#ifdef BB_AR - APPLET("ar", ar_main, _BB_DIR_USR_BIN, ar_usage) +#ifdef CONFIG_DD + APPLET(dd, dd_main, _BB_DIR_BIN, _BB_SUID_NEVER) #endif -#ifdef BB_BASENAME - APPLET("basename", basename_main, _BB_DIR_USR_BIN, basename_usage) +#ifdef CONFIG_DEALLOCVT + APPLET(deallocvt, deallocvt_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) #endif - APPLET_NOUSAGE("busybox", busybox_main, _BB_DIR_BIN) -#ifdef BB_CAT - APPLET("cat", cat_main, _BB_DIR_BIN, cat_usage) +#ifdef CONFIG_DELGROUP + APPLET(delgroup, delgroup_main, _BB_DIR_BIN, _BB_SUID_NEVER) #endif -#ifdef BB_CHMOD_CHOWN_CHGRP - APPLET("chgrp", chmod_chown_chgrp_main, _BB_DIR_BIN, chgrp_usage) +#ifdef CONFIG_DELUSER + APPLET(deluser, deluser_main, _BB_DIR_BIN, _BB_SUID_NEVER) #endif -#ifdef BB_CHMOD_CHOWN_CHGRP - APPLET("chmod", chmod_chown_chgrp_main, _BB_DIR_BIN, chmod_usage) +#ifdef CONFIG_DF + APPLET(df, df_main, _BB_DIR_BIN, _BB_SUID_NEVER) #endif -#ifdef BB_CHMOD_CHOWN_CHGRP - APPLET("chown", chmod_chown_chgrp_main, _BB_DIR_BIN, chown_usage) +#ifdef CONFIG_DIRNAME + APPLET(dirname, dirname_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) #endif -#ifdef BB_CHROOT - APPLET("chroot", chroot_main, _BB_DIR_USR_SBIN, chroot_usage) +#ifdef CONFIG_DMESG + APPLET(dmesg, dmesg_main, _BB_DIR_BIN, _BB_SUID_NEVER) #endif -#ifdef BB_CHVT - APPLET("chvt", chvt_main, _BB_DIR_USR_BIN, chvt_usage) +#ifdef CONFIG_DOS2UNIX + APPLET(dos2unix, dos2unix_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) #endif -#ifdef BB_CLEAR - APPLET("clear", clear_main, _BB_DIR_USR_BIN, clear_usage) +#ifdef CONFIG_DPKG + APPLET(dpkg, dpkg_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) #endif -#ifdef BB_CMP - APPLET("cmp", cmp_main, _BB_DIR_USR_BIN, cmp_usage) +#ifdef CONFIG_DPKG_DEB + APPLET_ODDNAME("dpkg-deb", dpkg_deb_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER, dpkg_deb) #endif -#ifdef BB_CP_MV - APPLET("cp", cp_mv_main, _BB_DIR_BIN, cp_usage) +#ifdef CONFIG_DU + APPLET(du, du_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) #endif -#ifdef BB_CUT - APPLET("cut", cut_main, _BB_DIR_USR_BIN, cut_usage) +#ifdef CONFIG_DUMPKMAP + APPLET(dumpkmap, dumpkmap_main, _BB_DIR_BIN, _BB_SUID_NEVER) #endif -#ifdef BB_DATE - APPLET("date", date_main, _BB_DIR_BIN, date_usage) +#ifdef CONFIG_DUTMP + APPLET(dutmp, dutmp_main, _BB_DIR_USR_SBIN, _BB_SUID_NEVER) #endif -#ifdef BB_DC - APPLET("dc", dc_main, _BB_DIR_USR_BIN, dc_usage) +#ifdef CONFIG_ECHO + APPLET(echo, echo_main, _BB_DIR_BIN, _BB_SUID_NEVER) #endif -#ifdef BB_DD - APPLET("dd", dd_main, _BB_DIR_BIN, dd_usage) +#if defined(CONFIG_FEATURE_GREP_EGREP_ALIAS) + APPLET_NOUSAGE("egrep", grep_main, _BB_DIR_BIN, _BB_SUID_NEVER) #endif -#ifdef BB_DEALLOCVT - APPLET("deallocvt", deallocvt_main, _BB_DIR_USR_BIN, deallocvt_usage) +#ifdef CONFIG_ENV + APPLET(env, env_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) #endif -#ifdef BB_DF - APPLET("df", df_main, _BB_DIR_BIN, df_usage) +#ifdef CONFIG_EXPR + APPLET(expr, expr_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) #endif -#ifdef BB_DIRNAME - APPLET("dirname", dirname_main, _BB_DIR_USR_BIN, dirname_usage) +#ifdef CONFIG_FALSE + APPLET(false, false_main, _BB_DIR_BIN, _BB_SUID_NEVER) #endif -#ifdef BB_DMESG - APPLET("dmesg", dmesg_main, _BB_DIR_BIN, dmesg_usage) +#ifdef CONFIG_FBSET + APPLET(fbset, fbset_main, _BB_DIR_USR_SBIN, _BB_SUID_NEVER) #endif -#ifdef BB_DOS2UNIX - APPLET("dos2unix", dos2unix_main, _BB_DIR_USR_BIN, dos2unix_usage) +#ifdef CONFIG_FDFLUSH + APPLET(fdflush, fdflush_main, _BB_DIR_BIN, _BB_SUID_NEVER) #endif -#ifdef BB_DPKG - APPLET("dpkg", dpkg_main, _BB_DIR_USR_BIN, dpkg_usage) +#ifdef CONFIG_FIND + APPLET(find, find_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) #endif -#ifdef BB_DPKG_DEB - APPLET("dpkg-deb", dpkg_deb_main, _BB_DIR_USR_BIN, dpkg_deb_usage) +#ifdef CONFIG_FREE + APPLET(free, free_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) #endif -#ifdef BB_DU - APPLET("du", du_main, _BB_DIR_USR_BIN, du_usage) +#ifdef CONFIG_FREERAMDISK + APPLET(freeramdisk, freeramdisk_main, _BB_DIR_SBIN, _BB_SUID_NEVER) #endif -#ifdef BB_DUMPKMAP - APPLET("dumpkmap", dumpkmap_main, _BB_DIR_BIN, dumpkmap_usage) +#ifdef CONFIG_FSCK_MINIX + APPLET_ODDNAME("fsck.minix", fsck_minix_main, _BB_DIR_SBIN, _BB_SUID_NEVER, fsck_minix) #endif -#ifdef BB_DUTMP - APPLET("dutmp", dutmp_main, _BB_DIR_USR_SBIN, dutmp_usage) +#ifdef CONFIG_GETOPT + APPLET(getopt, getopt_main, _BB_DIR_BIN, _BB_SUID_NEVER) #endif -#ifdef BB_ECHO - APPLET("echo", echo_main, _BB_DIR_BIN, echo_usage) +#ifdef CONFIG_GETTY + APPLET(getty, getty_main, _BB_DIR_SBIN, _BB_SUID_NEVER) #endif -#ifdef BB_EXPR - APPLET("expr", expr_main, _BB_DIR_USR_BIN, expr_usage) +#ifdef CONFIG_GREP + APPLET(grep, grep_main, _BB_DIR_BIN, _BB_SUID_NEVER) #endif -#ifdef BB_TRUE_FALSE - APPLET("false", false_main, _BB_DIR_BIN, false_usage) +#ifdef CONFIG_GUNZIP + APPLET(gunzip, gunzip_main, _BB_DIR_BIN, _BB_SUID_NEVER) #endif -#ifdef BB_FBSET - APPLET_NOUSAGE("fbset", fbset_main, _BB_DIR_USR_SBIN) +#ifdef CONFIG_GZIP + APPLET(gzip, gzip_main, _BB_DIR_BIN, _BB_SUID_NEVER) #endif -#ifdef BB_FDFLUSH - APPLET("fdflush", fdflush_main, _BB_DIR_BIN, fdflush_usage) +#ifdef CONFIG_HALT + APPLET(halt, halt_main, _BB_DIR_SBIN, _BB_SUID_NEVER) #endif -#ifdef BB_FIND - APPLET("find", find_main, _BB_DIR_USR_BIN, find_usage) +#ifdef CONFIG_HEAD + APPLET(head, head_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) #endif -#ifdef BB_FREE - APPLET("free", free_main, _BB_DIR_USR_BIN, free_usage) +#ifdef CONFIG_HEXDUMP + APPLET(hexdump, hexdump_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) #endif -#ifdef BB_FREERAMDISK - APPLET("freeramdisk", freeramdisk_main, _BB_DIR_SBIN, freeramdisk_usage) +#ifdef CONFIG_HOSTID + APPLET(hostid, hostid_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) #endif -#ifdef BB_FSCK_MINIX - APPLET("fsck.minix", fsck_minix_main, _BB_DIR_SBIN, fsck_minix_usage) +#ifdef CONFIG_HOSTNAME + APPLET(hostname, hostname_main, _BB_DIR_BIN, _BB_SUID_NEVER) #endif -#ifdef BB_GETOPT - APPLET("getopt", getopt_main, _BB_DIR_BIN, getopt_usage) +#ifdef CONFIG_HUSH + APPLET_NOUSAGE("hush", hush_main, _BB_DIR_BIN, _BB_SUID_NEVER) #endif -#ifdef BB_GREP - APPLET("grep", grep_main, _BB_DIR_BIN, grep_usage) +#ifdef CONFIG_HWCLOCK + APPLET(hwclock, hwclock_main, _BB_DIR_SBIN, _BB_SUID_NEVER) #endif -#ifdef BB_GUNZIP - APPLET("gunzip", gunzip_main, _BB_DIR_BIN, gunzip_usage) +#ifdef CONFIG_ID + APPLET(id, id_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) #endif -#ifdef BB_GZIP - APPLET("gzip", gzip_main, _BB_DIR_BIN, gzip_usage) +#ifdef CONFIG_IFCONFIG + APPLET(ifconfig, ifconfig_main, _BB_DIR_SBIN, _BB_SUID_NEVER) #endif -#ifdef BB_HALT - APPLET("halt", halt_main, _BB_DIR_SBIN, halt_usage) +#ifdef CONFIG_INIT + APPLET(init, init_main, _BB_DIR_SBIN, _BB_SUID_NEVER) #endif -#ifdef BB_HEAD - APPLET("head", head_main, _BB_DIR_USR_BIN, head_usage) +#ifdef CONFIG_INSMOD + APPLET(insmod, insmod_main, _BB_DIR_SBIN, _BB_SUID_NEVER) #endif -#ifdef BB_HOSTID - APPLET("hostid", hostid_main, _BB_DIR_USR_BIN, hostid_usage) +#ifdef CONFIG_KILL + APPLET(kill, kill_main, _BB_DIR_BIN, _BB_SUID_NEVER) #endif -#ifdef BB_HOSTNAME - APPLET("hostname", hostname_main, _BB_DIR_BIN, hostname_usage) +#ifdef CONFIG_KILLALL + APPLET(killall, kill_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) #endif -#ifdef BB_ID - APPLET("id", id_main, _BB_DIR_USR_BIN, id_usage) +#ifdef CONFIG_KLOGD + APPLET(klogd, klogd_main, _BB_DIR_SBIN, _BB_SUID_NEVER) #endif -#ifdef BB_INIT - APPLET_NOUSAGE("init", init_main, _BB_DIR_SBIN) +#ifdef CONFIG_LASH + APPLET(lash, lash_main, _BB_DIR_BIN, _BB_SUID_NEVER) #endif -#ifdef BB_INSMOD - APPLET("insmod", insmod_main, _BB_DIR_SBIN, insmod_usage) +#ifdef CONFIG_LENGTH + APPLET(length, length_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) #endif -#ifdef BB_KILL - APPLET("kill", kill_main, _BB_DIR_BIN, kill_usage) +#ifdef CONFIG_FEATURE_INITRD + APPLET_NOUSAGE("linuxrc", init_main, _BB_DIR_ROOT, _BB_SUID_NEVER) #endif -#ifdef BB_KILLALL - APPLET("killall", kill_main, _BB_DIR_USR_BIN, killall_usage) +#ifdef CONFIG_LN + APPLET(ln, ln_main, _BB_DIR_BIN, _BB_SUID_NEVER) #endif -#ifdef BB_LENGTH - APPLET("length", length_main, _BB_DIR_USR_BIN, length_usage) +#ifdef CONFIG_LOADACM + APPLET(loadacm, loadacm_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) #endif -#ifdef BB_LINUXRC - APPLET_NOUSAGE("linuxrc", init_main, _BB_DIR_ROOT) +#ifdef CONFIG_LOADFONT + APPLET(loadfont, loadfont_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) #endif -#ifdef BB_LN - APPLET("ln", ln_main, _BB_DIR_BIN, ln_usage) +#ifdef CONFIG_LOADKMAP + APPLET(loadkmap, loadkmap_main, _BB_DIR_SBIN, _BB_SUID_NEVER) #endif -#ifdef BB_LOADACM - APPLET("loadacm", loadacm_main, _BB_DIR_USR_BIN, loadacm_usage) +#ifdef CONFIG_LOGGER + APPLET(logger, logger_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) #endif -#ifdef BB_LOADFONT - APPLET("loadfont", loadfont_main, _BB_DIR_USR_BIN, loadfont_usage) +#ifdef CONFIG_LOGIN + APPLET(login, login_main, _BB_DIR_BIN, _BB_SUID_NEVER) #endif -#ifdef BB_LOADKMAP - APPLET("loadkmap", loadkmap_main, _BB_DIR_SBIN, loadkmap_usage) +#ifdef CONFIG_LOGNAME + APPLET(logname, logname_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) #endif -#ifdef BB_LOGGER - APPLET("logger", logger_main, _BB_DIR_USR_BIN, logger_usage) +#ifdef CONFIG_LOGREAD + APPLET(logread, logread_main, _BB_DIR_SBIN, _BB_SUID_NEVER) #endif -#ifdef BB_LOGNAME - APPLET("logname", logname_main, _BB_DIR_USR_BIN, logname_usage) +#ifdef CONFIG_LOSETUP + APPLET(losetup, losetup_main, _BB_DIR_SBIN, _BB_SUID_NEVER) #endif -#ifdef BB_LS - APPLET("ls", ls_main, _BB_DIR_BIN, ls_usage) +#ifdef CONFIG_LS + APPLET(ls, ls_main, _BB_DIR_BIN, _BB_SUID_NEVER) #endif -#ifdef BB_LSMOD - APPLET("lsmod", lsmod_main, _BB_DIR_SBIN, lsmod_usage) +#ifdef CONFIG_LSMOD + APPLET(lsmod, lsmod_main, _BB_DIR_SBIN, _BB_SUID_NEVER) #endif -#ifdef BB_MAKEDEVS - APPLET("makedevs", makedevs_main, _BB_DIR_SBIN, makedevs_usage) +#ifdef CONFIG_MAKEDEVS + APPLET(makedevs, makedevs_main, _BB_DIR_SBIN, _BB_SUID_NEVER) #endif -#ifdef BB_MD5SUM - APPLET("md5sum", md5sum_main, _BB_DIR_USR_BIN, md5sum_usage) +#ifdef CONFIG_MD5SUM + APPLET(md5sum, md5sum_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) #endif -#ifdef BB_MKDIR - APPLET("mkdir", mkdir_main, _BB_DIR_BIN, mkdir_usage) +#ifdef CONFIG_MESG + APPLET(mesg, mesg_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) #endif -#ifdef BB_MKFIFO - APPLET("mkfifo", mkfifo_main, _BB_DIR_USR_BIN, mkfifo_usage) +#ifdef CONFIG_MKDIR + APPLET(mkdir, mkdir_main, _BB_DIR_BIN, _BB_SUID_NEVER) #endif -#ifdef BB_MKFS_MINIX - APPLET("mkfs.minix", mkfs_minix_main, _BB_DIR_SBIN, mkfs_minix_usage) +#ifdef CONFIG_MKFIFO + APPLET(mkfifo, mkfifo_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) #endif -#ifdef BB_MKNOD - APPLET("mknod", mknod_main, _BB_DIR_BIN, mknod_usage) +#ifdef CONFIG_MKFS_MINIX + APPLET_ODDNAME("mkfs.minix", mkfs_minix_main, _BB_DIR_SBIN, _BB_SUID_NEVER, mkfs_minix) #endif -#ifdef BB_MKSWAP - APPLET("mkswap", mkswap_main, _BB_DIR_SBIN, mkswap_usage) +#ifdef CONFIG_MKNOD + APPLET(mknod, mknod_main, _BB_DIR_BIN, _BB_SUID_NEVER) #endif -#ifdef BB_MKTEMP - APPLET("mktemp", mktemp_main, _BB_DIR_BIN, mktemp_usage) +#ifdef CONFIG_MKSWAP + APPLET(mkswap, mkswap_main, _BB_DIR_SBIN, _BB_SUID_NEVER) #endif -#ifdef BB_MORE - APPLET("more", more_main, _BB_DIR_BIN, more_usage) +#ifdef CONFIG_MKTEMP + APPLET(mktemp, mktemp_main, _BB_DIR_BIN, _BB_SUID_NEVER) #endif -#ifdef BB_MOUNT - APPLET("mount", mount_main, _BB_DIR_BIN, mount_usage) +#ifdef CONFIG_MODPROBE + APPLET(modprobe, modprobe_main, _BB_DIR_SBIN, _BB_SUID_NEVER) #endif -#ifdef BB_MT - APPLET("mt", mt_main, _BB_DIR_BIN, mt_usage) +#ifdef CONFIG_MORE + APPLET(more, more_main, _BB_DIR_BIN, _BB_SUID_NEVER) #endif -#ifdef BB_CP_MV - APPLET("mv", cp_mv_main, _BB_DIR_BIN, mv_usage) +#ifdef CONFIG_MOUNT + APPLET(mount, mount_main, _BB_DIR_BIN, _BB_SUID_NEVER) #endif -#ifdef BB_NC - APPLET("nc", nc_main, _BB_DIR_USR_BIN, nc_usage) +#ifdef CONFIG_MSH + APPLET_NOUSAGE("msh", msh_main, _BB_DIR_BIN, _BB_SUID_NEVER) #endif -#ifdef BB_NSLOOKUP - APPLET("nslookup", nslookup_main, _BB_DIR_USR_BIN, nslookup_usage) +#ifdef CONFIG_MT + APPLET(mt, mt_main, _BB_DIR_BIN, _BB_SUID_NEVER) #endif -#ifdef BB_PING - APPLET("ping", ping_main, _BB_DIR_BIN, ping_usage) +#ifdef CONFIG_MV + APPLET(mv, mv_main, _BB_DIR_BIN, _BB_SUID_NEVER) #endif -#ifdef BB_PIVOT_ROOT - APPLET("pivot_root", pivot_root_main, _BB_DIR_SBIN, pivot_root_usage) +#ifdef CONFIG_NC + APPLET(nc, nc_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) #endif -#ifdef BB_POWEROFF - APPLET("poweroff", poweroff_main, _BB_DIR_SBIN, poweroff_usage) +#ifdef CONFIG_NETSTAT + APPLET(netstat, netstat_main, _BB_DIR_BIN, _BB_SUID_NEVER) #endif -#ifdef BB_PRINTF - APPLET("printf", printf_main, _BB_DIR_USR_BIN, printf_usage) +#ifdef CONFIG_NSLOOKUP + APPLET(nslookup, nslookup_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) #endif -#ifdef BB_PS - APPLET("ps", ps_main, _BB_DIR_BIN, ps_usage) +#ifdef CONFIG_OD + APPLET(od, od_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) #endif -#ifdef BB_PWD - APPLET("pwd", pwd_main, _BB_DIR_BIN, pwd_usage) +#ifdef CONFIG_OPENVT + APPLET(openvt, openvt_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) #endif -#ifdef BB_RDATE - APPLET("rdate", rdate_main, _BB_DIR_USR_BIN, rdate_usage) +#ifdef CONFIG_PASSWD + APPLET(passwd, passwd_main, _BB_DIR_USR_BIN, _BB_SUID_ALWAYS) #endif -#ifdef BB_READLINK - APPLET("readlink", readlink_main, _BB_DIR_USR_BIN, readlink_usage) +#ifdef CONFIG_PIDOF + APPLET(pidof, pidof_main, _BB_DIR_BIN, _BB_SUID_NEVER) #endif -#ifdef BB_REBOOT - APPLET("reboot", reboot_main, _BB_DIR_SBIN, reboot_usage) +#ifdef CONFIG_PING + APPLET(ping, ping_main, _BB_DIR_BIN, _BB_SUID_NEVER) #endif -#ifdef BB_RENICE - APPLET("renice", renice_main, _BB_DIR_USR_BIN, renice_usage) +#ifdef CONFIG_PING6 + APPLET(ping6, ping6_main, _BB_DIR_BIN, _BB_SUID_NEVER) #endif -#ifdef BB_RESET - APPLET("reset", reset_main, _BB_DIR_USR_BIN, reset_usage) +#ifdef CONFIG_PIVOT_ROOT + APPLET(pivot_root, pivot_root_main, _BB_DIR_SBIN, _BB_SUID_NEVER) #endif -#ifdef BB_RM - APPLET("rm", rm_main, _BB_DIR_BIN, rm_usage) +#ifdef CONFIG_POWEROFF + APPLET(poweroff, poweroff_main, _BB_DIR_SBIN, _BB_SUID_NEVER) #endif -#ifdef BB_RMDIR - APPLET("rmdir", rmdir_main, _BB_DIR_BIN, rmdir_usage) +#ifdef CONFIG_PRINTF + APPLET(printf, printf_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) #endif -#ifdef BB_RMMOD - APPLET("rmmod", rmmod_main, _BB_DIR_SBIN, rmmod_usage) +#ifdef CONFIG_PS + APPLET(ps, ps_main, _BB_DIR_BIN, _BB_SUID_NEVER) #endif -#ifdef BB_RPMUNPACK - APPLET("rpmunpack", rpmunpack_main, _BB_DIR_USR_BIN, rpmunpack_usage) +#ifdef CONFIG_PWD + APPLET(pwd, pwd_main, _BB_DIR_BIN, _BB_SUID_NEVER) #endif -#ifdef BB_SED - APPLET("sed", sed_main, _BB_DIR_BIN, sed_usage) +#ifdef CONFIG_RDATE + APPLET(rdate, rdate_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) #endif -#ifdef BB_SETKEYCODES - APPLET("setkeycodes", setkeycodes_main, _BB_DIR_USR_BIN, setkeycodes_usage) +#ifdef CONFIG_READLINK + APPLET(readlink, readlink_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) #endif -#ifdef BB_SH - APPLET("sh", shell_main, _BB_DIR_BIN, shell_usage) +#ifdef CONFIG_REBOOT + APPLET(reboot, reboot_main, _BB_DIR_SBIN, _BB_SUID_NEVER) #endif -#ifdef BB_SLEEP - APPLET("sleep", sleep_main, _BB_DIR_BIN, sleep_usage) +#ifdef CONFIG_RENICE + APPLET(renice, renice_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) #endif -#ifdef BB_SORT - APPLET("sort", sort_main, _BB_DIR_USR_BIN, sort_usage) +#ifdef CONFIG_RESET + APPLET(reset, reset_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) #endif -#ifdef BB_SWAPONOFF - APPLET("swapoff", swap_on_off_main, _BB_DIR_SBIN, swapoff_usage) +#ifdef CONFIG_RM + APPLET(rm, rm_main, _BB_DIR_BIN, _BB_SUID_NEVER) #endif -#ifdef BB_SWAPONOFF - APPLET("swapon", swap_on_off_main, _BB_DIR_SBIN, swapon_usage) +#ifdef CONFIG_RMDIR + APPLET(rmdir, rmdir_main, _BB_DIR_BIN, _BB_SUID_NEVER) #endif -#ifdef BB_SYNC - APPLET("sync", sync_main, _BB_DIR_BIN, sync_usage) +#ifdef CONFIG_RMMOD + APPLET(rmmod, rmmod_main, _BB_DIR_SBIN, _BB_SUID_NEVER) #endif -#ifdef BB_SYSLOGD - APPLET("syslogd", syslogd_main, _BB_DIR_SBIN, syslogd_usage) +#ifdef CONFIG_ROUTE + APPLET(route, route_main, _BB_DIR_SBIN, _BB_SUID_NEVER) #endif -#ifdef BB_TAIL - APPLET("tail", tail_main, _BB_DIR_USR_BIN, tail_usage) +#ifdef CONFIG_RPM2CPIO + APPLET(rpm2cpio, rpm2cpio_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) #endif -#ifdef BB_TAR - APPLET("tar", tar_main, _BB_DIR_BIN, tar_usage) +#ifdef CONFIG_RUN_PARTS + APPLET_ODDNAME("run-parts", run_parts_main, _BB_DIR_BIN, _BB_SUID_NEVER, run_parts) +#endif +#ifdef CONFIG_SED + APPLET(sed, sed_main, _BB_DIR_BIN, _BB_SUID_NEVER) #endif -#ifdef BB_TEE - APPLET("tee", tee_main, _BB_DIR_USR_BIN, tee_usage) +#ifdef CONFIG_SETKEYCODES + APPLET(setkeycodes, setkeycodes_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) #endif -#ifdef BB_TELNET - APPLET("telnet", telnet_main, _BB_DIR_USR_BIN, telnet_usage) +#if defined(CONFIG_FEATURE_SH_IS_ASH) && defined(CONFIG_ASH) + APPLET_NOUSAGE("sh", ash_main, _BB_DIR_BIN, _BB_SUID_NEVER) +#elif defined(CONFIG_FEATURE_SH_IS_HUSH) && defined(CONFIG_HUSH) + APPLET_NOUSAGE("sh", hush_main, _BB_DIR_BIN, _BB_SUID_NEVER) +#elif defined(CONFIG_FEATURE_SH_IS_LASH) && defined(CONFIG_LASH) + APPLET_NOUSAGE("sh", lash_main, _BB_DIR_BIN, _BB_SUID_NEVER) +#elif defined(CONFIG_FEATURE_SH_IS_MSH) && defined(CONFIG_MSH) + APPLET_NOUSAGE("sh", msh_main, _BB_DIR_BIN, _BB_SUID_NEVER) #endif -#ifdef BB_TEST - APPLET("test", test_main, _BB_DIR_USR_BIN, test_usage) +#ifdef CONFIG_SLEEP + APPLET(sleep, sleep_main, _BB_DIR_BIN, _BB_SUID_NEVER) #endif -#ifdef BB_TOUCH - APPLET("touch", touch_main, _BB_DIR_BIN, touch_usage) +#ifdef CONFIG_SORT + APPLET(sort, sort_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) #endif -#ifdef BB_TR - APPLET("tr", tr_main, _BB_DIR_USR_BIN, tr_usage) +#ifdef CONFIG_START_STOP_DAEMON + APPLET_ODDNAME("start-stop-daemon", start_stop_daemon_main, _BB_DIR_SBIN, _BB_SUID_NEVER, start_stop_daemon) #endif -#ifdef BB_TRUE_FALSE - APPLET("true", true_main, _BB_DIR_BIN, true_usage) +#ifdef CONFIG_STTY + APPLET(stty, stty_main, _BB_DIR_BIN, _BB_SUID_NEVER) #endif -#ifdef BB_TTY - APPLET("tty", tty_main, _BB_DIR_USR_BIN, tty_usage) +#ifdef CONFIG_SU + APPLET(su, su_main, _BB_DIR_BIN, _BB_SUID_ALWAYS) #endif -#ifdef BB_UMOUNT - APPLET("umount", umount_main, _BB_DIR_BIN, umount_usage) +#ifdef CONFIG_SULOGIN + APPLET(sulogin, sulogin_main, _BB_DIR_SBIN, _BB_SUID_NEVER) #endif -#ifdef BB_UNAME - APPLET("uname", uname_main, _BB_DIR_BIN, uname_usage) +#ifdef CONFIG_SWAPONOFF + APPLET(swapoff, swap_on_off_main, _BB_DIR_SBIN, _BB_SUID_NEVER) #endif -#ifdef BB_UNIQ - APPLET("uniq", uniq_main, _BB_DIR_USR_BIN, uniq_usage) +#ifdef CONFIG_SWAPONOFF + APPLET(swapon, swap_on_off_main, _BB_DIR_SBIN, _BB_SUID_NEVER) #endif -#ifdef BB_UNIX2DOS - APPLET("unix2dos", unix2dos_main, _BB_DIR_USR_BIN, unix2dos_usage) +#ifdef CONFIG_SYNC + APPLET(sync, sync_main, _BB_DIR_BIN, _BB_SUID_NEVER) #endif -#ifdef BB_UPDATE - APPLET("update", update_main, _BB_DIR_SBIN, update_usage) +#ifdef CONFIG_SYSLOGD + APPLET(syslogd, syslogd_main, _BB_DIR_SBIN, _BB_SUID_NEVER) #endif -#ifdef BB_UPTIME - APPLET("uptime", uptime_main, _BB_DIR_USR_BIN, uptime_usage) +#ifdef CONFIG_TAIL + APPLET(tail, tail_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) #endif -#ifdef BB_USLEEP - APPLET("usleep", usleep_main, _BB_DIR_BIN, usleep_usage) +#ifdef CONFIG_TAR + APPLET(tar, tar_main, _BB_DIR_BIN, _BB_SUID_NEVER) #endif -#ifdef BB_UUDECODE - APPLET("uudecode", uudecode_main, _BB_DIR_USR_BIN, uudecode_usage) +#ifdef CONFIG_TEE + APPLET(tee, tee_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) #endif -#ifdef BB_UUENCODE - APPLET("uuencode", uuencode_main, _BB_DIR_USR_BIN, uuencode_usage) +#ifdef CONFIG_TELNET + APPLET(telnet, telnet_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) #endif -#ifdef BB_WATCHDOG - APPLET("watchdog", watchdog_main, _BB_DIR_SBIN, watchdog_usage) +#ifdef CONFIG_TEST + APPLET(test, test_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) #endif -#ifdef BB_WC - APPLET("wc", wc_main, _BB_DIR_USR_BIN, wc_usage) +#ifdef CONFIG_TFTP + APPLET(tftp, tftp_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) #endif -#ifdef BB_WGET - APPLET("wget", wget_main, _BB_DIR_USR_BIN, wget_usage) +#ifdef CONFIG_TIME + APPLET(time, time_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) #endif -#ifdef BB_WHICH - APPLET("which", which_main, _BB_DIR_USR_BIN, which_usage) +#ifdef CONFIG_TOP + APPLET(top, top_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) #endif -#ifdef BB_WHOAMI - APPLET("whoami", whoami_main, _BB_DIR_USR_BIN, whoami_usage) +#ifdef CONFIG_TOUCH + APPLET(touch, touch_main, _BB_DIR_BIN, _BB_SUID_NEVER) #endif -#ifdef BB_XARGS - APPLET("xargs", xargs_main, _BB_DIR_USR_BIN, xargs_usage) +#ifdef CONFIG_TR + APPLET(tr, tr_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) #endif -#ifdef BB_YES - APPLET("yes", yes_main, _BB_DIR_USR_BIN, yes_usage) +#ifdef CONFIG_TRACEROUTE + APPLET(traceroute, traceroute_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) #endif -#ifdef BB_GUNZIP - APPLET("zcat", gunzip_main, _BB_DIR_BIN, gunzip_usage) +#ifdef CONFIG_TRUE + APPLET(true, true_main, _BB_DIR_BIN, _BB_SUID_NEVER) +#endif +#ifdef CONFIG_TTY + APPLET(tty, tty_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) +#endif +#ifdef CONFIG_UDHCPC + APPLET(udhcpc, udhcpc_main, _BB_DIR_SBIN, _BB_SUID_NEVER) +#endif +#ifdef CONFIG_UMOUNT + APPLET(umount, umount_main, _BB_DIR_BIN, _BB_SUID_NEVER) +#endif +#ifdef CONFIG_UNAME + APPLET(uname, uname_main, _BB_DIR_BIN, _BB_SUID_NEVER) +#endif +#ifdef CONFIG_GUNZIP +# ifdef CONFIG_FEATURE_UNCOMPRESS + APPLET_ODDNAME("uncompress", gunzip_main, _BB_DIR_BIN, _BB_SUID_NEVER, gunzip) +# endif +#endif +#ifdef CONFIG_UNIQ + APPLET(uniq, uniq_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) +#endif +#ifdef CONFIG_UNIX2DOS + APPLET(unix2dos, dos2unix_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) +#endif +#ifdef CONFIG_UNZIP + APPLET(unzip, unzip_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) +#endif +#ifdef CONFIG_UPDATE + APPLET(update, update_main, _BB_DIR_SBIN, _BB_SUID_NEVER) +#endif +#ifdef CONFIG_UPTIME + APPLET(uptime, uptime_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) +#endif +#ifdef CONFIG_USLEEP + APPLET(usleep, usleep_main, _BB_DIR_BIN, _BB_SUID_NEVER) +#endif +#ifdef CONFIG_UUDECODE + APPLET(uudecode, uudecode_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) +#endif +#ifdef CONFIG_UUENCODE + APPLET(uuencode, uuencode_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) +#endif +#ifdef CONFIG_VI + APPLET(vi, vi_main, _BB_DIR_BIN, _BB_SUID_NEVER) +#endif +#ifdef CONFIG_VLOCK + APPLET(vlock, vlock_main, _BB_DIR_USR_BIN, _BB_SUID_ALWAYS) +#endif +#ifdef CONFIG_WATCH + APPLET(watch, watch_main, _BB_DIR_BIN, _BB_SUID_NEVER) +#endif +#ifdef CONFIG_WATCHDOG + APPLET(watchdog, watchdog_main, _BB_DIR_SBIN, _BB_SUID_NEVER) +#endif +#ifdef CONFIG_WC + APPLET(wc, wc_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) +#endif +#ifdef CONFIG_WGET + APPLET(wget, wget_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) +#endif +#ifdef CONFIG_WHICH + APPLET(which, which_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) +#endif +#ifdef CONFIG_WHO + APPLET(who, who_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) +#endif +#ifdef CONFIG_WHOAMI + APPLET(whoami, whoami_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) +#endif +#ifdef CONFIG_XARGS + APPLET(xargs, xargs_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) +#endif +#ifdef CONFIG_YES + APPLET(yes, yes_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) +#endif +#ifdef CONFIG_GUNZIP + APPLET(zcat, gunzip_main, _BB_DIR_BIN, _BB_SUID_NEVER) #endif -#if !defined(PROTOTYPES) && !defined(MAKE_LINKS) - { 0,NULL,0,NULL} +#if !defined(PROTOTYPES) && !defined(MAKE_USAGE) + { 0,NULL,0 } }; -/* The -1 arises because of the {0,NULL,0,NULL} entry above. */ -size_t NUM_APPLETS = (sizeof (applets) / sizeof (struct BB_applet) - 1); - #endif +