xref: /aosp_15_r20/bionic/libc/kernel/uapi/linux/dqblk_xfs.h (revision 8d67ca893c1523eb926b9080dbe4e2ffd2a27ba1)
1 /*
2  * This file is auto-generated. Modifications will be lost.
3  *
4  * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
5  * for more information.
6  */
7 #ifndef _LINUX_DQBLK_XFS_H
8 #define _LINUX_DQBLK_XFS_H
9 #include <linux/types.h>
10 #define XQM_CMD(x) (('X' << 8) + (x))
11 #define XQM_COMMAND(x) (((x) & (0xff << 8)) == ('X' << 8))
12 #define XQM_USRQUOTA 0
13 #define XQM_GRPQUOTA 1
14 #define XQM_PRJQUOTA 2
15 #define XQM_MAXQUOTAS 3
16 #define Q_XQUOTAON XQM_CMD(1)
17 #define Q_XQUOTAOFF XQM_CMD(2)
18 #define Q_XGETQUOTA XQM_CMD(3)
19 #define Q_XSETQLIM XQM_CMD(4)
20 #define Q_XGETQSTAT XQM_CMD(5)
21 #define Q_XQUOTARM XQM_CMD(6)
22 #define Q_XQUOTASYNC XQM_CMD(7)
23 #define Q_XGETQSTATV XQM_CMD(8)
24 #define Q_XGETNEXTQUOTA XQM_CMD(9)
25 #define FS_DQUOT_VERSION 1
26 typedef struct fs_disk_quota {
27   __s8 d_version;
28   __s8 d_flags;
29   __u16 d_fieldmask;
30   __u32 d_id;
31   __u64 d_blk_hardlimit;
32   __u64 d_blk_softlimit;
33   __u64 d_ino_hardlimit;
34   __u64 d_ino_softlimit;
35   __u64 d_bcount;
36   __u64 d_icount;
37   __s32 d_itimer;
38   __s32 d_btimer;
39   __u16 d_iwarns;
40   __u16 d_bwarns;
41   __s8 d_itimer_hi;
42   __s8 d_btimer_hi;
43   __s8 d_rtbtimer_hi;
44   __s8 d_padding2;
45   __u64 d_rtb_hardlimit;
46   __u64 d_rtb_softlimit;
47   __u64 d_rtbcount;
48   __s32 d_rtbtimer;
49   __u16 d_rtbwarns;
50   __s16 d_padding3;
51   char d_padding4[8];
52 } fs_disk_quota_t;
53 #define FS_DQ_ISOFT (1 << 0)
54 #define FS_DQ_IHARD (1 << 1)
55 #define FS_DQ_BSOFT (1 << 2)
56 #define FS_DQ_BHARD (1 << 3)
57 #define FS_DQ_RTBSOFT (1 << 4)
58 #define FS_DQ_RTBHARD (1 << 5)
59 #define FS_DQ_LIMIT_MASK (FS_DQ_ISOFT | FS_DQ_IHARD | FS_DQ_BSOFT | FS_DQ_BHARD | FS_DQ_RTBSOFT | FS_DQ_RTBHARD)
60 #define FS_DQ_BTIMER (1 << 6)
61 #define FS_DQ_ITIMER (1 << 7)
62 #define FS_DQ_RTBTIMER (1 << 8)
63 #define FS_DQ_TIMER_MASK (FS_DQ_BTIMER | FS_DQ_ITIMER | FS_DQ_RTBTIMER)
64 #define FS_DQ_BWARNS (1 << 9)
65 #define FS_DQ_IWARNS (1 << 10)
66 #define FS_DQ_RTBWARNS (1 << 11)
67 #define FS_DQ_WARNS_MASK (FS_DQ_BWARNS | FS_DQ_IWARNS | FS_DQ_RTBWARNS)
68 #define FS_DQ_BCOUNT (1 << 12)
69 #define FS_DQ_ICOUNT (1 << 13)
70 #define FS_DQ_RTBCOUNT (1 << 14)
71 #define FS_DQ_ACCT_MASK (FS_DQ_BCOUNT | FS_DQ_ICOUNT | FS_DQ_RTBCOUNT)
72 #define FS_DQ_BIGTIME (1 << 15)
73 #define FS_QUOTA_UDQ_ACCT (1 << 0)
74 #define FS_QUOTA_UDQ_ENFD (1 << 1)
75 #define FS_QUOTA_GDQ_ACCT (1 << 2)
76 #define FS_QUOTA_GDQ_ENFD (1 << 3)
77 #define FS_QUOTA_PDQ_ACCT (1 << 4)
78 #define FS_QUOTA_PDQ_ENFD (1 << 5)
79 #define FS_USER_QUOTA (1 << 0)
80 #define FS_PROJ_QUOTA (1 << 1)
81 #define FS_GROUP_QUOTA (1 << 2)
82 #define FS_QSTAT_VERSION 1
83 typedef struct fs_qfilestat {
84   __u64 qfs_ino;
85   __u64 qfs_nblks;
86   __u32 qfs_nextents;
87 } fs_qfilestat_t;
88 typedef struct fs_quota_stat {
89   __s8 qs_version;
90   __u16 qs_flags;
91   __s8 qs_pad;
92   fs_qfilestat_t qs_uquota;
93   fs_qfilestat_t qs_gquota;
94   __u32 qs_incoredqs;
95   __s32 qs_btimelimit;
96   __s32 qs_itimelimit;
97   __s32 qs_rtbtimelimit;
98   __u16 qs_bwarnlimit;
99   __u16 qs_iwarnlimit;
100 } fs_quota_stat_t;
101 #define FS_QSTATV_VERSION1 1
102 struct fs_qfilestatv {
103   __u64 qfs_ino;
104   __u64 qfs_nblks;
105   __u32 qfs_nextents;
106   __u32 qfs_pad;
107 };
108 struct fs_quota_statv {
109   __s8 qs_version;
110   __u8 qs_pad1;
111   __u16 qs_flags;
112   __u32 qs_incoredqs;
113   struct fs_qfilestatv qs_uquota;
114   struct fs_qfilestatv qs_gquota;
115   struct fs_qfilestatv qs_pquota;
116   __s32 qs_btimelimit;
117   __s32 qs_itimelimit;
118   __s32 qs_rtbtimelimit;
119   __u16 qs_bwarnlimit;
120   __u16 qs_iwarnlimit;
121   __u16 qs_rtbwarnlimit;
122   __u16 qs_pad3;
123   __u32 qs_pad4;
124   __u64 qs_pad2[7];
125 };
126 #endif
127