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
30struct seccomp_data {
31	int nr;
32	__u32 arch;
33	__u64 instruction_pointer;
34	__u64 args[6];
35};
36#endif
37