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_NONE 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_XMATCH 11
30#define AA_CLASS_NET 14
31#define AA_CLASS_LABEL 16
32#define AA_CLASS_POSIX_MQUEUE 17
33#define AA_CLASS_MODULE 19
34#define AA_CLASS_DISPLAY_LSM 20
35#define AA_CLASS_NS 21
36#define AA_CLASS_IO_URING 22
37
38#define AA_CLASS_X 31
39#define AA_CLASS_DBUS 32
40
41#define AA_CLASS_LAST AA_CLASS_DBUS
42
43/* Control parameters settable through module/boot flags */
44extern enum audit_mode aa_g_audit;
45extern bool aa_g_audit_header;
46extern bool aa_g_debug;
47extern bool aa_g_hash_policy;
48extern bool aa_g_export_binary;
49extern int aa_g_rawdata_compression_level;
50extern bool aa_g_lock_policy;
51extern bool aa_g_logsyscall;
52extern bool aa_g_paranoid_load;
53extern unsigned int aa_g_path_max;
54
55#ifdef CONFIG_SECURITY_APPARMOR_EXPORT_BINARY
56#define AA_MIN_CLEVEL zstd_min_clevel()
57#define AA_MAX_CLEVEL zstd_max_clevel()
58#define AA_DEFAULT_CLEVEL ZSTD_CLEVEL_DEFAULT
59#else
60#define AA_MIN_CLEVEL 0
61#define AA_MAX_CLEVEL 0
62#define AA_DEFAULT_CLEVEL 0
63#endif /* CONFIG_SECURITY_APPARMOR_EXPORT_BINARY */
64
65
66#endif /* __APPARMOR_H */
67

source code of linux/security/apparmor/include/apparmor.h