672ed15f60422e6b6366266f30a438963183a8e6
[util-vserver.git] / kernel / switch.h
1 #ifndef _VX_SWITCH_H
2 #define _VX_SWITCH_H
3
4 #include <linux/types.h>
5
6
7 #define VC_CATEGORY(c)          (((c) >> 24) & 0x3F)
8 #define VC_COMMAND(c)           (((c) >> 16) & 0xFF)
9 #define VC_VERSION(c)           ((c) & 0xFFF)
10
11 #define VC_CMD(c,i,v)           ((((VC_CAT_ ## c) & 0x3F) << 24) \
12                                 | (((i) & 0xFF) << 16) | ((v) & 0xFFF))
13
14 /*
15
16   Syscall Matrix V2.8
17
18          |VERSION|CREATE |MODIFY |MIGRATE|CONTROL|EXPERIM| |SPECIAL|SPECIAL|
19          |STATS  |DESTROY|ALTER  |CHANGE |LIMIT  |TEST   | |       |       |
20          |INFO   |SETUP  |       |MOVE   |       |       | |       |       |
21   -------+-------+-------+-------+-------+-------+-------+ +-------+-------+
22   SYSTEM |VERSION|VSETUP |VHOST  |       |       |       | |DEVICES|       |
23   HOST   |     00|     01|     02|     03|     04|     05| |     06|     07|
24   -------+-------+-------+-------+-------+-------+-------+ +-------+-------+
25   CPU    |       |VPROC  |PROCALT|PROCMIG|PROCTRL|       | |SCHED. |       |
26   PROCESS|     08|     09|     10|     11|     12|     13| |     14|     15|
27   -------+-------+-------+-------+-------+-------+-------+ +-------+-------+
28   MEMORY |       |       |       |       |       |       | |SWAP   |       |
29          |     16|     17|     18|     19|     20|     21| |     22|     23|
30   -------+-------+-------+-------+-------+-------+-------+ +-------+-------+
31   NETWORK|       |VNET   |NETALT |NETMIG |NETCTL |       | |SERIAL |       |
32          |     24|     25|     26|     27|     28|     29| |     30|     31|
33   -------+-------+-------+-------+-------+-------+-------+ +-------+-------+
34   DISK   |       |       |       |       |DLIMIT |       | |INODE  |       |
35   VFS    |     32|     33|     34|     35|     36|     37| |     38|     39|
36   -------+-------+-------+-------+-------+-------+-------+ +-------+-------+
37   OTHER  |VSTAT  |       |       |       |       |       | |VINFO  |       |
38          |     40|     41|     42|     43|     44|     45| |     46|     47|
39   =======+=======+=======+=======+=======+=======+=======+ +=======+=======+
40   SPECIAL|EVENT  |       |       |       |FLAGS  |       | |       |       |
41          |     48|     49|     50|     51|     52|     53| |     54|     55|
42   -------+-------+-------+-------+-------+-------+-------+ +-------+-------+
43   SPECIAL|DEBUG  |       |       |       |RLIMIT |SYSCALL| |       |COMPAT |
44          |     56|     57|     58|     59|     60|TEST 61| |     62|     63|
45   -------+-------+-------+-------+-------+-------+-------+ +-------+-------+
46
47 */
48
49 #define VC_CAT_VERSION          0
50
51 #define VC_CAT_VSETUP           1
52 #define VC_CAT_VHOST            2
53
54 #define VC_CAT_VPROC            9
55 #define VC_CAT_PROCALT          10
56 #define VC_CAT_PROCMIG          11
57 #define VC_CAT_PROCTRL          12
58
59 #define VC_CAT_SCHED            14
60
61 #define VC_CAT_VNET             25
62 #define VC_CAT_NETALT           26
63 #define VC_CAT_NETMIG           27
64 #define VC_CAT_NETCTRL          28
65
66 #define VC_CAT_DLIMIT           36
67 #define VC_CAT_INODE            38
68
69 #define VC_CAT_VSTAT            40
70 #define VC_CAT_VINFO            46
71 #define VC_CAT_EVENT            48
72
73 #define VC_CAT_FLAGS            52
74 #define VC_CAT_DEBUG            56
75 #define VC_CAT_RLIMIT           60
76
77 #define VC_CAT_SYSTEST          61
78 #define VC_CAT_COMPAT           63
79
80 /*  interface version */
81
82 #define VCI_VERSION             0x00020102
83 #define VCI_LEGACY_VERSION      0x000100FF
84
85 /*  query version */
86
87 #define VCMD_get_version        VC_CMD(VERSION, 0, 0)
88 #define VCMD_get_vci            VC_CMD(VERSION, 1, 0)
89
90
91 #define __user
92
93 #endif  /* _VX_SWITCH_H */