backing out to version 208 of util-vserver
[util-vserver.git] / kernel / dlimit_cmd.h
index ed39987..b91a946 100644 (file)
@@ -1,7 +1,6 @@
 #ifndef _VX_DLIMIT_CMD_H
 #define _VX_DLIMIT_CMD_H
 
-
 /*  dlimit vserver commands */
 
 #define VCMD_add_dlimit                VC_CMD(DLIMIT, 1, 0)
 #define VCMD_get_dlimit                VC_CMD(DLIMIT, 6, 0)
 
 struct vcmd_ctx_dlimit_base_v0 {
-       const char *name;
+       const char __user *name;
        uint32_t flags;
 };
 
 struct vcmd_ctx_dlimit_v0 {
-       const char *name;
+       const char __user *name;
+       uint32_t space_used;                    /* used space in kbytes */
+       uint32_t space_total;                   /* maximum space in kbytes */
+       uint32_t inodes_used;                   /* used inodes */
+       uint32_t inodes_total;                  /* maximum inodes */
+       uint32_t reserved;                      /* reserved for root in % */
+       uint32_t flags;
+};
+
+
+#ifdef __KERNEL__
+
+#ifdef CONFIG_COMPAT
+
+struct vcmd_ctx_dlimit_base_v0_x32 {
+       compat_uptr_t name_ptr;
+       uint32_t flags;
+};
+
+struct vcmd_ctx_dlimit_v0_x32 {
+       compat_uptr_t name_ptr;
        uint32_t space_used;                    /* used space in kbytes */
        uint32_t space_total;                   /* maximum space in kbytes */
        uint32_t inodes_used;                   /* used inodes */
@@ -25,8 +44,25 @@ struct       vcmd_ctx_dlimit_v0 {
        uint32_t flags;
 };
 
-#define CDLIM_UNSET            ((uint32_t)0UL)
-#define CDLIM_INFINITY         ((uint32_t)~0UL)
-#define CDLIM_KEEP             ((uint32_t)~1UL)
+#endif /* CONFIG_COMPAT */
+
+#include <linux/compiler.h>
+
+extern int vc_add_dlimit(uint32_t, void __user *);
+extern int vc_rem_dlimit(uint32_t, void __user *);
+
+extern int vc_set_dlimit(uint32_t, void __user *);
+extern int vc_get_dlimit(uint32_t, void __user *);
+
+#ifdef CONFIG_COMPAT
+
+extern int vc_add_dlimit_x32(uint32_t, void __user *);
+extern int vc_rem_dlimit_x32(uint32_t, void __user *);
+
+extern int vc_set_dlimit_x32(uint32_t, void __user *);
+extern int vc_get_dlimit_x32(uint32_t, void __user *);
+
+#endif /* CONFIG_COMPAT */
 
+#endif /* __KERNEL__ */
 #endif /* _VX_DLIMIT_CMD_H */