fedora core 6 1.2949 + vserver 2.2.0
[linux-2.6.git] / kernel / vserver / vci_config.h
1
2 /*  interface version */
3
4 #define VCI_VERSION             0x00020200
5 #define VCI_LEGACY_VERSION      0x000100FF
6
7
8 enum {
9         VCI_KCBIT_NO_DYNAMIC = 0,
10         VCI_KCBIT_LEGACY = 1,
11         VCI_KCBIT_LEGACYNET = 2,
12         VCI_KCBIT_NGNET = 3,
13
14         VCI_KCBIT_PROC_SECURE = 4,
15         VCI_KCBIT_HARDCPU = 5,
16         VCI_KCBIT_IDLELIMIT = 6,
17         VCI_KCBIT_IDLETIME = 7,
18
19         VCI_KCBIT_COWBL = 8,
20         VCI_KCBIT_FULLCOWBL = 9,
21         VCI_KCBIT_SPACES = 10,
22
23         VCI_KCBIT_LEGACY_VERSION = 15,
24         VCI_KCBIT_DEBUG = 16,
25         VCI_KCBIT_HISTORY = 20,
26         VCI_KCBIT_TAGGED = 24,
27 };
28
29
30 static inline uint32_t vci_kernel_config(void)
31 {
32         return
33         /* various legacy options */
34 #ifndef CONFIG_VSERVER_DYNAMIC_IDS
35         (1 << VCI_KCBIT_NO_DYNAMIC) |
36 #endif
37 #ifdef  CONFIG_VSERVER_LEGACY
38         (1 << VCI_KCBIT_LEGACY) |
39 #endif
40 #ifdef  CONFIG_VSERVER_LEGACYNET
41         (1 << VCI_KCBIT_LEGACYNET) |
42 #endif
43 #ifdef  CONFIG_VSERVER_LEGACY_VERSION
44         (1 << VCI_KCBIT_LEGACY_VERSION) |
45 #endif
46
47         /* configured features */
48 #ifdef  CONFIG_VSERVER_PROC_SECURE
49         (1 << VCI_KCBIT_PROC_SECURE) |
50 #endif
51 #ifdef  CONFIG_VSERVER_HARDCPU
52         (1 << VCI_KCBIT_HARDCPU) |
53 #endif
54 #ifdef  CONFIG_VSERVER_IDLELIMIT
55         (1 << VCI_KCBIT_IDLELIMIT) |
56 #endif
57 #ifdef  CONFIG_VSERVER_IDLETIME
58         (1 << VCI_KCBIT_IDLETIME) |
59 #endif
60 #ifdef  CONFIG_VSERVER_COWBL
61         (1 << VCI_KCBIT_COWBL) |
62         (1 << VCI_KCBIT_FULLCOWBL) |
63 #endif
64         (1 << VCI_KCBIT_SPACES) |
65
66         /* debug options */
67 #ifdef  CONFIG_VSERVER_DEBUG
68         (1 << VCI_KCBIT_DEBUG) |
69 #endif
70 #ifdef  CONFIG_VSERVER_HISTORY
71         (1 << VCI_KCBIT_HISTORY) |
72 #endif
73
74         /* inode context tagging */
75 #if     defined(CONFIG_TAGGING_NONE)
76         (0 << VCI_KCBIT_TAGGED) |
77 #elif   defined(CONFIG_TAGGING_UID16)
78         (1 << VCI_KCBIT_TAGGED) |
79 #elif   defined(CONFIG_TAGGING_GID16)
80         (2 << VCI_KCBIT_TAGGED) |
81 #elif   defined(CONFIG_TAGGING_ID24)
82         (3 << VCI_KCBIT_TAGGED) |
83 #elif   defined(CONFIG_TAGGING_INTERN)
84         (4 << VCI_KCBIT_TAGGED) |
85 #elif   defined(CONFIG_TAGGING_RUNTIME)
86         (5 << VCI_KCBIT_TAGGED) |
87 #else
88         (7 << VCI_KCBIT_TAGGED) |
89 #endif
90         0;
91 }
92