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 **************************************************************************** 11 ****************************************************************************/ 12 #ifndef _LINUX_QUOTA_ 13 #define _LINUX_QUOTA_ 14 15 #include <linux/errno.h> 16 #include <linux/types.h> 17 18 #define __DQUOT_VERSION__ "dquot_6.5.1" 19 #define __DQUOT_NUM_VERSION__ 6*10000+5*100+1 20 21 typedef __kernel_uid32_t qid_t; 22 typedef __u64 qsize_t; 23 24 #define QUOTABLOCK_BITS 10 25 #define QUOTABLOCK_SIZE (1 << QUOTABLOCK_BITS) 26 27 #define qb2kb(x) ((x) << (QUOTABLOCK_BITS-10)) 28 #define kb2qb(x) ((x) >> (QUOTABLOCK_BITS-10)) 29 #define toqb(x) (((x) + QUOTABLOCK_SIZE - 1) >> QUOTABLOCK_BITS) 30 31 #define MAXQUOTAS 2 32 #define USRQUOTA 0 33 #define GRPQUOTA 1 34 35 #define INITQFNAMES { "user", "group", "undefined", }; 36 37 #define SUBCMDMASK 0x00ff 38 #define SUBCMDSHIFT 8 39 #define QCMD(cmd, type) (((cmd) << SUBCMDSHIFT) | ((type) & SUBCMDMASK)) 40 41 #define Q_SYNC 0x800001 42 #define Q_QUOTAON 0x800002 43 #define Q_QUOTAOFF 0x800003 44 #define Q_GETFMT 0x800004 45 #define Q_GETINFO 0x800005 46 #define Q_SETINFO 0x800006 47 #define Q_GETQUOTA 0x800007 48 #define Q_SETQUOTA 0x800008 49 50 #define QIF_BLIMITS 1 51 #define QIF_SPACE 2 52 #define QIF_ILIMITS 4 53 #define QIF_INODES 8 54 #define QIF_BTIME 16 55 #define QIF_ITIME 32 56 #define QIF_LIMITS (QIF_BLIMITS | QIF_ILIMITS) 57 #define QIF_USAGE (QIF_SPACE | QIF_INODES) 58 #define QIF_TIMES (QIF_BTIME | QIF_ITIME) 59 #define QIF_ALL (QIF_LIMITS | QIF_USAGE | QIF_TIMES) 60 61 struct if_dqblk { 62 __u64 dqb_bhardlimit; 63 __u64 dqb_bsoftlimit; 64 __u64 dqb_curspace; 65 __u64 dqb_ihardlimit; 66 __u64 dqb_isoftlimit; 67 __u64 dqb_curinodes; 68 __u64 dqb_btime; 69 __u64 dqb_itime; 70 __u32 dqb_valid; 71 }; 72 73 #define IIF_BGRACE 1 74 #define IIF_IGRACE 2 75 #define IIF_FLAGS 4 76 #define IIF_ALL (IIF_BGRACE | IIF_IGRACE | IIF_FLAGS) 77 78 struct if_dqinfo { 79 __u64 dqi_bgrace; 80 __u64 dqi_igrace; 81 __u32 dqi_flags; 82 __u32 dqi_valid; 83 }; 84 85 #include <sys/cdefs.h> 86 87 #endif 88