aboutsummaryrefslogtreecommitdiff
path: root/toys.h
diff options
context:
space:
mode:
authorRob Landley <rob@landley.net>2008-01-20 17:25:44 -0600
committerRob Landley <rob@landley.net>2008-01-20 17:25:44 -0600
commitb1aaba1fc8176ac0b7c202a664d2554aa0967116 (patch)
tree7bbd14f5dd2413a6b913ea04b0bdf746a2d5b1fb /toys.h
parenteb9b8da0698aacd14f5aa0879d2a8e390c0c6c13 (diff)
downloadtoybox-b1aaba1fc8176ac0b7c202a664d2554aa0967116.tar.gz
Zap toylist.h, moving contents of global structures into DEFINE_GLOBALS()
macros in each C file, and making generated/globals.h from that. Rename "toy" to "this" along the way to avoid toy/toys confusion.
Diffstat (limited to 'toys.h')
-rw-r--r--toys.h20
1 files changed, 19 insertions, 1 deletions
diff --git a/toys.h b/toys.h
index 686d7527..3c48fb81 100644
--- a/toys.h
+++ b/toys.h
@@ -39,13 +39,13 @@
#include "lib/lib.h"
#include "toys/e2fs.h"
-#include "toys/toylist.h"
// Get list of function prototypes for all enabled command_main() functions.
#define NEWTOY(name, opts, flags) void name##_main(void);
#define OLDTOY(name, oldname, opts, flags)
#include "generated/newtoys.h"
+#include "generated/globals.h"
// These live in main.c
@@ -53,6 +53,22 @@ struct toy_list *toy_find(char *name);
void toy_init(struct toy_list *which, char *argv[]);
void toy_exec(char *argv[]);
+// List of available applets
+
+#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;
+ void (*toy_main)(void);
+ char *options;
+ int flags;
+} toy_list[];
+
// Global context for any applet.
extern struct toy_context {
@@ -67,3 +83,5 @@ extern struct toy_context {
// One big temporary buffer, for use by applets (not library functions).
extern char toybuf[4096];
+
+#define DEFINE_GLOBALS(...)