]>
Commit | Line | Data |
---|---|---|
53e1b683 | 1 | /* SPDX-License-Identifier: LGPL-2.1+ */ |
add00535 LP |
2 | #pragma once |
3 | ||
89382935 | 4 | #include "missing_sched.h" |
add00535 LP |
5 | |
6 | /* The combination of all namespace flags defined by the kernel. The right type for this isn't clear. setns() and | |
7 | * unshare() expect these flags to be passed as (signed) "int", while clone() wants them as "unsigned long". The latter | |
8 | * is definitely more appropriate for a flags parameter, and also the larger type of the two, hence let's stick to that | |
9 | * here. */ | |
10 | #define NAMESPACE_FLAGS_ALL \ | |
11 | ((unsigned long) (CLONE_NEWCGROUP| \ | |
12 | CLONE_NEWIPC| \ | |
13 | CLONE_NEWNET| \ | |
14 | CLONE_NEWNS| \ | |
15 | CLONE_NEWPID| \ | |
16 | CLONE_NEWUSER| \ | |
17 | CLONE_NEWUTS)) | |
18 | ||
aa9d574d YW |
19 | #define NAMESPACE_FLAGS_INITIAL ((unsigned long) -1) |
20 | ||
86c2a9f1 YW |
21 | int namespace_flags_from_string(const char *name, unsigned long *ret); |
22 | int namespace_flags_to_string(unsigned long flags, char **ret); | |
add00535 LP |
23 | |
24 | struct namespace_flag_map { | |
25 | unsigned long flag; | |
26 | const char *name; | |
27 | }; | |
28 | ||
29 | extern const struct namespace_flag_map namespace_flag_map[]; |