f631095cd9d087b7d465a77132053e6cdcf0430c
[util-vserver.git] / kernel / context_cmd.h
1 #ifndef _VX_CONTEXT_CMD_H
2 #define _VX_CONTEXT_CMD_H
3
4
5 /* vinfo commands */
6
7 #define VCMD_task_xid           VC_CMD(VINFO, 1, 0)
8
9 #ifdef  __KERNEL__
10 extern int vc_task_xid(uint32_t, void __user *);
11
12 #endif  /* __KERNEL__ */
13
14 #define VCMD_vx_info            VC_CMD(VINFO, 5, 0)
15
16 struct  vcmd_vx_info_v0 {
17         uint32_t xid;
18         uint32_t initpid;
19         /* more to come */
20 };
21
22 #ifdef  __KERNEL__
23 extern int vc_vx_info(uint32_t, void __user *);
24
25 #endif  /* __KERNEL__ */
26
27
28 /* context commands */
29
30 #define VCMD_ctx_create_v0      VC_CMD(VPROC, 1, 0)
31 #define VCMD_ctx_create         VC_CMD(VPROC, 1, 1)
32
33 struct  vcmd_ctx_create {
34         uint64_t flagword;
35 };
36
37 #define VCMD_ctx_migrate        VC_CMD(PROCMIG, 1, 0)
38
39 #ifdef  __KERNEL__
40 extern int vc_ctx_create(uint32_t, void __user *);
41 extern int vc_ctx_migrate(uint32_t, void __user *);
42
43 #endif  /* __KERNEL__ */
44
45
46 /* flag commands */
47
48 #define VCMD_get_cflags         VC_CMD(FLAGS, 1, 0)
49 #define VCMD_set_cflags         VC_CMD(FLAGS, 2, 0)
50
51 struct  vcmd_ctx_flags_v0 {
52         uint64_t flagword;
53         uint64_t mask;
54 };
55
56 #ifdef  __KERNEL__
57 extern int vc_get_cflags(uint32_t, void __user *);
58 extern int vc_set_cflags(uint32_t, void __user *);
59
60 #endif  /* __KERNEL__ */
61
62
63 /* context caps commands */
64
65 #define VCMD_get_ccaps          VC_CMD(FLAGS, 3, 0)
66 #define VCMD_set_ccaps          VC_CMD(FLAGS, 4, 0)
67
68 struct  vcmd_ctx_caps_v0 {
69         uint64_t bcaps;
70         uint64_t ccaps;
71         uint64_t cmask;
72 };
73
74 #ifdef  __KERNEL__
75 extern int vc_get_ccaps(uint32_t, void __user *);
76 extern int vc_set_ccaps(uint32_t, void __user *);
77
78 #endif  /* __KERNEL__ */
79 #endif  /* _VX_CONTEXT_CMD_H */