Copyright (C) 1994, Digital Equipment Corp.File: Uutmp.i3
INTERFACE** <utmp.h> **Uutmp ; FROM Ctypes IMPORT char, char_star, short, unsigned_long; FROM Utypes IMPORT pid_t, u_short, time_t;
* Structure of utmp and wtmp files. *
TYPE struct_utmp = RECORD ut_name: ARRAY [0..7] OF char; (* user id *) ut_id: ARRAY [0..3] OF char; (* id *) ut_line: ARRAY [0..11] OF char; (* tty name *) ut_pid: pid_t; ut_type: short; ut_exit: RECORD e_termination, e_exit: short END; ut_reserved1: u_short; ut_time: time_t; (* time on *) ut_host: ARRAY [0..15] OF char; (* host name, if remote *) ut_addr: unsigned_long; END; CONST UTMP_FILE = "/etc/utmp"; WTMP_FILE = "/etc/wtmp"; BTMP_FILE = "/etc/btmp";Definitions for ut_type
EMPTY = 0; RUN_LVL = 1; BOOT_TIME = 2; OLD_TIME = 3; NEW_TIME = 4; INIT_PROCESS = 5; (* Process spawned by "init" *) LOGIN_PROCESS = 6; (* A "getty" process waiting for login *) USER_PROCESS = 7; (* A user process *) DEAD_PROCESS = 8; ACCOUNTING = 9; 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.
RUNLVL_MSG = "run-level %c"; BOOT_MSG = "system boot"; OTIME_MSG = "old time"; NTIME_MSG = "new time";** getlogin(3) **
<*EXTERNAL*> PROCEDURE getlogin (): char_star; END Uutmp.