updated to 2.6.5-vs1.9.0pre4
[util-vserver.git] / util-vserver / kernel / namespace.h
1 #ifndef _VX_NAMESPACE_H
2 #define _VX_NAMESPACE_H
3
4 #include <linux/types.h>
5 #include <linux/compiler.h>
6
7         
8 /* virtual host info names */
9
10 #define VCMD_vx_set_vhi_name    VC_CMD(VHOST, 1, 0)
11 #define VCMD_vx_get_vhi_name    VC_CMD(VHOST, 2, 0)
12
13 struct  vcmd_vx_vhi_name_v0 {
14         uint32_t field;
15         char name[65];
16 };
17
18
19 enum vx_vhi_name_field {
20         VHIN_CONTEXT=0,
21         VHIN_SYSNAME,
22         VHIN_NODENAME,
23         VHIN_RELEASE,
24         VHIN_VERSION,
25         VHIN_MACHINE,
26         VHIN_DOMAINNAME,
27 };
28
29
30 #ifdef  __KERNEL__
31 extern int vc_set_vhi_name(uint32_t, void __user *);
32 extern int vc_get_vhi_name(uint32_t, void __user *);
33
34 #endif  /* __KERNEL__ */
35
36 #define VCMD_enter_namespace    VC_CMD(PROCALT, 1, 0)
37 #define VCMD_cleanup_namespace  VC_CMD(PROCALT, 2, 0)
38 #define VCMD_set_namespace      VC_CMD(PROCALT, 3, 0)
39
40 #ifdef  __KERNEL__
41
42 struct vx_info;
43 struct namespace;
44 struct fs_struct;
45
46 extern int vx_set_namespace(struct vx_info *, struct namespace *, struct fs_struct *);
47
48 extern int vc_enter_namespace(uint32_t, void __user *);
49 extern int vc_cleanup_namespace(uint32_t, void __user *);
50 extern int vc_set_namespace(uint32_t, void __user *);
51
52 #endif  /* __KERNEL__ */
53 #endif  /* _VX_NAMESPACE_H */