]> git.proxmox.com Git - mirror_lxc.git/blame - src/lxc/attach.h
refactor AppArmor into LSM backend, add SELinux support
[mirror_lxc.git] / src / lxc / attach.h
CommitLineData
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
250b1eec 21 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
e0732705
CS
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 30struct lxc_proc_context_info {
fe4de9a6 31 char *lsm_label;
e0732705
CS
32 unsigned long personality;
33 unsigned long long capability_mask;
e0732705
CS
34};
35
36extern struct lxc_proc_context_info *lxc_proc_get_context_info(pid_t pid);
e0732705 37
fc763ab7 38extern int lxc_attach_to_ns(pid_t other_pid, int which);
7a0b0b56 39extern int lxc_attach_remount_sys_proc();
e0732705 40extern int lxc_attach_drop_privs(struct lxc_proc_context_info *ctx);
799f96fd 41extern int lxc_attach_set_environment(enum lxc_attach_env_policy_t policy, char** extra_env, char** extra_keep);
e0732705 42
905022f7
CS
43extern char *lxc_attach_getpwshell(uid_t uid);
44
cb3e61fa
CS
45extern void lxc_attach_get_init_uidgid(uid_t* init_uid, gid_t* init_gid);
46
9c4693b8
CS
47extern 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