#include <utmp.h>
#define UTMP_FILE "/var/adm/utmp" #define WTMP_FILE "/var/adm/wtmp" #define ut_name ut_user
The utmp structure includes the following members:
      char    ut_user[8];        /* user login name */
      char    ut_id[4];          /* /etc/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 should be no 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"