Manual pages › File formats and configuration files (4)
utmp(4)
utmp and wtmp entry formats
From the original Amiga UNIX 2.1 manual. Some things it mentions may not be in this release.
NAME
utmp, wtmp - utmp and wtmp entry formats
SYNOPSIS
#include <utmp.h>
DESCRIPTION
These files, which hold user and accounting information for such commands as who, write, and login, have the following structure, defined in <utmp.h>:
#define UTMP_FILE "/var/adm/utmp"
#define WTMP_FILE "/var/adm/wtmp"
#define ut_name ut_user
struct utmp {
char ut_user[8]; /* user login name */
char ut_id[4]; /* /sbin/inittab id (created by */
/* process that puts entry in utmp) */
char ut_line[12]; /* device name (console, lnxx) */
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; /* 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 /* max legal value of ut_type */
/* Below are 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 character in length. */
#define RUNLVL_MSG "run-level %c"
#define BOOT_MSG "system boot"
#define OTIME_MSG "old time"
#define NTIME_MSG "new time"
FILES
/var/adm/utmp /var/adm/wtmp
SEE ALSO
getut(3C). login(1), who(1), write(1) in the User's Reference Manual.