Merge git://git.kernel.org/pub/scm/linux/kernel/git/arjan/linux-2.6-async
[linux-2.6] / include / linux / selinux_netlink.h
1 /*
2  * Netlink event notifications for SELinux.
3  *
4  * Author: James Morris <jmorris@redhat.com>
5  *
6  * Copyright (C) 2004 Red Hat, Inc., James Morris <jmorris@redhat.com>
7  *
8  * This program is free software; you can redistribute it and/or modify
9  * it under the terms of the GNU General Public License version 2,
10  * as published by the Free Software Foundation.
11  */
12 #ifndef _LINUX_SELINUX_NETLINK_H
13 #define _LINUX_SELINUX_NETLINK_H
14
15 /* Message types. */
16 #define SELNL_MSG_BASE 0x10
17 enum {
18         SELNL_MSG_SETENFORCE = SELNL_MSG_BASE,
19         SELNL_MSG_POLICYLOAD,
20         SELNL_MSG_MAX
21 };
22
23 #ifndef __KERNEL__
24 /* Multicast groups - backwards compatiblility for userspace */
25 #define SELNL_GRP_NONE          0x00000000
26 #define SELNL_GRP_AVC           0x00000001      /* AVC notifications */
27 #define SELNL_GRP_ALL           0xffffffff
28 #endif
29
30 enum selinux_nlgroups {
31         SELNLGRP_NONE,
32 #define SELNLGRP_NONE   SELNLGRP_NONE
33         SELNLGRP_AVC,
34 #define SELNLGRP_AVC    SELNLGRP_AVC
35         __SELNLGRP_MAX
36 };
37 #define SELNLGRP_MAX    (__SELNLGRP_MAX - 1)
38
39 /* Message structures */
40 struct selnl_msg_setenforce {
41         int32_t         val;
42 };
43
44 struct selnl_msg_policyload {
45         u_int32_t       seqno;
46 };
47
48 #endif /* _LINUX_SELINUX_NETLINK_H */