1ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 2ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown/*--------------------------------------------------------------------*/ 3ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown/*--- Private syscalls header for Darwin. priv_syswrap-darwin.h ---*/ 4ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown/*--------------------------------------------------------------------*/ 5ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 6ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown/* 7ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown This file is part of Valgrind, a dynamic binary instrumentation 8ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown framework. 9ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 10436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov Copyright (C) 2005-2013 Apple Inc. 11ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown Greg Parker gparker@apple.com 12ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 13ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown This program is free software; you can redistribute it and/or 14ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown modify it under the terms of the GNU General Public License as 15ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown published by the Free Software Foundation; either version 2 of the 16ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown License, or (at your option) any later version. 17ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 18ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown This program is distributed in the hope that it will be useful, but 19ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown WITHOUT ANY WARRANTY; without even the implied warranty of 20ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 21ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown General Public License for more details. 22ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 23ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown You should have received a copy of the GNU General Public License 24ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown along with this program; if not, write to the Free Software 25ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 26ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 02111-1307, USA. 27ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 28ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown The GNU General Public License is contained in the file COPYING. 29ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown*/ 30ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 31ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#ifndef __PRIV_SYSWRAP_DARWIN_H 32ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#define __PRIV_SYSWRAP_DARWIN_H 33ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 34436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov#include "pub_core_basics.h" // ThreadId 35436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov#include "priv_types_n_macros.h" // DECL_TEMPLATE 36ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 37ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// syswrap-darwin.c 38ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownAddr allocstack ( ThreadId tid ); 39ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brownvoid find_stack_segment ( ThreadId tid, Addr sp ); 40ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brownvoid start_thread_NORETURN ( Word arg ); 41ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brownvoid assign_port_name(mach_port_t port, const char *name); 42ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brownvoid record_named_port(ThreadId tid, mach_port_t port, mach_port_right_t right, const char *name); 43ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 44ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brownextern const SyscallTableEntry ML_(mach_trap_table)[]; 45ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brownextern const SyscallTableEntry ML_(syscall_table)[]; 46ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brownextern const SyscallTableEntry ML_(mdep_trap_table)[]; 47ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 48ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brownextern const UInt ML_(syscall_table_size); 49ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brownextern const UInt ML_(mach_trap_table_size); 50ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brownextern const UInt ML_(mdep_trap_table_size); 51ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 52ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brownvoid VG_(show_open_ports)(void); 53ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 54ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brownvoid ML_(sync_mappings)(const HChar *when, const HChar *where, Int num); 55ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 56ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// Unix syscalls. 57ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// GEN = it uses the generic wrapper 58ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NYI = wrapper not yet implemented in Valgrind 59ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NOC = the non-"_nocancel" wrapper is used 60ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// old = the syscall no longer exists in Darwin 61ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, exit); // 1 62ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// GEN fork 2 63ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// GEN read 3 64ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// GEN write 4 65ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// GEN open 5 66ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// GEN close 6 67ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// GEN wait4 7 68ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// old creat 8 69ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// GEN link 9 70ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// GEN unlink 10 71ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// old execv 11 72ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// GEN chdir 12 73ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// GEN fchdir 13 74ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// GEN mknod 14 75ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// GEN chmod 15 76ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// GEN chown 16 77ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// old break 17 78ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, getfsstat); // 18 79ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// old lseek 19 80ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// GEN getpid 20 81ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// old mount 21 82ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// old umount 22 83ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// GEN setuid 23 84ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// GEN getuid 24 85ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// GEN geteuid 25 86ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, ptrace); // 26 87ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, recvmsg); // 27 88ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, sendmsg); // 28 89ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, recvfrom); // 29 90ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, accept); // 30 91ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, getpeername); // 31 92ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, getsockname); // 32 93ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// GEN access 33 94ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, chflags); // 34 95ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, fchflags); // 35 96ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// GEN sync 36 97ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// GEN kill 37 98ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// old stat 38 99ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// GEN getppid 39 100ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// old lstat 40 101ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// GEN dup 41 102ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, pipe); // 42 103ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// GEN getegid 43 104ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NYI profil 105ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// old ktrace 106ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, sigaction); // 46 107ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// GEN getgid 47 108ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, sigprocmask); // 48 109ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, getlogin); // 49 110ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NYI setlogin 50 111ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NYI acct 51 112ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, sigpending); // 52 113ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// GEN sigaltstack 53 114ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, ioctl); // 54 115ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NYI reboot 55 116ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NYI revoke 56 117ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NYI symlink 57 118ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// GEN readlink 58 119ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// GEN execve 59 120ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// GEN umask 60 121ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// GEN chroot 61 122ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// old fstat 123ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// 63 used internally, reserved 124ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// old getpagesize 64 125ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// GEN msync 65 126ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// GEN vfork 66 127ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// old vread 128ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// old vwrite 129ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// old sbrk 130ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// old sstk 131ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// old mmap 132ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// old vadvise 133ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// GEN munmap 73 134ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// GEN mprotect 74 135ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// GEN madvise 75 136ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// old vhangup 137ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// old vlimit 138ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NYI mincore 78 139ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// GEN getgroups 79 140ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NYI setgroups 80 141ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// GEN getpgrp 81 142ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NYI setpgid 82 143ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// GEN setitimer 83 144ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// old wait 145ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NYI swapon 85 146ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// GEN getitimer 86 147ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// old gethostname 148ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// old sethostname 149ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, getdtablesize); // 89 150ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// GEN dup2 90 151ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// old getdopt 152ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, fcntl); // 92 153ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// GEN select 93 154ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// old setdopt 155ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// GEN fsync 95 156ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// GEN setpriority 96 157ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, socket); // 97 158ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, connect); // 98 159ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// old accept 160ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// GEN getpriority 100 161ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// old send 162ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// old recv 163ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// old sigreturn 164ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, bind); // 104 165ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, setsockopt); // 105 166ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, listen); // 106 167ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// old vtimes 168ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// old sigvec 169ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// old sigblock 170ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// old sigsetmask 171ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, sigsuspend); // 111 172ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// old sigstack 173ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// old recvmsg 174ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// old sendmsg 175ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// old vtrace 176ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// GEN gettimeofday 116 177ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// GEN getrusage 117 178ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, getsockopt); // 118 179ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// old resuba 180ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// GEN readv 120 181ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// GEN writev 121 182ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NYI settimeofday 122 183ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// GEN fchown 123 184ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// GEN fchmod 124 185ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// old recvfrom 186ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NYI setreuid 126 187ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NYI setregid 127 188ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// GEN rename 128 189ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// old truncate 190ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// old ftruncate 191ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// GEN flock 131 192ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NYI mkfifo 132 193ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, sendto); // 133 194ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, shutdown); // 134 195ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, socketpair); // 135 196ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// GEN mkdir 136 197ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// GEN rmdir 137 198ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// GEN utimes 138 199ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, futimes); // 139 200ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NYI adjtime 140 201ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// old getpeername 202ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, gethostuuid); // 142 203ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// old sethostid 204ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// old getrlimit 205ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// old setrlimit 206ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// old killpg 207ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// GEN setsid 147 208ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// old setquota 209ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// old qquota 210ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// old getsockname 211ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NYI getpgid 151 212ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NYI setprivexec 152 213ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// GEN pread 153 214ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// GEN pwrite 154 215ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NYI nfssvc 155 216ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// old getdirentries 217ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// GEN statfs 157 218ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// GEN fstatfs 158 219ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NYI unmount 159 220ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// old async_daemon 221ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NYI getfh 161 222ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// old getdomainname 223ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// old setdomainname 224ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// 164 225ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NYI quotactl 165 226ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// old exportfs 227ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, mount); // 167 228ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// old ustat 229ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, csops); // 169 230ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// old table 231ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// old wait3 232ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// old rpause 233ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NYI waitid 173 234ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// old getdents 235ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// old gc_control 236ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NYI add_profil 176 237ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// 177 238ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// 178 239ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// 179 240ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, kdebug_trace); // 180 241ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// GEN setgid 181 242ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, setegid); // 182 243ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, seteuid); // 183 244ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, sigreturn); // 184 245ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, FAKE_SIGRETURN); 246ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NYI chud 185 247ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// 186 248ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// 187 249ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// GEN stat 188 250ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// GEN fstat 189 251ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// GEN lstat 190 252ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, pathconf); // 191 253ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, fpathconf); // 192 254ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// 193 255ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// GEN getrlimit 194 256ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// GEN setrlimit 195 257ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, getdirentries); // 196 258ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, mmap); // 197 259ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// 198 __syscall 260ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, lseek); // 199 (was UX64) 261ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// GEN truncate 200 262ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// GEN ftruncate 201 263ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, __sysctl); // 202 264ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// GEN mlock 203 265ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// GEN munlock 204 266ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NYI undelete 205 267ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NYI ATsocket 206 268ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NYI ATgetmsg 207 269ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NYI ATputmsg 208 270ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NYI ATPsndreq 209 271ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NYI ATPsndrsp 210 272ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NYI ATPgetreq 211 273ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NYI ATPgetrsp 212 274ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// 213 Reserved for AppleTalk 275ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NYI kqueue_from_portset_np 214 276ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NYI kqueue_portset_np 215 277ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NYI mkcomplex 216 278ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NYI statv 217 279ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NYI lstatv 218 280ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NYI fstatv 219 281ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, getattrlist); // 220 282ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, setattrlist); // 221 283ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, getdirentriesattr); // 222 284ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, exchangedata); // 223 285ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// 224 checkuseraccess 286ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NYI searchfs 225 287ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// GEN delete 226 288ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NYI copyfile 226 289ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// 228 290ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// 229 291ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// GEN poll 230 292ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, watchevent); // 231 293ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, waitevent); // 232 294ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, modwatch); // 233 295ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, getxattr); // 234 296ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, fgetxattr); // 235 297ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, setxattr); // 236 298ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, fsetxattr); // 237 299ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, removexattr); // 238 300ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, fremovexattr); // 239 301ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, listxattr); // 240 302ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, flistxattr); // 241 303ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, fsctl); // 242 304ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, initgroups); // 243 305ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, posix_spawn); // 244 306ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// 245 307ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// 246 308ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NYI nfsclnt 247 309ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NYI fhopen 248 310ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// 249 311ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NYI minherit 250 312ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NYI semsys 251 313ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NYI msgsys 252 314ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NYI shmsys 253 315ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, semctl); // 254 316ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, semget); // 255 317ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, semop); // 256 318ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// 257 319ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NYI msgctl 258 320ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NYI msgget 259 321ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NYI msgsnd 260 322ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NYI msgrcv 261 323ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, shmat); // 262 324ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, shmctl); // 263 325ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, shmdt); // 264 326ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, shmget); // 265 327ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, shm_open); // 266 328663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengDECL_TEMPLATE(darwin, shm_unlink); // 267 329ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, sem_open); // 268 330ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, sem_close); // 269 331ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, sem_unlink); // 270 332ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, sem_wait); // 271 333ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, sem_trywait); // 272 334ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, sem_post); // 273 335ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NYI sem_getvalue 274 336ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, sem_init); // 275 337ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, sem_destroy); // 276 338ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, open_extended) // 277 339ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NYI umask_extended 278 340ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, stat_extended); // 279 341ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, lstat_extended); // 280 342ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, fstat_extended); // 281 343ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, chmod_extended); // 282 344ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, fchmod_extended); // 283 345ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, access_extended); // 284 346ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, settid); // 285 347ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NYI gettid 286 348ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NYI setsgroups 287 349ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NYI getsgroups 288 350ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NYI setwgroups 289 351ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NYI getwgroups 290 352ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NYI mkfifo_extended 291 353ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NYI mkdir_extended 292 354ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NYI identitysvc 293 355ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NYI shared_region_check_np 294 356ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NYI shared_region_map_np 295 357ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// old load_shared_file 358ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// old reset_shared_file 359ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// old new_system_shared_regions 360ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// old shared_region_map_file_np 361ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// old shared_region_make_private_np 362b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy StepanovDECL_TEMPLATE(darwin, psynch_mutexwait); // 301 // new in 10.7 ? 363b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy StepanovDECL_TEMPLATE(darwin, psynch_mutexdrop); // 302 // new in 10.7 ? 364b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy StepanovDECL_TEMPLATE(darwin, psynch_cvbroad); // 303 // new in 10.7 ? 365b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy StepanovDECL_TEMPLATE(darwin, psynch_cvsignal); // 304 // new in 10.7 ? 366b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy StepanovDECL_TEMPLATE(darwin, psynch_cvwait); // 305 // new in 10.7 ? 367b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy StepanovDECL_TEMPLATE(darwin, psynch_rw_rdlock); // 306 // new in 10.7 ? 368b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy StepanovDECL_TEMPLATE(darwin, psynch_rw_wrlock); // 307 // new in 10.7 ? 369b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy StepanovDECL_TEMPLATE(darwin, psynch_rw_unlock); // 308 // new in 10.7 ? 370ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NYI __pthread_cond_signal 309 371ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NYI getsid 310 372ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NYI settid_with_pid 311 373b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy StepanovDECL_TEMPLATE(darwin, psynch_cvclrprepost); // 312 // new in 10.7 ? 374ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NYI aio_fsync 313 375ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, aio_return); // 314 376ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, aio_suspend); // 315 377ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NYI aio_cancel 316 378ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, aio_error); // 317 379ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, aio_read); // 318 380ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, aio_write); // 319 381ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NYI lio_listio 320 382ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NYI __pthread_cond_wait 321 383ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NYI iopolicysys 322 384ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// 323 385ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NYI mlockall 324 386ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NYI munlockall 325 387ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// 326 388ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, issetugid); // 327 389ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, __pthread_kill); // 328 390ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, __pthread_sigmask); // 329 391ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NYI __sigwait 330 392ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, __disable_threadsignal); // 331 393ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, __pthread_markcancel); // 332 394ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, __pthread_canceled); // 333 395ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, __semwait_signal); // 334 396ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// old utrace 397ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#if DARWIN_VERS >= DARWIN_10_6 398ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, proc_info); // 336 399ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#endif 400ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, sendfile); // 337 401ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, stat64); // 338 402ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, fstat64); // 339 403ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, lstat64); // 340 404ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, stat64_extended); // 341 405ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, lstat64_extended); // 342 406ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, fstat64_extended); // 343 407ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, getdirentries64); // 344 408ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, statfs64); // 345 409ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, fstatfs64); // 346 410ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, getfsstat64); // 347 411ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NYI __pthread_chdir 348 412ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NYI __pthread_fchdir 349 413ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NYI audit 350 414ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, auditon); // 351 415ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// 352 416ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NYI getauid 353 417ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NYI setauid 354 418ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NYI getaudit 355 419ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NYI setaudit 356 420b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov#if DARWIN_VERS >= DARWIN_10_7 421b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy StepanovDECL_TEMPLATE(darwin, getaudit_addr) // 357 422b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov#endif 423ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NYI setaudit_addr 358 424ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NYI auditctl 359 425ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, bsdthread_create); // 360 426ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, bsdthread_terminate); // 361 427ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, kqueue); // 362 428ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, kevent); // 363 429ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NYI lchown 364 430ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NYI stack_snapshot 365 431ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, bsdthread_register); // 366 432ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, workq_open); // 367 433ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, workq_ops); // 368 434ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// 369 435ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// 370 436ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// 371 437ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, __thread_selfid); // 372 438ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// 373 439ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// 374 440ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// 375 441ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// 376 442ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// 377 443ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// 378 444ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// 379 445ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NYI __mac_execve 380 446ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, __mac_syscall); // 381 447ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NYI __mac_get_file 382 448ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NYI __mac_set_file 383 449ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NYI __mac_get_link 384 450ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NYI __mac_set_link 385 451ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NYI __mac_get_proc 386 452ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NYI __mac_set_proc 387 453ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NYI __mac_get_fd 388 454ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NYI __mac_set_fd 389 455ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NYI __mac_get_pid 390 456ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NYI __mac_get_lcid 391 457ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NYI __mac_get_lctx 392 458ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NYI __mac_set_lctx 393 459ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NYI setlcid 394 460ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NYI getlcid 395 461ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// GEN read_nocancel 396 462ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// GEN write_nocancel 397 463ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// GEN open_nocancel 398 464ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// GEN close_nocancel 399 465ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// GEN wait4_nocancel 400 466ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NOC recvmsg_nocancel 401 467ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NOC sendmsg_nocancel 402 468ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NOC recvfrom_nocancel 403 469ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NOC accept_nocancel 404 470ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// GEN msync_nocancel 405 471ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NOC fcntl_nocancel 406 472ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// GEN select_nocancel 407 473ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// GEN fsync_nocancel 408 474ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NOC connect_nocancel 409 475ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NYI sigsuspend_nocancel 410 476ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// GEN readv_nocancel 411 477ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// GEN writev_nocancel 412 478ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NOC sendto_nocancel 413 479ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// GEN pread_nocancel 414 480ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// GEN pwrite_nocancel 415 481ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NYI waitid_nocancel 416 482ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// GEN poll_nocancel 417 483ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NYI msgsnd_nocancel 418 484ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NYI msgrcv_nocancel 419 485ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NOC sem_wait_nocancel 420 486ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NYI aio_suspend_nocancel 421 487ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NYI __sigwait_nocancel 422 488ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NOC __semwait_signal_nocancel 423 489ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NYI __mac_mount 424 490ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NYI __mac_get_mount 425 491ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NYI __mac_getfsstat 426 492ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, fsgetpath); // 427 493ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, audit_session_self); // 428 494ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// NYI audit_session_join 429 495ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 496ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// Mach message helpers 497b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy StepanovDECL_TEMPLATE(darwin, mach_port_set_context); 498ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, host_info); 499ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, host_page_size); 500ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, host_get_io_master); 501ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, host_get_clock_service); 502ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, host_request_notification); 503ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, mach_port_type); 504ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, mach_port_extract_member); 505ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, mach_port_allocate); 506ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, mach_port_deallocate); 507ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, mach_port_get_refs); 508ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, mach_port_mod_refs); 509ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, mach_port_get_set_status); 510ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, mach_port_move_member); 511ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, mach_port_destroy); 512ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, mach_port_request_notification); 513ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, mach_port_insert_right); 514ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, mach_port_extract_right); 515ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, mach_port_get_attributes); 516ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, mach_port_set_attributes); 517ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, mach_port_insert_member); 518ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, task_get_special_port); 519b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy StepanovDECL_TEMPLATE(darwin, task_get_exception_ports); 520ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, semaphore_create); 521ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, semaphore_destroy); 522ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, mach_ports_lookup); 523ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, task_threads); 524ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, task_suspend); 525ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, task_resume); 526ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, vm_allocate); 527ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, vm_deallocate); 528ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, vm_protect); 529ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, vm_inherit); 530ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, vm_read); 531ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, mach_vm_read); 532ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, vm_copy); 533ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, vm_read_overwrite); 534ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, vm_map); 535ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, vm_remap); 536ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, mach_make_memory_entry_64); 537ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, vm_purgable_control); 538ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, mach_vm_purgable_control); 539ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, mach_vm_allocate); 540ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, mach_vm_deallocate); 541ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, mach_vm_protect); 542ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, mach_vm_copy); 543ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, mach_vm_inherit); 544ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, mach_vm_map); 545ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, mach_vm_region_recurse); 546ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, thread_terminate); 547ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, thread_create); 548ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, thread_create_running); 549ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, thread_suspend); 550ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, thread_get_state); 551ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, thread_policy); 552ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, thread_policy_set); 553ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, thread_info); 554ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, bootstrap_register); 555ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, bootstrap_look_up); 556ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, mach_msg_receive); 557ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, mach_msg_bootstrap); 558ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, mach_msg_host); 559ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, mach_msg_task); 560ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, mach_msg_thread); 561ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 562ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// Mach traps 563663860b1408516d02ebfcb3a9999a134e6cfb223Ben Cheng#if DARWIN_VERS == DARWIN_10_8 564663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengDECL_TEMPLATE(darwin, mach__10); 565663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengDECL_TEMPLATE(darwin, mach__12); 566663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengDECL_TEMPLATE(darwin, mach__14); 567663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengDECL_TEMPLATE(darwin, mach__16); 568663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengDECL_TEMPLATE(darwin, mach__18); 569663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengDECL_TEMPLATE(darwin, mach__19); 570663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengDECL_TEMPLATE(darwin, mach__20); 571663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengDECL_TEMPLATE(darwin, mach__21); 572663860b1408516d02ebfcb3a9999a134e6cfb223Ben Cheng#endif /* DARWIN_VERS == DARWIN_10_8 */ 573ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, mach_msg_unhandled); 574ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, mach_msg); 575ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, mach_reply_port); 576ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, mach_thread_self); 577ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, mach_host_self); 578ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, mach_task_self); 579ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, syscall_thread_switch); 580ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, semaphore_signal); 581ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, semaphore_signal_all); 582ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, semaphore_signal_thread); 583ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, semaphore_wait); 584ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, semaphore_wait_signal); 585ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, semaphore_timedwait); 586ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, semaphore_timedwait_signal); 587ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, task_for_pid); 588ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, pid_for_task); 589ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, mach_timebase_info); 590ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, mach_wait_until); 591ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, mk_timer_create); 592ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, mk_timer_destroy); 593ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, mk_timer_arm); 594ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, mk_timer_cancel); 595ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, iokit_user_client_trap); 596ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, swtch); 597ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, swtch_pri); 598ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 599ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// Machine-dependent traps 600ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownDECL_TEMPLATE(darwin, thread_fast_set_cthread_self); 601ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 602ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// syswrap-<arch>-darwin.c 603ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#include <mach/mach.h> 604ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brownextern 605ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brownvoid thread_state_from_vex(thread_state_t mach_generic, 606ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown thread_state_flavor_t flavor, 607ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown mach_msg_type_number_t count, 608ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown VexGuestArchState *vex_generic); 609ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brownextern 610ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brownvoid thread_state_to_vex(const thread_state_t mach_generic, 611ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown thread_state_flavor_t flavor, 612ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown mach_msg_type_number_t count, 613ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown VexGuestArchState *vex_generic); 614ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brownextern 615ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownThreadState *build_thread(const thread_state_t state, 616ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown thread_state_flavor_t flavor, 617ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown mach_msg_type_number_t count); 618ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brownextern 619ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brownvoid hijack_thread_state(thread_state_t mach_generic, 620ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown thread_state_flavor_t flavor, 621ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown mach_msg_type_number_t count, 622ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown ThreadState *tst); 623ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brownextern 624ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown__attribute__((noreturn)) 625ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brownvoid call_on_new_stack_0_1 ( Addr stack, 626ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown Addr retaddr, 627ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown void (*f)(Word), 628ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown Word arg1 ); 629ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 630ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brownextern void pthread_hijack_asm(void); 631ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brownextern void pthread_hijack(Addr self, Addr kport, Addr func, Addr func_arg, 632ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown Addr stacksize, Addr flags, Addr sp); 633ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brownextern void wqthread_hijack_asm(void); 634ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brownextern void wqthread_hijack(Addr self, Addr kport, Addr stackaddr, Addr workitem, Int reuse, Addr sp); 635ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 636ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brownextern Addr pthread_starter; 637ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brownextern Addr wqthread_starter; 638ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brownextern SizeT pthread_structsize; 639ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 640ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 641ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#endif 642ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 643ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown/*--------------------------------------------------------------------*/ 644ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown/*--- end ---*/ 645ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown/*--------------------------------------------------------------------*/ 646