9b0ba36fbe93a56a49e678386495406f0218674b
[musl] / include / sys / acct.h
1 #ifndef _SYS_ACCT_H
2 #define _SYS_ACCT_H
3
4 #ifdef __cplusplus
5 extern "C" {
6 #endif
7
8 #include <features.h>
9 #include <endian.h>
10 #include <time.h>
11 #include <stdint.h>
12
13 #define ACCT_COMM 16
14
15 typedef uint16_t comp_t;
16
17 struct acct {
18         char ac_flag;
19         uint16_t ac_uid;
20         uint16_t ac_gid;
21         uint16_t ac_tty;
22         uint32_t ac_btime;
23         comp_t ac_utime;
24         comp_t ac_stime;
25         comp_t ac_etime;
26         comp_t ac_mem;
27         comp_t ac_io;
28         comp_t ac_rw;
29         comp_t ac_minflt;
30         comp_t ac_majflt;
31         comp_t ac_swaps;
32         uint32_t ac_exitcode;
33         char ac_comm[ACCT_COMM+1];
34         char ac_pad[10];
35 };
36
37
38 struct acct_v3 {
39         char ac_flag;
40         char ac_version;
41         uint16_t ac_tty;
42         uint32_t ac_exitcode;
43         uint32_t ac_uid;
44         uint32_t ac_gid;
45         uint32_t ac_pid;
46         uint32_t ac_ppid;
47         uint32_t ac_btime;
48         float ac_etime;
49         comp_t ac_utime;
50         comp_t ac_stime;
51         comp_t ac_mem;
52         comp_t ac_io;
53         comp_t ac_rw;
54         comp_t ac_minflt;
55         comp_t ac_majflt;
56         comp_t ac_swaps;
57         char ac_comm[ACCT_COMM];
58 };
59
60 #define AFORK 1
61 #define ASU 2
62 #define ACORE 8
63 #define AXSIG 16
64 #define ACCT_BYTEORDER (128*(__BYTE_ORDER==__BIG_ENDIAN))
65 #define AHZ 100
66
67 int acct(const char *);
68
69 #ifdef __cplusplus
70 }
71 #endif
72
73 #endif