utmp(5)
NAME
utmp, wtmp − utmp and wtmp entry formats
SYNTAX
#include <sys/types.h>
#include <utmp.h>
DESCRIPTION
The /etc/utmp and /usr/adm/wtmp files, which hold user and accounting information for such commands as who(1), write(1), and login(1), have the following structure:
#include <sys/types.h>
#defineUTMP_FILE"/etc/utmp"
#defineWTMP_FILE"/usr/adm/wtmp"
struct utmp {
char ut_user[8]; /* User login name */
#defineut_nameut_user
char ut_id[4]; /* /etc/lines id(usually line #) */
char ut_line[12]; /* device name (console, lnxx) */
char ut_host[16]; /* host name, if remote */
short ut_pid; /* process id */
short ut_type; /* type of entry */
struct exit_status {
short e_termination;/* Process termination status */
short e_exit; /* Process exit status */
}
ut_exit; /* The exit status of a process
* marked as DEAD_PROCESS */
time_t ut_time; /* time entry was made */
};
/*
* Definitions for ut_type
*/
#define EMPTY 0
#define RUN_LVL 1
#define BOOT_TIME 2
#define OLD_TIME 3
#define NEW_TIME 4
#define INIT_PROCESS 5 /* Process spawned by "init" */
#define LOGIN_PROCESS 6 /* A getty process waiting for login */
#define USER_PROCESS 7 /* A user process */
#define DEAD_PROCESS 8
#define ACCOUNTING 9
#define UTMAXTYPE ACCOUNTING /* Largest legal value of ut_type */
/*
* Special strings or formats used in the "ut_line" field when
* accounting for something other than a process.
* No string for the ut_line field can be more than 11 chars +
* a NULL in length.
*/
#defineRUNLVL_MSG"run-level %c"
#defineBOOT_MSG"system boot"
#defineOTIME_MSG"old time"
#defineNTIME_MSG"new time"
FILES
/usr/include/utmp.h
/etc/utmp
/usr/adm/wtmp