]> git.proxmox.com Git - mirror_lxc.git/blame - src/lxc/namespace.h
github: Update for main branch
[mirror_lxc.git] / src / lxc / namespace.h
CommitLineData
cc73685d
CB
1/* SPDX-License-Identifier: LGPL-2.1+ */
2
f1a4a029
ÇO
3#ifndef __LXC_NAMESPACE_H
4#define __LXC_NAMESPACE_H
0ad19a3f 5
1160ce89
CB
6#include "config.h"
7
5bb3ba8a 8#include <sched.h>
bb196a1a
CB
9#include <unistd.h>
10#include <sys/syscall.h>
5bb3ba8a 11
9e20bf04
CB
12#include "compiler.h"
13
8db6be1b
CB
14typedef 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;
9662e444 25
9e20bf04 26__hidden extern const struct ns_info {
8db6be1b 27#define MAX_NS_PROC_NAME 6
ba559a5b 28 const char proc_name[MAX_NS_PROC_NAME + 1];
25c659d5 29 const char *proc_path;
9662e444
CB
30 int clone_flag;
31 const char *flag_name;
18b3b9c1 32 const char *env_name;
9662e444
CB
33} ns_info[LXC_NS_MAX];
34
9e20bf04
CB
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);
39a5d5fe 39
9e20bf04 40#endif /* __LXC_NAMESPACE_H */