changeset 436:bc347fc87b00

Initial version of who command.
author Luis Felipe Strano Moraes <lfelipe@profusion.mobi>
date Mon, 06 Feb 2012 16:29:09 -0800
parents e134aebe79c1
children 2d19539c3aeb
files toys/who.c
diffstat 1 files changed, 38 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/toys/who.c	Mon Feb 06 16:29:09 2012 -0800
@@ -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();
+}