summaryrefslogtreecommitdiffstats
path: root/src/plugins/quota/quota-fs.h
blob: 8508cdf3ff663662b6991355ea85865a7b109e84 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#ifndef QUOTA_FS_H
#define QUOTA_FS_H

#if defined (HAVE_STRUCT_DQBLK_CURBLOCKS) || \
	defined (HAVE_STRUCT_DQBLK_CURSPACE)
#  define HAVE_FS_QUOTA
#endif

#ifdef HAVE_QUOTA_OPEN
/* absolute path to avoid confusion with ./quota.h */
#  include "/usr/include/quota.h" /* NetBSD with libquota */
#endif

#ifdef HAVE_SYS_QUOTA_H
#  include <sys/quota.h> /* Linux, HP-UX */
#elif defined(HAVE_SYS_FS_UFS_QUOTA_H)
#  include <sys/fs/ufs_quota.h> /* Solaris */
#elif defined(HAVE_UFS_UFS_QUOTA_H)
#  include <ufs/ufs/quota.h> /* BSDs */
#elif defined(HAVE_JFS_QUOTA_H)
#  include <jfs/quota.h> /* AIX */
#  ifdef HAVE_SYS_FS_QUOTA_COMMON_H
#    include <sys/fs/quota_common.h> /* quotactl() */
#  endif
#else
#  undef HAVE_FS_QUOTA
#endif

#ifdef HAVE_QUOTACTL
#  ifdef HAVE_SYS_QUOTA_H
#    ifndef _HPUX_SOURCE
#      define FS_QUOTA_LINUX
#    else
#      define FS_QUOTA_HPUX
#    endif
#  else
#    define FS_QUOTA_BSDAIX
#  endif
#elif defined (HAVE_Q_QUOTACTL)
#  define FS_QUOTA_SOLARIS
#else
#  undef HAVE_FS_QUOTA
#endif

#ifdef HAVE_QUOTA_OPEN /* NetBSD with libquota */
#  define FS_QUOTA_NETBSD
#  define HAVE_FS_QUOTA
#  undef FS_QUOTA_LINUX /* obtained because we also have <sys/quota.h> */
#endif

#endif