5733aa642bd84481631ea83b210be59626dedd33
[util-vserver.git] / util-vserver / kernel / inode_cmd.h
1 #ifndef _VX_INODE_CMD_H
2 #define _VX_INODE_CMD_H
3
4 /*  inode vserver commands */
5
6 #define VCMD_get_iattr_v0       VC_CMD(INODE, 1, 0)
7 #define VCMD_set_iattr_v0       VC_CMD(INODE, 2, 0)
8
9 #define VCMD_get_iattr          VC_CMD(INODE, 1, 1)
10 #define VCMD_set_iattr          VC_CMD(INODE, 2, 1)
11
12 struct  vcmd_ctx_iattr_v0 {
13         /* device handle in id */
14         uint64_t ino;
15         uint32_t xid;
16         uint32_t flags;
17         uint32_t mask;
18 };
19
20 struct  vcmd_ctx_iattr_v1 {
21         const char __user *name;
22         uint32_t xid;
23         uint32_t flags;
24         uint32_t mask;
25 };
26
27
28 #ifdef  __KERNEL__
29
30 struct  vcmd_ctx_iattr_v1_x32 {
31         uint32_t __user name;
32         uint32_t xid;
33         uint32_t flags;
34         uint32_t mask;
35 };
36
37 #include <linux/compiler.h>
38
39 extern int vc_get_iattr_v0(uint32_t, void __user *);
40 extern int vc_set_iattr_v0(uint32_t, void __user *);
41
42 extern int vc_get_iattr(uint32_t, void __user *);
43 extern int vc_set_iattr(uint32_t, void __user *);
44
45 #endif  /* __KERNEL__ */
46 #endif  /* _VX_INODE_CMD_H */