#
# Copyright (C) 2015 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

# Tested on link
gettid: 1
getuid: 1
geteuid: 1
getgid: 1
getegid: 1
getresuid: 1
getresgid: 1

clock_getres: 1
clock_gettime: 1
gettimeofday: 1
time: 1

# Allow socket(domain==PF_LOCAL) or socket(domain==PF_NETLINK)
socket: arg0 == 0x1 || arg0 == 0x10
socketpair: 1
connect: 1
getsockname: 1
pipe: 1
sendmsg: 1
sendto: 1
recvmsg: 1
recvfrom: 1

epoll_create: 1
epoll_wait: 1
epoll_ctl: 1
poll: 1

open: 1
read: 1
write: 1
close: 1
access: 1
rename: 1
pwrite64: 1

chmod: 1
fsync: 1
fdatasync: 1
fstat: 1
stat: 1
lseek: 1
fcntl: 1

futex: 1
set_robust_list: 1
restart_syscall: 1
exit: 1
exit_group: 1
rt_sigaction: 1
rt_sigreturn: 1
rt_sigprocmask: 1
signalfd4: 1

brk: 1
mmap: 1
madvise: 1
mprotect: 1
munmap: 1

clone: 1
# These calls are attempted but apparently not necessary; return EPERM.
prctl: return 1
ioctl: return 1
tgkill: return 1
