]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/blob - security/apparmor/include/domain.h
apparmor: add mount mediation
[mirror_ubuntu-artful-kernel.git] / security / apparmor / include / domain.h
1 /*
2 * AppArmor security module
3 *
4 * This file contains AppArmor security domain transition function definitions.
5 *
6 * Copyright (C) 1998-2008 Novell/SUSE
7 * Copyright 2009-2010 Canonical Ltd.
8 *
9 * This program is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU General Public License as
11 * published by the Free Software Foundation, version 2 of the
12 * License.
13 */
14
15 #include <linux/binfmts.h>
16 #include <linux/types.h>
17
18 #include "label.h"
19
20 #ifndef __AA_DOMAIN_H
21 #define __AA_DOMAIN_H
22
23 struct aa_domain {
24 int size;
25 char **table;
26 };
27
28 #define AA_CHANGE_NOFLAGS 0
29 #define AA_CHANGE_TEST 1
30 #define AA_CHANGE_CHILD 2
31 #define AA_CHANGE_ONEXEC 4
32 #define AA_CHANGE_STACK 8
33
34 struct aa_label *x_table_lookup(struct aa_profile *profile, u32 xindex,
35 const char **name);
36
37 int apparmor_bprm_set_creds(struct linux_binprm *bprm);
38 int apparmor_bprm_secureexec(struct linux_binprm *bprm);
39
40 void aa_free_domain_entries(struct aa_domain *domain);
41 int aa_change_hat(const char *hats[], int count, u64 token, int flags);
42 int aa_change_profile(const char *fqname, int flags);
43
44 #endif /* __AA_DOMAIN_H */