1/****************************************************************************
2 ****************************************************************************
3 ***
4 ***   This header was automatically generated from a Linux kernel header
5 ***   of the same name, to make information necessary for userspace to
6 ***   call into the kernel available to libc.  It contains only constants,
7 ***   structures, and macros generated from the original header, and thus,
8 ***   contains no copyrightable information.
9 ***
10 ***   To edit the content of this header, modify the corresponding
11 ***   source file (e.g. under external/kernel-headers/original/) then
12 ***   run bionic/libc/kernel/tools/update_all.py
13 ***
14 ***   Any manual change here will be lost the next time this script will
15 ***   be run. You've been warned!
16 ***
17 ****************************************************************************
18 ****************************************************************************/
19#ifndef _UAPI_LINUX_ACCT_H
20#define _UAPI_LINUX_ACCT_H
21#include <linux/types.h>
22#include <asm/param.h>
23#include <asm/byteorder.h>
24typedef __u16 comp_t;
25typedef __u32 comp2_t;
26#define ACCT_COMM 16
27struct acct {
28  char ac_flag;
29  char ac_version;
30  __u16 ac_uid16;
31  __u16 ac_gid16;
32  __u16 ac_tty;
33  __u32 ac_btime;
34  comp_t ac_utime;
35  comp_t ac_stime;
36  comp_t ac_etime;
37  comp_t ac_mem;
38  comp_t ac_io;
39  comp_t ac_rw;
40  comp_t ac_minflt;
41  comp_t ac_majflt;
42  comp_t ac_swaps;
43  __u16 ac_ahz;
44  __u32 ac_exitcode;
45  char ac_comm[ACCT_COMM + 1];
46  __u8 ac_etime_hi;
47  __u16 ac_etime_lo;
48  __u32 ac_uid;
49  __u32 ac_gid;
50};
51struct acct_v3 {
52  char ac_flag;
53  char ac_version;
54  __u16 ac_tty;
55  __u32 ac_exitcode;
56  __u32 ac_uid;
57  __u32 ac_gid;
58  __u32 ac_pid;
59  __u32 ac_ppid;
60  __u32 ac_btime;
61  float ac_etime;
62  comp_t ac_utime;
63  comp_t ac_stime;
64  comp_t ac_mem;
65  comp_t ac_io;
66  comp_t ac_rw;
67  comp_t ac_minflt;
68  comp_t ac_majflt;
69  comp_t ac_swaps;
70  char ac_comm[ACCT_COMM];
71};
72#define AFORK 0x01
73#define ASU 0x02
74#define ACOMPAT 0x04
75#define ACORE 0x08
76#define AXSIG 0x10
77#if defined(__BYTE_ORDER) ? __BYTE_ORDER == __BIG_ENDIAN : defined(__BIG_ENDIAN)
78#define ACCT_BYTEORDER 0x80
79#elif defined(__BYTE_ORDER)?__BYTE_ORDER==__LITTLE_ENDIAN:defined(__LITTLE_ENDIAN)
80#define ACCT_BYTEORDER 0x00
81#else
82#error unspecified endianness
83#endif
84#define ACCT_VERSION 2
85#define AHZ (HZ)
86#endif
87