1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- /* vi: set sw=4 ts=4: */
- /*
- * Busybox main internal header file
- *
- * Licensed under the GPL v2 or later, see the file LICENSE in this tarball.
- */
- #ifndef _BB_INTERNAL_H_
- #define _BB_INTERNAL_H_ 1
- #include "libbb.h"
- /* order matters: used as index into "install_dir[]" in busybox.c */
- enum Location {
- _BB_DIR_ROOT = 0,
- _BB_DIR_BIN,
- _BB_DIR_SBIN,
- _BB_DIR_USR_BIN,
- _BB_DIR_USR_SBIN
- };
- enum SUIDRoot {
- _BB_SUID_NEVER = 0,
- _BB_SUID_MAYBE,
- _BB_SUID_ALWAYS
- };
- struct BB_applet {
- const char *name;
- int (*main) (int argc, char **argv);
- __extension__ enum Location location:4;
- __extension__ enum SUIDRoot need_suid:4;
- };
- /* From busybox.c */
- extern const struct BB_applet applets[];
- /* Automagically pull in all the applet function prototypes and
- * applet usage strings. These are all of the form:
- * extern int foo_main(int argc, char **argv);
- * extern const char foo_usage[];
- * These are all autogenerated from the set of currently defined applets.
- */
- #define PROTOTYPES
- #include "applets.h"
- #undef PROTOTYPES
- #endif /* _BB_INTERNAL_H_ */
|