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