aboutsummaryrefslogtreecommitdiff
path: root/toys/example/hello.c
diff options
context:
space:
mode:
authorRob Landley <rob@landley.net>2014-04-23 17:23:09 -0500
committerRob Landley <rob@landley.net>2014-04-23 17:23:09 -0500
commitf9070f36adfaf1b5c175768fb7169b9ff79da21d (patch)
tree84df08b9ceaf1b6ac1d31a26cf4f06b199ffca9f /toys/example/hello.c
parent5fe77cf9ed586a84c5ccd289154d0b543d2b4949 (diff)
downloadtoybox-f9070f36adfaf1b5c175768fb7169b9ff79da21d.tar.gz
Add example directory, move hello.c into it, add skeleton.c to demonstrate more complciated stuff (multiple commands per file, etc), and have genconfig.sh sort backwards so posix is first and example last in menuconfig.
Diffstat (limited to 'toys/example/hello.c')
-rw-r--r--toys/example/hello.c35
1 files changed, 35 insertions, 0 deletions
diff --git a/toys/example/hello.c b/toys/example/hello.c
new file mode 100644
index 00000000..3b7d27b6
--- /dev/null
+++ b/toys/example/hello.c
@@ -0,0 +1,35 @@
+/* hello.c - A hello world program. (Simple template for new commands.)
+ *
+ * Copyright 2012 Rob Landley <rob@landley.net>
+ *
+ * See http://pubs.opengroup.org/onlinepubs/9699919799/utilities/
+ * See http://refspecs.linuxfoundation.org/LSB_4.1.0/LSB-Core-generic/LSB-Core-generic/cmdbehav.html
+
+USE_HELLO(NEWTOY(hello, 0, TOYFLAG_USR|TOYFLAG_BIN))
+
+config HELLO
+ bool "hello"
+ default n
+ help
+ usage: hello [-s]
+
+ A hello world program. You don't need this.
+
+ Mostly used as a simple template for adding new commands.
+ Occasionally nice to smoketest kernel booting via "init=/usr/bin/hello".
+*/
+
+#define FOR_hello
+#include "toys.h"
+
+GLOBALS(
+ int unused;
+)
+
+void hello_main(void)
+{
+ xprintf("Hello world\n");
+
+ // Avoid kernel panic if run as init.
+ if (getpid() == 1) wait(&TT.unused);
+}