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 _LINUX_DQBLK_XFS_H
2022851890Sopenharmony_ci#define _LINUX_DQBLK_XFS_H
2122851890Sopenharmony_ci#include <linux/types.h>
2222851890Sopenharmony_ci#define XQM_CMD(x) (('X' << 8) + (x))
2322851890Sopenharmony_ci#define XQM_COMMAND(x) (((x) & (0xff << 8)) == ('X' << 8))
2422851890Sopenharmony_ci#define XQM_USRQUOTA 0
2522851890Sopenharmony_ci#define XQM_GRPQUOTA 1
2622851890Sopenharmony_ci#define XQM_PRJQUOTA 2
2722851890Sopenharmony_ci#define XQM_MAXQUOTAS 3
2822851890Sopenharmony_ci#define Q_XQUOTAON XQM_CMD(1)
2922851890Sopenharmony_ci#define Q_XQUOTAOFF XQM_CMD(2)
3022851890Sopenharmony_ci#define Q_XGETQUOTA XQM_CMD(3)
3122851890Sopenharmony_ci#define Q_XSETQLIM XQM_CMD(4)
3222851890Sopenharmony_ci#define Q_XGETQSTAT XQM_CMD(5)
3322851890Sopenharmony_ci#define Q_XQUOTARM XQM_CMD(6)
3422851890Sopenharmony_ci#define Q_XQUOTASYNC XQM_CMD(7)
3522851890Sopenharmony_ci#define Q_XGETQSTATV XQM_CMD(8)
3622851890Sopenharmony_ci#define Q_XGETNEXTQUOTA XQM_CMD(9)
3722851890Sopenharmony_ci#define FS_DQUOT_VERSION 1
3822851890Sopenharmony_citypedef struct fs_disk_quota {
3922851890Sopenharmony_ci  __s8 d_version;
4022851890Sopenharmony_ci  __s8 d_flags;
4122851890Sopenharmony_ci  __u16 d_fieldmask;
4222851890Sopenharmony_ci  __u32 d_id;
4322851890Sopenharmony_ci  __u64 d_blk_hardlimit;
4422851890Sopenharmony_ci  __u64 d_blk_softlimit;
4522851890Sopenharmony_ci  __u64 d_ino_hardlimit;
4622851890Sopenharmony_ci  __u64 d_ino_softlimit;
4722851890Sopenharmony_ci  __u64 d_bcount;
4822851890Sopenharmony_ci  __u64 d_icount;
4922851890Sopenharmony_ci  __s32 d_itimer;
5022851890Sopenharmony_ci  __s32 d_btimer;
5122851890Sopenharmony_ci  __u16 d_iwarns;
5222851890Sopenharmony_ci  __u16 d_bwarns;
5322851890Sopenharmony_ci  __s8 d_itimer_hi;
5422851890Sopenharmony_ci  __s8 d_btimer_hi;
5522851890Sopenharmony_ci  __s8 d_rtbtimer_hi;
5622851890Sopenharmony_ci  __s8 d_padding2;
5722851890Sopenharmony_ci  __u64 d_rtb_hardlimit;
5822851890Sopenharmony_ci  __u64 d_rtb_softlimit;
5922851890Sopenharmony_ci  __u64 d_rtbcount;
6022851890Sopenharmony_ci  __s32 d_rtbtimer;
6122851890Sopenharmony_ci  __u16 d_rtbwarns;
6222851890Sopenharmony_ci  __s16 d_padding3;
6322851890Sopenharmony_ci  char d_padding4[8];
6422851890Sopenharmony_ci} fs_disk_quota_t;
6522851890Sopenharmony_ci#define FS_DQ_ISOFT (1 << 0)
6622851890Sopenharmony_ci#define FS_DQ_IHARD (1 << 1)
6722851890Sopenharmony_ci#define FS_DQ_BSOFT (1 << 2)
6822851890Sopenharmony_ci#define FS_DQ_BHARD (1 << 3)
6922851890Sopenharmony_ci#define FS_DQ_RTBSOFT (1 << 4)
7022851890Sopenharmony_ci#define FS_DQ_RTBHARD (1 << 5)
7122851890Sopenharmony_ci#define FS_DQ_LIMIT_MASK (FS_DQ_ISOFT | FS_DQ_IHARD | FS_DQ_BSOFT | FS_DQ_BHARD | FS_DQ_RTBSOFT | FS_DQ_RTBHARD)
7222851890Sopenharmony_ci#define FS_DQ_BTIMER (1 << 6)
7322851890Sopenharmony_ci#define FS_DQ_ITIMER (1 << 7)
7422851890Sopenharmony_ci#define FS_DQ_RTBTIMER (1 << 8)
7522851890Sopenharmony_ci#define FS_DQ_TIMER_MASK (FS_DQ_BTIMER | FS_DQ_ITIMER | FS_DQ_RTBTIMER)
7622851890Sopenharmony_ci#define FS_DQ_BWARNS (1 << 9)
7722851890Sopenharmony_ci#define FS_DQ_IWARNS (1 << 10)
7822851890Sopenharmony_ci#define FS_DQ_RTBWARNS (1 << 11)
7922851890Sopenharmony_ci#define FS_DQ_WARNS_MASK (FS_DQ_BWARNS | FS_DQ_IWARNS | FS_DQ_RTBWARNS)
8022851890Sopenharmony_ci#define FS_DQ_BCOUNT (1 << 12)
8122851890Sopenharmony_ci#define FS_DQ_ICOUNT (1 << 13)
8222851890Sopenharmony_ci#define FS_DQ_RTBCOUNT (1 << 14)
8322851890Sopenharmony_ci#define FS_DQ_ACCT_MASK (FS_DQ_BCOUNT | FS_DQ_ICOUNT | FS_DQ_RTBCOUNT)
8422851890Sopenharmony_ci#define FS_DQ_BIGTIME (1 << 15)
8522851890Sopenharmony_ci#define FS_QUOTA_UDQ_ACCT (1 << 0)
8622851890Sopenharmony_ci#define FS_QUOTA_UDQ_ENFD (1 << 1)
8722851890Sopenharmony_ci#define FS_QUOTA_GDQ_ACCT (1 << 2)
8822851890Sopenharmony_ci#define FS_QUOTA_GDQ_ENFD (1 << 3)
8922851890Sopenharmony_ci#define FS_QUOTA_PDQ_ACCT (1 << 4)
9022851890Sopenharmony_ci#define FS_QUOTA_PDQ_ENFD (1 << 5)
9122851890Sopenharmony_ci#define FS_USER_QUOTA (1 << 0)
9222851890Sopenharmony_ci#define FS_PROJ_QUOTA (1 << 1)
9322851890Sopenharmony_ci#define FS_GROUP_QUOTA (1 << 2)
9422851890Sopenharmony_ci#define FS_QSTAT_VERSION 1
9522851890Sopenharmony_citypedef struct fs_qfilestat {
9622851890Sopenharmony_ci  __u64 qfs_ino;
9722851890Sopenharmony_ci  __u64 qfs_nblks;
9822851890Sopenharmony_ci  __u32 qfs_nextents;
9922851890Sopenharmony_ci} fs_qfilestat_t;
10022851890Sopenharmony_citypedef struct fs_quota_stat {
10122851890Sopenharmony_ci  __s8 qs_version;
10222851890Sopenharmony_ci  __u16 qs_flags;
10322851890Sopenharmony_ci  __s8 qs_pad;
10422851890Sopenharmony_ci  fs_qfilestat_t qs_uquota;
10522851890Sopenharmony_ci  fs_qfilestat_t qs_gquota;
10622851890Sopenharmony_ci  __u32 qs_incoredqs;
10722851890Sopenharmony_ci  __s32 qs_btimelimit;
10822851890Sopenharmony_ci  __s32 qs_itimelimit;
10922851890Sopenharmony_ci  __s32 qs_rtbtimelimit;
11022851890Sopenharmony_ci  __u16 qs_bwarnlimit;
11122851890Sopenharmony_ci  __u16 qs_iwarnlimit;
11222851890Sopenharmony_ci} fs_quota_stat_t;
11322851890Sopenharmony_ci#define FS_QSTATV_VERSION1 1
11422851890Sopenharmony_cistruct fs_qfilestatv {
11522851890Sopenharmony_ci  __u64 qfs_ino;
11622851890Sopenharmony_ci  __u64 qfs_nblks;
11722851890Sopenharmony_ci  __u32 qfs_nextents;
11822851890Sopenharmony_ci  __u32 qfs_pad;
11922851890Sopenharmony_ci};
12022851890Sopenharmony_cistruct fs_quota_statv {
12122851890Sopenharmony_ci  __s8 qs_version;
12222851890Sopenharmony_ci  __u8 qs_pad1;
12322851890Sopenharmony_ci  __u16 qs_flags;
12422851890Sopenharmony_ci  __u32 qs_incoredqs;
12522851890Sopenharmony_ci  struct fs_qfilestatv qs_uquota;
12622851890Sopenharmony_ci  struct fs_qfilestatv qs_gquota;
12722851890Sopenharmony_ci  struct fs_qfilestatv qs_pquota;
12822851890Sopenharmony_ci  __s32 qs_btimelimit;
12922851890Sopenharmony_ci  __s32 qs_itimelimit;
13022851890Sopenharmony_ci  __s32 qs_rtbtimelimit;
13122851890Sopenharmony_ci  __u16 qs_bwarnlimit;
13222851890Sopenharmony_ci  __u16 qs_iwarnlimit;
13322851890Sopenharmony_ci  __u64 qs_pad2[8];
13422851890Sopenharmony_ci};
13522851890Sopenharmony_ci#endif
136