#include <utmpx.h>
These files, which hold user and accounting information for such commands as who, write, and login, have the following structure as defined by utmpx.h:
#define ut_name ut_user #define ut_xtime ut_tv.tv_sec
The utmpx structure includes the following members:
      char   ut_user[32];           /* user login name */
      char   ut_id[4];              /* inittab id */
      char   ut_line[32];           /* device name (console, lnxx) */
      pid_t  ut_pid;                /* process id */
      short  ut_type;               /* type of entry */
      struct ut_exit_status {
      short  ut_e_termination;         /* termination status */
      short  ut_e_exit;                /* exit status */
      } ut_exit;                    /* process termination/exit status */
      struct timeval {
      long  tv_sec;                 /* seconds */
      long  tv_usec;                /* and microseconds */
      } ut_tv;                      /* time entry was made */
      long   ut_session;            /* session ID, used for windowing */
      long   pad[5];                /* reserved for future use */
      short  ut_syslen;             /* significant length of ut_host */
                                    /* including terminating null */
      char   ut_host[257];          /* remote host name */
   
   /* 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   UTMAXTYPE  ACCOUNTING  /* Largest 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 more than 31 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"
   #define   MOD_WIN        10
/var/adm/utmpx /var/adm/wtmpx