link some files against libinternal.a
[util-vserver.git] / util-vserver / kernel / legacy.h
1 #ifndef _VX_LEGACY_H
2 #define _VX_LEGACY_H
3
4 #include "switch.h"
5 #include "network.h"
6
7 /*  compatibiliy vserver commands */
8
9 #define VCMD_new_s_context      VC_CMD(COMPAT, 1, 1)
10 #define VCMD_set_ipv4root       VC_CMD(COMPAT, 2, 3)
11
12 /*  compatibiliy vserver arguments */
13
14 struct  vcmd_new_s_context_v1 {
15         uint32_t remove_cap;
16         uint32_t flags;
17 };
18
19 struct  vcmd_set_ipv4root_v3 {
20         /* number of pairs in id */
21         uint32_t broadcast;
22         struct {
23                 uint32_t ip;
24                 uint32_t mask;
25         } ip_mask_pair[NB_IPV4ROOT];
26 };
27
28
29 #define VX_INFO_LOCK            1       /* Can't request a new vx_id */
30 #define VX_INFO_NPROC           4       /* Limit number of processes in a context */
31 #define VX_INFO_PRIVATE         8       /* Noone can join this security context */
32 #define VX_INFO_INIT            16      /* This process wants to become the */
33                                         /* logical process 1 of the security */
34                                         /* context */
35 #define VX_INFO_HIDEINFO        32      /* Hide some information in /proc */
36 #define VX_INFO_ULIMIT          64      /* Use ulimit of the current process */
37                                         /* to become the global limits */
38                                         /* of the context */
39 #define VX_INFO_NAMESPACE       128     /* save private namespace */
40
41         
42 #define NB_S_CONTEXT    16
43
44 #define NB_IPV4ROOT     16
45
46
47 #ifdef  __KERNEL__
48 extern int vc_new_s_context(uint32_t, void __user *);
49 extern int vc_set_ipv4root(uint32_t, void __user *);
50
51 #endif  /* __KERNEL__ */
52 #endif  /* _VX_LEGACY_H */