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 39 void aa_free_domain_entries(struct aa_domain *domain); 40 int aa_change_hat(const char *hats[], int count, u64 token, int flags); 41 int aa_change_profile(const char *fqname, int flags); 42 43 #endif /* __AA_DOMAIN_H */ 44