diff options
Diffstat (limited to 'src/shared')
-rw-r--r-- | src/shared/missing.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/shared/missing.h b/src/shared/missing.h index 2661285a22..3142306e35 100644 --- a/src/shared/missing.h +++ b/src/shared/missing.h @@ -28,6 +28,7 @@ #include <fcntl.h> #include <stdlib.h> #include <unistd.h> +#include <errno.h> #include <linux/oom.h> #include <linux/input.h> #include <linux/if_link.h> @@ -353,3 +354,19 @@ static inline int name_to_handle_at(int fd, const char *name, struct file_handle #endif #endif + +#ifndef __NR_setns +# if defined(__x86_64__) +# define __NR_setns 308 +# elif defined(__i386__) +# define __NR_setns 346 +# else +# error "__NR_setns is not defined" +# endif +#endif + +#if !HAVE_DECL_SETNS +static inline int setns(int fd, int nstype) { + return syscall(__NR_setns, fd, nstype); +} +#endif |