]> git.proxmox.com Git - mirror_lxc.git/blame - src/lxc/namespace.h
storage/dir: cleanup mount code
[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
5bb3ba8a 6#include <sched.h>
bb196a1a
CB
7#include <unistd.h>
8#include <sys/syscall.h>
5bb3ba8a 9
9e20bf04
CB
10#include "compiler.h"
11
8db6be1b
CB
12typedef 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;
9662e444 23
9e20bf04 24__hidden extern const struct ns_info {
8db6be1b 25#define MAX_NS_PROC_NAME 6
ba559a5b 26 const char proc_name[MAX_NS_PROC_NAME + 1];
25c659d5 27 const char *proc_path;
9662e444
CB
28 int clone_flag;
29 const char *flag_name;
18b3b9c1 30 const char *env_name;
9662e444
CB
31} ns_info[LXC_NS_MAX];
32
9e20bf04
CB
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);
39a5d5fe 37
9e20bf04 38#endif /* __LXC_NAMESPACE_H */