diff options
author | landley <landley@driftwood> | 2006-10-05 16:18:03 -0400 |
---|---|---|
committer | landley <landley@driftwood> | 2006-10-05 16:18:03 -0400 |
commit | 4f344e356d2c36c4b1df46917eaef25f82ca79a9 (patch) | |
tree | cae824af861d5665b1acf1e4b07de86c256c2d0b /toys.h | |
parent | c56215062c961402515daeef8330ed75cd94af29 (diff) | |
download | toybox-4f344e356d2c36c4b1df46917eaef25f82ca79a9.tar.gz |
Infrastructure, first drop of toy shell, and a bit of work on df.
Diffstat (limited to 'toys.h')
-rw-r--r-- | toys.h | 34 |
1 files changed, 25 insertions, 9 deletions
@@ -6,43 +6,59 @@ * Licensed under GPL version 2, see file LICENSE in this tarball for details. */ +#include <limits.h> +#include <stdarg.h> #include <stdio.h> +#include <stdlib.h> +#include <string.h> #include <strings.h> +#include <unistd.h> -/* -name -main() -struct -usage (short long example info) -path (/usr/sbin) -*/ +#include "lib/lib.h" +int cd_main(void); +int exit_main(void); int toybox_main(void); int toysh_main(void); int df_main(void); +#define TOYFLAG_USR (1<<0) +#define TOYFLAG_BIN (1<<1) +#define TOYFLAG_SBIN (1<<2) +#define TOYMASK_LOCATION ((1<<4)-1) + +#define TOYFLAG_NOFORK (1<<4) + extern struct toy_list { char *name; int (*toy_main)(void); + int flags; } toy_list[]; -struct toy_list *find_toy_by_name(char *name); +struct toy_list *toy_find(char *name); // Global context for this applet. extern struct toy_context { - struct toy_list *which; + struct toy_list *which; // Which entry in toy_list is this one? + int exitval; // Value error_exit feeds to exit() int argc; char **argv; char buf[4096]; } toys; +struct exit_data {;}; +struct cd_data {;}; struct toybox_data {;}; struct toysh_data {;}; struct df_data {;}; union toy_union { + struct exit_data exit; + struct cd_data cd; struct toybox_data toybox; struct toysh_data toysh; struct df_data df; } toy; +// I need a real config system. +#define CFG_TOYS_FREE 0 |