2 /*--------------------------------------------------------------------*/
3 /*--- FreeBSD-specific syscalls stuff. priv_syswrap-freebsd.h ---*/
4 /*--------------------------------------------------------------------*/
7 This file is part of Valgrind, a dynamic binary instrumentation
10 Copyright (C) 2000-2008 Nicholas Nethercote
12 Copyright (C) 2018-2021 Paul Floyd
15 This program is free software; you can redistribute it and/or
16 modify it under the terms of the GNU General Public License as
17 published by the Free Software Foundation; either version 2 of the
18 License, or (at your option) any later version.
20 This program is distributed in the hope that it will be useful, but
21 WITHOUT ANY WARRANTY; without even the implied warranty of
22 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
23 General Public License for more details.
25 You should have received a copy of the GNU General Public License
26 along with this program; if not, see <http://www.gnu.org/licenses/>.
28 The GNU General Public License is contained in the file COPYING.
31 #ifndef PRIV_SYSWRAP_FREEBSD_H
32 #define PRIV_SYSWRAP_FREEBSD_H
34 /* requires #include "priv_types_n_macros.h" */
35 #include "priv_types_n_macros.h"
38 // Clone-related functions
39 extern Word
ML_(start_thread_NORETURN
) ( void* arg
);
40 extern Addr
ML_(allocstack
) ( ThreadId tid
);
41 extern void ML_(call_on_new_stack_0_1
) ( Addr stack
, Addr retaddr
,
42 void (*f
)(Word
), Word arg1
);
43 extern SysRes
ML_(do_fork
) ( ThreadId tid
);
44 extern SysRes
ML_(do_vfork
) ( ThreadId tid
);
45 extern SysRes
ML_(do_rfork
) ( ThreadId tid
, Int flags
);
48 DECL_TEMPLATE(freebsd
, sys_syscall
)
49 DECL_TEMPLATE(freebsd
, sys_exit
) // 1
50 DECL_TEMPLATE(freebsd
, sys_fork
) // 2
64 DECL_TEMPLATE(freebsd
, sys_mount
) // 21
65 DECL_TEMPLATE(freebsd
, sys_unmount
) // 22
66 DECL_TEMPLATE(freebsd
, sys_ptrace
) // 26
67 DECL_TEMPLATE(freebsd
, sys_recvmsg
) // 27
68 DECL_TEMPLATE(freebsd
, sys_sendmsg
) // 28
69 DECL_TEMPLATE(freebsd
, sys_recvfrom
) // 29
70 DECL_TEMPLATE(freebsd
, sys_accept
) // 30
71 DECL_TEMPLATE(freebsd
, sys_getpeername
) // 31
72 DECL_TEMPLATE(freebsd
, sys_getsockname
) // 32
74 DECL_TEMPLATE(freebsd
, sys_chflags
) // 34
75 DECL_TEMPLATE(freebsd
, sys_fchflags
) // 35
80 DECL_TEMPLATE(freebsd
, sys_pipe
) // 42
82 // generic profil redirect to ni_syscall 44
83 // sys_ktrace refirect to ni_syscall 45
85 DECL_TEMPLATE(freebsd
, sys_getlogin
) // 49
86 DECL_TEMPLATE(freebsd
, sys_setlogin
) // 50
88 // generic sigaltstack 53
89 DECL_TEMPLATE(freebsd
, sys_ioctl
) // 54
90 DECL_TEMPLATE(freebsd
, sys_reboot
) // 55
91 DECL_TEMPLATE(freebsd
, sys_revoke
) // 56
93 DECL_TEMPLATE(freebsd
, sys_readlink
) // 58
98 DECL_TEMPLATE(freebsd
, sys_vfork
) // 66
99 DECL_TEMPLATE(freebsd
, sys_sbrk
) // 69
101 // freebsd11 vadvise 72
103 // generic mprotect 74
104 // generic madvise 75
105 // generic mincore 78
106 // generic getgroups 79
107 // generic setgroups 80
108 // generic getpgrp 81
109 // generic setpgid 82
110 // generic setitimer 83
112 DECL_TEMPLATE(freebsd
, sys_swapon
) // 85
113 // generic getitimer 86
114 DECL_TEMPLATE(freebsd
, sys_getdtablesize
) // 90
115 DECL_TEMPLATE(freebsd
, sys_fcntl
) // 92
118 // generic setpriority 96
119 DECL_TEMPLATE(freebsd
, sys_socket
) // 97
120 DECL_TEMPLATE(freebsd
, sys_connect
) // 98
121 // generic getpriority 100
122 DECL_TEMPLATE(freebsd
, sys_bind
) // 104
123 DECL_TEMPLATE(freebsd
, sys_setsockopt
) // 105
124 DECL_TEMPLATE(freebsd
, sys_listen
) // 106
125 // generic gettimeofday 116
126 // generic rusage 117
127 DECL_TEMPLATE(freebsd
, sys_getsockopt
) // 118
130 // generic writev 121
131 // generic settimeofday 122
132 // generic fchown 123
133 // generic fchmod 124
134 // generic setreuid 126
135 // generic setregid 127
136 // generic rename 128
138 DECL_TEMPLATE(freebsd
, sys_mkfifo
) // 132
139 DECL_TEMPLATE(freebsd
, sys_sendto
) // 133
140 DECL_TEMPLATE(freebsd
, sys_shutdown
) // 134
141 DECL_TEMPLATE(freebsd
, sys_socketpair
) // 135
145 DECL_TEMPLATE(freebsd
, sys_adjtime
) // 140
146 // generic setsid 147
147 DECL_TEMPLATE(freebsd
, sys_quotactl
) // 148
148 // unimp nlm_syscall 154
149 //DECL_TEMPLATE(freebsd, sys_nfssvc) 155
150 DECL_TEMPLATE(freebsd
, sys_lgetfh
) // 160
151 DECL_TEMPLATE(freebsd
, sys_getfh
) // 161
152 #if (FREEBSD_VERS <= FREEBSD_10)
153 DECL_TEMPLATE(freebsd
, sys_freebsd4_getdomainname
) // 162
154 DECL_TEMPLATE(freebsd
, sys_freebsd4_setdomainname
) // 163
155 DECL_TEMPLATE(freebsd
, sys_freebsd4_uname
) // 164
157 DECL_TEMPLATE(freebsd
, sys_sysarch
) // 165
158 DECL_TEMPLATE(freebsd
, sys_rtprio
) // 166
159 //DECL_TEMPLATE(freebsd, sys_semsys) 169
160 //DECL_TEMPLATE(freebsd, sys_msgsys) 170
161 //DECL_TEMPLATE(freebsd, sys_shmsys) 171
162 #if (FREEBSD_VERS <= FREEBSD_10)
163 DECL_TEMPLATE(freebsd
, sys_freebsd6_pread
) // 173
164 DECL_TEMPLATE(freebsd
, sys_freebsd6_pwrite
) // 174
166 DECL_TEMPLATE(freebsd
, sys_setfib
) // 175
167 //DECL_TEMPLATE(freebsd, sys_ntp_adjtime) 176
168 // generic setgid 181
169 DECL_TEMPLATE(freebsd
, sys_setegid
) // 182
170 DECL_TEMPLATE(freebsd
, sys_seteuid
) // 183
171 #if (FREEBSD_VERS >= FREEBSD_12)
172 DECL_TEMPLATE(freebsd
, sys_freebsd11_stat
) // 188
173 DECL_TEMPLATE(freebsd
, sys_freebsd11_fstat
) // 189
174 DECL_TEMPLATE(freebsd
, sys_freebsd11_lstat
)// 190
176 DECL_TEMPLATE(freebsd
, sys_stat
) // 188
177 DECL_TEMPLATE(freebsd
, sys_fstat
) // 189
178 DECL_TEMPLATE(freebsd
, sys_lstat
) // 190
180 DECL_TEMPLATE(freebsd
, sys_pathconf
) // 191
181 DECL_TEMPLATE(freebsd
, sys_fpathconf
) // 192
182 // generic getrlimit 194
183 // generic setrlimit 195
184 #if (FREEBSD_VERS >= FREEBSD_12)
185 DECL_TEMPLATE(freebsd
, sys_freebsd11_getdirentries
) // 196
187 DECL_TEMPLATE(freebsd
, sys_getdirentries
) // 196
190 #if (FREEBSD_VERS <= FREEBSD_10)
191 DECL_TEMPLATE(freebsd
, sys_freebsd6_mmap
) // 197
194 #if (FREEBSD_VERS <= FREEBSD_10)
195 DECL_TEMPLATE(freebsd
, sys_freebsd6_lseek
) // 199
196 DECL_TEMPLATE(freebsd
, sys_freebsd6_truncate
) // 200
197 DECL_TEMPLATE(freebsd
, sys_freebsd6_ftruncate
) // 201
199 DECL_TEMPLATE(freebsd
, sys___sysctl
) // 202
201 // generic munlock 203
202 DECL_TEMPLATE(freebsd
, sys_undelete
) // 205
203 DECL_TEMPLATE(freebsd
, sys_futimes
) // 206
204 // generic getpgod 207
206 DECL_TEMPLATE(freebsd
, sys_freebsd7___semctl
) // 220
207 DECL_TEMPLATE(freebsd
, sys_semget
) // 221
208 DECL_TEMPLATE(freebsd
, sys_semop
) // 222
209 DECL_TEMPLATE(freebsd
, sys_freebsd7_msgctl
) // 224
210 DECL_TEMPLATE(freebsd
, sys_msgget
) // 225
211 DECL_TEMPLATE(freebsd
, sys_msgsnd
) // 226
212 DECL_TEMPLATE(freebsd
, sys_msgrcv
) // 227
213 DECL_TEMPLATE(freebsd
, sys_shmat
) // 228
214 DECL_TEMPLATE(freebsd
, sys_freebsd7_shmctl
) // 229
215 DECL_TEMPLATE(freebsd
, sys_shmdt
) // 230
216 DECL_TEMPLATE(freebsd
, sys_shmget
) // 231
217 DECL_TEMPLATE(freebsd
, sys_clock_gettime
) // 232
218 DECL_TEMPLATE(freebsd
, sys_clock_settime
) // 233
219 DECL_TEMPLATE(freebsd
, sys_clock_getres
) // 234
220 DECL_TEMPLATE(freebsd
, sys_timer_create
) // 235
221 DECL_TEMPLATE(freebsd
, sys_timer_delete
) // 236
222 DECL_TEMPLATE(freebsd
, sys_timer_settime
) // 237
223 DECL_TEMPLATE(freebsd
, sys_timer_gettime
) // 238
224 DECL_TEMPLATE(freebsd
, sys_timer_getoverrun
) // 239
225 // generic sys_nanosleep 240
226 // unimpl ffclock_getcounter 241
227 // unimpl ffclock_setestimate 242
228 // unimpl ffclock_getestimate 243
229 DECL_TEMPLATE(freebsd
, sys_clock_nanosleep
) // 244
230 DECL_TEMPLATE(freebsd
, sys_clock_getcpuclockid2
) // 247
231 // unimpl ntp_gettime 248
232 DECL_TEMPLATE(freebsd
, sys_minherit
) // 250
233 DECL_TEMPLATE(freebsd
, sys_rfork
) // 251
234 DECL_TEMPLATE(freebsd
, sys_issetugid
) // 253
235 // generic lchown 254
236 DECL_TEMPLATE(freebsd
, sys_aio_read
) // 255
237 DECL_TEMPLATE(freebsd
, sys_aio_write
) // 256
238 DECL_TEMPLATE(freebsd
, sys_lio_listio
) // 257
239 // generic sys_getdents 272
240 DECL_TEMPLATE(freebsd
, sys_lchmod
) // 274
241 DECL_TEMPLATE(freebsd
, sys_lutimes
) // 276
243 // unimpl freebsd11_nstat 278
244 // unimpl freebsd11_nfstat 279
245 // unimpl freebsd11_nlstat 280
246 DECL_TEMPLATE(freebsd
, sys_preadv
) // 289
247 DECL_TEMPLATE(freebsd
, sys_pwritev
) // 290
249 DECL_TEMPLATE(freebsd
, sys_fhopen
) // 298
251 #if (FREEBSD_VERS >= FREEBSD_12)
252 DECL_TEMPLATE(freebsd
, sys_freebsd11_fhstat
) // 299
254 DECL_TEMPLATE(freebsd
, sys_fhstat
) // 299
257 DECL_TEMPLATE(freebsd
, sys_modnext
) // 300
258 DECL_TEMPLATE(freebsd
, sys_modstat
) // 301
259 DECL_TEMPLATE(freebsd
, sys_modfnext
) // 302
260 DECL_TEMPLATE(freebsd
, sys_modfind
) // 303
262 DECL_TEMPLATE(freebsd
, sys_kldload
) // 304
263 DECL_TEMPLATE(freebsd
, sys_kldunload
) // 305
264 DECL_TEMPLATE(freebsd
, sys_kldfind
) // 306
265 DECL_TEMPLATE(freebsd
, sys_kldnext
) // 307
266 DECL_TEMPLATE(freebsd
, sys_kldstat
) // 308
267 DECL_TEMPLATE(freebsd
, sys_kldfirstmod
) // 309
268 DECL_TEMPLATE(freebsd
, sys_setresuid
) // 311
269 DECL_TEMPLATE(freebsd
, sys_setresgid
) // 312
270 DECL_TEMPLATE(freebsd
, sys_aio_return
) //314
271 DECL_TEMPLATE(freebsd
, sys_aio_suspend
) // 315
272 DECL_TEMPLATE(freebsd
, sys_aio_cancel
) // 316
273 DECL_TEMPLATE(freebsd
, sys_aio_error
) // 317
274 DECL_TEMPLATE(freebsd
, sys_yield
) // 321
275 DECL_TEMPLATE(freebsd
, sys_munlockall
) // 325
276 DECL_TEMPLATE(freebsd
, sys___getcwd
) // 326
277 DECL_TEMPLATE(freebsd
, sys_sched_setparam
) // 327
278 DECL_TEMPLATE(freebsd
, sys_sched_getparam
) // 328
279 DECL_TEMPLATE(freebsd
, sys_sched_setscheduler
) // 329
280 DECL_TEMPLATE(freebsd
, sys_sched_getscheduler
) // 330
281 DECL_TEMPLATE(freebsd
, sys_sched_yield
) // 331
282 DECL_TEMPLATE(freebsd
, sys_sched_get_priority_max
) // 332
283 DECL_TEMPLATE(freebsd
, sys_sched_get_priority_min
) // 333
284 DECL_TEMPLATE(freebsd
, sys_sched_rr_get_interval
) // 334
285 DECL_TEMPLATE(freebsd
, sys_utrace
) // 335
286 DECL_TEMPLATE(freebsd
, sys_kldsym
) // 337
287 DECL_TEMPLATE(freebsd
, sys_jail
) // 338
288 // unimpl SYS_nnpfs_syscall 339
289 DECL_TEMPLATE(freebsd
, sys_sigprocmask
) // 340
290 DECL_TEMPLATE(freebsd
, sys_sigsuspend
) // 341
292 DECL_TEMPLATE(freebsd
, sys_sigpending
) // 343
294 DECL_TEMPLATE(freebsd
, sys_sigtimedwait
) // 345
295 DECL_TEMPLATE(freebsd
, sys_sigwaitinfo
) // 346
296 DECL_TEMPLATE(freebsd
, sys___acl_get_file
) // 347
297 DECL_TEMPLATE(freebsd
, sys___acl_set_file
) // 348
298 DECL_TEMPLATE(freebsd
, sys___acl_get_fd
) // // 349
299 DECL_TEMPLATE(freebsd
, sys___acl_set_fd
) // 350
300 DECL_TEMPLATE(freebsd
, sys___acl_delete_file
) // 351
301 DECL_TEMPLATE(freebsd
, sys___acl_delete_fd
) // 352
302 DECL_TEMPLATE(freebsd
, sys___acl_aclcheck_file
) // 353
303 DECL_TEMPLATE(freebsd
, sys___acl_aclcheck_fd
) // 354
305 DECL_TEMPLATE(freebsd
, sys_extattrctl
) // 355
306 DECL_TEMPLATE(freebsd
, sys_extattr_set_file
) // 356
307 DECL_TEMPLATE(freebsd
, sys_extattr_get_file
) // 357
308 DECL_TEMPLATE(freebsd
, sys_extattr_delete_file
) // 358
309 DECL_TEMPLATE(freebsd
, sys_aio_waitcomplete
) // 350
310 DECL_TEMPLATE(freebsd
, sys_getresuid
) // 360
311 DECL_TEMPLATE(freebsd
, sys_getresgid
) // 361
312 DECL_TEMPLATE(freebsd
, sys_kqueue
) // 362
314 #if (FREEBSD_VERS >= FREEBSD_12)
315 DECL_TEMPLATE(freebsd
, sys_freebsd11_kevent
) // 363
317 DECL_TEMPLATE(freebsd
, sys_kevent
) // 363
319 DECL_TEMPLATE(freebsd
, sys_extattr_set_fd
) // 371
320 DECL_TEMPLATE(freebsd
, sys_extattr_get_fd
) // 372
321 DECL_TEMPLATE(freebsd
, sys_extattr_delete_fd
) // 373
322 DECL_TEMPLATE(freebsd
, sys___setugid
) // 374
323 DECL_TEMPLATE(freebsd
, sys_eaccess
) // 376
324 // unimpl afs3_syscall 377
325 DECL_TEMPLATE(freebsd
, sys_nmount
) // 378
326 // unimpl __mac_get_proc 384
327 // unimpl __mac_set_proc 385
328 // unimpl __mac_get_fd 386
329 // unimpl __mac_get_file 387
330 // unimpl __mac_set_fd 388
331 // unimpl __mac_set_file 389
332 DECL_TEMPLATE(freebsd
, sys_kenv
) // 390
333 DECL_TEMPLATE(freebsd
, sys_lchflags
) // 391
334 DECL_TEMPLATE(freebsd
, sys_uuidgen
) // 392
335 DECL_TEMPLATE(freebsd
, sys_sendfile
) // 292
337 #if (FREEBSD_VERS >= FREEBSD_12)
338 DECL_TEMPLATE(freebsd
, sys_freebsd11_getfsstat
) // 395
339 DECL_TEMPLATE(freebsd
, sys_freebsd11_statfs
) // 396
340 DECL_TEMPLATE(freebsd
, sys_freebsd11_fstatfs
) // 397
341 DECL_TEMPLATE(freebsd
, sys_freebsd11_fhstatfs
) // 398
343 DECL_TEMPLATE(freebsd
, sys_getfsstat
) // 395
344 DECL_TEMPLATE(freebsd
, sys_statfs
) // 396
345 DECL_TEMPLATE(freebsd
, sys_fstatfs
) // 397
346 DECL_TEMPLATE(freebsd
, sys_fhstatfs
) // 398
349 // unimpl ksem_close 400
350 // unimpl ksem_post 401
351 // unimpl ksem_wait 402
352 // unimpl ksem_trywait 403
354 // unimpl ksem_init 404
355 // unimpl ksem_open 405
356 // unimpl ksem_unlink 406
357 // unimpl ksem_getvalue 407
359 // unimpl ksem_destroy 408
360 // unimpl __mac_get_pid 409
361 // unimpl __mac_get_link 410
362 // unimpl __mac_set_link 411
364 DECL_TEMPLATE(freebsd
, sys_extattr_set_link
) // 412
365 DECL_TEMPLATE(freebsd
, sys_extattr_get_link
) // 413
366 DECL_TEMPLATE(freebsd
, sys_extattr_delete_link
) // 414
367 // unimpl __mac_execve 415
369 DECL_TEMPLATE(freebsd
, sys_sigaction
) // 416
370 DECL_TEMPLATE(freebsd
, sys_sigreturn
) // 417
371 DECL_TEMPLATE(freebsd
, sys_getcontext
) // 421
372 DECL_TEMPLATE(freebsd
, sys_setcontext
) // 422
373 DECL_TEMPLATE(freebsd
, sys_swapcontext
) // 423
375 #if (FREEBSD_VERS >= FREEBSD_13_1)
376 DECL_TEMPLATE(freebsd
, sys_freebsd13_swapoff
) // 424
378 DECL_TEMPLATE(freebsd
, sys_swapoff
) // 424
381 DECL_TEMPLATE(freebsd
, sys___acl_get_link
) // 425
382 DECL_TEMPLATE(freebsd
, sys___acl_set_link
) // 426
383 DECL_TEMPLATE(freebsd
, sys___acl_delete_link
) // 427
384 DECL_TEMPLATE(freebsd
, sys___acl_aclcheck_link
) // 428
385 DECL_TEMPLATE(freebsd
, sys_sigwait
) // 429
386 DECL_TEMPLATE(freebsd
, sys_thr_create
) // 430
387 DECL_TEMPLATE(freebsd
, sys_thr_exit
) // 431
388 DECL_TEMPLATE(freebsd
, sys_thr_self
) // 432
389 DECL_TEMPLATE(freebsd
, sys_thr_kill
) // 433
390 DECL_TEMPLATE(freebsd
, sys__umtx_lock
) // 434
391 DECL_TEMPLATE(freebsd
, sys__umtx_unlock
) // 435
392 DECL_TEMPLATE(freebsd
, sys_jail_attach
) // 436
393 DECL_TEMPLATE(freebsd
, sys_extattr_list_fd
) // 437
394 DECL_TEMPLATE(freebsd
, sys_extattr_list_file
) // 438
395 DECL_TEMPLATE(freebsd
, sys_extattr_list_link
) // 439
396 // unimpl ksem_timedwait 441
397 DECL_TEMPLATE(freebsd
, sys_thr_suspend
) // 442
398 DECL_TEMPLATE(freebsd
, sys_thr_wake
) // 443
399 DECL_TEMPLATE(freebsd
, sys_kldunloadf
) // 444
401 // unimpl auditon 446
402 // unimpl getauid 447
403 // unimpl setauid 448
404 // unimpl getaudit 449
405 // unimpl setaudit 450
406 // unimpl getaudit_addr 451
407 // unimpl setaudit_addr 452
408 // unimpl auditctl 453
409 DECL_TEMPLATE(freebsd
, sys__umtx_op
) // 454
410 DECL_TEMPLATE(freebsd
, sys_thr_new
) // 455
411 DECL_TEMPLATE(freebsd
, sys_sigqueue
) // 455
412 DECL_TEMPLATE(freebsd
, sys_kmq_open
) // 457
413 DECL_TEMPLATE(freebsd
, sys_kmq_setattr
) // 458
414 DECL_TEMPLATE(freebsd
, sys_kmq_timedreceive
) // 459
415 DECL_TEMPLATE(freebsd
, sys_kmq_timedsend
) // 460
416 DECL_TEMPLATE(freebsd
, sys_kmq_notify
) // 461
417 DECL_TEMPLATE(freebsd
, sys_kmq_unlink
) // 462
418 DECL_TEMPLATE(freebsd
, sys_abort2
) // 463
419 DECL_TEMPLATE(freebsd
, sys_thr_set_name
) // 464
420 DECL_TEMPLATE(freebsd
, sys_aio_fsync
) // 465
421 DECL_TEMPLATE(freebsd
, sys_rtprio_thread
) // 466
422 DECL_TEMPLATE(freebsd
, sys_sctp_generic_sendmsg
) // 472
423 DECL_TEMPLATE(freebsd
, sys_sctp_generic_recvmsg
) // 474
424 DECL_TEMPLATE(freebsd
, sys_pread
) // 475
425 DECL_TEMPLATE(freebsd
, sys_pwrite
) // 476
426 DECL_TEMPLATE(freebsd
, sys_mmap
) // 477
427 DECL_TEMPLATE(freebsd
, sys_lseek
) // 478
428 DECL_TEMPLATE(freebsd
, sys_truncate
) // 479
429 DECL_TEMPLATE(freebsd
, sys_ftruncate
) // 480
430 DECL_TEMPLATE(freebsd
, sys_thr_kill2
) // 481
431 DECL_TEMPLATE(freebsd
, sys_shm_open
) // 482
432 DECL_TEMPLATE(freebsd
, sys_shm_unlink
) // 483
433 DECL_TEMPLATE(freebsd
, sys_cpuset
) // 484
434 DECL_TEMPLATE(freebsd
, sys_cpuset_setid
) // 485
435 DECL_TEMPLATE(freebsd
, sys_cpuset_getid
) // 486
436 DECL_TEMPLATE(freebsd
, sys_cpuset_getaffinity
) // 487
437 DECL_TEMPLATE(freebsd
, sys_cpuset_setaffinity
) // 488
438 DECL_TEMPLATE(freebsd
, sys_faccessat
) // 489
439 DECL_TEMPLATE(freebsd
, sys_fchmodat
) //490
440 DECL_TEMPLATE(freebsd
, sys_fchownat
) // 491
441 DECL_TEMPLATE(freebsd
, sys_fexecve
) // 492
442 #if (FREEBSD_VERS >= FREEBSD_12)
443 DECL_TEMPLATE(freebsd
, sys_freebsd11_fstatat
) // 493
445 DECL_TEMPLATE(freebsd
, sys_fstatat
) // 493
447 DECL_TEMPLATE(freebsd
, sys_futimesat
) // 494
448 DECL_TEMPLATE(freebsd
, sys_linkat
) // 495
449 DECL_TEMPLATE(freebsd
, sys_mkdirat
) // 496
450 DECL_TEMPLATE(freebsd
, sys_mkfifoat
) // 497
452 #if (FREEBSD_VERS >= FREEBSD_12)
453 DECL_TEMPLATE(freebsd
, sys_freebsd11_mknodat
) // 498
455 DECL_TEMPLATE(freebsd
, sys_mknodat
) // 498
458 DECL_TEMPLATE(freebsd
, sys_openat
) // 499
459 DECL_TEMPLATE(freebsd
, sys_readlinkat
) // 500
460 DECL_TEMPLATE(freebsd
, sys_renameat
) // 501
461 DECL_TEMPLATE(freebsd
, sys_symlinkat
) // 502
462 DECL_TEMPLATE(freebsd
, sys_unlinkat
) // 503
463 DECL_TEMPLATE(freebsd
, sys_posix_openpt
) // 504
464 // unimp gssd_syscall 505
465 DECL_TEMPLATE(freebsd
, sys_jail_get
) // 506
466 DECL_TEMPLATE(freebsd
, sys_jail_set
) // 507
467 DECL_TEMPLATE(freebsd
, sys_jail_remove
) // 508
468 DECL_TEMPLATE(freebsd
, sys_closefrom
) // 508
469 DECL_TEMPLATE(freebsd
, sys___semctl
) // 510
470 DECL_TEMPLATE(freebsd
, sys_msgctl
) // 511
471 DECL_TEMPLATE(freebsd
, sys_shmctl
) // 512
472 DECL_TEMPLATE(freebsd
, sys_lpathconf
) // 513
473 DECL_TEMPLATE(freebsd
, sys_cap_rights_get
) // 515
474 DECL_TEMPLATE(freebsd
, sys_cap_enter
) // 516
475 DECL_TEMPLATE(freebsd
, sys_cap_getmode
) // 517
476 DECL_TEMPLATE(freebsd
, sys_pdfork
) // 518
477 DECL_TEMPLATE(freebsd
, sys_pdkill
) // 519
478 DECL_TEMPLATE(freebsd
, sys_pdgetpid
) // 520
479 DECL_TEMPLATE(freebsd
, sys_pselect
) // 522
480 DECL_TEMPLATE(freebsd
, sys_getloginclass
) // 523
481 DECL_TEMPLATE(freebsd
, sys_setloginclass
) // 524
482 DECL_TEMPLATE(freebsd
, sys_rctl_get_racct
) // 525
483 DECL_TEMPLATE(freebsd
, sys_rctl_get_rules
) // 526
484 DECL_TEMPLATE(freebsd
, sys_rctl_get_limits
) // 527
485 DECL_TEMPLATE(freebsd
, sys_rctl_add_rule
) // 528
486 DECL_TEMPLATE(freebsd
, sys_rctl_remove_rule
) // 529
487 DECL_TEMPLATE(freebsd
, sys_posix_fallocate
) // 530
488 DECL_TEMPLATE(freebsd
, sys_posix_fadvise
) // 531
489 DECL_TEMPLATE(freebsd
, sys_wait6
) // 532
490 DECL_TEMPLATE(freebsd
, sys_cap_rights_limit
) // 533
491 DECL_TEMPLATE(freebsd
, sys_cap_ioctls_limit
) // 534
492 DECL_TEMPLATE(freebsd
, sys_cap_ioctls_get
) // 535
493 DECL_TEMPLATE(freebsd
, sys_cap_fcntls_limit
) // 536
494 DECL_TEMPLATE(freebsd
, sys_cap_fcntls_get
) // 537
495 DECL_TEMPLATE(freebsd
, sys_bindat
) // 538
496 DECL_TEMPLATE(freebsd
, sys_connectat
) // 539
497 DECL_TEMPLATE(freebsd
, sys_chflagsat
) // 540
498 DECL_TEMPLATE(freebsd
, sys_accept4
) // 541
499 DECL_TEMPLATE(freebsd
, sys_pipe2
) // 542
500 DECL_TEMPLATE(freebsd
, sys_aio_mlock
) // 543
501 DECL_TEMPLATE(freebsd
, sys_procctl
) // 544
502 DECL_TEMPLATE(freebsd
, sys_ppoll
) // 545
503 DECL_TEMPLATE(freebsd
, sys_futimens
) // 546
504 DECL_TEMPLATE(freebsd
, sys_utimensat
) // 547
505 DECL_TEMPLATE(freebsd
, sys_fdatasync
) // 550
507 #if (FREEBSD_VERS >= FREEBSD_12)
509 DECL_TEMPLATE(freebsd
, sys_fstat
) // 551
510 DECL_TEMPLATE(freebsd
, sys_fstatat
) // 552
511 DECL_TEMPLATE(freebsd
, sys_fhstat
) // 553
512 DECL_TEMPLATE(freebsd
, sys_getdirentries
) // 554
513 DECL_TEMPLATE(freebsd
, sys_statfs
) // 555
514 DECL_TEMPLATE(freebsd
, sys_fstatfs
) // 556
515 DECL_TEMPLATE(freebsd
, sys_getfsstat
) // 557
516 DECL_TEMPLATE(freebsd
, sys_fhstatfs
) // 558
517 DECL_TEMPLATE(freebsd
, sys_mknodat
) // 559
518 DECL_TEMPLATE(freebsd
, sys_kevent
) // 560
519 DECL_TEMPLATE(freebsd
, sys_cpuset_getdomain
) // 561
520 DECL_TEMPLATE(freebsd
, sys_cpuset_setdomain
) // 562
521 DECL_TEMPLATE(freebsd
, sys_getrandom
) // 563
522 DECL_TEMPLATE(freebsd
, sys_getfhat
) // 654
523 DECL_TEMPLATE(freebsd
, sys_fhlink
) // 565
524 DECL_TEMPLATE(freebsd
, sys_fhlinkat
) // 566
525 DECL_TEMPLATE(freebsd
, sys_fhreadlink
) // 567
529 #if (FREEBSD_VERS >= FREEBSD_12_2)
531 DECL_TEMPLATE(freebsd
, sys_funlinkat
) // 568
532 DECL_TEMPLATE(freebsd
, sys_copy_file_range
) // 569
533 DECL_TEMPLATE(freebsd
, sys___sysctlbyname
) // 570
535 #if (FREEBSD_VERS >= FREEBSD_13_0)
536 // looks like close_range got backported
537 // to 12.2 leaving these 4 marked as UNIMPL in 12.2
538 DECL_TEMPLATE(freebsd
, sys_shm_open2
) // 571
539 // unimpl __NR_shm_rename 572
540 DECL_TEMPLATE(freebsd
, sys_sigfastblock
) // 573
541 DECL_TEMPLATE(freebsd
, sys___realpathat
) // 574
544 DECL_TEMPLATE(freebsd
, sys_close_range
) // 575
548 #if (FREEBSD_VERS >= FREEBSD_13_0)
550 // unimpl __NR_rpctls_syscall 576
551 DECL_TEMPLATE(freebsd
, sys___specialfd
) // 577
552 DECL_TEMPLATE(freebsd
, sys_aio_writev
) // 578
553 DECL_TEMPLATE(freebsd
, sys_aio_readv
) // 579
557 #if (FREEBSD_VERS >= FREEBSD_13_1)
559 // unimpl __NR_fspacectl 580
560 // unimpl __NR_sched_getcpu 581
561 DECL_TEMPLATE(freebsd
, sys_swapoff
) // 582
564 #if (FREEBSD_VERS >= FREEBSD_15)
565 DECL_TEMPLATE(freebsd
, sys_kqueuex
); // 583
566 DECL_TEMPLATE(freebsd
, sys_membarrier
); // 584
567 DECL_TEMPLATE(freebsd
, sys_timerfd_create
); // 585
568 DECL_TEMPLATE(freebsd
, sys_timerfd_gettime
); // 586
569 DECL_TEMPLATE(freebsd
, sys_timerfd_settime
); // 587
572 DECL_TEMPLATE(freebsd
, sys_fake_sigreturn
)
574 #endif // PRIV_SYSWRAP_FREEBSD_H
576 /*--------------------------------------------------------------------*/
578 /*--------------------------------------------------------------------*/