summaryrefslogtreecommitdiff
path: root/libc/kernel/uapi/linux/dqblk_xfs.h
blob: db7c7e5ef8567feb903c3f1283cc72bc712d60c9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
/****************************************************************************
 ****************************************************************************
 ***
 ***   This header was automatically generated from a Linux kernel header
 ***   of the same name, to make information necessary for userspace to
 ***   call into the kernel available to libc.  It contains only constants,
 ***   structures, and macros generated from the original header, and thus,
 ***   contains no copyrightable information.
 ***
 ***   To edit the content of this header, modify the corresponding
 ***   source file (e.g. under external/kernel-headers/original/) then
 ***   run bionic/libc/kernel/tools/update_all.py
 ***
 ***   Any manual change here will be lost the next time this script will
 ***   be run. You've been warned!
 ***
 ****************************************************************************
 ****************************************************************************/
#ifndef _LINUX_DQBLK_XFS_H
#define _LINUX_DQBLK_XFS_H
#include <linux/types.h>
#define XQM_CMD(x) (('X' << 8) + (x))
#define XQM_COMMAND(x) (((x) & (0xff << 8)) == ('X' << 8))
#define XQM_USRQUOTA 0
#define XQM_GRPQUOTA 1
#define XQM_PRJQUOTA 2
#define XQM_MAXQUOTAS 3
#define Q_XQUOTAON XQM_CMD(1)
#define Q_XQUOTAOFF XQM_CMD(2)
#define Q_XGETQUOTA XQM_CMD(3)
#define Q_XSETQLIM XQM_CMD(4)
#define Q_XGETQSTAT XQM_CMD(5)
#define Q_XQUOTARM XQM_CMD(6)
#define Q_XQUOTASYNC XQM_CMD(7)
#define Q_XGETQSTATV XQM_CMD(8)
#define Q_XGETNEXTQUOTA XQM_CMD(9)
#define FS_DQUOT_VERSION 1
typedef struct fs_disk_quota {
  __s8 d_version;
  __s8 d_flags;
  __u16 d_fieldmask;
  __u32 d_id;
  __u64 d_blk_hardlimit;
  __u64 d_blk_softlimit;
  __u64 d_ino_hardlimit;
  __u64 d_ino_softlimit;
  __u64 d_bcount;
  __u64 d_icount;
  __s32 d_itimer;
  __s32 d_btimer;
  __u16 d_iwarns;
  __u16 d_bwarns;
  __s8 d_itimer_hi;
  __s8 d_btimer_hi;
  __s8 d_rtbtimer_hi;
  __s8 d_padding2;
  __u64 d_rtb_hardlimit;
  __u64 d_rtb_softlimit;
  __u64 d_rtbcount;
  __s32 d_rtbtimer;
  __u16 d_rtbwarns;
  __s16 d_padding3;
  char d_padding4[8];
} fs_disk_quota_t;
#define FS_DQ_ISOFT (1 << 0)
#define FS_DQ_IHARD (1 << 1)
#define FS_DQ_BSOFT (1 << 2)
#define FS_DQ_BHARD (1 << 3)
#define FS_DQ_RTBSOFT (1 << 4)
#define FS_DQ_RTBHARD (1 << 5)
#define FS_DQ_LIMIT_MASK (FS_DQ_ISOFT | FS_DQ_IHARD | FS_DQ_BSOFT | FS_DQ_BHARD | FS_DQ_RTBSOFT | FS_DQ_RTBHARD)
#define FS_DQ_BTIMER (1 << 6)
#define FS_DQ_ITIMER (1 << 7)
#define FS_DQ_RTBTIMER (1 << 8)
#define FS_DQ_TIMER_MASK (FS_DQ_BTIMER | FS_DQ_ITIMER | FS_DQ_RTBTIMER)
#define FS_DQ_BWARNS (1 << 9)
#define FS_DQ_IWARNS (1 << 10)
#define FS_DQ_RTBWARNS (1 << 11)
#define FS_DQ_WARNS_MASK (FS_DQ_BWARNS | FS_DQ_IWARNS | FS_DQ_RTBWARNS)
#define FS_DQ_BCOUNT (1 << 12)
#define FS_DQ_ICOUNT (1 << 13)
#define FS_DQ_RTBCOUNT (1 << 14)
#define FS_DQ_ACCT_MASK (FS_DQ_BCOUNT | FS_DQ_ICOUNT | FS_DQ_RTBCOUNT)
#define FS_DQ_BIGTIME (1 << 15)
#define FS_QUOTA_UDQ_ACCT (1 << 0)
#define FS_QUOTA_UDQ_ENFD (1 << 1)
#define FS_QUOTA_GDQ_ACCT (1 << 2)
#define FS_QUOTA_GDQ_ENFD (1 << 3)
#define FS_QUOTA_PDQ_ACCT (1 << 4)
#define FS_QUOTA_PDQ_ENFD (1 << 5)
#define FS_USER_QUOTA (1 << 0)
#define FS_PROJ_QUOTA (1 << 1)
#define FS_GROUP_QUOTA (1 << 2)
#define FS_QSTAT_VERSION 1
typedef struct fs_qfilestat {
  __u64 qfs_ino;
  __u64 qfs_nblks;
  __u32 qfs_nextents;
} fs_qfilestat_t;
typedef struct fs_quota_stat {
  __s8 qs_version;
  __u16 qs_flags;
  __s8 qs_pad;
  fs_qfilestat_t qs_uquota;
  fs_qfilestat_t qs_gquota;
  __u32 qs_incoredqs;
  __s32 qs_btimelimit;
  __s32 qs_itimelimit;
  __s32 qs_rtbtimelimit;
  __u16 qs_bwarnlimit;
  __u16 qs_iwarnlimit;
} fs_quota_stat_t;
#define FS_QSTATV_VERSION1 1
struct fs_qfilestatv {
  __u64 qfs_ino;
  __u64 qfs_nblks;
  __u32 qfs_nextents;
  __u32 qfs_pad;
};
struct fs_quota_statv {
  __s8 qs_version;
  __u8 qs_pad1;
  __u16 qs_flags;
  __u32 qs_incoredqs;
  struct fs_qfilestatv qs_uquota;
  struct fs_qfilestatv qs_gquota;
  struct fs_qfilestatv qs_pquota;
  __s32 qs_btimelimit;
  __s32 qs_itimelimit;
  __s32 qs_rtbtimelimit;
  __u16 qs_bwarnlimit;
  __u16 qs_iwarnlimit;
  __u64 qs_pad2[8];
};
#endif