1 #ifndef _UTMPX_H 2 #define _UTMPX_H 3 4 #ifdef __cplusplus 5 extern "C" { 6 #endif 7 8 #include <features.h> 9 10 #define __NEED_pid_t 11 #define __NEED_time_t 12 #define __NEED_suseconds_t 13 #define __NEED_struct_timeval 14 15 #include <bits/alltypes.h> 16 17 struct utmpx { 18 short ut_type; 19 pid_t ut_pid; 20 char ut_line[32]; 21 char ut_id[4]; 22 char ut_user[32]; 23 char ut_host[256]; 24 struct { 25 short __e_termination; 26 short __e_exit; 27 } ut_exit; 28 long ut_session; 29 struct timeval ut_tv; 30 unsigned ut_addr_v6[4]; 31 char __unused[20]; 32 }; 33 34 void endutxent(void); 35 struct utmpx *getutxent(void); 36 struct utmpx *getutxid(const struct utmpx *); 37 struct utmpx *getutxline(const struct utmpx *); 38 struct utmpx *pututxline(const struct utmpx *); 39 void setutxent(void); 40 41 #if defined(_BSD_SOURCE) || defined(_GNU_SOURCE) 42 #define e_exit __e_exit 43 #define e_termination __e_termination 44 void updwtmpx(const char *, const struct utmpx *); 45 int utmpxname(const char *); 46 #endif 47 48 #define EMPTY 0 49 #define RUN_LVL 1 50 #define BOOT_TIME 2 51 #define NEW_TIME 3 52 #define OLD_TIME 4 53 #define INIT_PROCESS 5 54 #define LOGIN_PROCESS 6 55 #define USER_PROCESS 7 56 #define DEAD_PROCESS 8 57 58 #ifdef __cplusplus 59 } 60 #endif 61 62 #endif 63