/* * Definition of symbols used for backward compatible interface */ #ifndef _LINUX_QUOTACOMPAT_ #define _LINUX_QUOTACOMPAT_ #include #include struct v1c_mem_dqblk { __u32 dqb_bhardlimit; /* absolute limit on disk blks alloc */ __u32 dqb_bsoftlimit; /* preferred limit on disk blks */ __u32 dqb_curblocks; /* current block count */ __u32 dqb_ihardlimit; /* maximum # allocated inodes */ __u32 dqb_isoftlimit; /* preferred inode limit */ __u32 dqb_curinodes; /* current # allocated inodes */ time_t dqb_btime; /* time limit for excessive disk use */ time_t dqb_itime; /* time limit for excessive files */ }; struct v1c_dqstats { __u32 lookups; __u32 drops; __u32 reads; __u32 writes; __u32 cache_hits; __u32 allocated_dquots; __u32 free_dquots; __u32 syncs; }; struct v2c_mem_dqblk { unsigned int dqb_ihardlimit; unsigned int dqb_isoftlimit; unsigned int dqb_curinodes; unsigned int dqb_bhardlimit; unsigned int dqb_bsoftlimit; qsize_t dqb_curspace; __kernel_time_t dqb_btime; __kernel_time_t dqb_itime; }; struct v2c_mem_dqinfo { unsigned int dqi_bgrace; unsigned int dqi_igrace; unsigned int dqi_flags; unsigned int dqi_blocks; unsigned int dqi_free_blk; unsigned int dqi_free_entry; }; struct v2c_dqstats { __u32 lookups; __u32 drops; __u32 reads; __u32 writes; __u32 cache_hits; __u32 allocated_dquots; __u32 free_dquots; __u32 syncs; __u32 version; }; #define Q_COMP_QUOTAON 0x0100 /* enable quotas */ #define Q_COMP_QUOTAOFF 0x0200 /* disable quotas */ #define Q_COMP_SYNC 0x0600 /* sync disk copy of a filesystems quotas */ #define Q_V1_GETQUOTA 0x0300 /* get limits and usage */ #define Q_V1_SETQUOTA 0x0400 /* set limits and usage */ #define Q_V1_SETUSE 0x0500 /* set usage */ #define Q_V1_SETQLIM 0x0700 /* set limits */ #define Q_V1_GETSTATS 0x0800 /* get collected stats */ #define Q_V1_RSQUASH 0x1000 /* set root_squash option */ #define Q_V2_SETQLIM 0x0700 /* set limits */ #define Q_V2_GETINFO 0x0900 /* get info about quotas - graces, flags... */ #define Q_V2_SETINFO 0x0A00 /* set info about quotas */ #define Q_V2_SETGRACE 0x0B00 /* set inode and block grace */ #define Q_V2_SETFLAGS 0x0C00 /* set flags for quota */ #define Q_V2_GETQUOTA 0x0D00 /* get limits and usage */ #define Q_V2_SETQUOTA 0x0E00 /* set limits and usage */ #define Q_V2_SETUSE 0x0F00 /* set usage */ #define Q_V2_GETSTATS 0x1100 /* get collected stats */ #endif