# 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
fallocate: 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
kill: 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

getpid: 1
prlimit64: arg2 == 0 && arg3 != 0
