added a TEMP_FAILURE_RETRY around a read(2)
[util-vserver.git] / util-vserver / 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 struct  vcmd_ctx_dlimit_base_v0_x32 {
31         uint32_t __user name_ptr;
32         uint32_t flags;
33 };
34
35 struct  vcmd_ctx_dlimit_v0_x32 {
36         uint32_t __user name_ptr;
37         uint32_t space_used;                    /* used space in kbytes */
38         uint32_t space_total;                   /* maximum space in kbytes */
39         uint32_t inodes_used;                   /* used inodes */
40         uint32_t inodes_total;                  /* maximum inodes */
41         uint32_t reserved;                      /* reserved for root in % */
42         uint32_t flags;
43 };
44
45 #include <linux/compiler.h>
46
47 extern int vc_add_dlimit(uint32_t, void __user *);
48 extern int vc_rem_dlimit(uint32_t, void __user *);
49
50 extern int vc_set_dlimit(uint32_t, void __user *);
51 extern int vc_get_dlimit(uint32_t, void __user *);
52
53 #endif  /* __KERNEL__ */
54 #endif  /* _VX_DLIMIT_CMD_H */