FreeBSD System Calls Table

Posted on January 2, 2021

Important! This post has been rendered obsolete by FreeBSD 15 System Calls Table.

A system call is the “tool” used by a software in the userspace to request a “service” to the kernel, the FreeBSD Operating System provides over 400 system calls. They are defined in syscalls.master, this file is processed by makesyscalls.sh or makesyscalls.lua to create init_sysent.c, syscall.h, and so on.

The system calls list has 576 entries (15: unimplemented, 55: nosys/lkmnosys, 43: compat and 72: old/obsolete) for 13-CURRENT at the time of writing. The entry point of a system call is sys_{name}, except syscall and __syscall described below.

This table is partially auto-generated by scanning init_sysent.c and manually filled, indeed its purpose is just a personal study of the FreeBSD kernel.

Number Name Short Description Implementation
0 syscall Indirect system call kern/subr_syscall.c
1 exit Terminate the calling process kern/kern_exit.c
2 fork Create a new process kern/kern_fork.c
3 read Read input kern/sys_generic.c
4 write Write output kern/sys_generic.c
5 open Open or create a file for reading, writing or executing kern/vfs_syscalls.c
6 close Delete a descriptor kern/kern_descrip.c
7 wait4 Wait for processes to change status kern/kern_exit.c
8 [old] creat
9 link Make a hard file link kern/vfs_syscalls.c
10 unlink Remove directory entry kern/vfs_syscalls.c
11 [obsolete] execv
12 chdir Change current working directory kern/vfs_syscalls.c
13 fchdir Change current working directory kern/vfs_syscalls.c
14 [freebsd11] mknod
15 chmod Change mode of file kern/vfs_syscalls.c
16 chown Change owner and group of a file kern/vfs_syscalls.c
17 break (no manual) vm/vm_unix.c
18 [freebsd4] getfsstat
19 [old] lseek
20 getpid Get parent or calling process identification kern/kern_prot.c
21 mount Mount or dismount a file system kern/vfs_mount.c
22 unmount Mount or dismount a file system kern/vfs_mount.c
23 setuid Set user and group ID kern/kern_prot.c
24 getuid Get user identification kern/kern_prot.c
25 geteuid Get user identification kern/kern_prot.c
26 ptrace Process tracing and debugging kern/sys_process.c
27 recvmsg Receive message(s) from a socket kern/uipc_syscalls.c
28 sendmsg Send message(s) from a socket kern/uipc_syscalls.c
29 recvfrom Receive message(s) from a socket kern/uipc_syscalls.c
30 accept Accept a connection on a socket kern/uipc_syscalls.c
31 getpeername Get name of connected peer kern/uipc_syscalls.c
32 getsockname Get socket name kern/uipc_syscalls.c
33 access Check accessibility of a file kern/vfs_syscalls.c
34 chflags Set file flags kern/vfs_syscalls.c
35 fchflags Set file flags kern/vfs_syscalls.c
36 sync Schedule file system updates kern/vfs_syscalls.c
37 kill Send signal to a process kern/kern_sig.c
38 [old] stat
39 getppid Get parent or calling process identification kern/kern_prot.c
40 [old] lstat
41 dup Duplicate an existing file descriptor kern/kern_descrip.c
42 [freebsd10] pipe
43 getegid Get group process identification kern/kern_prot.c
44 profil Control process profiling kern/subr_prof.c
45 ktrace Process tracing kern/kern_ktrace.c
46 [old] sigaction
47 getgid Get group process identification kern/kern_prot.c
48 [old] sigprocmask
49 getlogin Get login name kern/kern_prot.c
50 setlogin Set login name kern/kern_prot.c
51 acct Enable or disable process accounting kern/kern_acct.c
52 [old] sigpending
53 sigaltstack Set and/or get signal stack context kern/kern_sig.c
54 ioctl Control device kern/sys_generic.c
55 reboot Reboot system or halt processor kern/kern_shutdown.c
56 revoke Revoke file access kern/vfs_syscalls.c
57 symlink Make symbolic link to a file kern/vfs_syscalls.c
58 readlink Read value of a symbolic link kern/vfs_syscalls.c
59 execve Execute a file kern/kern_exec.c
60 umask Set file creation mode mask kern/vfs_syscalls.c
61 chroot Change root directory kern/vfs_syscalls.c
62 [old] fstat
63 [old] getkerninfo
64 [old] getpagesize
65 msync Synchronize a mapped region vm/vm_mmap.c
66 vfork Create a new process without copying the address space kern/kern_fork.c
67 [obsolete] vread
68 [obsolete] vwrite
69 sbrk change data segment size - EOPNOTSUPP vm/vm_mmap.c
70 sstk EOPNOTSUPP vm/vm_mmap.c
71 [old] mmap
72 [freebsd11] vadvise
73 munmap Remove a mapping vm/vm_mmap.c
74 mprotect Control the protection of pages vm/vm_mmap.c
75 madvise Give advice about use of memory vm/vm_mmap.c
76 [obsolete] vhangup
77 [obsolete] vlimit
78 mincore Determine residency of memory pages vm/vm_mmap.c
79 getgroups Get group access list kern/kern_prot.c
80 setgroups Set group access list kern/kern_prot.c
81 getpgrp Get process group kern/kern_prot.c
82 setpgid Set process group kern/kern_prot.c
83 setitimer Set value of interval timer kern/kern_time.c
84 [old] wait
85 swapon Control devices for interleaved paging/swapping vm/swap_pager.c
86 getitimer Get value of interval timer kern/kern_time.c
87 [old] gethostname
88 [old] sethostname
89 getdtablesize Get file descriptor limit kern/kern_descrip.c
90 dup2 Duplicate an existing file descriptor kern/kern_descrip.c
91 [unimplemented] getdopt
92 fcntl File control kern/kern_descrip.c
93 select Synchronous I/O multiplexing kern/sys_generic.c
94 [unimplemented] setdopt
95 fsync Synchronise changes to a file kern/vfs_syscalls.c
96 setpriority Set program scheduling priority kern/kern_resource.c
97 socket Create an endpoint for communication kern/uipc_syscalls.c
98 connect Initiate a connection on a socket kern/uipc_syscalls.c
99 [old] accept
100 getpriority Get program scheduling priority kern/kern_resource.c
101 [old] send
102 [old] recv
103 [old] sigreturn
104 bind Assign a local protocol address to a socket kern/uipc_syscalls.c
105 setsockopt Get and set options on sockets kern/uipc_syscalls.c
106 listen Listen for connections on a socket kern/uipc_syscalls.c
107 [obsolete] vtimes
108 [old] sigvec
109 [old] sigblock
110 [old] sigsetmask
111 [old] sigsuspend
112 [old] sigstack
113 [old] recvmsg
114 [old] sendmsg
115 [obsolete] vtrace
116 gettimeofday Get date and time kern/kern_time.c
117 getrusage Get information about resource utilization kern/kern_resource.c
118 getsockopt Get and set options on sockets kern/uipc_syscalls.c
119 [unimplemented] resuba
120 readv Read input kern/sys_generic.c
121 writev Write output kern/sys_generic.c
122 settimeofday Set date and time kern/kern_time.c
123 fchown Change owner and group of a file kern/vfs_syscalls.c
124 fchmod Change mode of file kern/vfs_syscalls.c
125 [old] recvfrom
126 setreuid Set real and effective user ID’s kern/kern_prot.c
127 setregid Set real and effective group ID kern/kern_prot.c
128 rename Change the name of a file kern/vfs_syscalls.c
129 [old] truncate
130 [old] ftruncate
131 flock Apply or remove an advisory lock on an open file kern/kern_descrip.c
132 mkfifo Make a fifo file kern/vfs_syscalls.c
133 sendto Send message(s) from a socket kern/uipc_syscalls.c
134 shutdown Disable sends and/or receives on a socket kern/uipc_syscalls.c
135 socketpair Create a pair of connected sockets kern/uipc_syscalls.c
136 mkdir Make a directory file kern/vfs_syscalls.c
137 rmdir Remove a directory file kern/vfs_syscalls.c
138 utimes Set file access and modification times kern/vfs_syscalls.c
139 [obsolete] 4.2 sigreturn
140 adjtime Correct the time to allow synchronization of the system clock kern/kern_ntptime.c
141 [old] getpeername
142 [old] gethostid
143 [old] sethostid
144 [old] getrlimit
145 [old] setrlimit
146 [old] killpg
147 setsid Create session and set process group ID kern/kern_prot.c
148 quotactl Manipulate file system quotas kern/vfs_syscalls.c
149 [old] quota
150 [old] getsockname
151 [unimplemented] sem_lock
152 [unimplemented] sem_wakeup
153 [unimplemented] asyncdaemon
154 nlm_syscall (no manual) nlm/nlm_prot_impl.c
155 nfssvc NFS services nfs/nfs_nfssvc.c
156 [old] getdirentries
157 [freebsd4] statfs
158 [freebsd4] fstatfs
159 [nosys]
160 lgetfh Get file handle kern/vfs_syscalls.c
161 getfh Get file handle kern/vfs_syscalls.c
162 [freebsd4] getdomainname
163 [freebsd4] setdomainname
164 [freebsd4] uname
165 sysarch Architecture-dependent system call sys/ {arch}/ {arch}/ sys_machdep.c
166 rtprio Examine or modify realtime or idle priority kern/kern_resource.c
167 [nosys]
168 [nosys]
169 semsys (no manual) kern/sysv_sem.c
170 msgsys (no manual) kern/sysv_msg.c
171 shmsys (no manual) kern/sysv_shm.c
172 [nosys]
173 [freebsd6] pread
174 [freebsd6] pwrite
175 setfib Set the default FIB (routing table) for the calling process net/route/route_tables.c
176 ntp_adjtime Network Time Protocol (NTP) daemon interface kern/kern_ntptime.c
177 [unimplemented] sfork
178 [unimplemented] getdescriptor
179 [unimplemented] setdescriptor
180 [nosys]
181 setgid Set user and group ID kern/kern_prot.c
182 setegid Set user and group ID kern/kern_prot.c
183 seteuid Set user and group ID kern/kern_prot.c
184 [obsolete] lfs_bmapv
185 [obsolete] lfs_markv
186 [obsolete] lfs_segclean
187 [obsolete] lfs_segwait
188 [freebsd11] stat
189 [freebsd11] fstat
190 [freebsd11] lstat
191 pathconf Get configurable pathname variables kern/vfs_syscalls.c
192 fpathconf Get configurable pathname variables kern/kern_descrip.c
193 [nosys]
194 getrlimit Control maximum system resource consumption kern/kern_resource.c
195 setrlimit Control maximum system resource consumption kern/kern_resource.c
196 [freebsd11] getdirentries
197 [freebsd6] mmap
198 __syscall Indirect system call for 64-bit args kern/subr_syscall.c
199 [freebsd6] lseek
200 [freebsd6] truncate
201 [freebsd6] ftruncate
202 sysctl Get or set system state kern/kern_sysctl.c
203 mlock Lock physical pages in memory vm/vm_mmap.c
204 munlock Unlock physical pages in memory vm/vm_mmap.c
205 undelete Attempt to recover a deleted file kern/vfs_syscalls.c
206 futimes Set file access and modification kern/vfs_syscalls.c
207 getpgid Get process group kern/kern_prot.c
208 [nosys]
209 poll Synchronous I/O multiplexing kern/sys_generic.c
210 [lkmnosys]
211 [lkmnosys]
212 [lkmnosys]
213 [lkmnosys]
214 [lkmnosys]
215 [lkmnosys]
216 [lkmnosys]
217 [lkmnosys]
218 [lkmnosys]
219 [lkmnosys]
220 [freebsd7] __semctl
221 semget Obtain a semaphore id kern/sysv_sem.c
222 semop Atomic array of operations on a semaphore set kern/sysv_sem.c
223 [obsolete] semconfig
224 [freebsd7] msgctl
225 msgget Get message queue kern/sysv_msg.c
226 msgsnd Send a message to a message queue kern/sysv_msg.c
227 msgrcv Receive a message from a message queue kern/sysv_msg.c
228 shmat Attach or detach shared memory kern/sysv_shm.c
229 [freebsd7] shmctl
230 shmdt Attach or detach shared memory kern/sysv_shm.c
231 shmget Obtain a shared memory identifier kern/sysv_shm.c
232 clock_gettime Get date and time kern/kern_time.c
233 clock_settime Set date and time kern/kern_time.c
234 clock_getres Calibrate date and time kern/kern_time.c
235 ktimer_create (no manual) kern/kern_time.c
236 ktimer_delete (no manual) kern/kern_time.c
237 ktimer_settime (no manual) kern/kern_time.c
238 ktimer_gettime (no manual) kern/kern_time.c
239 ktimer_getoverrun (no manual) kern/kern_time.c
240 nanosleep High resolution sleep kern/kern_time.c
241 ffclock_getcounter Retrieve feed-forward counter kern/kern_ffclock.c
242 ffclock_setestimate Set feed-forward clock estimates kern/kern_ffclock.c
243 ffclock_getestimate Get feed-forward clock estimates kern/kern_ffclock.c
244 clock_nanosleep High resolution sleep kern/kern_time.c
245 [nosys]
246 [nosys]
247 clock_getcpuclockid2 (no manual) kern/kern_time.c
248 ntp_gettime Network Time Protocol (NTP) daemon interface system calls kern/kern_ntptime.c
249 [nosys]
250 minherit Control the inheritance of pages vm/vm_mmap.c
251 rfork Manipulate process resources kern/kern_fork.c
252 [obsolete] openbsd_poll
253 issetugid Is current process tainted by uid or gid changes kern/kern_prot.c
254 lchown Change owner and group of a file kern/vfs_syscalls.c
255 aio_read Asynchronous read from a file (realtime) kern/vfs_aio.c
256 aio_write Asynchronous write to a file (realtime) kern/vfs_aio.c
257 lio_listio List directed I/O (realtime) kern/vfs_aio.c
258 [nosys]
259 [nosys]
260 [nosys]
261 [nosys]
262 [nosys]
263 [nosys]
264 [nosys]
265 [nosys]
266 [nosys]
267 [nosys]
268 [nosys]
269 [nosys]
270 [nosys]
271 [nosys]
272 [freebsd11] getdents
273 [nosys]
274 lchmod Change mode of file kern/vfs_syscalls.c
275 [obsolete] netbsd_lchown
276 lutimes Set file access and modification times kern/vfs_syscalls.c
277 [obsolete] netbsd_msync
278 [freebsd11] nstat
279 [freebsd11] nfstat
280 [freebsd11] nlstat
281 [nosys]
282 [nosys]
283 [nosys]
284 [nosys]
285 [nosys]
286 [nosys]
287 [nosys]
288 [nosys]
289 preadv Read input kern/sys_generic.c
290 pwritev Write output kern/sys_generic.c
291 [nosys]
292 [nosys]
293 [nosys]
294 [nosys]
295 [nosys]
296 [nosys]
297 [freebsd4] fhstatfs
298 fhopen Access file via file handle kern/vfs_syscalls.c
299 [freebsd11] fhstat
300 modnext Return the modid of the next kernel module kern/kern_module.c
301 modstat Get status of kernel module kern/kern_module.c
302 modfnext Return the modid of the next kernel module kern/kern_module.c
303 modfind Returns the modid of a kernel module kern/kern_module.c
304 kldload Load KLD files into the kernel kern/kern_linker.c
305 kldunload Unload kld files kern/kern_linker.c
306 kldfind Returns the fileid of a kld file kern/kern_linker.c
307 kldnext Return the fileid of the next kld file kern/kern_linker.c
308 kldstat Get status of kld file kern/kern_linker.c
309 kldfirstmod Return first module id from the kld file specified kern/kern_linker.c
310 getsid Get process session kern/kern_prot.c
311 setresuid Set real, effective and saved user or group ID kern/kern_prot.c
312 setresgid Set real, effective and saved user or group ID kern/kern_prot.c
313 [obsolete] signanosleep
314 aio_return Retrieve return status of asynchronous I/O operation (realtime) kern/vfs_aio.c
315 aio_suspend Suspend until asynchronous I/O operations or timeout complete (realtime) kern/vfs_aio.c
316 aio_cancel Cancel an outstanding asynchronous I/O operation (realtime) kern/vfs_aio.c
317 aio_error Retrieve error status of asynchronous I/O operation (realtime) kern/vfs_aio.c
318 [freebsd6] aio_read
319 [freebsd6] aio_write
320 [freebsd6] lio_listio
321 yield (no manual) kern/kern_synch.c
322 [obsolete] thr_sleep
323 [obsolete] thr_wakeup
324 mlockall Lock (unlock) the address space of a process vm/vm_mmap.c
325 munlockall Lock (unlock) the address space of a process vm/vm_mmap.c
326 __getcwd (getcwd(3) Get working directory pathname) kern/vfs_cache.c
327 sched_setparam Set scheduling parameters kern/p1003_1b.c
328 sched_getparam Get scheduling parameters kern/p1003_1b.c
329 sched_setscheduler Set scheduling policy and scheduler parameters kern/p1003_1b.c
330 sched_getscheduler Get scheduling policy and scheduler parameters kern/p1003_1b.c
331 sched_yield yield processor kern/p1003_1b.c
332 sched_get_priority_max Get scheduling parameter limits kern/p1003_1b.c
333 sched_get_priority_min Get scheduling parameter limits kern/p1003_1b.c
334 sched_rr_get_interval Get scheduling parameter limits kern/p1003_1b.c
335 utrace Insert user record in ktrace log kern/kern_ktrace.c
336 [freebsd4] sendfile
337 kldsym Look up address by symbol name in a KLD kern/kern_linker.c
338 jail Create and manage system jails kern/kern_jail.c
339 nnpfs_syscall (no manual)
340 sigprocmask Manipulate current signal mask kern/kern_sig.c
341 sigsuspend Atomically release blocked signals and wait for interrupt kern/kern_sig.c
342 [freebsd4] sigaction
343 sigpending Get pending signals kern/kern_sig.c
344 [freebsd4] sigreturn
345 sigtimedwait Wait for queued signals (realtime) kern/kern_sig.c
346 sigwaitinfo Wait for queued signals (realtime) kern/kern_sig.c
347 __acl_get_file (acl_get_file(3)) kern/vfs_acl.c
348 __acl_set_file (acl_set_file(3)) kern/vfs_acl.c
349 __acl_get_fd (acl_get_fd(3)) kern/vfs_acl.c
350 __acl_set_fd (acl_set_fd(3)) kern/vfs_acl.c
351 __acl_delete_file (acl_delete(3)) kern/vfs_acl.c
352 __acl_delete_fd (acl_delete(3)) kern/vfs_acl.c
353 __acl_aclcheck_file (no manual) kern/vfs_acl.c
354 __acl_aclcheck_fd (no manual) kern/vfs_acl.c
355 extattrctl (no manual) kern/vfs_extattr.c
356 extattr_set_file Manipulate VFS extended attributes kern/vfs_extattr.c
357 extattr_get_file Manipulate VFS extended attributes kern/vfs_extattr.c
358 extattr_delete_file Manipulate VFS extended attributes kern/vfs_extattr.c
359 aio_waitcomplete Wait for the next completion of an aio request kern/vfs_aio.c
360 getresuid Get real, effective and saved user or group ID kern/kern_prot.c
361 getresgid Get real, effective and saved user or group ID kern/kern_prot.c
362 kqueue Kernel event notification mechanism kern/kern_event.c
363 [freebsd11] kevent
364 [obsolete] __cap_get_proc
365 [obsolete] __cap_set_proc
366 [obsolete] __cap_get_fd
367 [obsolete] __cap_get_file
368 [obsolete] __cap_set_fd
369 [obsolete] __cap_set_file
370 [nosys]
371 extattr_set_fd Manipulate VFS extended attributes kern/vfs_extattr.c
372 extattr_get_fd Manipulate VFS extended attributes kern/vfs_extattr.c
373 extattr_delete_fd Manipulate VFS extended attributes kern/vfs_extattr.c
374 __setugid (no manual) kern/kern_prot.c
375 [obsolete] nfsclnt
376 eaccess Check accessibility of a file kern/vfs_syscalls.c
377 afs3_syscall (no manual)
378 nmount Mount or dismount a file system kern/vfs_mount.c
379 [obsolete] kse_exit
380 [obsolete] kse_wakeup
381 [obsolete] kse_create
382 [obsolete] kse_thr_interrupt
383 [obsolete] kse_release
384 __mac_get_proc (mac_get_proc(3)) security/mac/mac_syscalls.c
385 __mac_set_proc (mac_set_proc(3)) security/mac/mac_syscalls.c
386 __mac_get_fd (mac_get_fd(3)) security/mac/mac_syscalls.c
387 __mac_get_file (mac_get_file(3)) security/mac/mac_syscalls.c
388 __mac_set_fd (mac_set_fd(3)) security/mac/mac_syscalls.c
389 __mac_set_file (mac_set_file(3)) security/mac/mac_syscalls.c
390 kenv kernel environment kern/kern_environment.c
391 lchflags Set file flags kern/vfs_syscalls.c
392 uuidgen Generate universally unique identifiers kern/kern_uuid.c
393 sendfile Send a file to a socket kern/kern_sendfile.c
394 mac_syscall (no manual) security/mac/mac_syscalls.c
395 [freebsd11] getfsstat
396 [freebsd11] statfs
397 [freebsd11] fstatfs
398 [freebsd11] fhstatfs
399 [nosys]
400 ksem_close (no manual) kern/uipc_sem.c
401 ksem_post (no manual) kern/uipc_sem.c
402 ksem_wait (no manual) kern/uipc_sem.c
403 ksem_trywait (no manual) kern/uipc_sem.c
404 ksem_init (no manual) kern/uipc_sem.c
405 ksem_open (no manual) kern/uipc_sem.c
406 ksem_unlink (no manual) kern/uipc_sem.c
407 ksem_getvalue (no manual) kern/uipc_sem.c
408 ksem_destroy (no manual) kern/uipc_sem.c
409 __mac_get_pid (mac_get_pid(3)) security/mac/mac_syscalls.c
410 __mac_get_link (mac_get_link(3)) security/mac/mac_syscalls.c
411 __mac_set_link (mac_set_link(3)) security/mac/mac_syscalls.c
412 extattr_set_link Manipulate VFS extended attributes kern/vfs_extattr.c
413 extattr_get_link Manipulate VFS extended attributes kern/vfs_extattr.c
414 extattr_delete_link Manipulate VFS extended attributes kern/vfs_extattr.c
415 __mac_execve (no manual) kern/kern_exec.c
416 sigaction Software signal facilities kern/kern_sig.c
417 sigreturn Return from signal sys/ {arch}/ {arch}/ sys_machdep.c
418 [unimplemented] __xstat
419 [unimplemented] __xfstat
420 [unimplemented] __xlstat
421 getcontext Get user thread context kern/kern_context.c
422 setcontext Set user thread context kern/kern_context.c
423 swapcontext Modify and exchange user thread contexts kern/kern_context.c
424 swapoff Control devices for interleaved paging/swapping vm/swap_pager.c
425 __acl_get_link (acl_get(3)) kern/vfs_acl.c
426 __acl_set_link (acl_set(3)) kern/vfs_acl.c
427 __acl_delete_link (acl_delete(3)) kern/vfs_acl.c
428 __acl_aclcheck_link (no manual) kern/vfs_acl.c
429 sigwait Select a set of signals kern/kern_sig.c
430 thr_create (no manual) kern/kern_thr.c
431 thr_exit Terminate current thread kern/kern_thr.c
432 thr_self Return thread identifier for the calling thread kern/kern_thr.c
433 thr_kill Send signal to thread kern/kern_thr.c
434 [nosys]
435 [nosys]
436 jail_attach Create and manage system jails kern/kern_jail.c
437 extattr_list_fd Manipulate VFS extended attributes kern/vfs_extattr.c
438 extattr_list_file Manipulate VFS extended attributes kern/vfs_extattr.c
439 extattr_list_link Manipulate VFS extended attributes kern/vfs_extattr.c
440 [obsolete] kse_switchin
441 ksem_timedwait (no manual) kern/uipc_sem.c
442 thr_suspend Suspend the calling thread kern/kern_thr.c
443 thr_wake Wake up the suspended thread kern/kern_thr.c
444 kldunloadf Unload kld files kern/kern_linker.c
445 audit Commit BSM audit record to audit log security/audit/audit_syscalls.c
446 auditon Configure system audit parameters security/audit/audit_syscalls.c
447 getauid Retrieve audit session ID security/audit/audit_syscalls.c
448 setauid Set audit session ID security/audit/audit_syscalls.c
449 getaudit Retrieve audit session state security/audit/audit_syscalls.c
450 setaudit Set audit session state security/audit/audit_syscalls.c
451 getaudit_addr Retrieve audit session state security/audit/audit_syscalls.c
452 setaudit_addr Set audit session state security/audit/audit_syscalls.c
453 auditctl Configure system audit parameters security/audit/audit_syscalls.c
454 _umtx_op Interface for implementation of userspace threading synchronization primitives kern/kern_umtx.c
455 thr_new Create new thread of execution kern/kern_thr.c
456 sigqueue Queue a signal to a process (realtime) kern/kern_sig.c
457 kmq_open (no manual) kern/uipc_mqueue.c
458 kmq_setattr (no manual) kern/uipc_mqueue.c
459 kmq_timedreceive (no manual) kern/uipc_mqueue.c
460 kmq_timedsend (no manual) kern/uipc_mqueue.c
461 kmq_notify (no manual) kern/uipc_mqueue.c
462 kmq_unlink (no manual) kern/uipc_mqueue.c
463 abort2 Abort process with diagnostics kern/kern_exit.c
464 thr_set_name Set user-visible thread name kern/kern_thr.c
465 aio_fsync Asynchronous file synchronization (realtime) kern/vfs_aio.c
466 rtprio_thread Examine or modify realtime or idle priority kern/kern_resource.c
467 [nosys]
468 [nosys]
469 [unimplemented] __getpath_fromfd
470 [unimplemented] __getpath_fromaddr
471 sctp_peeloff Detach an association from a one-to-many socket to its own fd netinet/sctp_syscalls.c
472 sctp_generic_sendmsg Send data to a peer netinet/sctp_syscalls.c
473 sctp_generic_sendmsg_iov Send data to a peer netinet/sctp_syscalls.c
474 sctp_generic_recvmsg Receive data from a peer netinet/sctp_syscalls.c
475 pread Read input kern/sys_generic.c
476 pwrite Write output kern/sys_generic.c
477 mmap Allocate memory, or map files or devices into memory vm/vm_mmap.c
478 lseek Reposition read/write file offset kern/vfs_syscalls.c
479 truncate Truncate or extend a file to a specified length kern/vfs_syscalls.c
480 ftruncate Truncate or extend a file to a specified length kern/sys_generic.c
481 thr_kill2 Send signal to thread kern/kern_thr.c
482 [freebsd12] shm_open
483 shm_unlink Shared memory object operations kern/uipc_shm.c
484 cpuset Manage CPU affinity sets kern/kern_cpuset.c
485 cpuset_setid Manage CPU affinity sets kern/kern_cpuset.c
486 cpuset_getid Manage CPU affinity sets kern/kern_cpuset.c
487 cpuset_getaffinity Manage CPU affinity kern/kern_cpuset.c
488 cpuset_setaffinity Manage CPU affinity kern/kern_cpuset.c
489 faccessat Check accessibility of a file kern/vfs_syscalls.c
490 fchmodat Change mode of file kern/vfs_syscalls.c
491 fchownat Change owner and group of a file kern/vfs_syscalls.c
492 fexecve Execute a file kern/kern_exec.c
493 [freebsd11] fstatat
494 futimesat Set file access and modification kern/vfs_syscalls.c
495 linkat Make a hard file link kern/vfs_syscalls.c
496 mkdirat Make a directory file kern/vfs_syscalls.c
497 mkfifoat Make a fifo file kern/vfs_syscalls.c
498 [freebsd11] mknodat Make a special file node
499 openat Open or create a file for reading, writing or executing kern/vfs_syscalls.c
500 readlinkat Read value of a symbolic link kern/vfs_syscalls.c
501 renameat Change the name of a file kern/vfs_syscalls.c
502 symlinkat Make symbolic link to a file kern/vfs_syscalls.c
503 unlinkat Remove directory entry kern/vfs_syscalls.c
504 posix_openpt Open a pseudo-terminal device kern/tty_pts.c
505 gssd_syscall (no manual) kgssapi/gss_impl.c
506 jail_get Create and manage system jails kern/kern_jail.c
507 jail_set Create and manage system jails kern/kern_jail.c
508 jail_remove Create and manage system jails kern/kern_jail.c
509 [freebsd12] closefrom
510 __semctl Control operations on a semaphore set kern/sysv_sem.c
511 msgctl Message control operations kern/sysv_msg.c
512 shmctl Shared memory control kern/sysv_shm.c
513 lpathconf Get configurable pathname variables kern/vfs_syscalls.c
514 [obsolete] cap_new
515 __cap_rights_get (cap_rights_get(3)) kern/sys_capability.c
516 cap_enter Capability mode system calls kern/sys_capability.c
517 cap_getmode Capability mode system calls kern/sys_capability.c
518 pdfork System calls to manage process descriptors kern/kern_fork.c
519 pdkill System calls to manage process descriptors kern/kern_sig.c
520 pdgetpid System calls to manage process descriptors kern/sys_procdesc.c
521 [unimplemented] pdwait4
522 pselect Synchronous I/O multiplexing a la POSIX.1g kern/sys_generic.c
523 getloginclass Get login class kern/kern_loginclass.c
524 setloginclass Set login class kern/kern_loginclass.c
525 rctl_get_racct Manipulate and query the resource limits database kern/kern_rctl.c
526 rctl_get_rules Manipulate and query the resource limits database kern/kern_rctl.c
527 rctl_get_limits Manipulate and query the resource limits database kern/kern_rctl.c
528 rctl_add_rule Manipulate and query the resource limits database kern/kern_rctl.c
529 rctl_remove_rule Manipulate and query the resource limits database kern/kern_rctl.c
530 posix_fallocate Pre-allocate storage for a range in a file kern/sys_generic.c
531 posix_fadvise Give advice about use of file data kern/vfs_syscalls.c
532 wait6 Wait for processes to change status kern/kern_exit.c
533 cap_rights_limit Limit capability rights kern/sys_capability.c
534 cap_ioctls_limit Manage allowed ioctl commands kern/sys_capability.c
535 cap_ioctls_get Manage allowed ioctl commands kern/sys_capability.c
536 cap_fcntls_limit Manage allowed fcntl commands kern/sys_capability.c
537 cap_fcntls_get Manage allowed fcntl commands kern/sys_capability.c
538 bindat Assign a local protocol address to a socket kern/uipc_syscalls.c
539 connectat Initiate a connection on a socket kern/uipc_syscalls.c
540 chflagsat Set file flags kern/vfs_syscalls.c
541 accept4 Accept a connection on a socket kern/uipc_syscalls.c
542 pipe2 Create descriptor pair for interprocess communication kern/sys_pipe.c
543 aio_mlock asynchronous mlock(2) operation kern/vfs_aio.c
544 procctl Control processes kern/kern_procctl.c
545 ppoll Synchronous I/O multiplexing kern/sys_generic.c
546 futimens Set file access and modification times kern/vfs_syscalls.c
547 utimensat Set file access and modification times kern/vfs_syscalls.c
548 [obsolete] numa_getaffinity
549 [obsolete] numa_setaffinity
550 fdatasync Synchronise changes to a file kern/vfs_syscalls.c
551 fstat Get file status kern/kern_descrip.c
552 fstatat Get file status kern/vfs_syscalls.c
553 fhstat Access file via file handle kern/vfs_syscalls.c
554 getdirentries Get directory entries in a file system independent format kern/vfs_syscalls.c
555 statfs Get file system statistics kern/vfs_syscalls.c
556 fstatfs Get file system statistics kern/vfs_syscalls.c
557 getfsstat Get list of all mounted file systems kern/vfs_syscalls.c
558 fhstatfs Access file via file handle kern/vfs_syscalls.c
559 mknodat Make a special file node kern/vfs_syscalls.c
560 kevent Kernel event notification mechanism kern/kern_event.c
561 cpuset_getdomain Manage memory domain policy kern/kern_cpuset.c
562 cpuset_setdomain Manage memory domain policy kern/kern_cpuset.c
563 getrandom Get random data kern/sys_getrandom.c
564 getfhat Get file handle kern/vfs_syscalls.c
565 fhlink Make a hard file link kern/vfs_syscalls.c
566 fhlinkat Make a hard file link kern/vfs_syscalls.c
567 fhreadlink Read value of a symbolic link kern/vfs_syscalls.c
568 funlinkat Remove directory entry kern/vfs_syscalls.c
569 copy_file_range Kernel copy of a byte range from one file to another or within one file kern/vfs_syscalls.c
570 sysctlbyname Get or set system state kern/kern_sysctl.c
571 shm_open2 (no manual) kern/uipc_shm.c
572 shm_rename Shared memory object operations kern/uipc_shm.c
573 sigfastblock Controls signals blocking with a simple memory write kern/kern_sig.c
574 __realpathat (no manual) kern/vfs_cache.c
575 close_range Delete open file descriptors kern/kern_descrip.c
576 rpctls_syscall (no manual) rpc/rpcsec_tls/rpctls_impl.c


syscall and __syscall have not a sys_syscall() or sys___syscall entry points, instead the arch-dependent implementation manages SYS_syscall and SYS___syscall, includes kern/subr_syscall.c and syscallenter() dispatches the handler of the indirect system call.

Architecture Implementation
amd64 amd64/amd64/trap.c
arm arm/arm/syscall.c
arm64 arm64/arm64/trap.c
i386 i386/i386/trap.c
mips mips/mips/trap.c
powerpc powerpc/powerpc/trap.c
riscv riscv/riscv/trap.c


To know more