Merge to Fedora kernel-2.6.18-1.2224_FC5 patched with stable patch-2.6.18.1-vs2.0...
[linux-2.6.git] / include / linux / vserver / inode_cmd.h
1 #ifndef _VX_INODE_CMD_H
2 #define _VX_INODE_CMD_H
3
4
5 /*  inode vserver commands */
6
7 #define VCMD_get_iattr_v0       VC_CMD(INODE, 1, 0)
8 #define VCMD_set_iattr_v0       VC_CMD(INODE, 2, 0)
9
10 #define VCMD_get_iattr          VC_CMD(INODE, 1, 1)
11 #define VCMD_set_iattr          VC_CMD(INODE, 2, 1)
12
13 struct  vcmd_ctx_iattr_v0 {
14         /* device handle in id */
15         uint64_t ino;
16         uint32_t xid;
17         uint32_t flags;
18         uint32_t mask;
19 };
20
21 struct  vcmd_ctx_iattr_v1 {
22         const char __user *name;
23         uint32_t xid;
24         uint32_t flags;
25         uint32_t mask;
26 };
27
28
29 #ifdef  __KERNEL__
30
31
32 #ifdef  CONFIG_COMPAT
33
34 #include <asm/compat.h>
35
36 struct  vcmd_ctx_iattr_v1_x32 {
37         compat_uptr_t name_ptr;
38         uint32_t xid;
39         uint32_t flags;
40         uint32_t mask;
41 };
42
43 #endif  /* CONFIG_COMPAT */
44
45 #include <linux/compiler.h>
46
47 extern int vc_get_iattr_v0(uint32_t, void __user *);
48 extern int vc_set_iattr_v0(uint32_t, void __user *);
49
50 extern int vc_get_iattr(uint32_t, void __user *);
51 extern int vc_set_iattr(uint32_t, void __user *);
52
53 #ifdef  CONFIG_COMPAT
54
55 extern int vc_get_iattr_x32(uint32_t, void __user *);
56 extern int vc_set_iattr_x32(uint32_t, void __user *);
57
58 #endif  /* CONFIG_COMPAT */
59
60 #endif  /* __KERNEL__ */
61 #endif  /* _VX_INODE_CMD_H */