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