b91a9462ade1617c4e9878b783d20bcc6a575289
[util-vserver.git] / kernel / dlimit_cmd.h
1 #ifndef _VX_DLIMIT_CMD_H
2 #define _VX_DLIMIT_CMD_H
3
4 /*  dlimit vserver commands */
5
6 #define VCMD_add_dlimit         VC_CMD(DLIMIT, 1, 0)
7 #define VCMD_rem_dlimit         VC_CMD(DLIMIT, 2, 0)
8
9 #define VCMD_set_dlimit         VC_CMD(DLIMIT, 5, 0)
10 #define VCMD_get_dlimit         VC_CMD(DLIMIT, 6, 0)
11
12 struct  vcmd_ctx_dlimit_base_v0 {
13         const char __user *name;
14         uint32_t flags;
15 };
16
17 struct  vcmd_ctx_dlimit_v0 {
18         const char __user *name;
19         uint32_t space_used;                    /* used space in kbytes */
20         uint32_t space_total;                   /* maximum space in kbytes */
21         uint32_t inodes_used;                   /* used inodes */
22         uint32_t inodes_total;                  /* maximum inodes */
23         uint32_t reserved;                      /* reserved for root in % */
24         uint32_t flags;
25 };
26
27
28 #ifdef  __KERNEL__
29
30 #ifdef  CONFIG_COMPAT
31
32 struct  vcmd_ctx_dlimit_base_v0_x32 {
33         compat_uptr_t name_ptr;
34         uint32_t flags;
35 };
36
37 struct  vcmd_ctx_dlimit_v0_x32 {
38         compat_uptr_t name_ptr;
39         uint32_t space_used;                    /* used space in kbytes */
40         uint32_t space_total;                   /* maximum space in kbytes */
41         uint32_t inodes_used;                   /* used inodes */
42         uint32_t inodes_total;                  /* maximum inodes */
43         uint32_t reserved;                      /* reserved for root in % */
44         uint32_t flags;
45 };
46
47 #endif  /* CONFIG_COMPAT */
48
49 #include <linux/compiler.h>
50
51 extern int vc_add_dlimit(uint32_t, void __user *);
52 extern int vc_rem_dlimit(uint32_t, void __user *);
53
54 extern int vc_set_dlimit(uint32_t, void __user *);
55 extern int vc_get_dlimit(uint32_t, void __user *);
56
57 #ifdef  CONFIG_COMPAT
58
59 extern int vc_add_dlimit_x32(uint32_t, void __user *);
60 extern int vc_rem_dlimit_x32(uint32_t, void __user *);
61
62 extern int vc_set_dlimit_x32(uint32_t, void __user *);
63 extern int vc_get_dlimit_x32(uint32_t, void __user *);
64
65 #endif  /* CONFIG_COMPAT */
66
67 #endif  /* __KERNEL__ */
68 #endif  /* _VX_DLIMIT_CMD_H */