Lines Matching +full:idle +full:- +full:state
1 /*-
2 * SPDX-License-Identifier: BSD-2-Clause
63 static int Tflag; /* Show terminal state */
64 static int uflag; /* Show idle time */
73 while ((ch = getopt(argc, argv, "HTabmqsu")) != -1) { in main()
78 case 'T': /* Show terminal state */ in main()
81 case 'a': /* Same as -bdlprtTu */ in main()
96 case 'u': /* Show idle time */ in main()
104 argc -= optind; in main()
109 /* "who am i" or "who am I", equivalent to -m */ in main()
111 argc -= 2; in main()
144 fprintf(stderr, "usage: who [-abHmqsTu] [am I] [file]\n"); in usage()
152 printf("%-16s ", "NAME"); in heading()
155 printf("%-12s %-12s ", "LINE", "TIME"); in heading()
157 printf("IDLE "); in heading()
158 printf("%-16s\n", "FROM"); in heading()
166 time_t idle, t; in row() local
167 static int d_first = -1; in row()
169 char state; in row() local
174 state = '?'; in row()
175 idle = 0; in row()
177 snprintf(tty, sizeof(tty), "%s%s", _PATH_DEV, ut->ut_line); in row()
179 state = sb.st_mode & (S_IWOTH|S_IWGRP) ? in row()
180 '+' : '-'; in row()
181 idle = time(NULL) - sb.st_mtime; in row()
185 printf("%-16s ", ut->ut_user); in row()
187 printf("%c ", state); in row()
188 if (ut->ut_type == BOOT_TIME) in row()
189 printf("%-12s ", "system boot"); in row()
191 printf("%-12s ", ut->ut_line); in row()
192 t = ut->ut_tv.tv_sec; in row()
195 printf("%-*s ", 12, buf); in row()
197 if (idle < 60) in row()
199 else if (idle < 24 * 60 * 60) in row()
200 printf("%02d:%02d ", (int)(idle / 60 / 60), in row()
201 (int)(idle / 60 % 60)); in row()
205 if (*ut->ut_host != '\0') in row()
206 printf("(%s)", ut->ut_host); in row()
222 return (-1); in ttystat()
231 if ((aflag || !bflag) && utx->ut_type == USER_PROCESS) { in process_utmp()
232 if (ttystat(utx->ut_line) == 0) in process_utmp()
234 } else if (bflag && utx->ut_type == BOOT_TIME) in process_utmp()
248 if (utx->ut_type != USER_PROCESS) in quick()
250 printf("%-16s", utx->ut_user); in quick()
274 else if (strncmp(tty, _PATH_DEV, sizeof _PATH_DEV - 1) == 0) in whoami()
275 tty += sizeof _PATH_DEV - 1; in whoami()
279 if ((utx = getutxline(&ut)) != NULL && utx->ut_type == USER_PROCESS) { in whoami()
287 name = pwd->pw_name; in whoami()
311 if (ioctl(STDOUT_FILENO, TIOCGWINSZ, &ws) != -1) in ttywidth()