1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /*
3  * AppArmor security module
4  *
5  * This file contains AppArmor basic global
6  *
7  * Copyright (C) 1998-2008 Novell/SUSE
8  * Copyright 2009-2017 Canonical Ltd.
9  */
10 
11 #ifndef __APPARMOR_H
12 #define __APPARMOR_H
13 
14 #include <linux/types.h>
15 
16 /*
17  * Class of mediation types in the AppArmor policy db
18  */
19 #define AA_CLASS_ENTRY		0
20 #define AA_CLASS_UNKNOWN	1
21 #define AA_CLASS_FILE		2
22 #define AA_CLASS_CAP		3
23 #define AA_CLASS_DEPRECATED	4
24 #define AA_CLASS_RLIMITS	5
25 #define AA_CLASS_DOMAIN		6
26 #define AA_CLASS_MOUNT		7
27 #define AA_CLASS_PTRACE		9
28 #define AA_CLASS_SIGNAL		10
29 #define AA_CLASS_NET		14
30 #define AA_CLASS_LABEL		16
31 
32 #define AA_CLASS_LAST		AA_CLASS_LABEL
33 
34 /* Control parameters settable through module/boot flags */
35 extern enum audit_mode aa_g_audit;
36 extern bool aa_g_audit_header;
37 extern bool aa_g_debug;
38 extern bool aa_g_hash_policy;
39 extern bool aa_g_export_binary;
40 extern int aa_g_rawdata_compression_level;
41 extern bool aa_g_lock_policy;
42 extern bool aa_g_logsyscall;
43 extern bool aa_g_paranoid_load;
44 extern unsigned int aa_g_path_max;
45 
46 #endif /* __APPARMOR_H */
47