1 /*
2  * AppArmor security module
3  *
4  * This file contains AppArmor policy loading interface 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 #ifndef __POLICY_INTERFACE_H
16 #define __POLICY_INTERFACE_H
17 
18 #include <linux/list.h>
19 
20 struct aa_load_ent {
21 	struct list_head list;
22 	struct aa_profile *new;
23 	struct aa_profile *old;
24 	struct aa_profile *rename;
25 };
26 
27 void aa_load_ent_free(struct aa_load_ent *ent);
28 struct aa_load_ent *aa_load_ent_alloc(void);
29 
30 #define PACKED_FLAG_HAT		1
31 
32 #define PACKED_MODE_ENFORCE	0
33 #define PACKED_MODE_COMPLAIN	1
34 #define PACKED_MODE_KILL	2
35 #define PACKED_MODE_UNCONFINED	3
36 
37 int aa_unpack(void *udata, size_t size, struct list_head *lh, const char **ns);
38 
39 #endif /* __POLICY_INTERFACE_H */
40