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 21typedef __kernel_uid32_t qid_t; 22typedef __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 61struct 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 78struct 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