# Copyright 2018 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

exit: 1
read: 1
# open: return EPERM
open: return 1
openat: return 1
close: 1
# execve: return EPERM
execve: return 1
time: 1
lseek: 1
access: 1
brk: 1
# ioctl: arg1 == SIOCGIFNAME || arg1 == SIOCGIFNETMASK
ioctl: arg1 == 0x8910 || arg1 == 0x891b
getrlimit: 1
mmap: 1
munmap: 1
uname: 1
mprotect: 1
bind: 1
connect: 1
getsockname: 1
recv: 1
recvfrom: 1
send: 1
sendto: 1
# socket: arg0 == PF_LOCAL || arg0 == PF_INET || arg0 == PF_NETLINK
socket: arg0 == 1 || arg0 == 2 || arg0 == 16
rt_sigreturn: 1
rt_sigaction: 1
rt_sigprocmask: 1
fstat64: 1
fcntl64: 1
futex: 1
exit_group: 1
set_tid_address: 1
restart_syscall: 1
set_thread_area: 1
set_robust_list: 1
sendmsg: 1
getpid: 1
prlimit64: arg2 == 0 && arg3 != 0
