quota.h
001:
002:
003:
004:
005:
006:
007:
008:
009:
010:
011:
012:
013:
014:
015:
016:
017:
018:
019:
020:
021:
022:
023:
024:
025:
026:
027:
028:
029:
030:
031:
032:
033: #ifndef _LINUX_QUOTA_
034: #define _LINUX_QUOTA_
035:
036: #include <linux/errno.h>
037: #include <linux/types.h>
038:
039: #define __DQUOT_VERSION__ "dquot_6.5.2"
040:
041: #define MAXQUOTAS 2
042: #define USRQUOTA 0
043: #define GRPQUOTA 1
044:
045:
046:
047:
048: #define INITQFNAMES { \
049: "user", \
050: "group", \
051: "undefined", \
052: };
053:
054:
055:
056:
057:
058:
059:
060: #define SUBCMDMASK 0x00ff
061: #define SUBCMDSHIFT 8
062: #define QCMD(cmd, type) (((cmd) << SUBCMDSHIFT) | ((type) & SUBCMDMASK))
063:
064: #define Q_SYNC 0x800001
065: #define Q_QUOTAON 0x800002
066: #define Q_QUOTAOFF 0x800003
067: #define Q_GETFMT 0x800004
068: #define Q_GETINFO 0x800005
069: #define Q_SETINFO 0x800006
070: #define Q_GETQUOTA 0x800007
071: #define Q_SETQUOTA 0x800008
072:
073:
074: #define QFMT_VFS_OLD 1
075: #define QFMT_VFS_V0 2
076: #define QFMT_OCFS2 3
077: #define QFMT_VFS_V1 4
078:
079:
080:
081: #define QIF_DQBLKSIZE_BITS 10
082: #define QIF_DQBLKSIZE (1 << QIF_DQBLKSIZE_BITS)
083:
084:
085:
086:
087:
088: enum {
089: QIF_BLIMITS_B = 0,
090: QIF_SPACE_B,
091: QIF_ILIMITS_B,
092: QIF_INODES_B,
093: QIF_BTIME_B,
094: QIF_ITIME_B,
095: };
096:
097: #define QIF_BLIMITS (1 << QIF_BLIMITS_B)
098: #define QIF_SPACE (1 << QIF_SPACE_B)
099: #define QIF_ILIMITS (1 << QIF_ILIMITS_B)
100: #define QIF_INODES (1 << QIF_INODES_B)
101: #define QIF_BTIME (1 << QIF_BTIME_B)
102: #define QIF_ITIME (1 << QIF_ITIME_B)
103: #define QIF_LIMITS (QIF_BLIMITS | QIF_ILIMITS)
104: #define QIF_USAGE (QIF_SPACE | QIF_INODES)
105: #define QIF_TIMES (QIF_BTIME | QIF_ITIME)
106: #define QIF_ALL (QIF_LIMITS | QIF_USAGE | QIF_TIMES)
107:
108: struct if_dqblk {
109: __u64 dqb_bhardlimit;
110: __u64 dqb_bsoftlimit;
111: __u64 dqb_curspace;
112: __u64 dqb_ihardlimit;
113: __u64 dqb_isoftlimit;
114: __u64 dqb_curinodes;
115: __u64 dqb_btime;
116: __u64 dqb_itime;
117: __u32 dqb_valid;
118: };
119:
120:
121:
122:
123:
124: #define IIF_BGRACE 1
125: #define IIF_IGRACE 2
126: #define IIF_FLAGS 4
127: #define IIF_ALL (IIF_BGRACE | IIF_IGRACE | IIF_FLAGS)
128:
129: struct if_dqinfo {
130: __u64 dqi_bgrace;
131: __u64 dqi_igrace;
132: __u32 dqi_flags;
133: __u32 dqi_valid;
134: };
135:
136:
137:
138:
139: #define QUOTA_NL_NOWARN 0
140: #define QUOTA_NL_IHARDWARN 1
141: #define QUOTA_NL_ISOFTLONGWARN 2
142: #define QUOTA_NL_ISOFTWARN 3
143: #define QUOTA_NL_BHARDWARN 4
144: #define QUOTA_NL_BSOFTLONGWARN 5
145: #define QUOTA_NL_BSOFTWARN 6
146: #define QUOTA_NL_IHARDBELOW 7
147: #define QUOTA_NL_ISOFTBELOW 8
148: #define QUOTA_NL_BHARDBELOW 9
149: #define QUOTA_NL_BSOFTBELOW 10
150:
151: enum {
152: QUOTA_NL_C_UNSPEC,
153: QUOTA_NL_C_WARNING,
154: __QUOTA_NL_C_MAX,
155: };
156: #define QUOTA_NL_C_MAX (__QUOTA_NL_C_MAX - 1)
157:
158: enum {
159: QUOTA_NL_A_UNSPEC,
160: QUOTA_NL_A_QTYPE,
161: QUOTA_NL_A_EXCESS_ID,
162: QUOTA_NL_A_WARNING,
163: QUOTA_NL_A_DEV_MAJOR,
164: QUOTA_NL_A_DEV_MINOR,
165: QUOTA_NL_A_CAUSED_ID,
166: __QUOTA_NL_A_MAX,
167: };
168: #define QUOTA_NL_A_MAX (__QUOTA_NL_A_MAX - 1)
169:
170:
171: #endif
172:
© Andrew Scott 2006 -
2025,
All Rights Reserved