UTMPX(5) UTMPX(5) (NAME) utmpx - (SYNOPSIS) #include (DESCRIPTION) utmpx . utmpx ( utmp) . . : utmpx <<>> (other) . . utmpx ( struct utmp ) : /* ut_type */ #define EMPTY 0 /* */ #define RUN_LVL 1 /* ( init(1)) */ #define BOOT_TIME 2 /* ( ut_tv) */ #define NEW_TIME 3 /* ( ut_tv) */ #define OLD_TIME 4 /* ( ut_tv) */ #define INIT_PROCESS 5 /* init(1) */ #define LOGIN_PROCESS 6 /* */ #define USER_PROCESS 7 /* */ #define DEAD_PROCESS 8 /* */ #define ACCOUNTING 9 /* */ #define UT_LINESIZE 32 #define UT_NAMESIZE 32 #define UT_HOSTSIZE 256 struct exit_status { /* ut_exit */ short e_termination; /* */ short e_exit; /* */ }; struct utmpx { short ut_type; /* */ pid_t ut_pid; /* PID */ char ut_line[UT_LINESIZE]; /* "/dev/" */ char ut_id[4]; /* inittab(5) */ char ut_user[UT_NAMESIZE]; /* */ char ut_host[UT_HOSTSIZE]; /* */ struct exit_status ut_exit; /* */ /* ut_session ut_tv */ #if __WORDSIZE == 64 && defined __WORDSIZE_COMPAT32 int32_t ut_session; /* (getsid(2)) */ struct { int32_t tv_sec; /* */ int32_t tv_usec; /* */ } ut_tv; /* */ #else long ut_session; /* */ struct timeval ut_tv; /* */ #endif int32_t ut_addr_v6[4]; /* (IPv4 ) */ char __unused[20]; /* */ }; struct utmpx : ut_type ( BOOT_TIME INIT_PROCESS LOGIN_PROCESS USER_PROCESS DEAD_PROCESS). ut_pid (PID) . ut_line /dev/ ( tty1 pts/0). ut_id inittab(5) . ut_user . ut_host (Hostname) . ut_exit DEAD_PROCESS . e_termination ( ) e_exit ( ) init(1) . ut_session (Session ID) . ut_tv gettimeofday(2). ut_addr_v6 (IP) (IPv4) ut_addr_v6[0] . time(2) . ('\0') . inittab(5) init(1) . init(1) ut_type DEAD_PROCESS ut_user ut_host ut_time utmpx DEAD_PROCESS RUN_LVL ut_pid . ut_id init(1) ut_id inittab ut_pid ut_time ut_type INIT_PROCESS . mingetty(8) agetty(8) (PID) ut_type LOGIN_PROCESS ut_time ut_line . login(1) ut_type USER_PROCESS ut_time ut_host ut_addr . mingetty(8) ( agetty(8)) login(1) ut_pid ut_line . init(1) utmpx ut_pid ut_type DEAD_PROCESS ut_user ut_host ut_time . xterm(1) USER_PROCESS ut_id ( /dev/[pt]ty) . DEAD_PROCESS . DEAD_PROCESS ut_line ut_time ut_user ut_host . telnetd(8) LOGIN_PROCESS login(1) . telnetd(8) . wtmp ( wtmpx) . utmpx . ~ shutdown reboot |/} date(1) . wtmp login(1) init(1) getty(8) ( mingetty(8) agetty(8)) . . (FILES) /var/run/utmp /run/utmp /var/log/wtmp (VERSIONS) POSIX.1 utmp utmpx ( XSI) ut_type ut_pid ut_line ut_id ut_user ut_tv . POSIX.1 ut_line ut_user . utmpx utmp . (STANDARDS) POSIX.1-2008 Linux. (HISTORY) utmp utmpx BSD System V . v7/BSD ut_type BSD . BSD ut_id . ( System V) ut_id . ut_id (race condition) utmp/utmpx . System V BSD utmp . BSD . System V ut_host ut_addr_v6 . (NOTES) utmp utmp/utmpx . who(1) utmp . (machine-dependent) . (biarch) x86-64 ppc64 ut_tv . ut_session ut_time . . ut_session int32_t ut_tv int32_t tv_sec tv_usec . ut_tv struct timeval : gettimeofday((struct timeval *) &ut.ut_tv, NULL); : struct utmpx ut; struct timeval tv; gettimeofday(&tv, NULL); ut.ut_tv.tv_sec = tv.tv_sec; ut.ut_tv.tv_usec = tv.tv_usec; (SEE ALSO) ac(1), date(1), init(1), last(1), login(1), logname(1), lslogins(1), users(1), utmpdump(1), who(1), getutent(3), getutmp(3), getutxent(3), login(3), logout(3), logwtmp(3), updwtmp(3) man-pages UTMPX(5)