The new method doesn't need to be a spectator, and /proc/virtual isn't available...
[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
10 #define VCMD_vx_info            VC_CMD(VINFO, 5, 0)
11
12 struct  vcmd_vx_info_v0 {
13         uint32_t xid;
14         uint32_t initpid;
15         /* more to come */
16 };
17
18
19 #define VCMD_ctx_stat           VC_CMD(VSTAT, 0, 0)
20
21 struct  vcmd_ctx_stat_v0 {
22         uint32_t usecnt;
23         uint32_t tasks;
24         /* more to come */
25 };
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_v0     VC_CMD(PROCMIG, 1, 0)
38 #define VCMD_ctx_migrate        VC_CMD(PROCMIG, 1, 1)
39
40 struct  vcmd_ctx_migrate {
41         uint64_t flagword;
42 };
43
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
57
58 /* context caps commands */
59
60 #define VCMD_get_ccaps_v0       VC_CMD(FLAGS, 3, 0)
61 #define VCMD_set_ccaps_v0       VC_CMD(FLAGS, 4, 0)
62
63 struct  vcmd_ctx_caps_v0 {
64         uint64_t bcaps;
65         uint64_t ccaps;
66         uint64_t cmask;
67 };
68
69 #define VCMD_get_ccaps          VC_CMD(FLAGS, 3, 1)
70 #define VCMD_set_ccaps          VC_CMD(FLAGS, 4, 1)
71
72 struct  vcmd_ctx_caps_v1 {
73         uint64_t ccaps;
74         uint64_t cmask;
75 };
76
77
78
79 /* bcaps commands */
80
81 #define VCMD_get_bcaps          VC_CMD(FLAGS, 9, 0)
82 #define VCMD_set_bcaps          VC_CMD(FLAGS,10, 0)
83
84 struct  vcmd_bcaps {
85         uint64_t bcaps;
86         uint64_t bmask;
87 };
88
89 #endif  /* _VX_CONTEXT_CMD_H */