# Copyright 2016 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.

access: 1
alarm: 1
arch_prctl: 1
bind: 1
brk: 1
clock_gettime: 1
clone: 1
close: 1
connect: 1
epoll_create: 1
epoll_ctl: 1
epoll_wait: 1
execve: 1
exit: 1
exit_group: 1
fchmod: 1
fcntl: 1
fdatasync: 1
fstat: 1
fsync: 1
ftruncate: 1
futex: 1
getdents: 1
getegid: 1
geteuid: 1
getpeername: 1
getrandom: 1
getrlimit: 1
getsockname: 1
getsockopt: 1
getuid: 1
# ioctl: arg1 == SNDCTL_TMR_TIMEBASE or SNDRV_TIMER_IOCTL_NEXT_DEVICE or TCGETS ||
#        arg1 == SNDCTL_TMR_START or SNDRV_TIMER_IOCTL_TREAD or TCSETS ||
#        arg1 == SNDCTL_TMR_CONTINUE or SNDRV_TIMER_IOCTL_GPARAMS or TCSETSF ||
#        arg1 == FIONREAD || arg1 == FIONBIO ||
#        arg1 == SIOCGIFINDEX || arg1 == SIOCETHTOOL
ioctl: arg1 == 0x5401 || arg1 == 0x5402 || arg1 == 0x5404 || arg1 == 0x541b || arg1 == 0x5421 || arg1 == 0x8933 || arg1 == 0x8946
lseek: 1
lstat: 1
mkdir: 1
# Make sure PROT_WRITE (bit 1) and PROT_EXEC (bit 2) are not both set.
mmap: arg2 in 0xfffffffb || arg2 in 0xfffffffd
mprotect: arg2 in 0xfffffffb || arg2 in 0xfffffffd
msync: 1
munmap: 1
msync: 1
openat: 1
open: 1
pipe: 1
poll: 1
pwrite64: 1
read: 1
recvfrom: 1
recvmsg: 1
rename: 1
restart_syscall: 1
rt_sigaction: 1
rt_sigprocmask: 1
rt_sigreturn: 1
rt_sigsuspend: 1
select: 1
sendmmsg: 1
sendto: 1
setsockopt: 1
set_robust_list: 1
set_tid_address: 1
shutdown: 1
# socket: arg0 == PF_INET || arg0 == PF_LOCAL || arg0 == PF_INET6 || arg0 == PF_NETLINK
socket: arg0 == 2 || arg0 == 1 || arg0 == 10 || arg0 == 16
stat: 1
sysinfo: 1
umask: 1
uname: 1
unlink: 1
utime: 1
wait4: 1
writev: 1
write: 1

