1 /*
2  * This header was generated from the Linux kernel headers by update_headers.py,
3  * to provide necessary information from kernel to userspace, such as constants,
4  * structures, and macros, and thus, contains no copyrightable information.
5  */
6 #ifndef _UAPI_LINUX_SECCOMP_H
7 #define _UAPI_LINUX_SECCOMP_H
8 #include <linux/compiler.h>
9 #include <linux/types.h>
10 #define SECCOMP_MODE_DISABLED	0
11 #define SECCOMP_MODE_STRICT	1
12 #define SECCOMP_MODE_FILTER	2
13 #define SECCOMP_SET_MODE_STRICT		0
14 #define SECCOMP_SET_MODE_FILTER		1
15 #define SECCOMP_GET_ACTION_AVAIL	2
16 #define SECCOMP_FILTER_FLAG_TSYNC	(1UL << 0)
17 #define SECCOMP_FILTER_FLAG_LOG		(1UL << 1)
18 #define SECCOMP_FILTER_FLAG_SPEC_ALLOW	(1UL << 2)
19 #define SECCOMP_RET_KILL_PROCESS 0x80000000U
20 #define SECCOMP_RET_KILL_THREAD	 0x00000000U
21 #define SECCOMP_RET_KILL	 SECCOMP_RET_KILL_THREAD
22 #define SECCOMP_RET_TRAP	 0x00030000U
23 #define SECCOMP_RET_ERRNO	 0x00050000U
24 #define SECCOMP_RET_TRACE	 0x7ff00000U
25 #define SECCOMP_RET_LOG		 0x7ffc0000U
26 #define SECCOMP_RET_ALLOW	 0x7fff0000U
27 #define SECCOMP_RET_ACTION_FULL	0xffff0000U
28 #define SECCOMP_RET_ACTION	0x7fff0000U
29 #define SECCOMP_RET_DATA	0x0000ffffU
30 struct seccomp_data {
31 	int nr;
32 	__u32 arch;
33 	__u64 instruction_pointer;
34 	__u64 args[6];
35 };
36 #endif
37