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