]> git.proxmox.com Git - mirror_lxc.git/blob - src/lxc/namespace.h
Merge pull request #3956 from brauner/2021-08-27.list
[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 <sched.h>
7 #include <unistd.h>
8 #include <sys/syscall.h>
9
10 #include "compiler.h"
11
12 typedef enum lxc_namespace_t {
13 LXC_NS_USER = 0,
14 LXC_NS_MNT = 1,
15 LXC_NS_PID = 2,
16 LXC_NS_UTS = 3,
17 LXC_NS_IPC = 4,
18 LXC_NS_NET = 5,
19 LXC_NS_CGROUP = 6,
20 LXC_NS_TIME = 7,
21 LXC_NS_MAX = 8
22 } lxc_namespace_t;
23
24 __hidden extern const struct ns_info {
25 #define MAX_NS_PROC_NAME 6
26 const char proc_name[MAX_NS_PROC_NAME + 1];
27 const char *proc_path;
28 int clone_flag;
29 const char *flag_name;
30 const char *env_name;
31 } ns_info[LXC_NS_MAX];
32
33 __hidden extern int lxc_namespace_2_cloneflag(const char *namespace);
34 __hidden extern int lxc_namespace_2_ns_idx(const char *namespace);
35 __hidden extern int lxc_namespace_2_std_identifiers(char *namespaces);
36 __hidden extern int lxc_fill_namespace_flags(char *flaglist, int *flags);
37
38 #endif /* __LXC_NAMESPACE_H */