root/source3/tests/sysquotas.c

/* [<][>][^][v][top][bottom][index][help] */

DEFINITIONS

This source file includes following definitions.
  1. autoconf_quota
  2. autoconf_quota
  3. autoconf_quota
  4. main

   1 /* this test should find out what quota api is available on the os */
   2 
   3  int autoconf_quota(void);
   4 
   5 #if defined(HAVE_QUOTACTL_4A)
   6 /* long quotactl(int cmd, char *special, qid_t id, caddr_t addr) */
   7 
   8 #ifdef HAVE_SYS_TYPES_H
   9 #include <sys/types.h>
  10 #endif
  11 
  12 #ifdef HAVE_ASM_TYPES_H
  13 #include <asm/types.h>
  14 #endif
  15 
  16 #if defined(HAVE_LINUX_QUOTA_H)
  17 # include <linux/quota.h>
  18 # if defined(HAVE_STRUCT_IF_DQBLK)
  19 #  define SYS_DQBLK if_dqblk
  20 # elif defined(HAVE_STRUCT_MEM_DQBLK)
  21 #  define SYS_DQBLK mem_dqblk
  22 # endif
  23 #elif defined(HAVE_SYS_QUOTA_H)
  24 # include <sys/quota.h>
  25 #endif
  26 
  27 #ifndef SYS_DQBLK
  28 #define SYS_DQBLK dqblk
  29 #endif
  30 
  31  int autoconf_quota(void);
  32 
  33  int autoconf_quota(void)
     /* [<][>][^][v][top][bottom][index][help] */
  34 {
  35         int ret = -1;
  36         struct SYS_DQBLK D;
  37 
  38         ret = quotactl(Q_GETQUOTA,"/dev/hda1",0,(void *)&D);
  39         
  40         return ret;
  41 }
  42 
  43 #elif defined(HAVE_QUOTACTL_4B)
  44 /* int quotactl(const char *path, int cmd, int id, char *addr); */
  45 
  46 #ifdef HAVE_SYS_QUOTA_H
  47 #include <sys/quota.h>
  48 #else /* *BSD */
  49 #include <sys/types.h>
  50 #include <ufs/ufs/quota.h>
  51 #include <machine/param.h>
  52 #endif
  53 
  54  int autoconf_quota(void)
     /* [<][>][^][v][top][bottom][index][help] */
  55 {
  56         int ret = -1;
  57         struct dqblk D;
  58 
  59         ret = quotactl("/",Q_GETQUOTA,0,(char *) &D);
  60 
  61         return ret;
  62 }
  63 
  64 #elif defined(HAVE_QUOTACTL_3)
  65 /* int quotactl (char *spec, int request, char *arg); */
  66 
  67 #ifdef HAVE_SYS_TYPES_H
  68 #include <sys/types.h>
  69 #endif
  70 #ifdef HAVE_SYS_QUOTA_H
  71 #include <sys/quota.h>
  72 #endif
  73 
  74  int autoconf_quota(void)
     /* [<][>][^][v][top][bottom][index][help] */
  75 {
  76         int ret = -1;
  77         struct q_request request;
  78 
  79         ret = quotactl("/", Q_GETQUOTA, &request);
  80 
  81         return ret;
  82 }
  83 
  84 #elif defined(HAVE_QUOTACTL_2)
  85 
  86 #error HAVE_QUOTACTL_2 not implemented
  87 
  88 #else
  89 
  90 #error Unknow QUOTACTL prototype
  91 
  92 #endif
  93 
  94  int main(void)
     /* [<][>][^][v][top][bottom][index][help] */
  95 {       
  96         autoconf_quota();
  97         return 0;
  98 }

/* [<][>][^][v][top][bottom][index][help] */