1*cf5a6c84SAndroid Build Coastguard Worker /* tty.c - Show stdin's terminal name 2*cf5a6c84SAndroid Build Coastguard Worker * 3*cf5a6c84SAndroid Build Coastguard Worker * Copyright 2011 Rob Landley <[email protected]> 4*cf5a6c84SAndroid Build Coastguard Worker * 5*cf5a6c84SAndroid Build Coastguard Worker * See http://opengroup.org/onlinepubs/9699919799/utilities/tty.html 6*cf5a6c84SAndroid Build Coastguard Worker 7*cf5a6c84SAndroid Build Coastguard Worker USE_TTY(NEWTOY(tty, "s", TOYFLAG_USR|TOYFLAG_BIN)) 8*cf5a6c84SAndroid Build Coastguard Worker 9*cf5a6c84SAndroid Build Coastguard Worker config TTY 10*cf5a6c84SAndroid Build Coastguard Worker bool "tty" 11*cf5a6c84SAndroid Build Coastguard Worker default y 12*cf5a6c84SAndroid Build Coastguard Worker help 13*cf5a6c84SAndroid Build Coastguard Worker usage: tty [-s] 14*cf5a6c84SAndroid Build Coastguard Worker 15*cf5a6c84SAndroid Build Coastguard Worker Show filename of terminal connected to stdin. If none print "not a tty" 16*cf5a6c84SAndroid Build Coastguard Worker and exit with nonzero status. 17*cf5a6c84SAndroid Build Coastguard Worker 18*cf5a6c84SAndroid Build Coastguard Worker -s Silent, exit code only 19*cf5a6c84SAndroid Build Coastguard Worker */ 20*cf5a6c84SAndroid Build Coastguard Worker 21*cf5a6c84SAndroid Build Coastguard Worker #include "toys.h" 22*cf5a6c84SAndroid Build Coastguard Worker tty_main(void)23*cf5a6c84SAndroid Build Coastguard Workervoid tty_main(void) 24*cf5a6c84SAndroid Build Coastguard Worker { 25*cf5a6c84SAndroid Build Coastguard Worker char *tty = ttyname(0); 26*cf5a6c84SAndroid Build Coastguard Worker 27*cf5a6c84SAndroid Build Coastguard Worker toys.exitval = !tty; 28*cf5a6c84SAndroid Build Coastguard Worker if (!toys.optflags) puts(tty ? : "not a tty"); 29*cf5a6c84SAndroid Build Coastguard Worker } 30