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_QUOTA_
20#define _UAPI_LINUX_QUOTA_
21#include <linux/errno.h>
22#include <linux/types.h>
23/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
24#define __DQUOT_VERSION__ "dquot_6.5.2"
25#define MAXQUOTAS 2
26#define USRQUOTA 0
27#define GRPQUOTA 1
28/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
29#define INITQFNAMES {   "user",     "group",     "undefined",  };
30#define SUBCMDMASK 0x00ff
31#define SUBCMDSHIFT 8
32#define QCMD(cmd, type) (((cmd) << SUBCMDSHIFT) | ((type) & SUBCMDMASK))
33/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
34#define Q_SYNC 0x800001
35#define Q_QUOTAON 0x800002
36#define Q_QUOTAOFF 0x800003
37#define Q_GETFMT 0x800004
38/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
39#define Q_GETINFO 0x800005
40#define Q_SETINFO 0x800006
41#define Q_GETQUOTA 0x800007
42#define Q_SETQUOTA 0x800008
43/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
44#define QFMT_VFS_OLD 1
45#define QFMT_VFS_V0 2
46#define QFMT_OCFS2 3
47#define QFMT_VFS_V1 4
48/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
49#define QIF_DQBLKSIZE_BITS 10
50#define QIF_DQBLKSIZE (1 << QIF_DQBLKSIZE_BITS)
51enum {
52 QIF_BLIMITS_B = 0,
53/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
54 QIF_SPACE_B,
55 QIF_ILIMITS_B,
56 QIF_INODES_B,
57 QIF_BTIME_B,
58/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
59 QIF_ITIME_B,
60};
61#define QIF_BLIMITS (1 << QIF_BLIMITS_B)
62#define QIF_SPACE (1 << QIF_SPACE_B)
63/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
64#define QIF_ILIMITS (1 << QIF_ILIMITS_B)
65#define QIF_INODES (1 << QIF_INODES_B)
66#define QIF_BTIME (1 << QIF_BTIME_B)
67#define QIF_ITIME (1 << QIF_ITIME_B)
68/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
69#define QIF_LIMITS (QIF_BLIMITS | QIF_ILIMITS)
70#define QIF_USAGE (QIF_SPACE | QIF_INODES)
71#define QIF_TIMES (QIF_BTIME | QIF_ITIME)
72#define QIF_ALL (QIF_LIMITS | QIF_USAGE | QIF_TIMES)
73/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
74struct if_dqblk {
75 __u64 dqb_bhardlimit;
76 __u64 dqb_bsoftlimit;
77 __u64 dqb_curspace;
78/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
79 __u64 dqb_ihardlimit;
80 __u64 dqb_isoftlimit;
81 __u64 dqb_curinodes;
82 __u64 dqb_btime;
83/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
84 __u64 dqb_itime;
85 __u32 dqb_valid;
86};
87#define IIF_BGRACE 1
88/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
89#define IIF_IGRACE 2
90#define IIF_FLAGS 4
91#define IIF_ALL (IIF_BGRACE | IIF_IGRACE | IIF_FLAGS)
92struct if_dqinfo {
93/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
94 __u64 dqi_bgrace;
95 __u64 dqi_igrace;
96 __u32 dqi_flags;
97 __u32 dqi_valid;
98/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
99};
100#define QUOTA_NL_NOWARN 0
101#define QUOTA_NL_IHARDWARN 1
102#define QUOTA_NL_ISOFTLONGWARN 2
103/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
104#define QUOTA_NL_ISOFTWARN 3
105#define QUOTA_NL_BHARDWARN 4
106#define QUOTA_NL_BSOFTLONGWARN 5
107#define QUOTA_NL_BSOFTWARN 6
108/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
109#define QUOTA_NL_IHARDBELOW 7
110#define QUOTA_NL_ISOFTBELOW 8
111#define QUOTA_NL_BHARDBELOW 9
112#define QUOTA_NL_BSOFTBELOW 10
113/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
114enum {
115 QUOTA_NL_C_UNSPEC,
116 QUOTA_NL_C_WARNING,
117 __QUOTA_NL_C_MAX,
118/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
119};
120#define QUOTA_NL_C_MAX (__QUOTA_NL_C_MAX - 1)
121enum {
122 QUOTA_NL_A_UNSPEC,
123/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
124 QUOTA_NL_A_QTYPE,
125 QUOTA_NL_A_EXCESS_ID,
126 QUOTA_NL_A_WARNING,
127 QUOTA_NL_A_DEV_MAJOR,
128/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
129 QUOTA_NL_A_DEV_MINOR,
130 QUOTA_NL_A_CAUSED_ID,
131 __QUOTA_NL_A_MAX,
132};
133/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
134#define QUOTA_NL_A_MAX (__QUOTA_NL_A_MAX - 1)
135#endif
136