42 lines
763 B
C
42 lines
763 B
C
#ifndef CONTAINER_H
|
|
#define CONTAINER_H
|
|
|
|
#define _GNU_SOURCE
|
|
#include <errno.h>
|
|
#include <fcntl.h>
|
|
#include <grp.h>
|
|
#include <pwd.h>
|
|
#include <sched.h>
|
|
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
#include <string.h>
|
|
#include <time.h>
|
|
#include <unistd.h>
|
|
#include <sys/mount.h>
|
|
#include <sys/prctl.h>
|
|
#include <sys/resource.h>
|
|
#include <sys/socket.h>
|
|
#include <sys/stat.h>
|
|
#include <sys/syscall.h>
|
|
#include <sys/sysmacros.h>
|
|
#include <sys/utsname.h>
|
|
#include <sys/wait.h>
|
|
#include <linux/capability.h>
|
|
#include <linux/limits.h>
|
|
|
|
#define STACK_SIZE (1024 * 1024)
|
|
#define USERNS_OFFSET 10000
|
|
#define USERNS_COUNT 2000
|
|
#define FD_COUNT 64
|
|
|
|
struct child_config {
|
|
int argc;
|
|
uid_t uid;
|
|
int fd;
|
|
char *hostname;
|
|
char **argv;
|
|
char *mount_dir;
|
|
};
|
|
|
|
#endif
|