|  | #ifndef _UTMPX_H | 
|  | #define _UTMPX_H | 
|  |  | 
|  | #ifdef __cplusplus | 
|  | extern "C" { | 
|  | #endif | 
|  |  | 
|  | #include <features.h> | 
|  |  | 
|  | #define __NEED_pid_t | 
|  | #define __NEED_time_t | 
|  | #define __NEED_suseconds_t | 
|  | #define __NEED_struct_timeval | 
|  |  | 
|  | #include <bits/alltypes.h> | 
|  |  | 
|  | struct utmpx | 
|  | { | 
|  | short ut_type; | 
|  | pid_t ut_pid; | 
|  | char ut_line[32]; | 
|  | char ut_id[4]; | 
|  | char ut_user[32]; | 
|  | char ut_host[256]; | 
|  | struct { | 
|  | short __e_termination; | 
|  | short __e_exit; | 
|  | } ut_exit; | 
|  | long ut_session; | 
|  | struct timeval ut_tv; | 
|  | unsigned ut_addr_v6[4]; | 
|  | char __unused[20]; | 
|  | }; | 
|  |  | 
|  | void          endutxent(void); | 
|  | struct utmpx *getutxent(void); | 
|  | struct utmpx *getutxid(const struct utmpx *); | 
|  | struct utmpx *getutxline(const struct utmpx *); | 
|  | struct utmpx *pututxline(const struct utmpx *); | 
|  | void          setutxent(void); | 
|  |  | 
|  | #if defined(_BSD_SOURCE) | defined(_GNU_SOURCE) | 
|  | #define e_exit __e_exit | 
|  | #define e_termination __e_termination | 
|  | void updwtmpx(const char *, const struct utmpx *); | 
|  | #endif | 
|  |  | 
|  | #define EMPTY           0 | 
|  | #define RUN_LVL         1 | 
|  | #define BOOT_TIME       2 | 
|  | #define NEW_TIME        3 | 
|  | #define OLD_TIME        4 | 
|  | #define INIT_PROCESS    5 | 
|  | #define LOGIN_PROCESS   6 | 
|  | #define USER_PROCESS    7 | 
|  | #define DEAD_PROCESS    8 | 
|  |  | 
|  | #ifdef __cplusplus | 
|  | } | 
|  | #endif | 
|  |  | 
|  | #endif |