1 2 /*--------------------------------------------------------------------*/ 3 /*--- FreeBSD-specific syscalls stuff. priv_syswrap-freebsd.h ---*/ 4 /*--------------------------------------------------------------------*/ 5 6 /* 7 This file is part of Valgrind, a dynamic binary instrumentation 8 framework. 9 10 Copyright (C) 2000-2008 Nicholas Nethercote 11 njn@valgrind.org 12 13 This program is free software; you can redistribute it and/or 14 modify it under the terms of the GNU General Public License as 15 published by the Free Software Foundation; either version 2 of the 16 License, or (at your option) any later version. 17 18 This program is distributed in the hope that it will be useful, but 19 WITHOUT ANY WARRANTY; without even the implied warranty of 20 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 21 General Public License for more details. 22 23 You should have received a copy of the GNU General Public License 24 along with this program; if not, write to the Free Software 25 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 26 02111-1307, USA. 27 28 The GNU General Public License is contained in the file COPYING. 29 */ 30 31 #ifndef __PRIV_SYSWRAP_FREEBSD_H 32 #define __PRIV_SYSWRAP_FREEBSD_H 33 34 /* requires #include "priv_types_n_macros.h" */ 35 36 // Clone-related functions 37 extern Word ML_(start_thread_NORETURN) ( void* arg ); 38 extern Addr ML_(allocstack) ( ThreadId tid ); 39 extern void ML_(call_on_new_stack_0_1) ( Addr stack, Addr retaddr, 40 void (*f)(Word), Word arg1 ); 41 extern SysRes ML_(do_fork) ( ThreadId tid ); 42 extern SysRes ML_(do_vfork) ( ThreadId tid ); 43 extern SysRes ML_(do_rfork) ( ThreadId tid, Int flags ); 44 45 46 DECL_TEMPLATE(freebsd, sys_syscall); 47 DECL_TEMPLATE(freebsd, sys_exit); 48 DECL_TEMPLATE(freebsd, sys_getfsstat4); 49 DECL_TEMPLATE(freebsd, sys_getfsstat); 50 DECL_TEMPLATE(freebsd, sys_mount); 51 DECL_TEMPLATE(freebsd, sys_unmount); 52 DECL_TEMPLATE(freebsd, sys_ptrace); 53 DECL_TEMPLATE(freebsd, sys_recvmsg); 54 DECL_TEMPLATE(freebsd, sys_sendmsg); 55 DECL_TEMPLATE(freebsd, sys_recvfrom); 56 DECL_TEMPLATE(freebsd, sys_accept); 57 DECL_TEMPLATE(freebsd, sys_getpeername); 58 DECL_TEMPLATE(freebsd, sys_getsockname); 59 DECL_TEMPLATE(freebsd, sys_chflags); 60 DECL_TEMPLATE(freebsd, sys_fchflags); 61 DECL_TEMPLATE(freebsd, sys_pipe); 62 DECL_TEMPLATE(freebsd, sys_pipe2); 63 DECL_TEMPLATE(freebsd, sys_ktrace); 64 DECL_TEMPLATE(freebsd, sys_getlogin); 65 DECL_TEMPLATE(freebsd, sys_setlogin); 66 DECL_TEMPLATE(freebsd, sys_reboot); 67 DECL_TEMPLATE(freebsd, sys_revoke); 68 DECL_TEMPLATE(freebsd, sys_sbrk); 69 DECL_TEMPLATE(freebsd, sys_sstk); 70 DECL_TEMPLATE(freebsd, sys_swapon); 71 DECL_TEMPLATE(freebsd, sys_getdtablesize); 72 DECL_TEMPLATE(freebsd, sys_socket); 73 DECL_TEMPLATE(freebsd, sys_connect); 74 DECL_TEMPLATE(freebsd, sys_bind); 75 DECL_TEMPLATE(freebsd, sys_setsockopt); 76 DECL_TEMPLATE(freebsd, sys_listen); 77 DECL_TEMPLATE(freebsd, sys_getsockopt); 78 DECL_TEMPLATE(freebsd, sys_mkfifo); 79 DECL_TEMPLATE(freebsd, sys_sendto); 80 DECL_TEMPLATE(freebsd, sys_shutdown); 81 DECL_TEMPLATE(freebsd, sys_socketpair); 82 DECL_TEMPLATE(freebsd, sys_adjtime); 83 DECL_TEMPLATE(freebsd, sys_quotactl); 84 DECL_TEMPLATE(freebsd, sys_nfssvc); 85 DECL_TEMPLATE(freebsd, sys_getfh); 86 DECL_TEMPLATE(freebsd, sys_getdomainname); 87 DECL_TEMPLATE(freebsd, sys_setdomainname); 88 DECL_TEMPLATE(freebsd, sys_uname); 89 DECL_TEMPLATE(freebsd, sys_sysarch); 90 DECL_TEMPLATE(freebsd, sys_rtprio); 91 DECL_TEMPLATE(freebsd, sys_semsys); 92 DECL_TEMPLATE(freebsd, sys_msgsys); 93 DECL_TEMPLATE(freebsd, sys_shmsys); 94 DECL_TEMPLATE(freebsd, sys_pread); 95 DECL_TEMPLATE(freebsd, sys_pwrite); 96 DECL_TEMPLATE(freebsd, sys_ntp_adjtime); 97 DECL_TEMPLATE(freebsd, sys_setegid); 98 DECL_TEMPLATE(freebsd, sys_seteuid); 99 DECL_TEMPLATE(freebsd, sys_stat); 100 DECL_TEMPLATE(freebsd, sys_fstat); 101 DECL_TEMPLATE(freebsd, sys_lstat); 102 DECL_TEMPLATE(freebsd, sys_pathconf); 103 DECL_TEMPLATE(freebsd, sys_fpathconf); 104 DECL_TEMPLATE(freebsd, sys_getdirentries); 105 DECL_TEMPLATE(freebsd, sys_mmap); 106 DECL_TEMPLATE(freebsd, sys___syscall); 107 DECL_TEMPLATE(freebsd, sys_lseek); 108 DECL_TEMPLATE(freebsd, sys_truncate); 109 DECL_TEMPLATE(freebsd, sys_ftruncate); 110 DECL_TEMPLATE(freebsd, sys___sysctl); 111 DECL_TEMPLATE(freebsd, sys_undelete); 112 DECL_TEMPLATE(freebsd, sys_futimes); 113 DECL_TEMPLATE(freebsd, sys_nfs_fhopen); 114 DECL_TEMPLATE(freebsd, sys___semctl7); 115 DECL_TEMPLATE(freebsd, sys___semctl); 116 DECL_TEMPLATE(freebsd, sys_semget); 117 DECL_TEMPLATE(freebsd, sys_semop); 118 DECL_TEMPLATE(freebsd, sys_msgctl); 119 DECL_TEMPLATE(freebsd, sys_msgget); 120 DECL_TEMPLATE(freebsd, sys_msgsnd); 121 DECL_TEMPLATE(freebsd, sys_msgrcv); 122 DECL_TEMPLATE(freebsd, sys_shmat); 123 DECL_TEMPLATE(freebsd, sys_shmctl); 124 DECL_TEMPLATE(freebsd, sys_shmctl7); 125 DECL_TEMPLATE(freebsd, sys_shmdt); 126 DECL_TEMPLATE(freebsd, sys_shmget); 127 DECL_TEMPLATE(freebsd, sys_clock_gettime); 128 DECL_TEMPLATE(freebsd, sys_clock_settime); 129 DECL_TEMPLATE(freebsd, sys_clock_getres); 130 DECL_TEMPLATE(freebsd, sys_minherit); 131 DECL_TEMPLATE(freebsd, sys_rfork); 132 DECL_TEMPLATE(freebsd, sys_issetugid); 133 DECL_TEMPLATE(freebsd, sys_lchmod); 134 DECL_TEMPLATE(freebsd, sys_lutimes); 135 DECL_TEMPLATE(freebsd, sys_netbsd_msync); 136 DECL_TEMPLATE(freebsd, sys_nstat); 137 DECL_TEMPLATE(freebsd, sys_nfstat); 138 DECL_TEMPLATE(freebsd, sys_nlstat); 139 DECL_TEMPLATE(freebsd, sys_fhstatfs); 140 DECL_TEMPLATE(freebsd, sys_fhopen); 141 DECL_TEMPLATE(freebsd, sys_fhstat); 142 DECL_TEMPLATE(freebsd, sys_modnext); 143 DECL_TEMPLATE(freebsd, sys_modstat); 144 DECL_TEMPLATE(freebsd, sys_modfnext); 145 DECL_TEMPLATE(freebsd, sys_modfind); 146 DECL_TEMPLATE(freebsd, sys_kldload); 147 DECL_TEMPLATE(freebsd, sys_kldunload); 148 DECL_TEMPLATE(freebsd, sys_kldfind); 149 DECL_TEMPLATE(freebsd, sys_kldnext); 150 DECL_TEMPLATE(freebsd, sys_kldstat); 151 DECL_TEMPLATE(freebsd, sys_kldfirstmod); 152 DECL_TEMPLATE(freebsd, sys_setresuid); 153 DECL_TEMPLATE(freebsd, sys_setresgid); 154 DECL_TEMPLATE(freebsd, sys_aio_return); 155 DECL_TEMPLATE(freebsd, sys_aio_suspend); 156 DECL_TEMPLATE(freebsd, sys_aio_cancel); 157 DECL_TEMPLATE(freebsd, sys_aio_error); 158 DECL_TEMPLATE(freebsd, sys_aio_read); 159 DECL_TEMPLATE(freebsd, sys_aio_write); 160 DECL_TEMPLATE(freebsd, sys_lio_listio); 161 DECL_TEMPLATE(freebsd, sys_yield); 162 DECL_TEMPLATE(freebsd, sys_thr_sleep); 163 DECL_TEMPLATE(freebsd, sys_thr_wakeup); 164 DECL_TEMPLATE(freebsd, sys_munlockall); 165 DECL_TEMPLATE(freebsd, sys___getcwd); 166 DECL_TEMPLATE(freebsd, sys_sched_setparam); 167 DECL_TEMPLATE(freebsd, sys_sched_getparam); 168 DECL_TEMPLATE(freebsd, sys_sched_setscheduler); 169 DECL_TEMPLATE(freebsd, sys_sched_getscheduler); 170 DECL_TEMPLATE(freebsd, sys_sched_yield); 171 DECL_TEMPLATE(freebsd, sys_sched_get_priority_max); 172 DECL_TEMPLATE(freebsd, sys_sched_get_priority_min); 173 DECL_TEMPLATE(freebsd, sys_sched_rr_get_interval); 174 DECL_TEMPLATE(freebsd, sys_utrace); 175 DECL_TEMPLATE(freebsd, sys_kldsym); 176 DECL_TEMPLATE(freebsd, sys_jail); 177 DECL_TEMPLATE(freebsd, sys_sigprocmask); 178 DECL_TEMPLATE(freebsd, sys_sigsuspend); 179 DECL_TEMPLATE(freebsd, sys_sigaction); 180 DECL_TEMPLATE(freebsd, sys_sigpending); 181 DECL_TEMPLATE(freebsd, sys_sigreturn); 182 DECL_TEMPLATE(freebsd, sys_fake_sigreturn); 183 DECL_TEMPLATE(freebsd, sys_sigtimedwait); 184 DECL_TEMPLATE(freebsd, sys_sigwaitinfo); 185 DECL_TEMPLATE(freebsd, sys_getcontext); 186 DECL_TEMPLATE(freebsd, sys_setcontext); 187 DECL_TEMPLATE(freebsd, sys_swapcontext); 188 DECL_TEMPLATE(freebsd, sys___acl_get_file); 189 DECL_TEMPLATE(freebsd, sys___acl_set_file); 190 DECL_TEMPLATE(freebsd, sys___acl_get_fd); 191 DECL_TEMPLATE(freebsd, sys___acl_set_fd); 192 DECL_TEMPLATE(freebsd, sys___acl_delete_file); 193 DECL_TEMPLATE(freebsd, sys___acl_delete_fd); 194 DECL_TEMPLATE(freebsd, sys___acl_aclcheck_file); 195 DECL_TEMPLATE(freebsd, sys___acl_aclcheck_fd); 196 DECL_TEMPLATE(freebsd, sys___acl_get_link); 197 DECL_TEMPLATE(freebsd, sys___acl_set_link); 198 DECL_TEMPLATE(freebsd, sys___acl_delete_link); 199 DECL_TEMPLATE(freebsd, sys___acl_aclcheck_link); 200 DECL_TEMPLATE(freebsd, sys_extattrctl); 201 DECL_TEMPLATE(freebsd, sys_extattr_set_file); 202 DECL_TEMPLATE(freebsd, sys_extattr_get_file); 203 DECL_TEMPLATE(freebsd, sys_extattr_delete_file); 204 DECL_TEMPLATE(freebsd, sys_aio_waitcomplete); 205 DECL_TEMPLATE(freebsd, sys_getresuid); 206 DECL_TEMPLATE(freebsd, sys_getresgid); 207 DECL_TEMPLATE(freebsd, sys_kqueue); 208 DECL_TEMPLATE(freebsd, sys_kevent); 209 DECL_TEMPLATE(freebsd, sys_sendfile); 210 DECL_TEMPLATE(freebsd, sys_statfs6); 211 DECL_TEMPLATE(freebsd, sys_fstatfs6); 212 DECL_TEMPLATE(freebsd, sys_fhstatfs6); 213 DECL_TEMPLATE(freebsd, sys_thr_exit); 214 DECL_TEMPLATE(freebsd, sys_thr_self); 215 DECL_TEMPLATE(freebsd, sys_thr_set_name); 216 DECL_TEMPLATE(freebsd, sys_rtprio_thread); 217 DECL_TEMPLATE(freebsd, sys_fork); 218 DECL_TEMPLATE(freebsd, sys_vfork); 219 DECL_TEMPLATE(freebsd, sys_modfind); 220 DECL_TEMPLATE(freebsd, sys_modstat); 221 DECL_TEMPLATE(freebsd, sys_lkmnosys0); 222 DECL_TEMPLATE(freebsd, sys_lkmnosys1); 223 DECL_TEMPLATE(freebsd, sys_lkmnosys2); 224 DECL_TEMPLATE(freebsd, sys_lkmnosys3); 225 DECL_TEMPLATE(freebsd, sys_lkmnosys4); 226 DECL_TEMPLATE(freebsd, sys_lkmnosys5); 227 DECL_TEMPLATE(freebsd, sys_lkmnosys6); 228 DECL_TEMPLATE(freebsd, sys_lkmnosys7); 229 DECL_TEMPLATE(freebsd, sys_lkmnosys8); 230 DECL_TEMPLATE(freebsd, sys_sigaction4); 231 DECL_TEMPLATE(freebsd, sys_mmap7); 232 DECL_TEMPLATE(freebsd, sys_lseek7); 233 DECL_TEMPLATE(freebsd, sys_truncate7); 234 DECL_TEMPLATE(freebsd, sys_ftruncate7); 235 DECL_TEMPLATE(freebsd, sys_pread7); 236 DECL_TEMPLATE(freebsd, sys_pwrite7); 237 DECL_TEMPLATE(freebsd, sys__umtx_op); 238 DECL_TEMPLATE(freebsd, sys__umtx_lock); 239 DECL_TEMPLATE(freebsd, sys__umtx_unlock); 240 DECL_TEMPLATE(freebsd, sys_thr_kill2); 241 DECL_TEMPLATE(freebsd, sys_thr_wake); 242 DECL_TEMPLATE(freebsd, sys_shm_open); 243 DECL_TEMPLATE(freebsd, sys_shm_unlink); 244 DECL_TEMPLATE(freebsd, sys_eaccess); 245 DECL_TEMPLATE(freebsd, sys_cpuset); 246 DECL_TEMPLATE(freebsd, sys_cpuset_setid); 247 DECL_TEMPLATE(freebsd, sys_cpuset_getid); 248 DECL_TEMPLATE(freebsd, sys_cpuset_getaffinity); 249 DECL_TEMPLATE(freebsd, sys_cpuset_setaffinity); 250 DECL_TEMPLATE(freebsd, sys_faccessat); 251 DECL_TEMPLATE(freebsd, sys_fchmodat); 252 DECL_TEMPLATE(freebsd, sys_fchownat); 253 DECL_TEMPLATE(freebsd, sys_fexecve); 254 DECL_TEMPLATE(freebsd, sys_fstatat); 255 DECL_TEMPLATE(freebsd, sys_futimesat); 256 DECL_TEMPLATE(freebsd, sys_linkat); 257 DECL_TEMPLATE(freebsd, sys_mkdirat); 258 DECL_TEMPLATE(freebsd, sys_mkfifoat); 259 DECL_TEMPLATE(freebsd, sys_mknodat); 260 DECL_TEMPLATE(freebsd, sys_openat); 261 DECL_TEMPLATE(freebsd, sys_readlinkat); 262 DECL_TEMPLATE(freebsd, sys_renameat); 263 DECL_TEMPLATE(freebsd, sys_symlinkat); 264 DECL_TEMPLATE(freebsd, sys_unlinkat); 265 DECL_TEMPLATE(freebsd, sys_posix_openpt); 266 DECL_TEMPLATE(freebsd, sys_kenv); 267 DECL_TEMPLATE(freebsd, sys_uuidgen); 268 DECL_TEMPLATE(freebsd, sys_thr_new); 269 DECL_TEMPLATE(freebsd, sys_thr_kill); 270 DECL_TEMPLATE(freebsd, sys_thr_kill2); 271 DECL_TEMPLATE(freebsd, sys_fcntl); 272 DECL_TEMPLATE(freebsd, sys_ioctl); 273 DECL_TEMPLATE(freebsd, sys_mq_open); 274 DECL_TEMPLATE(freebsd, sys_mq_unlink); 275 #endif // __PRIV_SYSWRAP_FREEBSD_H 276 277 /*--------------------------------------------------------------------*/ 278 /*--- end ---*/ 279 /*--------------------------------------------------------------------*/ 280