GNU Linux-libre 4.19.286-gnu1
[releases.git] / security / apparmor / include / apparmor.h
1 /*
2  * AppArmor security module
3  *
4  * This file contains AppArmor basic global
5  *
6  * Copyright (C) 1998-2008 Novell/SUSE
7  * Copyright 2009-2017 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 __APPARMOR_H
16 #define __APPARMOR_H
17
18 #include <linux/types.h>
19
20 /*
21  * Class of mediation types in the AppArmor policy db
22  */
23 #define AA_CLASS_ENTRY          0
24 #define AA_CLASS_UNKNOWN        1
25 #define AA_CLASS_FILE           2
26 #define AA_CLASS_CAP            3
27 #define AA_CLASS_DEPRECATED     4
28 #define AA_CLASS_RLIMITS        5
29 #define AA_CLASS_DOMAIN         6
30 #define AA_CLASS_MOUNT          7
31 #define AA_CLASS_PTRACE         9
32 #define AA_CLASS_SIGNAL         10
33 #define AA_CLASS_NET            14
34 #define AA_CLASS_LABEL          16
35
36 #define AA_CLASS_LAST           AA_CLASS_LABEL
37
38 /* Control parameters settable through module/boot flags */
39 extern enum audit_mode aa_g_audit;
40 extern bool aa_g_audit_header;
41 extern bool aa_g_debug;
42 extern bool aa_g_hash_policy;
43 extern bool aa_g_lock_policy;
44 extern bool aa_g_logsyscall;
45 extern bool aa_g_paranoid_load;
46 extern unsigned int aa_g_path_max;
47
48 #endif /* __APPARMOR_H */