9#if defined(HAVE_SYS_VFS_H)
13#if defined(__svr4__) || defined(__NetBSD__)
14#include <sys/statvfs.h>
17#define f_frsize f_bsize
20#if defined(__svr4__) || defined(HAVE_SYS_MNTTAB_H)
21#include <sys/mnttab.h>
24#if defined(__DragonFly__)
25#define dqblk ufs_dqblk
28#if defined(HAVE_SYS_MOUNT_H) || defined(BSD4_4) || defined(__linux__)
32#if defined(__linux__) || defined(HAVE_MNTENT_H)
36#ifndef NO_QUOTA_SUPPORT
37#if !defined(HAVE_LIBQUOTA)
39#if !(defined(__svr4__) || defined(HAVE_DQB_BTIMELIMIT))
40#define dqb_btimelimit dqb_btime
43#if defined(__linux__) || defined(HAVE_QUOTA_H)
45#include <asm/unistd.h>
46#include <linux/quota.h>
50#include <sys/fs/ufs_quota.h>
54#if defined(__DragonFly__)
55#include <vfs/ufs/quota.h>
56#elif defined(__NetBSD__)
57#include <ufs/ufs/quota.h>
58#include <ufs/ufs/quota1.h>
59#include <ufs/ufs/quota2.h>
60#elif defined(__APPLE__)
62#define dqb_curblocks dqb_curbytes
64#include <ufs/ufs/quota.h>
68#ifdef HAVE_UFS_QUOTA_H
77#if defined (__linux__)
89#define SUBCMDMASK 0x00ff
91#define QCMD(cmd, type) (((cmd) << SUBCMDSHIFT) | ((type) & SUBCMDMASK))
94typedef u_int64_t qsize_t;
95typedef u_int32_t qid_t;
99 qsize_t dqb_ihardlimit;
100 qsize_t dqb_isoftlimit;
101 qsize_t dqb_curinodes;
102 qsize_t dqb_bhardlimit;
103 qsize_t dqb_bsoftlimit;
104 qsize_t dqb_curblocks;
110#define Q_V1_GETQUOTA 0x0300
111#define Q_V1_SYNC 0x0600
112#define Q_V1_SETQLIM 0x0700
113#define Q_V1_GETSTATS 0x0800
115#define Q_V2_SYNC 0x0600
116#define Q_V2_SETQLIM 0x0700
117#define Q_V2_GETQUOTA 0x0D00
118#define Q_V2_GETSTATS 0x1100
120#define Q_V3_SYNC 0x800001
121#define Q_V3_GETQUOTA 0x800007
122#define Q_V3_SETQUOTA 0x800008
126#define IFACE_VFSOLD 1
128#define IFACE_GENERIC 3
130#define DEV_QBSIZE 1024
133 uint64_t dqb_bhardlimit;
134 uint64_t dqb_bsoftlimit;
135 uint64_t dqb_curspace;
136 uint64_t dqb_ihardlimit;
137 uint64_t dqb_isoftlimit;
138 uint64_t dqb_curinodes;
145 unsigned int dqb_ihardlimit;
146 unsigned int dqb_isoftlimit;
147 unsigned int dqb_curinodes;
148 unsigned int dqb_bhardlimit;
149 unsigned int dqb_bsoftlimit;
150 qsize_t dqb_curspace;
161 uint32_t allocated_dquots;
162 uint32_t free_dquots;
168 uint32_t dqb_bhardlimit;
169 uint32_t dqb_bsoftlimit;
170 uint32_t dqb_curblocks;
171 uint32_t dqb_ihardlimit;
172 uint32_t dqb_isoftlimit;
173 uint32_t dqb_curinodes;
178extern long quotactl(
unsigned int,
const char *,
int, caddr_t);
196extern int setdirowner(
const struct vol *,
const char *,
const uid_t,
199extern int setfilowner(
const struct vol *,
const uid_t,
const gid_t,
202 struct maccess *,
struct dir *,
struct stat *);
205#define accessmode afsmode
static char * version
Definition a2boot.c:60
void accessmode(const AFPObj *obj, const struct vol *, char *, struct maccess *, struct dir *, struct stat *)
Calculate the mode for a directory using a stat() call to estimate permission.
Definition etc/afpd/unix.c:132
int setdirowner(const struct vol *, const char *, const uid_t, const gid_t)
Definition etc/afpd/unix.c:258
int setfilowner(const struct vol *, const uid_t, const gid_t, struct path *)
Definition etc/afpd/unix.c:235
int setdirmode(const struct vol *, const char *, mode_t)
int uquota_getvolspace(const AFPObj *obj, struct vol *, VolSpace *, VolSpace *, const uint32_t)
Definition quota.c:114
int setfilunixmode(const struct vol *, struct path *, const mode_t)
Definition etc/afpd/unix.c:181
int setdirunixmode(const struct vol *, char *, mode_t)
Definition etc/afpd/unix.c:203
struct afp_options default_options
uint64_t VolSpace
Definition include/atalk/volume.h:21
static AFPObj obj
Definition netatalk.c:62
int getnfsquota(struct vol *vol, const int uid, const uint32_t bsize, struct dqblk *dqp)
Definition nfsquota.c:108
Definition include/atalk/directory.h:56
Definition etc/afpd/directory.h:68
Definition include/atalk/directory.h:81
Definition include/atalk/volume.h:30