Fedora kernel-2.6.17-1.2142_FC4 patched with stable patch-2.6.17.4-vs2.0.2-rc26.diff
[linux-2.6.git] / include / linux / vserver / limit_cmd.h
1 #ifndef _VX_LIMIT_CMD_H
2 #define _VX_LIMIT_CMD_H
3
4
5 /*  rlimit vserver commands */
6
7 #define VCMD_get_rlimit         VC_CMD(RLIMIT, 1, 0)
8 #define VCMD_set_rlimit         VC_CMD(RLIMIT, 2, 0)
9 #define VCMD_get_rlimit_mask    VC_CMD(RLIMIT, 3, 0)
10
11 struct  vcmd_ctx_rlimit_v0 {
12         uint32_t id;
13         uint64_t minimum;
14         uint64_t softlimit;
15         uint64_t maximum;
16 };
17
18 struct  vcmd_ctx_rlimit_mask_v0 {
19         uint32_t minimum;
20         uint32_t softlimit;
21         uint32_t maximum;
22 };
23
24 #define CRLIM_UNSET             (0ULL)
25 #define CRLIM_INFINITY          (~0ULL)
26 #define CRLIM_KEEP              (~1ULL)
27
28 #ifdef  __KERNEL__
29
30 #ifdef  CONFIG_IA32_EMULATION
31
32 struct  vcmd_ctx_rlimit_v0_x32 {
33         uint32_t id;
34         uint64_t minimum;
35         uint64_t softlimit;
36         uint64_t maximum;
37 } __attribute__ ((aligned (4)));
38
39 #endif  /* CONFIG_IA32_EMULATION */
40
41 #include <linux/compiler.h>
42
43 extern int vc_get_rlimit(uint32_t, void __user *);
44 extern int vc_set_rlimit(uint32_t, void __user *);
45 extern int vc_get_rlimit_mask(uint32_t, void __user *);
46
47 #ifdef  CONFIG_IA32_EMULATION
48
49 extern int vc_get_rlimit_x32(uint32_t, void __user *);
50 extern int vc_set_rlimit_x32(uint32_t, void __user *);
51
52 #endif  /* CONFIG_IA32_EMULATION */
53
54 #endif  /* __KERNEL__ */
55 #endif  /* _VX_LIMIT_CMD_H */