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.6.0" 25#define MAXQUOTAS 3 26#define USRQUOTA 0 27#define GRPQUOTA 1 28/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 29#define PRJQUOTA 2 30#define INITQFNAMES { "user", "group", "project", "undefined", \ 31}; 32#define SUBCMDMASK 0x00ff 33#define SUBCMDSHIFT 8 34/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 35#define QCMD(cmd,type) (((cmd) << SUBCMDSHIFT) | ((type) & SUBCMDMASK)) 36#define Q_SYNC 0x800001 37#define Q_QUOTAON 0x800002 38#define Q_QUOTAOFF 0x800003 39/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 40#define Q_GETFMT 0x800004 41#define Q_GETINFO 0x800005 42#define Q_SETINFO 0x800006 43#define Q_GETQUOTA 0x800007 44/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 45#define Q_SETQUOTA 0x800008 46#define QFMT_VFS_OLD 1 47#define QFMT_VFS_V0 2 48#define QFMT_OCFS2 3 49/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 50#define QFMT_VFS_V1 4 51#define QIF_DQBLKSIZE_BITS 10 52#define QIF_DQBLKSIZE (1 << QIF_DQBLKSIZE_BITS) 53enum { 54/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 55 QIF_BLIMITS_B = 0, 56 QIF_SPACE_B, 57 QIF_ILIMITS_B, 58 QIF_INODES_B, 59/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 60 QIF_BTIME_B, 61 QIF_ITIME_B, 62}; 63#define QIF_BLIMITS (1 << QIF_BLIMITS_B) 64/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 65#define QIF_SPACE (1 << QIF_SPACE_B) 66#define QIF_ILIMITS (1 << QIF_ILIMITS_B) 67#define QIF_INODES (1 << QIF_INODES_B) 68#define QIF_BTIME (1 << QIF_BTIME_B) 69/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 70#define QIF_ITIME (1 << QIF_ITIME_B) 71#define QIF_LIMITS (QIF_BLIMITS | QIF_ILIMITS) 72#define QIF_USAGE (QIF_SPACE | QIF_INODES) 73#define QIF_TIMES (QIF_BTIME | QIF_ITIME) 74/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 75#define QIF_ALL (QIF_LIMITS | QIF_USAGE | QIF_TIMES) 76struct if_dqblk { 77 __u64 dqb_bhardlimit; 78 __u64 dqb_bsoftlimit; 79/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 80 __u64 dqb_curspace; 81 __u64 dqb_ihardlimit; 82 __u64 dqb_isoftlimit; 83 __u64 dqb_curinodes; 84/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 85 __u64 dqb_btime; 86 __u64 dqb_itime; 87 __u32 dqb_valid; 88}; 89/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 90#define IIF_BGRACE 1 91#define IIF_IGRACE 2 92#define IIF_FLAGS 4 93#define IIF_ALL (IIF_BGRACE | IIF_IGRACE | IIF_FLAGS) 94/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 95enum { 96 DQF_ROOT_SQUASH_B = 0, 97 DQF_SYS_FILE_B = 16, 98 DQF_PRIVATE 99/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 100}; 101#define DQF_ROOT_SQUASH (1 << DQF_ROOT_SQUASH_B) 102#define DQF_SYS_FILE (1 << DQF_SYS_FILE_B) 103struct if_dqinfo { 104/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 105 __u64 dqi_bgrace; 106 __u64 dqi_igrace; 107 __u32 dqi_flags; 108 __u32 dqi_valid; 109/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 110}; 111#define QUOTA_NL_NOWARN 0 112#define QUOTA_NL_IHARDWARN 1 113#define QUOTA_NL_ISOFTLONGWARN 2 114/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 115#define QUOTA_NL_ISOFTWARN 3 116#define QUOTA_NL_BHARDWARN 4 117#define QUOTA_NL_BSOFTLONGWARN 5 118#define QUOTA_NL_BSOFTWARN 6 119/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 120#define QUOTA_NL_IHARDBELOW 7 121#define QUOTA_NL_ISOFTBELOW 8 122#define QUOTA_NL_BHARDBELOW 9 123#define QUOTA_NL_BSOFTBELOW 10 124/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 125enum { 126 QUOTA_NL_C_UNSPEC, 127 QUOTA_NL_C_WARNING, 128 __QUOTA_NL_C_MAX, 129/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 130}; 131#define QUOTA_NL_C_MAX (__QUOTA_NL_C_MAX - 1) 132enum { 133 QUOTA_NL_A_UNSPEC, 134/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 135 QUOTA_NL_A_QTYPE, 136 QUOTA_NL_A_EXCESS_ID, 137 QUOTA_NL_A_WARNING, 138 QUOTA_NL_A_DEV_MAJOR, 139/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 140 QUOTA_NL_A_DEV_MINOR, 141 QUOTA_NL_A_CAUSED_ID, 142 __QUOTA_NL_A_MAX, 143}; 144/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 145#define QUOTA_NL_A_MAX (__QUOTA_NL_A_MAX - 1) 146#endif 147