1 /**************************************************************************** 2 **************************************************************************** 3 *** 4 *** This header was automatically generated from a Linux kernel header 5 *** of the same name, to make information necessary for userspace to 6 *** call into the kernel available to libc. It contains only constants, 7 *** structures, and macros generated from the original header, and thus, 8 *** contains no copyrightable information. 9 *** 10 *** To edit the content of this header, modify the corresponding 11 *** source file (e.g. under external/kernel-headers/original/) then 12 *** run bionic/libc/kernel/tools/update_all.py 13 *** 14 *** Any manual change here will be lost the next time this script will 15 *** be run. You've been warned! 16 *** 17 **************************************************************************** 18 ****************************************************************************/ 19 #ifndef _UAPI_LINUX_QUOTA_ 20 #define _UAPI_LINUX_QUOTA_ 21 #include <linux/errno.h> 22 #include <linux/types.h> 23 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 24 #define __DQUOT_VERSION__ "dquot_6.5.2" 25 #define MAXQUOTAS 2 26 #define USRQUOTA 0 27 #define GRPQUOTA 1 28 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 29 #define INITQFNAMES { "user", "group", "undefined", \ 30 }; 31 #define SUBCMDMASK 0x00ff 32 #define SUBCMDSHIFT 8 33 #define QCMD(cmd,type) (((cmd) << SUBCMDSHIFT) | ((type) & SUBCMDMASK)) 34 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 35 #define Q_SYNC 0x800001 36 #define Q_QUOTAON 0x800002 37 #define Q_QUOTAOFF 0x800003 38 #define Q_GETFMT 0x800004 39 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 40 #define Q_GETINFO 0x800005 41 #define Q_SETINFO 0x800006 42 #define Q_GETQUOTA 0x800007 43 #define Q_SETQUOTA 0x800008 44 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 45 #define QFMT_VFS_OLD 1 46 #define QFMT_VFS_V0 2 47 #define QFMT_OCFS2 3 48 #define QFMT_VFS_V1 4 49 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 50 #define QIF_DQBLKSIZE_BITS 10 51 #define QIF_DQBLKSIZE (1 << QIF_DQBLKSIZE_BITS) 52 enum { 53 QIF_BLIMITS_B = 0, 54 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 55 QIF_SPACE_B, 56 QIF_ILIMITS_B, 57 QIF_INODES_B, 58 QIF_BTIME_B, 59 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 60 QIF_ITIME_B, 61 }; 62 #define QIF_BLIMITS (1 << QIF_BLIMITS_B) 63 #define QIF_SPACE (1 << QIF_SPACE_B) 64 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 65 #define QIF_ILIMITS (1 << QIF_ILIMITS_B) 66 #define QIF_INODES (1 << QIF_INODES_B) 67 #define QIF_BTIME (1 << QIF_BTIME_B) 68 #define QIF_ITIME (1 << QIF_ITIME_B) 69 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 70 #define QIF_LIMITS (QIF_BLIMITS | QIF_ILIMITS) 71 #define QIF_USAGE (QIF_SPACE | QIF_INODES) 72 #define QIF_TIMES (QIF_BTIME | QIF_ITIME) 73 #define QIF_ALL (QIF_LIMITS | QIF_USAGE | QIF_TIMES) 74 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 75 struct if_dqblk { 76 __u64 dqb_bhardlimit; 77 __u64 dqb_bsoftlimit; 78 __u64 dqb_curspace; 79 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 80 __u64 dqb_ihardlimit; 81 __u64 dqb_isoftlimit; 82 __u64 dqb_curinodes; 83 __u64 dqb_btime; 84 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 85 __u64 dqb_itime; 86 __u32 dqb_valid; 87 }; 88 #define IIF_BGRACE 1 89 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 90 #define IIF_IGRACE 2 91 #define IIF_FLAGS 4 92 #define IIF_ALL (IIF_BGRACE | IIF_IGRACE | IIF_FLAGS) 93 struct if_dqinfo { 94 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 95 __u64 dqi_bgrace; 96 __u64 dqi_igrace; 97 __u32 dqi_flags; 98 __u32 dqi_valid; 99 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 100 }; 101 #define QUOTA_NL_NOWARN 0 102 #define QUOTA_NL_IHARDWARN 1 103 #define QUOTA_NL_ISOFTLONGWARN 2 104 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 105 #define QUOTA_NL_ISOFTWARN 3 106 #define QUOTA_NL_BHARDWARN 4 107 #define QUOTA_NL_BSOFTLONGWARN 5 108 #define QUOTA_NL_BSOFTWARN 6 109 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 110 #define QUOTA_NL_IHARDBELOW 7 111 #define QUOTA_NL_ISOFTBELOW 8 112 #define QUOTA_NL_BHARDBELOW 9 113 #define QUOTA_NL_BSOFTBELOW 10 114 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 115 enum { 116 QUOTA_NL_C_UNSPEC, 117 QUOTA_NL_C_WARNING, 118 __QUOTA_NL_C_MAX, 119 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 120 }; 121 #define QUOTA_NL_C_MAX (__QUOTA_NL_C_MAX - 1) 122 enum { 123 QUOTA_NL_A_UNSPEC, 124 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 125 QUOTA_NL_A_QTYPE, 126 QUOTA_NL_A_EXCESS_ID, 127 QUOTA_NL_A_WARNING, 128 QUOTA_NL_A_DEV_MAJOR, 129 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 130 QUOTA_NL_A_DEV_MINOR, 131 QUOTA_NL_A_CAUSED_ID, 132 __QUOTA_NL_A_MAX, 133 }; 134 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 135 #define QUOTA_NL_A_MAX (__QUOTA_NL_A_MAX - 1) 136 #endif 137