linux/security/apparmor/include/apparmor.h

/* SPDX-License-Identifier: GPL-2.0-only */
/*
 * AppArmor security module
 *
 * This file contains AppArmor basic global
 *
 * Copyright (C) 1998-2008 Novell/SUSE
 * Copyright 2009-2017 Canonical Ltd.
 */

#ifndef __APPARMOR_H
#define __APPARMOR_H

#include <linux/types.h>

/*
 * Class of mediation types in the AppArmor policy db
 */
#define AA_CLASS_NONE
#define AA_CLASS_UNKNOWN
#define AA_CLASS_FILE
#define AA_CLASS_CAP
#define AA_CLASS_DEPRECATED
#define AA_CLASS_RLIMITS
#define AA_CLASS_DOMAIN
#define AA_CLASS_MOUNT
#define AA_CLASS_PTRACE
#define AA_CLASS_SIGNAL
#define AA_CLASS_XMATCH
#define AA_CLASS_NET
#define AA_CLASS_LABEL
#define AA_CLASS_POSIX_MQUEUE
#define AA_CLASS_MODULE
#define AA_CLASS_DISPLAY_LSM
#define AA_CLASS_NS
#define AA_CLASS_IO_URING

#define AA_CLASS_X
#define AA_CLASS_DBUS

#define AA_CLASS_LAST

/* Control parameters settable through module/boot flags */
extern enum audit_mode aa_g_audit;
extern bool aa_g_audit_header;
extern bool aa_g_debug;
extern bool aa_g_hash_policy;
extern bool aa_g_export_binary;
extern int aa_g_rawdata_compression_level;
extern bool aa_g_lock_policy;
extern bool aa_g_logsyscall;
extern bool aa_g_paranoid_load;
extern unsigned int aa_g_path_max;

#ifdef CONFIG_SECURITY_APPARMOR_EXPORT_BINARY
#define AA_MIN_CLEVEL
#define AA_MAX_CLEVEL
#define AA_DEFAULT_CLEVEL
#else
#define AA_MIN_CLEVEL
#define AA_MAX_CLEVEL
#define AA_DEFAULT_CLEVEL
#endif /* CONFIG_SECURITY_APPARMOR_EXPORT_BINARY */


#endif /* __APPARMOR_H */