Defines the structures of certain user and accounting information files.
The structure of the records in the utmp, wtmp, and failedlogin files is defined in the /usr/include/utmp.h file. The utmp structure in this header file contains the following fields:
Item | Description |
---|---|
ut_user | User login name. |
ut_line | Device name (console or lnxx). The maximum length
of a string in this field is 11 characters plus a null character.
When accounting for something other than a process, the following
special strings or formats are allowed:
|
ut_pid | Process ID. |
ut_type | Type of entry, which can be one of the following values:
|
Embedded within the utmp structure is the exit_status structure, which contains the following fields:
Item | Description |
---|---|
e_termination | Termination status of a process. |
e_exit | Exit status of a process, marked as the DEAD_PROCESS value. |
ut_time | Time at which the entry was made. |
#ifndef -H-UTMP
#define _H_UTMP
#define UTMP_FILE "/etc/utmp"
#define WTMP_FILE "/var/adm/wtmp"
#define ILOG_FILE "/etc/.ilog"
#define ut_name ut_user
struct utmp
{
char ut_user[256]; /* User login name */
char ut_id[14]; /* /etc/inittab id */
char ut_line[64]; /* device name (console, lnxx) */
pid_t ut_pid; /* process id */
short ut_type; /* type of entry */
#if !defined(__64BIT__)
int __time_t_space; /* for 32vs64-bit time_t PPC */
#endif
time_t ut_time; /* time entry was made */
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.
*/
char ut_host[256]; /* host name */
int __dbl_word_pad; /* for double word alignment */
int __reservedA[2];
int __reservedV[6];
};
/* 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 */
/* waitingforlogin */
#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. */
#define RUNLVL_MSG "run-level %c"
#define BOOT_MSG "system boot"
#define OTIME_MSG "old time"
#define TIME_MSG "new time"
#endif /* _H_UTMP */
Item | Description |
---|---|
/etc/utmp | The path to the utmp file, which contains a record of users logged in to the system. |
/var/adm/wtmp | The path to the wtmp file, which contains accounting information about logged-in users. |
/etc/security/failedlogin | The path to the failedlogin file, which contains a list of invalid login attempts. |