• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 	short __ut_pad1;
20 	pid_t ut_pid;
21 	char ut_line[32];
22 	char ut_id[4];
23 	char ut_user[32];
24 	char ut_host[256];
25 	struct {
26 		short __e_termination;
27 		short __e_exit;
28 	} ut_exit;
29 #if __BYTE_ORDER == 1234
30 	int ut_session, __ut_pad2;
31 #else
32 	int __ut_pad2, ut_session;
33 #endif
34 	struct timeval ut_tv;
35 	unsigned ut_addr_v6[4];
36 	char __unused[20];
37 };
38 
39 void          endutxent(void);
40 struct utmpx *getutxent(void);
41 struct utmpx *getutxid(const struct utmpx *);
42 struct utmpx *getutxline(const struct utmpx *);
43 struct utmpx *pututxline(const struct utmpx *);
44 void          setutxent(void);
45 
46 #if defined(_BSD_SOURCE) || defined(_GNU_SOURCE)
47 #define e_exit __e_exit
48 #define e_termination __e_termination
49 void updwtmpx(const char *, const struct utmpx *);
50 int utmpxname(const char *);
51 #endif
52 
53 #define EMPTY           0
54 #define RUN_LVL         1
55 #define BOOT_TIME       2
56 #define NEW_TIME        3
57 #define OLD_TIME        4
58 #define INIT_PROCESS    5
59 #define LOGIN_PROCESS   6
60 #define USER_PROCESS    7
61 #define DEAD_PROCESS    8
62 
63 #ifdef __cplusplus
64 }
65 #endif
66 
67 #endif
68