blob: aba6debdd82d8b36989d43c0715f17c63ff10583 [file] [log] [blame]
Elliott Hughes180edef2023-11-02 00:08:05 +00001/*
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 */
Ben Cheng655a7c02013-10-16 16:09:24 -07007#ifndef _LINUX_DQBLK_XFS_H
8#define _LINUX_DQBLK_XFS_H
9#include <linux/types.h>
Tao Baod7db5942015-01-28 10:07:51 -080010#define XQM_CMD(x) (('X' << 8) + (x))
Tao Baod7db5942015-01-28 10:07:51 -080011#define XQM_COMMAND(x) (((x) & (0xff << 8)) == ('X' << 8))
Ben Cheng655a7c02013-10-16 16:09:24 -070012#define XQM_USRQUOTA 0
13#define XQM_GRPQUOTA 1
14#define XQM_PRJQUOTA 2
Ben Cheng655a7c02013-10-16 16:09:24 -070015#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)
Ben Cheng655a7c02013-10-16 16:09:24 -070019#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)
Christopher Ferris38062f92014-07-09 15:33:25 -070023#define Q_XGETQSTATV XQM_CMD(8)
Christopher Ferris106b3a82016-08-24 12:15:38 -070024#define Q_XGETNEXTQUOTA XQM_CMD(9)
Ben Cheng655a7c02013-10-16 16:09:24 -070025#define FS_DQUOT_VERSION 1
26typedef struct fs_disk_quota {
Christopher Ferris106b3a82016-08-24 12:15:38 -070027 __s8 d_version;
Tao Baod7db5942015-01-28 10:07:51 -080028 __s8 d_flags;
29 __u16 d_fieldmask;
30 __u32 d_id;
Christopher Ferris106b3a82016-08-24 12:15:38 -070031 __u64 d_blk_hardlimit;
Tao Baod7db5942015-01-28 10:07:51 -080032 __u64 d_blk_softlimit;
33 __u64 d_ino_hardlimit;
34 __u64 d_ino_softlimit;
Christopher Ferris106b3a82016-08-24 12:15:38 -070035 __u64 d_bcount;
Tao Baod7db5942015-01-28 10:07:51 -080036 __u64 d_icount;
37 __s32 d_itimer;
38 __s32 d_btimer;
Christopher Ferris106b3a82016-08-24 12:15:38 -070039 __u16 d_iwarns;
Tao Baod7db5942015-01-28 10:07:51 -080040 __u16 d_bwarns;
Christopher Ferris32ff3f82020-12-14 13:10:04 -080041 __s8 d_itimer_hi;
42 __s8 d_btimer_hi;
43 __s8 d_rtbtimer_hi;
44 __s8 d_padding2;
Tao Baod7db5942015-01-28 10:07:51 -080045 __u64 d_rtb_hardlimit;
Christopher Ferris106b3a82016-08-24 12:15:38 -070046 __u64 d_rtb_softlimit;
Tao Baod7db5942015-01-28 10:07:51 -080047 __u64 d_rtbcount;
48 __s32 d_rtbtimer;
49 __u16 d_rtbwarns;
Christopher Ferris106b3a82016-08-24 12:15:38 -070050 __s16 d_padding3;
Tao Baod7db5942015-01-28 10:07:51 -080051 char d_padding4[8];
Ben Cheng655a7c02013-10-16 16:09:24 -070052} fs_disk_quota_t;
Tao Baod7db5942015-01-28 10:07:51 -080053#define FS_DQ_ISOFT (1 << 0)
Christopher Ferris106b3a82016-08-24 12:15:38 -070054#define FS_DQ_IHARD (1 << 1)
Tao Baod7db5942015-01-28 10:07:51 -080055#define FS_DQ_BSOFT (1 << 2)
56#define FS_DQ_BHARD (1 << 3)
57#define FS_DQ_RTBSOFT (1 << 4)
Christopher Ferris106b3a82016-08-24 12:15:38 -070058#define FS_DQ_RTBHARD (1 << 5)
Tao Baod7db5942015-01-28 10:07:51 -080059#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)
Christopher Ferris106b3a82016-08-24 12:15:38 -070062#define FS_DQ_RTBTIMER (1 << 8)
Christopher Ferris38062f92014-07-09 15:33:25 -070063#define FS_DQ_TIMER_MASK (FS_DQ_BTIMER | FS_DQ_ITIMER | FS_DQ_RTBTIMER)
Tao Baod7db5942015-01-28 10:07:51 -080064#define FS_DQ_BWARNS (1 << 9)
65#define FS_DQ_IWARNS (1 << 10)
Christopher Ferris106b3a82016-08-24 12:15:38 -070066#define FS_DQ_RTBWARNS (1 << 11)
Christopher Ferris38062f92014-07-09 15:33:25 -070067#define FS_DQ_WARNS_MASK (FS_DQ_BWARNS | FS_DQ_IWARNS | FS_DQ_RTBWARNS)
Tao Baod7db5942015-01-28 10:07:51 -080068#define FS_DQ_BCOUNT (1 << 12)
69#define FS_DQ_ICOUNT (1 << 13)
Christopher Ferris106b3a82016-08-24 12:15:38 -070070#define FS_DQ_RTBCOUNT (1 << 14)
Christopher Ferris38062f92014-07-09 15:33:25 -070071#define FS_DQ_ACCT_MASK (FS_DQ_BCOUNT | FS_DQ_ICOUNT | FS_DQ_RTBCOUNT)
Christopher Ferris32ff3f82020-12-14 13:10:04 -080072#define FS_DQ_BIGTIME (1 << 15)
Tao Baod7db5942015-01-28 10:07:51 -080073#define FS_QUOTA_UDQ_ACCT (1 << 0)
74#define FS_QUOTA_UDQ_ENFD (1 << 1)
Christopher Ferris106b3a82016-08-24 12:15:38 -070075#define FS_QUOTA_GDQ_ACCT (1 << 2)
Tao Baod7db5942015-01-28 10:07:51 -080076#define FS_QUOTA_GDQ_ENFD (1 << 3)
77#define FS_QUOTA_PDQ_ACCT (1 << 4)
78#define FS_QUOTA_PDQ_ENFD (1 << 5)
Christopher Ferris106b3a82016-08-24 12:15:38 -070079#define FS_USER_QUOTA (1 << 0)
Tao Baod7db5942015-01-28 10:07:51 -080080#define FS_PROJ_QUOTA (1 << 1)
81#define FS_GROUP_QUOTA (1 << 2)
Ben Cheng655a7c02013-10-16 16:09:24 -070082#define FS_QSTAT_VERSION 1
Christopher Ferris106b3a82016-08-24 12:15:38 -070083typedef struct fs_qfilestat {
Tao Baod7db5942015-01-28 10:07:51 -080084 __u64 qfs_ino;
85 __u64 qfs_nblks;
86 __u32 qfs_nextents;
Christopher Ferris106b3a82016-08-24 12:15:38 -070087} fs_qfilestat_t;
Christopher Ferris38062f92014-07-09 15:33:25 -070088typedef struct fs_quota_stat {
Tao Baod7db5942015-01-28 10:07:51 -080089 __s8 qs_version;
90 __u16 qs_flags;
Christopher Ferris106b3a82016-08-24 12:15:38 -070091 __s8 qs_pad;
Tao Baod7db5942015-01-28 10:07:51 -080092 fs_qfilestat_t qs_uquota;
93 fs_qfilestat_t qs_gquota;
94 __u32 qs_incoredqs;
Christopher Ferris106b3a82016-08-24 12:15:38 -070095 __s32 qs_btimelimit;
Tao Baod7db5942015-01-28 10:07:51 -080096 __s32 qs_itimelimit;
97 __s32 qs_rtbtimelimit;
98 __u16 qs_bwarnlimit;
Christopher Ferris106b3a82016-08-24 12:15:38 -070099 __u16 qs_iwarnlimit;
Christopher Ferris38062f92014-07-09 15:33:25 -0700100} fs_quota_stat_t;
101#define FS_QSTATV_VERSION1 1
102struct fs_qfilestatv {
Christopher Ferris106b3a82016-08-24 12:15:38 -0700103 __u64 qfs_ino;
Tao Baod7db5942015-01-28 10:07:51 -0800104 __u64 qfs_nblks;
105 __u32 qfs_nextents;
106 __u32 qfs_pad;
Christopher Ferris106b3a82016-08-24 12:15:38 -0700107};
Christopher Ferris38062f92014-07-09 15:33:25 -0700108struct fs_quota_statv {
Tao Baod7db5942015-01-28 10:07:51 -0800109 __s8 qs_version;
110 __u8 qs_pad1;
Christopher Ferris106b3a82016-08-24 12:15:38 -0700111 __u16 qs_flags;
Tao Baod7db5942015-01-28 10:07:51 -0800112 __u32 qs_incoredqs;
113 struct fs_qfilestatv qs_uquota;
114 struct fs_qfilestatv qs_gquota;
Christopher Ferris106b3a82016-08-24 12:15:38 -0700115 struct fs_qfilestatv qs_pquota;
Tao Baod7db5942015-01-28 10:07:51 -0800116 __s32 qs_btimelimit;
117 __s32 qs_itimelimit;
118 __s32 qs_rtbtimelimit;
Christopher Ferris106b3a82016-08-24 12:15:38 -0700119 __u16 qs_bwarnlimit;
Tao Baod7db5942015-01-28 10:07:51 -0800120 __u16 qs_iwarnlimit;
Christopher Ferrisfcc3b4f2021-07-01 01:30:21 +0000121 __u16 qs_rtbwarnlimit;
122 __u16 qs_pad3;
123 __u32 qs_pad4;
124 __u64 qs_pad2[7];
Christopher Ferris38062f92014-07-09 15:33:25 -0700125};
Christopher Ferris106b3a82016-08-24 12:15:38 -0700126#endif