a994d02ea3f93e38790b42a3749b44b17a922361
[util-vserver.git] / kernel / limit_cmd.h
1 #ifndef _VX_LIMIT_CMD_H
2 #define _VX_LIMIT_CMD_H
3
4 /*  rlimit vserver commands */
5
6 #define VCMD_get_rlimit         VC_CMD(RLIMIT, 1, 0)
7 #define VCMD_set_rlimit         VC_CMD(RLIMIT, 2, 0)
8 #define VCMD_get_rlimit_mask    VC_CMD(RLIMIT, 3, 0)
9
10 struct  vcmd_ctx_rlimit_v0 {
11         uint32_t id;
12         uint64_t minimum;
13         uint64_t softlimit;
14         uint64_t maximum;
15 };
16
17 struct  vcmd_ctx_rlimit_mask_v0 {
18         uint32_t minimum;
19         uint32_t softlimit;
20         uint32_t maximum;
21 };
22
23 #define CRLIM_UNSET             (0ULL)
24 #define CRLIM_INFINITY          (~0ULL)
25 #define CRLIM_KEEP              (~1ULL)
26
27 #ifdef  __KERNEL__
28
29 #include <linux/compiler.h>
30
31 extern int vc_get_rlimit(uint32_t, void __user *);
32 extern int vc_set_rlimit(uint32_t, void __user *);
33 extern int vc_get_rlimit_mask(uint32_t, void __user *);
34
35 #endif  /* __KERNEL__ */
36 #endif  /* _VX_LIMIT_CMD_H */