xref: /linux/include/uapi/linux/selinux_netlink.h (revision 498495dba268b20e8eadd7fe93c140c68b6cc9d2)
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 */
52