1/*
2 * AppArmor security module
3 *
4 * This file contains AppArmor policy loading interface function definitions.
5 *
6 * Copyright (C) 1998-2008 Novell/SUSE
7 * Copyright 2009-2010 Canonical Ltd.
8 *
9 * This program is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU General Public License as
11 * published by the Free Software Foundation, version 2 of the
12 * License.
13 */
14
15#ifndef __POLICY_INTERFACE_H
16#define __POLICY_INTERFACE_H
17
18#include <linux/list.h>
19
20struct aa_load_ent {
21	struct list_head list;
22	struct aa_profile *new;
23	struct aa_profile *old;
24	struct aa_profile *rename;
25};
26
27void aa_load_ent_free(struct aa_load_ent *ent);
28struct aa_load_ent *aa_load_ent_alloc(void);
29
30#define PACKED_FLAG_HAT		1
31
32#define PACKED_MODE_ENFORCE	0
33#define PACKED_MODE_COMPLAIN	1
34#define PACKED_MODE_KILL	2
35#define PACKED_MODE_UNCONFINED	3
36
37int aa_unpack(void *udata, size_t size, struct list_head *lh, const char **ns);
38
39#endif /* __POLICY_INTERFACE_H */
40