d9802fe11b8904395e551cfd9684730a0c19e957
[util-vserver.git] / kernel / network_cmd.h
1 #ifndef _VX_NETWORK_CMD_H
2 #define _VX_NETWORK_CMD_H
3
4
5 /* vinfo commands */
6
7 #define VCMD_task_nid           VC_CMD(VINFO, 2, 0)
8
9 #ifdef  __KERNEL__
10 extern int vc_task_nid(uint32_t, void __user *);
11
12 #endif  /* __KERNEL__ */
13
14 #define VCMD_nx_info            VC_CMD(VINFO, 6, 0)
15
16 struct  vcmd_nx_info_v0 {
17         uint32_t nid;
18         /* more to come */
19 };
20
21 #ifdef  __KERNEL__
22 extern int vc_nx_info(uint32_t, void __user *);
23
24 #endif  /* __KERNEL__ */
25
26 #define VCMD_net_create_v0      VC_CMD(VNET, 1, 0)
27 #define VCMD_net_create         VC_CMD(VNET, 1, 1)
28
29 struct  vcmd_net_create {
30         uint64_t flagword;
31 };
32
33 #define VCMD_net_migrate        VC_CMD(NETMIG, 1, 0)
34
35 #define VCMD_net_add            VC_CMD(NETALT, 1, 0)
36 #define VCMD_net_remove         VC_CMD(NETALT, 2, 0)
37
38 struct  vcmd_net_addr_v0 {
39         uint16_t type;
40         uint16_t count;
41         uint32_t ip[4];
42         uint32_t mask[4];
43         /* more to come */
44 };
45
46
47 #ifdef  __KERNEL__
48 extern int vc_net_create(uint32_t, void __user *);
49 extern int vc_net_migrate(uint32_t, void __user *);
50
51 extern int vc_net_add(uint32_t, void __user *);
52 extern int vc_net_remove(uint32_t, void __user *);
53
54 #endif  /* __KERNEL__ */
55
56
57 /* flag commands */
58
59 #define VCMD_get_nflags         VC_CMD(FLAGS, 5, 0)
60 #define VCMD_set_nflags         VC_CMD(FLAGS, 6, 0)
61
62 struct  vcmd_net_flags_v0 {
63         uint64_t flagword;
64         uint64_t mask;
65 };
66
67 #ifdef  __KERNEL__
68 extern int vc_get_nflags(uint32_t, void __user *);
69 extern int vc_set_nflags(uint32_t, void __user *);
70
71 #endif  /* __KERNEL__ */
72
73
74 /* network caps commands */
75
76 #define VCMD_get_ncaps          VC_CMD(FLAGS, 7, 0)
77 #define VCMD_set_ncaps          VC_CMD(FLAGS, 8, 0)
78
79 struct  vcmd_net_caps_v0 {
80         uint64_t ncaps;
81         uint64_t cmask;
82 };
83
84 #ifdef  __KERNEL__
85 extern int vc_get_ncaps(uint32_t, void __user *);
86 extern int vc_set_ncaps(uint32_t, void __user *);
87
88 #endif  /* __KERNEL__ */
89 #endif  /* _VX_CONTEXT_CMD_H */