aboutsummaryrefslogtreecommitdiff
path: root/toys/who.c
diff options
context:
space:
mode:
authorLuis Felipe Strano Moraes <lfelipe@profusion.mobi>2012-02-06 16:29:09 -0800
committerLuis Felipe Strano Moraes <lfelipe@profusion.mobi>2012-02-06 16:29:09 -0800
commit5232ac079353fb3779e480b74e87c714af6ee707 (patch)
tree77fbf1b79b7ab693d67612dd230a91c7eca4da18 /toys/who.c
parentb29d74ec2654984b9127f0bb826996d4c2938670 (diff)
downloadtoybox-5232ac079353fb3779e480b74e87c714af6ee707.tar.gz
Initial version of who command.
Diffstat (limited to 'toys/who.c')
-rw-r--r--toys/who.c38
1 files changed, 38 insertions, 0 deletions
diff --git a/toys/who.c b/toys/who.c
new file mode 100644
index 00000000..b61d81f2
--- /dev/null
+++ b/toys/who.c
@@ -0,0 +1,38 @@
+/* vi: set sw=4 ts=4:
+ *
+ * who.c - display who is on the system
+ *
+ * Copyright 2012 ProFUSION Embedded Systems
+ *
+ * by Luis Felipe Strano Moraes <lfelipe@profusion.mobi>
+ *
+ * See http://pubs.opengroup.org/onlinepubs/9699919799/utilities/who.html
+
+USE_WHO(NEWTOY(who, NULL, TOYFLAG_BIN))
+
+config WHO
+ bool "who"
+ default y
+ help
+ usage: who
+
+ Print logged user information on system
+
+*/
+
+#include "toys.h"
+#include <utmpx.h>
+
+void who_main(void)
+{
+ struct utmpx *entry;
+
+ setutxent();
+
+ while ((entry = getutxent())) {
+ if (entry->ut_type == USER_PROCESS)
+ printf("%s %s (%s)\n", entry->ut_user, entry->ut_line, entry->ut_host);
+ }
+
+ endutxent();
+}