1*cf5a6c84SAndroid Build Coastguard Worker /* hello.c - A hello world program. (Simple template for new commands.) 2*cf5a6c84SAndroid Build Coastguard Worker * 3*cf5a6c84SAndroid Build Coastguard Worker * Copyright 2012 Rob Landley <[email protected]> 4*cf5a6c84SAndroid Build Coastguard Worker * 5*cf5a6c84SAndroid Build Coastguard Worker * See http://pubs.opengroup.org/onlinepubs/9699919799/utilities/ 6*cf5a6c84SAndroid Build Coastguard Worker * See http://refspecs.linuxfoundation.org/LSB_4.1.0/LSB-Core-generic/LSB-Core-generic/cmdbehav.html 7*cf5a6c84SAndroid Build Coastguard Worker * See https://www.ietf.org/rfc/rfc3.txt 8*cf5a6c84SAndroid Build Coastguard Worker * See https://man7.org/linux/man-pages/man1/intro.1.html 9*cf5a6c84SAndroid Build Coastguard Worker * No standard. 10*cf5a6c84SAndroid Build Coastguard Worker 11*cf5a6c84SAndroid Build Coastguard Worker USE_HELLO(NEWTOY(hello, 0, TOYFLAG_USR|TOYFLAG_BIN)) 12*cf5a6c84SAndroid Build Coastguard Worker 13*cf5a6c84SAndroid Build Coastguard Worker config HELLO 14*cf5a6c84SAndroid Build Coastguard Worker bool "hello" 15*cf5a6c84SAndroid Build Coastguard Worker default n 16*cf5a6c84SAndroid Build Coastguard Worker help 17*cf5a6c84SAndroid Build Coastguard Worker usage: hello 18*cf5a6c84SAndroid Build Coastguard Worker 19*cf5a6c84SAndroid Build Coastguard Worker A hello world program. 20*cf5a6c84SAndroid Build Coastguard Worker 21*cf5a6c84SAndroid Build Coastguard Worker Mostly used as a simple template for adding new commands. 22*cf5a6c84SAndroid Build Coastguard Worker Occasionally nice to smoketest kernel booting via "init=/usr/bin/hello". 23*cf5a6c84SAndroid Build Coastguard Worker */ 24*cf5a6c84SAndroid Build Coastguard Worker 25*cf5a6c84SAndroid Build Coastguard Worker #define FOR_hello 26*cf5a6c84SAndroid Build Coastguard Worker #include "toys.h" 27*cf5a6c84SAndroid Build Coastguard Worker GLOBALS(int unused;)28*cf5a6c84SAndroid Build Coastguard WorkerGLOBALS( 29*cf5a6c84SAndroid Build Coastguard Worker int unused; 30*cf5a6c84SAndroid Build Coastguard Worker ) 31*cf5a6c84SAndroid Build Coastguard Worker 32*cf5a6c84SAndroid Build Coastguard Worker void hello_main(void) 33*cf5a6c84SAndroid Build Coastguard Worker { 34*cf5a6c84SAndroid Build Coastguard Worker xprintf("Hello world\n"); 35*cf5a6c84SAndroid Build Coastguard Worker 36*cf5a6c84SAndroid Build Coastguard Worker // Avoid kernel panic if run as init. 37*cf5a6c84SAndroid Build Coastguard Worker if (getpid() == 1) getchar(); 38*cf5a6c84SAndroid Build Coastguard Worker } 39