1c45952f88c568046a02bc0aea793008d8bb37755Will Drewry/* 2c45952f88c568046a02bc0aea793008d8bb37755Will Drewry * seccomp-compat.h - seccomp defines for bad headers 3c45952f88c568046a02bc0aea793008d8bb37755Will Drewry * Copyright (c) 2013 The Chromium Authors. All rights reserved. 4c45952f88c568046a02bc0aea793008d8bb37755Will Drewry * Use of this source code is governed by a BSD-style license that can be 5c45952f88c568046a02bc0aea793008d8bb37755Will Drewry * found in the LICENSE file. 6c45952f88c568046a02bc0aea793008d8bb37755Will Drewry */ 7c45952f88c568046a02bc0aea793008d8bb37755Will Drewry#ifndef SECCOMP_COMPAT_H 8c45952f88c568046a02bc0aea793008d8bb37755Will Drewry#define SECCOMP_COMPAT_H 9c45952f88c568046a02bc0aea793008d8bb37755Will Drewry 10c45952f88c568046a02bc0aea793008d8bb37755Will Drewry#include <stdint.h> 11c45952f88c568046a02bc0aea793008d8bb37755Will Drewry 12c45952f88c568046a02bc0aea793008d8bb37755Will Drewry#ifndef PR_SET_NO_NEW_PRIVS 13c45952f88c568046a02bc0aea793008d8bb37755Will Drewry# define PR_SET_NO_NEW_PRIVS 38 14c45952f88c568046a02bc0aea793008d8bb37755Will Drewry#endif 15c45952f88c568046a02bc0aea793008d8bb37755Will Drewry 16c45952f88c568046a02bc0aea793008d8bb37755Will Drewry#ifndef SECCOMP_MODE_FILTER 17c45952f88c568046a02bc0aea793008d8bb37755Will Drewry#define SECCOMP_MODE_FILTER 2 /* uses user-supplied filter. */ 18c45952f88c568046a02bc0aea793008d8bb37755Will Drewry#define SECCOMP_RET_KILL 0x00000000U /* kill the task immediately */ 19c45952f88c568046a02bc0aea793008d8bb37755Will Drewry#define SECCOMP_RET_TRAP 0x00030000U /* disallow and force a SIGSYS */ 20c45952f88c568046a02bc0aea793008d8bb37755Will Drewry#define SECCOMP_RET_ALLOW 0x7fff0000U /* allow */ 21c45952f88c568046a02bc0aea793008d8bb37755Will Drewry#define SECCOMP_RET_ERRNO 0x00050000U /* returns an errno */ 22c45952f88c568046a02bc0aea793008d8bb37755Will Drewry 23c45952f88c568046a02bc0aea793008d8bb37755Will Drewrystruct seccomp_data 24c45952f88c568046a02bc0aea793008d8bb37755Will Drewry{ 25c45952f88c568046a02bc0aea793008d8bb37755Will Drewry int nr; 26c45952f88c568046a02bc0aea793008d8bb37755Will Drewry uint32_t arch; 27c45952f88c568046a02bc0aea793008d8bb37755Will Drewry uint64_t instruction_pointer; 28c45952f88c568046a02bc0aea793008d8bb37755Will Drewry uint64_t args[6]; 29c45952f88c568046a02bc0aea793008d8bb37755Will Drewry}; 30c45952f88c568046a02bc0aea793008d8bb37755Will Drewry#endif /* !SECCOMP_MODE_FILTER */ 31c45952f88c568046a02bc0aea793008d8bb37755Will Drewry 32c45952f88c568046a02bc0aea793008d8bb37755Will Drewry#endif 33