]> git.proxmox.com Git - mirror_lxc.git/blob - src/lxc/namespace.h
start: don't overwrite file descriptors during namespace preservation
[mirror_lxc.git] / src / lxc / namespace.h
1 /* SPDX-License-Identifier: LGPL-2.1+ */
2
3 #ifndef __LXC_NAMESPACE_H
4 #define __LXC_NAMESPACE_H
5
6 #include "config.h"
7
8 #include <sched.h>
9 #include <unistd.h>
10 #include <sys/syscall.h>
11
12 #include "compiler.h"
13
14 typedef enum lxc_namespace_t {
15 LXC_NS_USER = 0,
16 LXC_NS_MNT = 1,
17 LXC_NS_PID = 2,
18 LXC_NS_UTS = 3,
19 LXC_NS_IPC = 4,
20 LXC_NS_NET = 5,
21 LXC_NS_CGROUP = 6,
22 LXC_NS_TIME = 7,
23 LXC_NS_MAX = 8
24 } lxc_namespace_t;
25
26 __hidden extern const struct ns_info {
27 #define MAX_NS_PROC_NAME 6
28 const char proc_name[MAX_NS_PROC_NAME + 1];
29 const char *proc_path;
30 int clone_flag;
31 const char *flag_name;
32 const char *env_name;
33 } ns_info[LXC_NS_MAX];
34
35 __hidden extern int lxc_namespace_2_cloneflag(const char *namespace);
36 __hidden extern int lxc_namespace_2_ns_idx(const char *namespace);
37 __hidden extern int lxc_namespace_2_std_identifiers(char *namespaces);
38 __hidden extern int lxc_fill_namespace_flags(char *flaglist, int *flags);
39
40 #endif /* __LXC_NAMESPACE_H */