aboutsummaryrefslogtreecommitdiff
path: root/toys/other/w.c
diff options
context:
space:
mode:
Diffstat (limited to 'toys/other/w.c')
-rw-r--r--toys/other/w.c36
1 files changed, 36 insertions, 0 deletions
diff --git a/toys/other/w.c b/toys/other/w.c
new file mode 100644
index 00000000..50f2283b
--- /dev/null
+++ b/toys/other/w.c
@@ -0,0 +1,36 @@
+/* vi: set sw=4 ts=4:
+ *
+ * w.c - shows logged in users
+ *
+ * Copyright 2012 Gaurang Shastri <gmshastri@gmail.com>
+ *
+ * Not in SUSv4.
+
+USE_W(NEWTOY(w, NULL, TOYFLAG_USR|TOYFLAG_BIN))
+
+config W
+ bool "w"
+ default y
+ help
+ usage: w
+
+ Show who is logged on and since how long they logged in.
+*/
+
+#include "toys.h"
+
+void w_main(void)
+{
+ struct utmpx *x;
+
+ xprintf("USER TTY LOGIN@ FROM");
+ setutxent();
+ while ((x=getutxent()) != NULL)
+ if (x->ut_type==7) {
+ time_t tt = x->ut_tv.tv_sec;
+
+ xprintf("\n%-9.8s%-9.8s %-4.24s (%-1.12s)", x->ut_user, x->ut_line,
+ ctime(&tt), x->ut_host);
+ }
+ xputc('\n');
+}