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

accept4: 1
access: 1
bind: 1
brk: 1
capget: 1
capset: 1
clock_getres: 1
clock_gettime: 1
close: 1
connect: 1
creat: 1
dup: 1
epoll_create: 1
epoll_create1: 1
epoll_ctl: 1
epoll_wait: 1
exit_group: 1
fcntl: 1
fcntl64: 1
fstat: 1
fstat64: 1
futex: 1
getdents: 1
getdents64: 1
getegid: 1
getegid32: 1
geteuid: 1
geteuid32: 1
getgid: 1
getgid32: 1
getresgid: 1
getresgid32: 1
getresuid: 1
getresuid32: 1
# arm
ugetrlimit: 1
getrusage: 1
getsockname: 1
gettid: 1
gettimeofday: 1
getuid: 1
getuid32: 1
listen: 1
lstat: 1
lstat64: 1
mmap2: 1
mprotect: 1
munmap: 1
open: 1
openat: 1
pipe: 1
pipe2: 1
poll: 1
prctl: 1
read: 1
readlink: 1
recv: 1
recvmsg: 1
rename: 1
rt_sigaction: 1
rt_sigprocmask: 1
# arm
_newselect: 1
select: 1
send: 1
sendmsg: 1
set_robust_list: 1
set_tid_address: 1
# arm
ARM_set_tls: 1
setgroups: 1
setgroups32: 1
setresgid: 1
setresgid32: 1
setresuid: 1
setresuid32: 1
setsockopt: 1
shutdown: 1
signalfd4: 1
# socket: arg0 == PF_LOCAL || arg0 == PF_INET6 || arg0 == PF_INET
socket: arg0 == 0x1 || arg0 == 0xa || arg0 == 0x2
# socketpair: arg0 == PF_LOCAL
socketpair: arg0 == 0x1
stat: 1
stat64: 1
tgkill: 1
uname: 1
unlink: 1
write: 1
