3#ifndef __LXC_ATTACH_OPTIONS_H
4#define __LXC_ATTACH_OPTIONS_H
15typedef enum lxc_attach_env_policy_t {
16 LXC_ATTACH_KEEP_ENV = 0,
17#define LXC_ATTACH_KEEP_ENV LXC_ATTACH_KEEP_ENV
19 LXC_ATTACH_CLEAR_ENV = 1,
20#define LXC_ATTACH_CLEAR_ENV LXC_ATTACH_CLEAR_ENV
21} lxc_attach_env_policy_t;
25 LXC_ATTACH_MOVE_TO_CGROUP = 0x00000001,
26#define LXC_ATTACH_MOVE_TO_CGROUP LXC_ATTACH_MOVE_TO_CGROUP
28 LXC_ATTACH_DROP_CAPABILITIES = 0x00000002,
29#define LXC_ATTACH_DROP_CAPABILITIES LXC_ATTACH_DROP_CAPABILITIES
31 LXC_ATTACH_SET_PERSONALITY = 0x00000004,
32#define LXC_ATTACH_SET_PERSONALITY LXC_ATTACH_SET_PERSONALITY
34 LXC_ATTACH_LSM_EXEC = 0x00000008,
35#define LXC_ATTACH_LSM_EXEC LXC_ATTACH_LSM_EXEC
39 LXC_ATTACH_REMOUNT_PROC_SYS = 0x00010000,
40#define LXC_ATTACH_REMOUNT_PROC_SYS LXC_ATTACH_REMOUNT_PROC_SYS
42 LXC_ATTACH_LSM_NOW = 0x00020000,
43#define LXC_ATTACH_LSM_NOW LXC_ATTACH_LSM_NOW
46 LXC_ATTACH_NO_NEW_PRIVS = 0x00040000,
47#define LXC_ATTACH_NO_NEW_PRIVS LXC_ATTACH_NO_NEW_PRIVS
49 LXC_ATTACH_TERMINAL = 0x00080000,
50#define LXC_ATTACH_TERMINAL LXC_ATTACH_TERMINAL
52 LXC_ATTACH_LSM_LABEL = 0x00100000,
53#define LXC_ATTACH_LSM_LABEL LXC_ATTACH_LSM_LABEL
55 LXC_ATTACH_SETGROUPS = 0x00200000,
56#define LXC_ATTACH_SETGROUPS LXC_ATTACH_SETGROUPS
63 LXC_ATTACH_DEFAULT = 0x0000FFFF
64#define LXC_ATTACH_DEFAULT LXC_ATTACH_DEFAULT
68#define LXC_ATTACH_LSM (LXC_ATTACH_LSM_EXEC | LXC_ATTACH_LSM_NOW | LXC_ATTACH_LSM_LABEL)
78typedef int (*lxc_attach_exec_t)(
void* payload);
85#define LXC_ATTACH_DETECT_PERSONALITY ~0L
161#define LXC_ATTACH_OPTIONS_DEFAULT \
163 .attach_flags = LXC_ATTACH_DEFAULT, \
165 .personality = LXC_ATTACH_DETECT_PERSONALITY, \
166 .initial_cwd = NULL, \
169 .env_policy = LXC_ATTACH_KEEP_ENV, \
170 .extra_env_vars = NULL, \
171 .extra_keep_env = NULL, \
195extern int lxc_attach_run_command(
void* payload);
204extern int lxc_attach_run_shell(
void* payload);
Definition: attach_options.h:183
char ** argv
Definition: attach_options.h:185
char * program
Definition: attach_options.h:184
Definition: attach_options.h:90
int attach_flags
Definition: attach_options.h:92
long personality
Definition: attach_options.h:101
char ** extra_keep_env
Definition: attach_options.h:132
int stdout_fd
Definition: attach_options.h:143
int stdin_fd
Definition: attach_options.h:142
int stderr_fd
Definition: attach_options.h:144
char * lsm_label
Definition: attach_options.h:151
int log_fd
Definition: attach_options.h:148
gid_t gid
Definition: attach_options.h:121
int namespaces
Definition: attach_options.h:95
uid_t uid
Definition: attach_options.h:114
char * initial_cwd
Definition: attach_options.h:107
lxc_attach_env_policy_t env_policy
Definition: attach_options.h:124
lxc_groups_t groups
Definition: attach_options.h:157
char ** extra_env_vars
Definition: attach_options.h:127
Definition: attach_options.h:80