122851890Sopenharmony_ci/****************************************************************************
222851890Sopenharmony_ci ****************************************************************************
322851890Sopenharmony_ci ***
422851890Sopenharmony_ci ***   This header was automatically generated from a Linux kernel header
522851890Sopenharmony_ci ***   of the same name, to make information necessary for userspace to
622851890Sopenharmony_ci ***   call into the kernel available to libc.  It contains only constants,
722851890Sopenharmony_ci ***   structures, and macros generated from the original header, and thus,
822851890Sopenharmony_ci ***   contains no copyrightable information.
922851890Sopenharmony_ci ***
1022851890Sopenharmony_ci ***   To edit the content of this header, modify the corresponding
1122851890Sopenharmony_ci ***   source file (e.g. under external/kernel-headers/original/) then
1222851890Sopenharmony_ci ***   run bionic/libc/kernel/tools/update_all.py
1322851890Sopenharmony_ci ***
1422851890Sopenharmony_ci ***   Any manual change here will be lost the next time this script will
1522851890Sopenharmony_ci ***   be run. You've been warned!
1622851890Sopenharmony_ci ***
1722851890Sopenharmony_ci ****************************************************************************
1822851890Sopenharmony_ci ****************************************************************************/
1922851890Sopenharmony_ci#ifndef _UAPI_LINUX_QUOTA_
2022851890Sopenharmony_ci#define _UAPI_LINUX_QUOTA_
2122851890Sopenharmony_ci#include <linux/types.h>
2222851890Sopenharmony_ci#define __DQUOT_VERSION__ "dquot_6.6.0"
2322851890Sopenharmony_ci#define MAXQUOTAS 3
2422851890Sopenharmony_ci#define USRQUOTA 0
2522851890Sopenharmony_ci#define GRPQUOTA 1
2622851890Sopenharmony_ci#define PRJQUOTA 2
2722851890Sopenharmony_ci#define INITQFNAMES { "user", "group", "project", "undefined", \
2822851890Sopenharmony_ci};
2922851890Sopenharmony_ci#define SUBCMDMASK 0x00ff
3022851890Sopenharmony_ci#define SUBCMDSHIFT 8
3122851890Sopenharmony_ci#define QCMD(cmd,type) (((cmd) << SUBCMDSHIFT) | ((type) & SUBCMDMASK))
3222851890Sopenharmony_ci#define Q_SYNC 0x800001
3322851890Sopenharmony_ci#define Q_QUOTAON 0x800002
3422851890Sopenharmony_ci#define Q_QUOTAOFF 0x800003
3522851890Sopenharmony_ci#define Q_GETFMT 0x800004
3622851890Sopenharmony_ci#define Q_GETINFO 0x800005
3722851890Sopenharmony_ci#define Q_SETINFO 0x800006
3822851890Sopenharmony_ci#define Q_GETQUOTA 0x800007
3922851890Sopenharmony_ci#define Q_SETQUOTA 0x800008
4022851890Sopenharmony_ci#define Q_GETNEXTQUOTA 0x800009
4122851890Sopenharmony_ci#define QFMT_VFS_OLD 1
4222851890Sopenharmony_ci#define QFMT_VFS_V0 2
4322851890Sopenharmony_ci#define QFMT_OCFS2 3
4422851890Sopenharmony_ci#define QFMT_VFS_V1 4
4522851890Sopenharmony_ci#define QIF_DQBLKSIZE_BITS 10
4622851890Sopenharmony_ci#define QIF_DQBLKSIZE (1 << QIF_DQBLKSIZE_BITS)
4722851890Sopenharmony_cienum {
4822851890Sopenharmony_ci  QIF_BLIMITS_B = 0,
4922851890Sopenharmony_ci  QIF_SPACE_B,
5022851890Sopenharmony_ci  QIF_ILIMITS_B,
5122851890Sopenharmony_ci  QIF_INODES_B,
5222851890Sopenharmony_ci  QIF_BTIME_B,
5322851890Sopenharmony_ci  QIF_ITIME_B,
5422851890Sopenharmony_ci};
5522851890Sopenharmony_ci#define QIF_BLIMITS (1 << QIF_BLIMITS_B)
5622851890Sopenharmony_ci#define QIF_SPACE (1 << QIF_SPACE_B)
5722851890Sopenharmony_ci#define QIF_ILIMITS (1 << QIF_ILIMITS_B)
5822851890Sopenharmony_ci#define QIF_INODES (1 << QIF_INODES_B)
5922851890Sopenharmony_ci#define QIF_BTIME (1 << QIF_BTIME_B)
6022851890Sopenharmony_ci#define QIF_ITIME (1 << QIF_ITIME_B)
6122851890Sopenharmony_ci#define QIF_LIMITS (QIF_BLIMITS | QIF_ILIMITS)
6222851890Sopenharmony_ci#define QIF_USAGE (QIF_SPACE | QIF_INODES)
6322851890Sopenharmony_ci#define QIF_TIMES (QIF_BTIME | QIF_ITIME)
6422851890Sopenharmony_ci#define QIF_ALL (QIF_LIMITS | QIF_USAGE | QIF_TIMES)
6522851890Sopenharmony_cistruct if_dqblk {
6622851890Sopenharmony_ci  __u64 dqb_bhardlimit;
6722851890Sopenharmony_ci  __u64 dqb_bsoftlimit;
6822851890Sopenharmony_ci  __u64 dqb_curspace;
6922851890Sopenharmony_ci  __u64 dqb_ihardlimit;
7022851890Sopenharmony_ci  __u64 dqb_isoftlimit;
7122851890Sopenharmony_ci  __u64 dqb_curinodes;
7222851890Sopenharmony_ci  __u64 dqb_btime;
7322851890Sopenharmony_ci  __u64 dqb_itime;
7422851890Sopenharmony_ci  __u32 dqb_valid;
7522851890Sopenharmony_ci};
7622851890Sopenharmony_cistruct if_nextdqblk {
7722851890Sopenharmony_ci  __u64 dqb_bhardlimit;
7822851890Sopenharmony_ci  __u64 dqb_bsoftlimit;
7922851890Sopenharmony_ci  __u64 dqb_curspace;
8022851890Sopenharmony_ci  __u64 dqb_ihardlimit;
8122851890Sopenharmony_ci  __u64 dqb_isoftlimit;
8222851890Sopenharmony_ci  __u64 dqb_curinodes;
8322851890Sopenharmony_ci  __u64 dqb_btime;
8422851890Sopenharmony_ci  __u64 dqb_itime;
8522851890Sopenharmony_ci  __u32 dqb_valid;
8622851890Sopenharmony_ci  __u32 dqb_id;
8722851890Sopenharmony_ci};
8822851890Sopenharmony_ci#define IIF_BGRACE 1
8922851890Sopenharmony_ci#define IIF_IGRACE 2
9022851890Sopenharmony_ci#define IIF_FLAGS 4
9122851890Sopenharmony_ci#define IIF_ALL (IIF_BGRACE | IIF_IGRACE | IIF_FLAGS)
9222851890Sopenharmony_cienum {
9322851890Sopenharmony_ci  DQF_ROOT_SQUASH_B = 0,
9422851890Sopenharmony_ci  DQF_SYS_FILE_B = 16,
9522851890Sopenharmony_ci  DQF_PRIVATE
9622851890Sopenharmony_ci};
9722851890Sopenharmony_ci#define DQF_ROOT_SQUASH (1 << DQF_ROOT_SQUASH_B)
9822851890Sopenharmony_ci#define DQF_SYS_FILE (1 << DQF_SYS_FILE_B)
9922851890Sopenharmony_cistruct if_dqinfo {
10022851890Sopenharmony_ci  __u64 dqi_bgrace;
10122851890Sopenharmony_ci  __u64 dqi_igrace;
10222851890Sopenharmony_ci  __u32 dqi_flags;
10322851890Sopenharmony_ci  __u32 dqi_valid;
10422851890Sopenharmony_ci};
10522851890Sopenharmony_ci#define QUOTA_NL_NOWARN 0
10622851890Sopenharmony_ci#define QUOTA_NL_IHARDWARN 1
10722851890Sopenharmony_ci#define QUOTA_NL_ISOFTLONGWARN 2
10822851890Sopenharmony_ci#define QUOTA_NL_ISOFTWARN 3
10922851890Sopenharmony_ci#define QUOTA_NL_BHARDWARN 4
11022851890Sopenharmony_ci#define QUOTA_NL_BSOFTLONGWARN 5
11122851890Sopenharmony_ci#define QUOTA_NL_BSOFTWARN 6
11222851890Sopenharmony_ci#define QUOTA_NL_IHARDBELOW 7
11322851890Sopenharmony_ci#define QUOTA_NL_ISOFTBELOW 8
11422851890Sopenharmony_ci#define QUOTA_NL_BHARDBELOW 9
11522851890Sopenharmony_ci#define QUOTA_NL_BSOFTBELOW 10
11622851890Sopenharmony_cienum {
11722851890Sopenharmony_ci  QUOTA_NL_C_UNSPEC,
11822851890Sopenharmony_ci  QUOTA_NL_C_WARNING,
11922851890Sopenharmony_ci  __QUOTA_NL_C_MAX,
12022851890Sopenharmony_ci};
12122851890Sopenharmony_ci#define QUOTA_NL_C_MAX (__QUOTA_NL_C_MAX - 1)
12222851890Sopenharmony_cienum {
12322851890Sopenharmony_ci  QUOTA_NL_A_UNSPEC,
12422851890Sopenharmony_ci  QUOTA_NL_A_QTYPE,
12522851890Sopenharmony_ci  QUOTA_NL_A_EXCESS_ID,
12622851890Sopenharmony_ci  QUOTA_NL_A_WARNING,
12722851890Sopenharmony_ci  QUOTA_NL_A_DEV_MAJOR,
12822851890Sopenharmony_ci  QUOTA_NL_A_DEV_MINOR,
12922851890Sopenharmony_ci  QUOTA_NL_A_CAUSED_ID,
13022851890Sopenharmony_ci  QUOTA_NL_A_PAD,
13122851890Sopenharmony_ci  __QUOTA_NL_A_MAX,
13222851890Sopenharmony_ci};
13322851890Sopenharmony_ci#define QUOTA_NL_A_MAX (__QUOTA_NL_A_MAX - 1)
13422851890Sopenharmony_ci#endif
135