blob: 21b875fe2d3756decc0e2c3c8794f695165059e5 [file] [log] [blame]
Thomas Gleixnerb886d83c2019-06-01 10:08:55 +02001/* SPDX-License-Identifier: GPL-2.0-only */
John Johansen898127c2010-07-29 14:48:06 -07002/*
3 * AppArmor security module
4 *
5 * This file contains AppArmor security domain transition function definitions.
6 *
7 * Copyright (C) 1998-2008 Novell/SUSE
8 * Copyright 2009-2010 Canonical Ltd.
John Johansen898127c2010-07-29 14:48:06 -07009 */
10
11#include <linux/binfmts.h>
12#include <linux/types.h>
13
John Johansen2ea3ffb2017-07-18 23:04:47 -070014#include "label.h"
15
John Johansen898127c2010-07-29 14:48:06 -070016#ifndef __AA_DOMAIN_H
17#define __AA_DOMAIN_H
18
19struct aa_domain {
20 int size;
21 char **table;
22};
23
John Johansendf8073c2017-06-09 11:36:48 -070024#define AA_CHANGE_NOFLAGS 0
25#define AA_CHANGE_TEST 1
26#define AA_CHANGE_CHILD 2
27#define AA_CHANGE_ONEXEC 4
John Johansen40cde7f2017-06-09 17:11:17 -070028#define AA_CHANGE_STACK 8
John Johansendf8073c2017-06-09 11:36:48 -070029
John Johansen2ea3ffb2017-07-18 23:04:47 -070030struct aa_label *x_table_lookup(struct aa_profile *profile, u32 xindex,
31 const char **name);
32
John Johansen898127c2010-07-29 14:48:06 -070033int apparmor_bprm_set_creds(struct linux_binprm *bprm);
John Johansen898127c2010-07-29 14:48:06 -070034
35void aa_free_domain_entries(struct aa_domain *domain);
John Johansendf8073c2017-06-09 11:36:48 -070036int aa_change_hat(const char *hats[], int count, u64 token, int flags);
37int aa_change_profile(const char *fqname, int flags);
John Johansen898127c2010-07-29 14:48:06 -070038
39#endif /* __AA_DOMAIN_H */