]>
Commit | Line | Data |
---|---|---|
e0732705 CS |
1 | /* |
2 | * lxc: linux Container library | |
3 | * | |
4 | * (C) Copyright IBM Corp. 2007, 2008 | |
5 | * | |
6 | * Authors: | |
9afe19d6 | 7 | * Daniel Lezcano <daniel.lezcano at free.fr> |
e0732705 CS |
8 | * |
9 | * This library is free software; you can redistribute it and/or | |
10 | * modify it under the terms of the GNU Lesser General Public | |
11 | * License as published by the Free Software Foundation; either | |
12 | * version 2.1 of the License, or (at your option) any later version. | |
13 | * | |
14 | * This library is distributed in the hope that it will be useful, | |
15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
17 | * Lesser General Public License for more details. | |
18 | * | |
19 | * You should have received a copy of the GNU Lesser General Public | |
20 | * License along with this library; if not, write to the Free Software | |
21 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |
22 | */ | |
23 | ||
24 | #ifndef _attach_h | |
25 | #define _attach_h | |
26 | ||
27 | #include <sys/types.h> | |
9c4693b8 | 28 | #include "attach_options.h" |
e0732705 | 29 | |
e0732705 | 30 | struct lxc_proc_context_info { |
9958532b | 31 | char *aa_profile; |
e0732705 CS |
32 | unsigned long personality; |
33 | unsigned long long capability_mask; | |
e0732705 CS |
34 | }; |
35 | ||
36 | extern struct lxc_proc_context_info *lxc_proc_get_context_info(pid_t pid); | |
e0732705 | 37 | |
fc763ab7 | 38 | extern int lxc_attach_to_ns(pid_t other_pid, int which); |
7a0b0b56 | 39 | extern int lxc_attach_remount_sys_proc(); |
e0732705 | 40 | extern int lxc_attach_drop_privs(struct lxc_proc_context_info *ctx); |
799f96fd | 41 | extern int lxc_attach_set_environment(enum lxc_attach_env_policy_t policy, char** extra_env, char** extra_keep); |
e0732705 | 42 | |
905022f7 CS |
43 | extern char *lxc_attach_getpwshell(uid_t uid); |
44 | ||
cb3e61fa CS |
45 | extern void lxc_attach_get_init_uidgid(uid_t* init_uid, gid_t* init_gid); |
46 | ||
9c4693b8 CS |
47 | extern int lxc_attach(const char* name, const char* lxcpath, lxc_attach_exec_t exec_function, void* exec_payload, lxc_attach_options_t* options, pid_t* attached_process); |
48 | ||
e0732705 | 49 | #endif |