diff options
Diffstat (limited to 'include/busybox.h')
-rw-r--r-- | include/busybox.h | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/include/busybox.h b/include/busybox.h new file mode 100644 index 000000000..d20337ff1 --- /dev/null +++ b/include/busybox.h | |||
@@ -0,0 +1,47 @@ | |||
1 | /* vi: set sw=4 ts=4: */ | ||
2 | /* | ||
3 | * Busybox main internal header file | ||
4 | * | ||
5 | * Licensed under the GPL v2 or later, see the file LICENSE in this tarball. | ||
6 | */ | ||
7 | #ifndef _BB_INTERNAL_H_ | ||
8 | #define _BB_INTERNAL_H_ 1 | ||
9 | |||
10 | #include "libbb.h" | ||
11 | |||
12 | /* order matters: used as index into "install_dir[]" in busybox.c */ | ||
13 | enum Location { | ||
14 | _BB_DIR_ROOT = 0, | ||
15 | _BB_DIR_BIN, | ||
16 | _BB_DIR_SBIN, | ||
17 | _BB_DIR_USR_BIN, | ||
18 | _BB_DIR_USR_SBIN | ||
19 | }; | ||
20 | |||
21 | enum SUIDRoot { | ||
22 | _BB_SUID_NEVER = 0, | ||
23 | _BB_SUID_MAYBE, | ||
24 | _BB_SUID_ALWAYS | ||
25 | }; | ||
26 | |||
27 | struct BB_applet { | ||
28 | const char *name; | ||
29 | int (*main) (int argc, char **argv); | ||
30 | __extension__ enum Location location:4; | ||
31 | __extension__ enum SUIDRoot need_suid:4; | ||
32 | }; | ||
33 | |||
34 | /* From busybox.c */ | ||
35 | extern const struct BB_applet applets[]; | ||
36 | |||
37 | /* Automagically pull in all the applet function prototypes and | ||
38 | * applet usage strings. These are all of the form: | ||
39 | * extern int foo_main(int argc, char **argv); | ||
40 | * extern const char foo_usage[]; | ||
41 | * These are all autogenerated from the set of currently defined applets. | ||
42 | */ | ||
43 | #define PROTOTYPES | ||
44 | #include "applets.h" | ||
45 | #undef PROTOTYPES | ||
46 | |||
47 | #endif /* _BB_INTERNAL_H_ */ | ||