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