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