/* SPDX-License-Identifier: GPL-2.0-only */ /* * AppArmor security module * * This file contains AppArmor capability mediation definitions. * * Copyright (C) 1998-2008 Novell/SUSE * Copyright 2009-2013 Canonical Ltd. */ #ifndef __AA_CAPABILITY_H #define __AA_CAPABILITY_H #include <linux/sched.h> #include "apparmorfs.h" struct aa_label; /* aa_caps - confinement data for capabilities * @allowed: capabilities mask * @audit: caps that are to be audited * @denied: caps that are explicitly denied * @quiet: caps that should not be audited * @kill: caps that when requested will result in the task being killed * @extended: caps that are subject finer grained mediation */ struct aa_caps { … }; extern struct aa_sfs_entry aa_sfs_entry_caps[]; int aa_capable(const struct cred *subj_cred, struct aa_label *label, int cap, unsigned int opts); static inline void aa_free_cap_rules(struct aa_caps *caps) { … } #endif /* __AA_CAPBILITY_H */