123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158 |
- #ifndef _SYS_QUOTA_H
- #define _SYS_QUOTA_H 1
- #include <features.h>
- #include <sys/types.h>
- #define dbtob(num) ((num) << 10)
- #define btodb(num) ((num) >> 10)
- #define fs_to_dq_blocks(num, blksize) (((num) * (blksize)) / BLOCK_SIZE)
- #define MAX_IQ_TIME 604800
- #define MAX_DQ_TIME 604800
- #define MAXQUOTAS 2
- #define USRQUOTA 0
- #define GRPQUOTA 1
- #define INITQFNAMES { \
- "user", \
- "group", \
- "undefined", \
- };
- #define QUOTAFILENAME "quota"
- #define QUOTAGROUP "staff"
- #define NR_DQHASH 43
- #define NR_DQUOTS 256
- #define SUBCMDMASK 0x00ff
- #define SUBCMDSHIFT 8
- #define QCMD(cmd, type) (((cmd) << SUBCMDSHIFT) | ((type) & SUBCMDMASK))
- #define Q_QUOTAON 0x0100
- #define Q_QUOTAOFF 0x0200
- #define Q_GETQUOTA 0x0300
- #define Q_SETQUOTA 0x0400
- #define Q_SETUSE 0x0500
- #define Q_SYNC 0x0600
- #define Q_SETQLIM 0x0700
- #define Q_GETSTATS 0x0800
- #define Q_RSQUASH 0x1000
- struct dqblk
- {
- u_int32_t dqb_bhardlimit;
- u_int32_t dqb_bsoftlimit;
- u_int32_t dqb_curblocks;
- u_int32_t dqb_ihardlimit;
- u_int32_t dqb_isoftlimit;
- u_int32_t dqb_curinodes;
- time_t dqb_btime;
- time_t dqb_itime;
- };
- #define dq_bhardlimit dq_dqb.dqb_bhardlimit
- #define dq_bsoftlimit dq_dqb.dqb_bsoftlimit
- #define dq_curblocks dq_dqb.dqb_curblocks
- #define dq_ihardlimit dq_dqb.dqb_ihardlimit
- #define dq_isoftlimit dq_dqb.dqb_isoftlimit
- #define dq_curinodes dq_dqb.dqb_curinodes
- #define dq_btime dq_dqb.dqb_btime
- #define dq_itime dq_dqb.dqb_itime
- #define dqoff(UID) ((loff_t)((UID) * sizeof (struct dqblk)))
- struct dqstats
- {
- u_int32_t lookups;
- u_int32_t drops;
- u_int32_t reads;
- u_int32_t writes;
- u_int32_t cache_hits;
- u_int32_t pages_allocated;
- u_int32_t allocated_dquots;
- u_int32_t free_dquots;
- u_int32_t syncs;
- };
- __BEGIN_DECLS
- extern int quotactl (int __cmd, const char *__special, int __id,
- caddr_t __addr) __THROW;
- __END_DECLS
- #endif
|