<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>Alfonso Siciliano: coding and BSD</title>
    <subtitle><![CDATA[Feed about: coding, BSD and opensource]]></subtitle>
    <link href="https://alfonsosiciliano.gitlab.io/atom.xml" rel="self" />
    <link href="https://alfonsosiciliano.gitlab.io" />
    <id>https://alfonsosiciliano.gitlab.io/atom.xml</id>
    <author>
        <name>Alfonso Siciliano</name>
        
        <email>alf.siciliano@gmail.com</email>
        
    </author>
    <updated>2026-06-26T00:00:00Z</updated>
    <entry>
    <title>FreeBSD "Multi" Installer at BSDCan 2026</title>
    <link href="https://alfonsosiciliano.gitlab.io/posts/2026-06-26-bsdcan26-installer.html" />
    <id>https://alfonsosiciliano.gitlab.io/posts/2026-06-26-bsdcan26-installer.html</id>
    <published>2026-06-26T00:00:00Z</published>
    <updated>2026-06-26T00:00:00Z</updated>
    <summary type="html"><![CDATA[<article>
    <section class="header">
        Posted on
        June 26, 2026
        
    </section>
    <section>
        <p>This is another post in the series <strong>“A Personal Multi Installer in Lua”</strong>.</p>
<ul>
<li><strong>3)</strong> FreeBSD “Multi” Installer at BSDCan 2026. &lt;- <strong>This post</strong></li>
<li><strong>2)</strong> <a href="2025-03-18-poc-installer.html" target="_blank">Proof of Concept for a “Multi” Installer</a>.</li>
<li><strong>1)</strong> <a href="2025-01-27-ideas-installer.html" target="_blank">Motivations and Ideas for a “Multi” Installer</a>.</li>
</ul>
<p>The previous blog post described the proof-of-concept implementations of the
installer subsystems and introduced the first mockups (graphical interfaces
without any underlying logic) for the installation steps.
That version was presented at EuroBSDCon 2025 in Zagreb.
<!--more--></p>
<hr />
<h2 id="current-status">Current Status</h2>
<p>The project has evolved significantly.
Compared to the version shown in Zagreb, I have completely refactored and
rewritten several core parts of the installer, including:</p>
<ul>
<li>The configuration file.</li>
<li>The communication file (used to exchange data between Step 1 and Step 2).</li>
<li>The installer subsystems (internationalization, multi-mode support, and others).</li>
<li>The Step 1 and Step 2 managers.</li>
<li>The component framework, where the installation screens are now managed and
invoked by the Step 1 Manager.</li>
<li>Many installation screens/steps.</li>
</ul>
<p>The installer was presented at
<a href="https://www.bsdcan.org/2026/timetable/timetable-A-Two-Step-FreeBSD.html" target="_blank">BSDCan 2026</a>
in Ottawa, Canada.
The presentation slides are available here:
<a href="https://docs.google.com/presentation/d/1QBWZyg2fdSmfs7xdZ1Jxg6-5I1iawoGweXVVk7tVlHk/edit?usp=sharing" target="_blank">https://docs.google.com/presentation/d/1QBWZyg2fdSmfs7xdZ1Jxg6-5I1iawoGweXVVk7tVlHk/edit?usp=sharing</a></p>
<p>The presentation provides an overview of the project’s current status.
The installation via TUI frontend is now almost complete.</p>
<p>The final slides also outline:</p>
<ul>
<li>The implementation roadmap.</li>
<li>Work in progress (WIP).</li>
<li>Planned TODO features.</li>
</ul>
<p>As always, feedback, suggestions, and new ideas are very welcome.</p>
    </section>
</article>

<script src="https://utteranc.es/client.js"
        repo="alfonsosiciliano/comments-alfonsosiciliano.gitlab.io"
        issue-term="pathname"
        theme="preferred-color-scheme"
        crossorigin="anonymous"
        async>
</script>

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

<script src="https://utteranc.es/client.js"
        repo="alfonsosiciliano/comments-alfonsosiciliano.gitlab.io"
        issue-term="pathname"
        theme="preferred-color-scheme"
        crossorigin="anonymous"
        async>
</script>

]]></summary>
</entry>
<entry>
    <title>nsysctl 2.2 is out!</title>
    <link href="https://alfonsosiciliano.gitlab.io/posts/2025-06-28-nsysctl-2-2.html" />
    <id>https://alfonsosiciliano.gitlab.io/posts/2025-06-28-nsysctl-2-2.html</id>
    <published>2025-06-28T00:00:00Z</published>
    <updated>2025-06-28T00:00:00Z</updated>
    <summary type="html"><![CDATA[<article>
    <section class="header">
        Posted on
        June 28, 2025
        
    </section>
    <section>
        <p><a href="https://gitlab.com/alfix/nsysctl" target="_blank">nsysctl</a> project is a utility for
<a href="http://www.freebsd.org" target="_blank">FreeBSD</a> built on top of the
<a href="https://man.freebsd.org/sysctl/3" target="_blank">sysctl</a> system call.
It allows users to query and modify kernel parameters at runtime.
The release 2.2 is out!</p>
<p>The previous version (1.2.1) was released almost two and a half years ago.
It just worked, so no changes or improvements were necessary.
Recently, <a href="http://websysctl.alfonsosiciliano.net/" target="_blank">WebSysctl</a> was launched,
it uses the XML data generated by nsysctl to populate its database.
With new users adopting nsysctl, several feature requests were submitted, and
they have been implemented in this new release
<!--more--></p>
<hr />
<p><strong>NEWS</strong></p>
<p>This release includes support for options that were added to the
<a href="https://man.freebsd.org/sysctl/3" target="_blank">sysctl(8)</a> utility over the past couple of
years.</p>
<p><strong>CHANGELOG</strong>:</p>
<div class="sourceCode" id="cb1"><pre class="sourceCode changelog"><code class="sourceCode changelog"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a>2025-6-28 Version 2.2</span>
<span id="cb1-2"><a href="#cb1-2" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb1-3"><a href="#cb1-3" aria-hidden="true" tabindex="-1"></a>    <span class="dv">* improve:</span> updated and refined nsysctl.8 manual page</span>
<span id="cb1-4"><a href="#cb1-4" aria-hidden="true" tabindex="-1"></a>    <span class="dv">* change:</span> -G no longer prints redundant flags RW, CAPRW, RDTUN, RWTUN</span>
<span id="cb1-5"><a href="#cb1-5" aria-hidden="true" tabindex="-1"></a>    <span class="dv">* rename:</span> -V (print parameters without values with -a) to -u, because below</span>
<span id="cb1-6"><a href="#cb1-6" aria-hidden="true" tabindex="-1"></a>    <span class="dv">* add:</span> new -V to print objects with the VNET flag; sysctl(8) compatibility</span>
<span id="cb1-7"><a href="#cb1-7" aria-hidden="true" tabindex="-1"></a>    <span class="dv">* rename:</span> -l (print label) to -L, because below</span>
<span id="cb1-8"><a href="#cb1-8" aria-hidden="true" tabindex="-1"></a>    <span class="dv">* add:</span> new -l to print value size; sysctl(8) compatibility</span>
<span id="cb1-9"><a href="#cb1-9" aria-hidden="true" tabindex="-1"></a>    <span class="dv">* add:</span> new -J to print objects with the PRISON flag; sysctl(8) compatibility</span>
<span id="cb1-10"><a href="#cb1-10" aria-hidden="true" tabindex="-1"></a>    <span class="dv">* delete:</span> -m (now -S) and -y (now -O) from the manual; obsolete since 2.0</span>
<span id="cb1-11"><a href="#cb1-11" aria-hidden="true" tabindex="-1"></a>    <span class="dv">* add:</span> -j &lt;jailname&gt; to attach to a jail</span></code></pre></div>
<p><strong>DOCS</strong></p>
<p>Both the <a href="2021-03-07-manual-nsysctl-2.html" target="_blank">manual</a> and the
<a href="2021-03-08-tutorial-nsysctl-2.html" target="_blank">tutorial</a> have been updated to reflect the
latest changes.</p>
<div class="sourceCode" id="cb2"><pre class="sourceCode default"><code class="sourceCode default"><span id="cb2-1"><a href="#cb2-1" aria-hidden="true" tabindex="-1"></a>% nsysctl </span>
<span id="cb2-2"><a href="#cb2-2" aria-hidden="true" tabindex="-1"></a>usage: nsysctl [--libxo options [-r tagroot]] [-DdeFGgHIiJLnOpqTtVvWz]</span>
<span id="cb2-3"><a href="#cb2-3" aria-hidden="true" tabindex="-1"></a>               [-N | -hl [b|o|x]] [-B bufsize] [-f filename] [-j jailname]</span>
<span id="cb2-4"><a href="#cb2-4" aria-hidden="true" tabindex="-1"></a>               [-s sep] name[=value[,value]] ...</span>
<span id="cb2-5"><a href="#cb2-5" aria-hidden="true" tabindex="-1"></a>       nsysctl [--libxo options [-r tagroot]] [-DdeFGgHIJkLnOpqSTtVvWz]</span>
<span id="cb2-6"><a href="#cb2-6" aria-hidden="true" tabindex="-1"></a>               [-N | -hlu [b|o|x]] [-B bufsize] [-f filename] [-j jailname]</span>
<span id="cb2-7"><a href="#cb2-7" aria-hidden="true" tabindex="-1"></a>               [-s sep] -a</span></code></pre></div>
<hr />
<p><strong>INSTALLATION</strong></p>
<p>To install the port <a href="https://www.freshports.org/sysutils/nsysctl" target="_blank">sysutils/nsysctl</a>:</p>
<div class="sourceCode" id="cb3"><pre class="sourceCode default"><code class="sourceCode default"><span id="cb3-1"><a href="#cb3-1" aria-hidden="true" tabindex="-1"></a># cd /usr/ports/sysutils/nsysctl/ &amp;&amp; make install clean</span></code></pre></div>
<p>To add the package:</p>
<div class="sourceCode" id="cb4"><pre class="sourceCode default"><code class="sourceCode default"><span id="cb4-1"><a href="#cb4-1" aria-hidden="true" tabindex="-1"></a># pkg install nsysctl</span></code></pre></div>
<p>To build from sources:</p>
<div class="sourceCode" id="cb5"><pre class="sourceCode default"><code class="sourceCode default"><span id="cb5-1"><a href="#cb5-1" aria-hidden="true" tabindex="-1"></a># pkg install libsysctlmibinfo2</span>
<span id="cb5-2"><a href="#cb5-2" aria-hidden="true" tabindex="-1"></a>% git clone https://gitlab.com/alfix/nsysctl.git</span>
<span id="cb5-3"><a href="#cb5-3" aria-hidden="true" tabindex="-1"></a>% cd nsysctl</span>
<span id="cb5-4"><a href="#cb5-4" aria-hidden="true" tabindex="-1"></a>% make</span>
<span id="cb5-5"><a href="#cb5-5" aria-hidden="true" tabindex="-1"></a>% ./nsysctl</span></code></pre></div>
<hr />
    </section>
</article>

<script src="https://utteranc.es/client.js"
        repo="alfonsosiciliano/comments-alfonsosiciliano.gitlab.io"
        issue-term="pathname"
        theme="preferred-color-scheme"
        crossorigin="anonymous"
        async>
</script>

]]></summary>
</entry>
<entry>
    <title>Manual SysctlTUI</title>
    <link href="https://alfonsosiciliano.gitlab.io/posts/2025-06-22-manual-sysctltui.html" />
    <id>https://alfonsosiciliano.gitlab.io/posts/2025-06-22-manual-sysctltui.html</id>
    <published>2025-06-22T00:00:00Z</published>
    <updated>2025-06-22T00:00:00Z</updated>
    <summary type="html"><![CDATA[<article>
    <section class="header">
        Posted on
        June 22, 2025
        
    </section>
    <section>
        <p><a href="https://gitlab.com/alfix/sysctltui" target="_blank">SysctlTUI</a>
is a text-based utility that allows users to view and modify the
<a href="http://www.freebsd.org" target="_blank">FreeBSD</a> kernel state at runtime via a
text user interface built on top of
<a href="https://man.freebsd.org/sysctl/3" target="_blank">sysctl(3)</a>.
<!--more--></p>
<p>This is the manual:</p>
<div class="sourceCode" id="cb1"><pre class="sourceCode default"><code class="sourceCode default"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a>SYSCTLTUI(8)            FreeBSD System Manager&#39;s Manual           SYSCTLTUI(8)</span>
<span id="cb1-2"><a href="#cb1-2" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb1-3"><a href="#cb1-3" aria-hidden="true" tabindex="-1"></a>NAME</span>
<span id="cb1-4"><a href="#cb1-4" aria-hidden="true" tabindex="-1"></a>     sysctltui - TUI utility to get or set system state</span>
<span id="cb1-5"><a href="#cb1-5" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb1-6"><a href="#cb1-6" aria-hidden="true" tabindex="-1"></a>SYNOPSIS</span>
<span id="cb1-7"><a href="#cb1-7" aria-hidden="true" tabindex="-1"></a>     sysctltui [-h | -v]</span>
<span id="cb1-8"><a href="#cb1-8" aria-hidden="true" tabindex="-1"></a>     sysctltui [-d | -V] [-f] [-e label] [-l label] [-i indent] [-s label]</span>
<span id="cb1-9"><a href="#cb1-9" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb1-10"><a href="#cb1-10" aria-hidden="true" tabindex="-1"></a>DESCRIPTION</span>
<span id="cb1-11"><a href="#cb1-11" aria-hidden="true" tabindex="-1"></a>     The sysctltui utility provides a text user interface (TUI) for retrieving</span>
<span id="cb1-12"><a href="#cb1-12" aria-hidden="true" tabindex="-1"></a>     and modifying system state at runtime.  System parameters are exposed as</span>
<span id="cb1-13"><a href="#cb1-13" aria-hidden="true" tabindex="-1"></a>     objects of a &quot;Management Information Base&quot; (MIB).  sysctltui sysctltui</span>
<span id="cb1-14"><a href="#cb1-14" aria-hidden="true" tabindex="-1"></a>     allows users to navigate the MIB, display the properties of a parameter,</span>
<span id="cb1-15"><a href="#cb1-15" aria-hidden="true" tabindex="-1"></a>     and retrieve or modify its value.</span>
<span id="cb1-16"><a href="#cb1-16" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb1-17"><a href="#cb1-17" aria-hidden="true" tabindex="-1"></a>     sysctltui requires the sysctlinfo(4) interface.  To load the required</span>
<span id="cb1-18"><a href="#cb1-18" aria-hidden="true" tabindex="-1"></a>     kernel module at boot time, place the following line in loader.conf(5):</span>
<span id="cb1-19"><a href="#cb1-19" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb1-20"><a href="#cb1-20" aria-hidden="true" tabindex="-1"></a>           sysctlinfo_load=&quot;YES&quot;</span>
<span id="cb1-21"><a href="#cb1-21" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb1-22"><a href="#cb1-22" aria-hidden="true" tabindex="-1"></a>     The following options are available:</span>
<span id="cb1-23"><a href="#cb1-23" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb1-24"><a href="#cb1-24" aria-hidden="true" tabindex="-1"></a>     -d      Show parameter descriptions in the main window.</span>
<span id="cb1-25"><a href="#cb1-25" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb1-26"><a href="#cb1-26" aria-hidden="true" tabindex="-1"></a>     -e label</span>
<span id="cb1-27"><a href="#cb1-27" aria-hidden="true" tabindex="-1"></a>             Set label as prefix for nodes with expandable subtree, default</span>
<span id="cb1-28"><a href="#cb1-28" aria-hidden="true" tabindex="-1"></a>             &quot;+&quot;.</span>
<span id="cb1-29"><a href="#cb1-29" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb1-30"><a href="#cb1-30" aria-hidden="true" tabindex="-1"></a>     -f      Display full parameter names in the main window.  The full name</span>
<span id="cb1-31"><a href="#cb1-31" aria-hidden="true" tabindex="-1"></a>             of the parameter currently in focus within the main window is no</span>
<span id="cb1-32"><a href="#cb1-32" aria-hidden="true" tabindex="-1"></a>             longer shown at the bottom of the screen.</span>
<span id="cb1-33"><a href="#cb1-33" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb1-34"><a href="#cb1-34" aria-hidden="true" tabindex="-1"></a>     -h      Print a help message and exit.</span>
<span id="cb1-35"><a href="#cb1-35" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb1-36"><a href="#cb1-36" aria-hidden="true" tabindex="-1"></a>     -i indent</span>
<span id="cb1-37"><a href="#cb1-37" aria-hidden="true" tabindex="-1"></a>             Set indent as the visual depth of subtrees.</span>
<span id="cb1-38"><a href="#cb1-38" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb1-39"><a href="#cb1-39" aria-hidden="true" tabindex="-1"></a>     -l label</span>
<span id="cb1-40"><a href="#cb1-40" aria-hidden="true" tabindex="-1"></a>             Set label as prefix for leaf nodes, default no string.</span>
<span id="cb1-41"><a href="#cb1-41" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb1-42"><a href="#cb1-42" aria-hidden="true" tabindex="-1"></a>     -s label</span>
<span id="cb1-43"><a href="#cb1-43" aria-hidden="true" tabindex="-1"></a>             Set label as prefix for nodes with expanded subtrees, default</span>
<span id="cb1-44"><a href="#cb1-44" aria-hidden="true" tabindex="-1"></a>             &quot;-&quot;.</span>
<span id="cb1-45"><a href="#cb1-45" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb1-46"><a href="#cb1-46" aria-hidden="true" tabindex="-1"></a>     -V      Display parameter values in the main window</span>
<span id="cb1-47"><a href="#cb1-47" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb1-48"><a href="#cb1-48" aria-hidden="true" tabindex="-1"></a>     -v      Print version and quit.</span>
<span id="cb1-49"><a href="#cb1-49" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb1-50"><a href="#cb1-50" aria-hidden="true" tabindex="-1"></a>EXIT STATUS</span>
<span id="cb1-51"><a href="#cb1-51" aria-hidden="true" tabindex="-1"></a>     The sysctltui utility exits 0 on success, and &gt;0 if an error occurs.</span>
<span id="cb1-52"><a href="#cb1-52" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb1-53"><a href="#cb1-53" aria-hidden="true" tabindex="-1"></a>COMPATIBILITY</span>
<span id="cb1-54"><a href="#cb1-54" aria-hidden="true" tabindex="-1"></a>     Layout similar to sysctl(8) and nsysctl(8):</span>
<span id="cb1-55"><a href="#cb1-55" aria-hidden="true" tabindex="-1"></a>           % [n]sysctl -a           % sysctltui -fV -i 0</span>
<span id="cb1-56"><a href="#cb1-56" aria-hidden="true" tabindex="-1"></a>           % [n]sysctl -an          % sysctltui -f -i 0</span>
<span id="cb1-57"><a href="#cb1-57" aria-hidden="true" tabindex="-1"></a>           % [n]sysctl -ad          % sysctltui -fd -i 0</span>
<span id="cb1-58"><a href="#cb1-58" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb1-59"><a href="#cb1-59" aria-hidden="true" tabindex="-1"></a>SEE ALSO</span>
<span id="cb1-60"><a href="#cb1-60" aria-hidden="true" tabindex="-1"></a>     sysctlview(1), sysctl(3), sysctlmibinfo2(3), sysctlinfo(4), nsysctl(8),</span>
<span id="cb1-61"><a href="#cb1-61" aria-hidden="true" tabindex="-1"></a>     sysctl(8)</span>
<span id="cb1-62"><a href="#cb1-62" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb1-63"><a href="#cb1-63" aria-hidden="true" tabindex="-1"></a>AUTHORS</span>
<span id="cb1-64"><a href="#cb1-64" aria-hidden="true" tabindex="-1"></a>     sysctltui was written by Alfonso Sabato Siciliano</span>
<span id="cb1-65"><a href="#cb1-65" aria-hidden="true" tabindex="-1"></a>     &lt;asiciliano@FreeBSD.org&gt;.</span>
<span id="cb1-66"><a href="#cb1-66" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb1-67"><a href="#cb1-67" aria-hidden="true" tabindex="-1"></a>FreeBSD 15.0-CURRENT             June 8, 2025             FreeBSD 15.0-CURRENT</span></code></pre></div>
    </section>
</article>

<script src="https://utteranc.es/client.js"
        repo="alfonsosiciliano/comments-alfonsosiciliano.gitlab.io"
        issue-term="pathname"
        theme="preferred-color-scheme"
        crossorigin="anonymous"
        async>
</script>

]]></summary>
</entry>
<entry>
    <title>SysctlTUI is Out!</title>
    <link href="https://alfonsosiciliano.gitlab.io/posts/2025-05-29-sysctltui.html" />
    <id>https://alfonsosiciliano.gitlab.io/posts/2025-05-29-sysctltui.html</id>
    <published>2025-05-29T00:00:00Z</published>
    <updated>2025-05-29T00:00:00Z</updated>
    <summary type="html"><![CDATA[<article>
    <section class="header">
        Posted on
        May 29, 2025
        
    </section>
    <section>
        <p>The <a href="https://man.freebsd.org/sysctl/3" target="_blank">sysctl()</a> system call can get or set the
state of the system, the <a href="https://www.freebsd.org" target="_blank">FreeBSD</a> kernel exposes the
parameters for <em>sysctl()</em> as objects of a <em>Management information Base</em> (MIB).</p>
<p><a href="https://gitlab.com/alfix/sysctltui" target="_blank">sysctltui</a> is a Text User Interface sysctl
MIB explorer.
It allow to view a parameter’s properties and get or set its value.
The first version 0.0.1 is out.
<!--more--></p>
<hr />
<p><strong>Getting Started</strong></p>
<div class="sourceCode" id="cb1"><pre class="sourceCode default"><code class="sourceCode default"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a># pkg install sysctlmibinfo2 bsddialog</span>
<span id="cb1-2"><a href="#cb1-2" aria-hidden="true" tabindex="-1"></a>% git clone https://gitlab.com/alfix/sysctltui.git</span>
<span id="cb1-3"><a href="#cb1-3" aria-hidden="true" tabindex="-1"></a>% cd sysctltui</span>
<span id="cb1-4"><a href="#cb1-4" aria-hidden="true" tabindex="-1"></a>% make</span>
<span id="cb1-5"><a href="#cb1-5" aria-hidden="true" tabindex="-1"></a>% ./sysctltui</span></code></pre></div>
<p>The utility provides three windows: a main one with the tree, one to view
information about the parameter, and one to set a new value.</p>
<p>Main Window:</p>
<p><a href="https://gitlab.com/alfix/sysctltui/-/raw/main/screenshots/1.png" target="_blank"><img src="https://gitlab.com/alfix/sysctltui/-/raw/main/screenshots/1.png" style="width:80.0%" alt="Main Window with sysctl mib tree" /></a></p>
<p>Parameter Properties:</p>
<p><a href="https://gitlab.com/alfix/sysctltui/-/raw/main/screenshots/2.png" target="_blank"><img src="https://gitlab.com/alfix/sysctltui/-/raw/main/screenshots/2.png" style="width:80.0%" alt="Window with parameter’s properties" /></a></p>
<p>Set Value:</p>
<p><a href="https://gitlab.com/alfix/sysctltui/-/raw/main/screenshots/3.png" target="_blank"><img src="https://gitlab.com/alfix/sysctltui/-/raw/main/screenshots/3.png" style="width:80.0%" alt="Window with a form to set a new parameter value" /></a></p>
<hr />
<p><strong>Usage</strong></p>
<div class="sourceCode" id="cb2"><pre class="sourceCode default"><code class="sourceCode default"><span id="cb2-1"><a href="#cb2-1" aria-hidden="true" tabindex="-1"></a>% ./sysctltui -h</span>
<span id="cb2-2"><a href="#cb2-2" aria-hidden="true" tabindex="-1"></a>usage: sysctltui [-h|v]</span>
<span id="cb2-3"><a href="#cb2-3" aria-hidden="true" tabindex="-1"></a>       sysctltui [-d|V] [-f] [-e &lt;label&gt;] [-l &lt;label&gt;] [-i &lt;indent&gt;] [-s &lt;label&gt;]</span>
<span id="cb2-4"><a href="#cb2-4" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb2-5"><a href="#cb2-5" aria-hidden="true" tabindex="-1"></a> -d		Show parameter descriptions in the main window.</span>
<span id="cb2-6"><a href="#cb2-6" aria-hidden="true" tabindex="-1"></a> -e &lt;label&gt;	Set prefix for nodes with expandable subtree.</span>
<span id="cb2-7"><a href="#cb2-7" aria-hidden="true" tabindex="-1"></a> -f		Display full parameter names in the main window.</span>
<span id="cb2-8"><a href="#cb2-8" aria-hidden="true" tabindex="-1"></a> -h		Show this help message and exit.</span>
<span id="cb2-9"><a href="#cb2-9" aria-hidden="true" tabindex="-1"></a> -i &lt;indent&gt;	Set the visual depth of subtrees.</span>
<span id="cb2-10"><a href="#cb2-10" aria-hidden="true" tabindex="-1"></a> -l &lt;label&gt;	Set prefix for leaf nodes.</span>
<span id="cb2-11"><a href="#cb2-11" aria-hidden="true" tabindex="-1"></a> -s &lt;label&gt;	Set prefix for nodes with expanded subtrees.</span>
<span id="cb2-12"><a href="#cb2-12" aria-hidden="true" tabindex="-1"></a> -V		Display parameter values in the main window.</span>
<span id="cb2-13"><a href="#cb2-13" aria-hidden="true" tabindex="-1"></a> -v		Show version and exit.</span></code></pre></div>
<p><strong>Tip</strong>, layout similar to
<a href="https://man.freebsd.org/cgi/man.cgi?sysctl(8)" target="_blank">sysctl</a> or
<a href="https://www.freshports.org/sysutils/nsysctl/" target="_blank">sysutils/nsysctl</a>:</p>
<table>
<thead>
<tr>
<th>[n]sysctl</th>
<th>sysctltui</th>
</tr>
</thead>
<tbody>
<tr>
<td>% [n]sysctl -a</td>
<td>% sysctltui -fV -i 0</td>
</tr>
<tr>
<td>% [n]sysctl -an</td>
<td>% sysctltui -f -i 0</td>
</tr>
<tr>
<td>% [n]sysctl -ad</td>
<td>% sysctltui -fd -i 0</td>
</tr>
</tbody>
</table>
<p>sysctltui is still in its early stages; it is currently at version 0.0.1.
It provides some functionality similar to
<a href="https://www.freshports.org/sysutils/nsysctl/" target="_blank">nsysctl</a> and
<a href="https://www.freshports.org/deskutils/sysctlview" target="_blank">sysctlview</a>,
but many features still need to be implemented.</p>
<p><strong>TODO list</strong>:</p>
<ul>
<li>Add: [View] menu: Rebuild Tree, Expande Tree, Collapse Tree,
Show desc, Show Value, Clear screen.</li>
<li>Add: kelvin format.</li>
<li>Add: Opaque(s).</li>
<li>Improve: sort children.</li>
<li>Add: /etc/sysctl.conf and /boot/loader.conf.</li>
</ul>
<p>Suggestions, feedback, and new ideas are welcome.</p>
<hr />
    </section>
</article>

<script src="https://utteranc.es/client.js"
        repo="alfonsosiciliano/comments-alfonsosiciliano.gitlab.io"
        issue-term="pathname"
        theme="preferred-color-scheme"
        crossorigin="anonymous"
        async>
</script>

]]></summary>
</entry>
<entry>
    <title>WebSysctl is Now Live!</title>
    <link href="https://alfonsosiciliano.gitlab.io/posts/2025-04-26-websysctl.html" />
    <id>https://alfonsosiciliano.gitlab.io/posts/2025-04-26-websysctl.html</id>
    <published>2025-04-26T00:00:00Z</published>
    <updated>2025-04-26T00:00:00Z</updated>
    <summary type="html"><![CDATA[<article>
    <section class="header">
        Posted on
        April 26, 2025
        
    </section>
    <section>
        <p>The <a href="https://www.freebsd.org" target="_blank">FreeBSD</a> Operating System provides the sysctl
system call and utility to get and set system state at runtime.
The kernel exposes available parameters for sysctl as objects in a Management
Information Base (MIB).</p>
<p>Today, FreeBSD includes thousands of sysctl parameters.
Moreover, parameters can be added or removed dynamically.
Each computer probably builds a different MIB.
<!--more-->
To help navigate this, the kernel provides additional features for exploring
the MIB and retrieving extra information about each object (such as name,
description, format, and so on).</p>
<p><strong><a href="http://websysctl.alfonsosiciliano.net" target="_blank">WebSysctl</a> aims to collect all
possible sysctl parameters along with their properties.</strong></p>
<p>The MIB is represented as a
<a href="http://websysctl.alfonsosiciliano.net/table" target="_blank">table</a>,
<a href="http://websysctl.alfonsosiciliano.net/list" target="_blank">list</a>.
and a <a href="http://websysctl.alfonsosiciliano.net/tree" target="_blank">tree</a>.</p>
<p><a href="http://websysctl.alfonsosiciliano.net/tree" target="_blank"><img src="/images/websysctl-tree.png" style="width:100.0%" alt="Screenshot of the web page http://websysctl.alfonsosiciliano.net/tree" /></a></p>
<p>Additionally, WebSysctl provides a page for each parameter,
available both in dot notation
(for example, <a href="http://websysctl.alfonsosiciliano.net/kern.ostype" target="_blank">kern.ostype</a>)
and in path notation
(for example, <a href="http://websysctl.alfonsosiciliano.net/kern/ostype" target="_blank">kern/ostype</a>).</p>
<hr />
<p>Currently WebSysctl is available at <a href="http://websysctl.alfonsosiciliano.net/" target="_blank">http://websysctl.alfonsosiciliano.net/</a>.
It will probably move to alfonsosiciliano.dev in the future.
(I already own the domain but I am waiting to obtain an SSL certificate.
I will post updates on this blog.)</p>
<p>Please note: I am not a web/frontend/backend/full-stack developer,
nor a database expert.
WebSysctl is my first web project, and it can certainly be improved.</p>
<hr />
    </section>
</article>

<script src="https://utteranc.es/client.js"
        repo="alfonsosiciliano/comments-alfonsosiciliano.gitlab.io"
        issue-term="pathname"
        theme="preferred-color-scheme"
        crossorigin="anonymous"
        async>
</script>

]]></summary>
</entry>
<entry>
    <title>Proof of Concept for a "Multi" Installer for FreeBSD</title>
    <link href="https://alfonsosiciliano.gitlab.io/posts/2025-03-18-poc-installer.html" />
    <id>https://alfonsosiciliano.gitlab.io/posts/2025-03-18-poc-installer.html</id>
    <published>2025-03-18T00:00:00Z</published>
    <updated>2025-03-18T00:00:00Z</updated>
    <summary type="html"><![CDATA[<article>
    <section class="header">
        Posted on
        March 18, 2025
        
    </section>
    <section>
        <p>This is another post in the series: “A Personal Multi Installer in Lua”.</p>
<ul>
<li><em>2)</em> Proof of Concept for a “Multi” Installer &lt;- <strong>this post</strong></li>
<li><em>1)</em> <a href="2025-01-27-ideas-installer.html" target="_blank">Motivations and Ideas for a “Multi” Installer</a></li>
</ul>
<p>This post describes the current Work in Progress with screenshots and previews.
Please refer to the previous post for more background information.
<!--more--></p>
<hr />
<p>The idea is that a <em>client</em> creates an <em>installation file</em>, and a <em>server</em>
performs the installation.
A <strong>proof of feasibility</strong> is available:</p>
<ul>
<li><em>installer.lua</em> reads the <em>configuration file</em> and builds the <em>start menu</em>.</li>
<li><em>installer.lua</em> calls <em>client.lua</em>.</li>
<li><em>client.lua</em> uses the <em>configuration file</em> and the selected frontend
(currently TUI and CLI) to create the <em>installation file</em>.</li>
<li><em>installer.lua</em> calls <em>server.lua</em></li>
<li><em>server.lua</em> reads the <em>installation</em> file and actually performs the
installation on the machine.</li>
</ul>
<p><a href="/images/diagram.png" target="_blank"><img src="/images/diagram.png" alt="Diagram Image: A flowchart depicting the structure of a Lua-based application. At the top, there is a configuration file labeled “Configuration File” connected to an “installer.lua” block. Two branches extend from the installer.lua block: one leading to “client.lua” and the other to “server.lua.” Below, an “Installation File” block connects to “frontend.lua,” which in turn connects to a block labeled “UI implementation” with subcategories “tui - cli - gui - web”" /></a></p>
<p>The installer is independent of any graphical interface. Both the <em>client</em> and
the <em>server</em> use a generic “Frontend” object, and they are unaware of its
specific implementation.
The installer can also run without a user interface:</p>
<ul>
<li>The <em>client</em> can create the <em>installation file</em> by reading the default values
from the configuration file or through auto installation.</li>
<li>The <em>server</em> can execute the installation commands without a user interface.</li>
</ul>
<p>That is a <em>non-interactive</em> installation. The installer provides several options
for interactive, semi-interactive, and non-interactive installations, which will
be described later in this post.</p>
<p>The <em>installation file</em> acts as the communication file between the <em>client</em> and
<em>server</em>.
Additionally, it offers two useful features:</p>
<ol type="1">
<li>It can be reused.</li>
<li>It can function as a standalone installer.</li>
</ol>
<p>More details will follow.</p>
<hr />
<p>The installer skeleton is complete and serves as a <strong>proof of concept</strong>.
It meets most of the requirements and features outlined in the first post:
multi-language, multi-frontend, multi-way, and multi-interactivity.</p>
<h2 id="configuration-file">Configuration File</h2>
<p>The installer starts by reading the <em>configuration file</em>, which allows you to
fully customize the installer settings. It also includes options from
bsdinstall.
Here is a snippet:</p>
<div class="sourceCode" id="cb1"><pre class="sourceCode lua"><code class="sourceCode lua"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a><span class="co">------------------------------------------------------------</span></span>
<span id="cb1-2"><a href="#cb1-2" aria-hidden="true" tabindex="-1"></a><span class="co">--- Starting configuration, you can set up the installer ---</span></span>
<span id="cb1-3"><a href="#cb1-3" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb1-4"><a href="#cb1-4" aria-hidden="true" tabindex="-1"></a><span class="co">-- Clone bsdinstall OSNAME</span></span>
<span id="cb1-5"><a href="#cb1-5" aria-hidden="true" tabindex="-1"></a><span class="va">Config</span><span class="op">.</span><span class="cn">OSNAME</span> <span class="op">=</span> <span class="st">&quot;FreeBSD&quot;</span></span>
<span id="cb1-6"><a href="#cb1-6" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb1-7"><a href="#cb1-7" aria-hidden="true" tabindex="-1"></a><span class="co">-- Clone bsdinstall EFI_LABEL_NAME</span></span>
<span id="cb1-8"><a href="#cb1-8" aria-hidden="true" tabindex="-1"></a><span class="va">Config</span><span class="op">.</span><span class="cn">EFI_LABEL_NAME</span> <span class="op">=</span> <span class="st">&quot;FreeBSD&quot;</span></span>
<span id="cb1-9"><a href="#cb1-9" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb1-10"><a href="#cb1-10" aria-hidden="true" tabindex="-1"></a><span class="co">-- Logging and debug</span></span>
<span id="cb1-11"><a href="#cb1-11" aria-hidden="true" tabindex="-1"></a><span class="va">Config</span><span class="op">.</span><span class="cn">LOGGING_FILE</span> <span class="op">=</span> <span class="st">&quot;/tmp/install.log&quot;</span></span>
<span id="cb1-12"><a href="#cb1-12" aria-hidden="true" tabindex="-1"></a><span class="va">Config</span><span class="op">.</span><span class="cn">LOGGING_LEVEL</span> <span class="op">=</span> <span class="dv">3</span></span>
<span id="cb1-13"><a href="#cb1-13" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb1-14"><a href="#cb1-14" aria-hidden="true" tabindex="-1"></a><span class="co">-- Start menu beep: at start up and after restart (accessibility)</span></span>
<span id="cb1-15"><a href="#cb1-15" aria-hidden="true" tabindex="-1"></a><span class="co">-- Config.BEEP = true</span></span>
<span id="cb1-16"><a href="#cb1-16" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb1-17"><a href="#cb1-17" aria-hidden="true" tabindex="-1"></a><span class="co">-- Client creates Config.INSTALLATION from this configuration file and the</span></span>
<span id="cb1-18"><a href="#cb1-18" aria-hidden="true" tabindex="-1"></a><span class="co">-- user interface. The server reads it to perform the installation on the</span></span>
<span id="cb1-19"><a href="#cb1-19" aria-hidden="true" tabindex="-1"></a><span class="co">-- machine.</span></span>
<span id="cb1-20"><a href="#cb1-20" aria-hidden="true" tabindex="-1"></a><span class="co">-- If Config.CLIENT=false this should be an existing file for the server.</span></span>
<span id="cb1-21"><a href="#cb1-21" aria-hidden="true" tabindex="-1"></a><span class="va">Config</span><span class="op">.</span><span class="cn">INSTALLATION</span> <span class="op">=</span> <span class="st">&quot;/tmp/installation.lua&quot;</span></span>
<span id="cb1-22"><a href="#cb1-22" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb1-23"><a href="#cb1-23" aria-hidden="true" tabindex="-1"></a><span class="co">-- Enable client. If disabled the installer will run only the server, so be sure</span></span>
<span id="cb1-24"><a href="#cb1-24" aria-hidden="true" tabindex="-1"></a><span class="co">-- Config.INSTALLATION already exists.</span></span>
<span id="cb1-25"><a href="#cb1-25" aria-hidden="true" tabindex="-1"></a><span class="va">Config</span><span class="op">.</span><span class="cn">CLIENT</span> <span class="op">=</span> <span class="kw">true</span></span>
<span id="cb1-26"><a href="#cb1-26" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb1-27"><a href="#cb1-27" aria-hidden="true" tabindex="-1"></a><span class="co">-- Enable server</span></span>
<span id="cb1-28"><a href="#cb1-28" aria-hidden="true" tabindex="-1"></a><span class="va">Config</span><span class="op">.</span><span class="cn">SERVER</span> <span class="op">=</span> <span class="kw">true</span></span>
<span id="cb1-29"><a href="#cb1-29" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb1-30"><a href="#cb1-30" aria-hidden="true" tabindex="-1"></a><span class="co">-- Directory to store &quot;etc&quot; files during server installation,</span></span>
<span id="cb1-31"><a href="#cb1-31" aria-hidden="true" tabindex="-1"></a><span class="co">-- clone bsdinstall BSDINSTALL_TMPETC</span></span>
<span id="cb1-32"><a href="#cb1-32" aria-hidden="true" tabindex="-1"></a><span class="va">Config</span><span class="op">.</span><span class="cn">TMP_ETC</span> <span class="op">=</span> <span class="st">&quot;/tmp&quot;</span></span>
<span id="cb1-33"><a href="#cb1-33" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb1-34"><a href="#cb1-34" aria-hidden="true" tabindex="-1"></a><span class="op">.....</span></span>
<span id="cb1-35"><a href="#cb1-35" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb1-36"><a href="#cb1-36" aria-hidden="true" tabindex="-1"></a><span class="co">--------------------------------------------------------------------------------</span></span>
<span id="cb1-37"><a href="#cb1-37" aria-hidden="true" tabindex="-1"></a><span class="co">-- Screens to show to the user. It is possible to set default values ​​for some</span></span>
<span id="cb1-38"><a href="#cb1-38" aria-hidden="true" tabindex="-1"></a><span class="co">-- screens. If the screen is disabled but the default value is set, it will be</span></span>
<span id="cb1-39"><a href="#cb1-39" aria-hidden="true" tabindex="-1"></a><span class="co">-- written in the INSTALLATION file.</span></span>
<span id="cb1-40"><a href="#cb1-40" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb1-41"><a href="#cb1-41" aria-hidden="true" tabindex="-1"></a><span class="co">-- Start Menu</span></span>
<span id="cb1-42"><a href="#cb1-42" aria-hidden="true" tabindex="-1"></a><span class="va">Config</span><span class="op">.</span><span class="cn">SCREEN_STARTMENU</span> <span class="op">=</span> <span class="kw">true</span></span>
<span id="cb1-43"><a href="#cb1-43" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb1-44"><a href="#cb1-44" aria-hidden="true" tabindex="-1"></a><span class="co">-- Hostname</span></span>
<span id="cb1-45"><a href="#cb1-45" aria-hidden="true" tabindex="-1"></a><span class="va">Config</span><span class="op">.</span><span class="cn">SCREEN_HOSTNAME</span> <span class="op">=</span> <span class="kw">true</span></span>
<span id="cb1-46"><a href="#cb1-46" aria-hidden="true" tabindex="-1"></a><span class="va">Config</span><span class="op">.</span><span class="cn">SCREEN_HOSTNAME_VALUE</span> <span class="op">=</span> <span class="cn">HOSTNAME</span></span>
<span id="cb1-47"><a href="#cb1-47" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb1-48"><a href="#cb1-48" aria-hidden="true" tabindex="-1"></a><span class="op">.....</span></span></code></pre></div>
<p>Then, the installer builds the Start Menu. Three beeps sound to inform blind and
low-vision users that they can start the installation (more on this later).</p>
<p><a href="/images/mainmenu.png" target="_blank"><img src="/images/mainmenu.png" style="width:80.0%" alt="The window displays a menu of installation options, including ‘Language,’ ‘Beep,’ ‘BSDInstall,’ and ‘Advanced.’ The ‘Language’ option is highlighted, showing ‘English’ selected. Buttons at the bottom read ‘Select,’ ‘Shutdown,’ and ‘Reboot’" /></a></p>
<hr />
<h2 id="expert-menu">Expert Menu</h2>
<p>The <em>Expert Menu</em> (<em>Start Menu</em> &gt; Advanced ---&gt;) offers various features.
For example”</p>
<p><a href="/images/expertmenu.png" target="_blank"><img src="/images/expertmenu.png" style="width:80.0%" alt="The window displays a menu of advanced installation options, including ‘File Install,’ ‘Live System,’ ‘Logging,’ ‘Verbose,’ and ‘Exit.’ The ‘File Install’ option is highlighted, with ‘Installation reading a file’ displayed to the right. A ‘Select’ button is at the bottom of the window." /></a></p>
<p>“File Installation” allows you to select an <em>installation file</em>.
The file can be manually created, generated from a previous installation,
or generated from the <em>configuration file</em>.
If the file exists, the installer skips the <em>client</em> step and directly starts
the <em>server</em>.
Of course the <em>client</em> can be disabled via the <em>configuration file</em>, to run a
semi- or non-interactive installation by reading an <em>installation file</em>.</p>
<p><a href="https://media.bsd.cafe/bsdmmedia01/media_attachments/files/111/942/414/615/158/521/original/233715d4eee6d3c0.jpeg" target="_blank"><img src="/images/fileinstall.png" style="width:80.0%" alt="File Installation Image: A terminal window running the FreeBSD 15.0-CURRENT installation. A pop-up dialog labeled “File Installation” prompts the user to specify an installation file. The input field contains the path “/etc/installer.lua.” Below, there are “OK” and “Cancel” buttons, with “OK” highlighted." /></a></p>
<p>“Logging” lets you choose a debugging/logging level.</p>
<p><a href="/images/logging.png" target="_blank"><img src="/images/logging.png" style="width:80.0%" alt="The window displays logging options with radio buttons: ‘Disable No logging,’ ‘Level 1 Logging for sysadmins,’ ‘Level 2 Debug for developers,’ and ‘Level 3 Extra debug for the installer.’ The ‘Level 3’ option is selected with an asterisk. Buttons at the bottom read ‘Select’ and ‘Cancel’" /></a></p>
<p>Just a log snippet:</p>
<div class="sourceCode" id="cb2"><pre class="sourceCode default"><code class="sourceCode default"><span id="cb2-1"><a href="#cb2-1" aria-hidden="true" tabindex="-1"></a>====================================================</span>
<span id="cb2-2"><a href="#cb2-2" aria-hidden="true" tabindex="-1"></a>= Starting Installer Sat Mar 15 14:17:49 2025</span>
<span id="cb2-3"><a href="#cb2-3" aria-hidden="true" tabindex="-1"></a>====================================================</span>
<span id="cb2-4"><a href="#cb2-4" aria-hidden="true" tabindex="-1"></a>DEBUG: Loaded configuration file: &quot;config.lua&quot;</span>
<span id="cb2-5"><a href="#cb2-5" aria-hidden="true" tabindex="-1"></a>DEBUG: load &quot;./i18n.lua&quot;</span>
<span id="cb2-6"><a href="#cb2-6" aria-hidden="true" tabindex="-1"></a>DEBUG: load &quot;./configure.lua&quot;</span>
<span id="cb2-7"><a href="#cb2-7" aria-hidden="true" tabindex="-1"></a>DEBUG: load &quot;./startmenu.lua&quot;</span>
<span id="cb2-8"><a href="#cb2-8" aria-hidden="true" tabindex="-1"></a>DEBUG: load &quot;./client/client.lua&quot;</span>
<span id="cb2-9"><a href="#cb2-9" aria-hidden="true" tabindex="-1"></a>DEBUG: load &quot;./userinterface/frontend.lua&quot;</span>
<span id="cb2-10"><a href="#cb2-10" aria-hidden="true" tabindex="-1"></a>DEBUG: load &quot;./client/hostname.lua&quot;</span>
<span id="cb2-11"><a href="#cb2-11" aria-hidden="true" tabindex="-1"></a>DEBUG: load &quot;./server.lua&quot;</span>
<span id="cb2-12"><a href="#cb2-12" aria-hidden="true" tabindex="-1"></a>DEBUG: load &quot;./userinterface/cli.lua&quot;</span>
<span id="cb2-13"><a href="#cb2-13" aria-hidden="true" tabindex="-1"></a>DEBUG: call ./userinterface/frontend.lua:16 new()</span>
<span id="cb2-14"><a href="#cb2-14" aria-hidden="true" tabindex="-1"></a>	(arg) self = object table: 0xad707088880</span>
<span id="cb2-15"><a href="#cb2-15" aria-hidden="true" tabindex="-1"></a>	(arg) o = nil</span>
<span id="cb2-16"><a href="#cb2-16" aria-hidden="true" tabindex="-1"></a>DEBUG: load &quot;./userinterface/gui.lua&quot;</span>
<span id="cb2-17"><a href="#cb2-17" aria-hidden="true" tabindex="-1"></a>DEBUG: load &quot;./userinterface/tui.lua&quot;</span>
<span id="cb2-18"><a href="#cb2-18" aria-hidden="true" tabindex="-1"></a>DEBUG: call ./userinterface/frontend.lua:16 new()</span>
<span id="cb2-19"><a href="#cb2-19" aria-hidden="true" tabindex="-1"></a>	(arg) self = object table: 0xad707088880</span>
<span id="cb2-20"><a href="#cb2-20" aria-hidden="true" tabindex="-1"></a>	(arg) o = {</span>
<span id="cb2-21"><a href="#cb2-21" aria-hidden="true" tabindex="-1"></a>		__tostring = &quot;TUI&quot;,</span>
<span id="cb2-22"><a href="#cb2-22" aria-hidden="true" tabindex="-1"></a>	}</span>
<span id="cb2-23"><a href="#cb2-23" aria-hidden="true" tabindex="-1"></a>DEBUG: load &quot;./userinterface/web.lua&quot;</span>
<span id="cb2-24"><a href="#cb2-24" aria-hidden="true" tabindex="-1"></a>DEBUG: call ./configure.lua:17 newInstallationTable()</span>
<span id="cb2-25"><a href="#cb2-25" aria-hidden="true" tabindex="-1"></a>DEBUG: call ./userinterface/tui.lua:146 new()</span>
<span id="cb2-26"><a href="#cb2-26" aria-hidden="true" tabindex="-1"></a>	(arg) self = object Frontend</span>
<span id="cb2-27"><a href="#cb2-27" aria-hidden="true" tabindex="-1"></a>DEBUG: call ./startmenu.lua:171 run()</span>
<span id="cb2-28"><a href="#cb2-28" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb2-29"><a href="#cb2-29" aria-hidden="true" tabindex="-1"></a>.....</span>
<span id="cb2-30"><a href="#cb2-30" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb2-31"><a href="#cb2-31" aria-hidden="true" tabindex="-1"></a>====================================================</span>
<span id="cb2-32"><a href="#cb2-32" aria-hidden="true" tabindex="-1"></a>= Start Client</span>
<span id="cb2-33"><a href="#cb2-33" aria-hidden="true" tabindex="-1"></a>====================================================</span>
<span id="cb2-34"><a href="#cb2-34" aria-hidden="true" tabindex="-1"></a>DEBUG: call ./client/client.lua:49 loop()</span>
<span id="cb2-35"><a href="#cb2-35" aria-hidden="true" tabindex="-1"></a>	(arg) ui = {</span>
<span id="cb2-36"><a href="#cb2-36" aria-hidden="true" tabindex="-1"></a>		__tostring = &quot;TUI&quot;,</span>
<span id="cb2-37"><a href="#cb2-37" aria-hidden="true" tabindex="-1"></a>		new = function,</span>
<span id="cb2-38"><a href="#cb2-38" aria-hidden="true" tabindex="-1"></a>		menu = function,</span>
<span id="cb2-39"><a href="#cb2-39" aria-hidden="true" tabindex="-1"></a>		radiolist = function,</span>
<span id="cb2-40"><a href="#cb2-40" aria-hidden="true" tabindex="-1"></a>		inputString = function,</span>
<span id="cb2-41"><a href="#cb2-41" aria-hidden="true" tabindex="-1"></a>		hostname = function,</span>
<span id="cb2-42"><a href="#cb2-42" aria-hidden="true" tabindex="-1"></a>		highContrast = function,</span>
<span id="cb2-43"><a href="#cb2-43" aria-hidden="true" tabindex="-1"></a>		message = function,</span>
<span id="cb2-44"><a href="#cb2-44" aria-hidden="true" tabindex="-1"></a>		question = function,</span>
<span id="cb2-45"><a href="#cb2-45" aria-hidden="true" tabindex="-1"></a>	}</span>
<span id="cb2-46"><a href="#cb2-46" aria-hidden="true" tabindex="-1"></a>.....</span>
<span id="cb2-47"><a href="#cb2-47" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb2-48"><a href="#cb2-48" aria-hidden="true" tabindex="-1"></a>====================================================</span>
<span id="cb2-49"><a href="#cb2-49" aria-hidden="true" tabindex="-1"></a>= Start Server</span>
<span id="cb2-50"><a href="#cb2-50" aria-hidden="true" tabindex="-1"></a>====================================================</span>
<span id="cb2-51"><a href="#cb2-51" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb2-52"><a href="#cb2-52" aria-hidden="true" tabindex="-1"></a>...</span>
<span id="cb2-53"><a href="#cb2-53" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb2-54"><a href="#cb2-54" aria-hidden="true" tabindex="-1"></a>Reading Installation file &quot;installation.lua&quot;</span>
<span id="cb2-55"><a href="#cb2-55" aria-hidden="true" tabindex="-1"></a>DEBUG: load &quot;installation.lua&quot;</span>
<span id="cb2-56"><a href="#cb2-56" aria-hidden="true" tabindex="-1"></a>Read Installation file &quot;installation.lua&quot;</span>
<span id="cb2-57"><a href="#cb2-57" aria-hidden="true" tabindex="-1"></a>DEBUG: call ./server.lua:8 shell()</span>
<span id="cb2-58"><a href="#cb2-58" aria-hidden="true" tabindex="-1"></a>	(arg) cmd = &quot;BSDINSTALL_TMPETC=/tmp HOSTNAME=laptop.bsd</span>
<span id="cb2-59"><a href="#cb2-59" aria-hidden="true" tabindex="-1"></a>		./bsdinstall/hostname&quot;</span>
<span id="cb2-60"><a href="#cb2-60" aria-hidden="true" tabindex="-1"></a>----- Command ----</span>
<span id="cb2-61"><a href="#cb2-61" aria-hidden="true" tabindex="-1"></a>BSDINSTALL_TMPETC=/tmp HOSTNAME=laptop.bsd ./bsdinstall/hostname</span>
<span id="cb2-62"><a href="#cb2-62" aria-hidden="true" tabindex="-1"></a>	1&gt;/tmp/lua_u0OmXk 2&gt;/tmp/lua_QeM98G</span>
<span id="cb2-63"><a href="#cb2-63" aria-hidden="true" tabindex="-1"></a>rv: 0</span>
<span id="cb2-64"><a href="#cb2-64" aria-hidden="true" tabindex="-1"></a>out: err: </span>
<span id="cb2-65"><a href="#cb2-65" aria-hidden="true" tabindex="-1"></a>-----------------</span>
<span id="cb2-66"><a href="#cb2-66" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb2-67"><a href="#cb2-67" aria-hidden="true" tabindex="-1"></a>.....</span>
<span id="cb2-68"><a href="#cb2-68" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb2-69"><a href="#cb2-69" aria-hidden="true" tabindex="-1"></a>---------------- Dialog -------------------------</span>
<span id="cb2-70"><a href="#cb2-70" aria-hidden="true" tabindex="-1"></a>bsddialog --backtitle &#39;Installing FreeBSD 15.0-CURRENT&#39;</span>
<span id="cb2-71"><a href="#cb2-71" aria-hidden="true" tabindex="-1"></a>--title &#39; Complete &#39; --no-label &#39;Shell&#39;</span>
<span id="cb2-72"><a href="#cb2-72" aria-hidden="true" tabindex="-1"></a>--ok-label &#39;Reboot&#39; --extra-button --extra-label &#39;Shutdown&#39;</span>
<span id="cb2-73"><a href="#cb2-73" aria-hidden="true" tabindex="-1"></a>--yesno &#39;Installation Complete. Thank you to use FreeBSD!&#39;</span>
<span id="cb2-74"><a href="#cb2-74" aria-hidden="true" tabindex="-1"></a>0 0  2&gt;/tmp/lua_VZ6R</span>
<span id="cb2-75"><a href="#cb2-75" aria-hidden="true" tabindex="-1"></a>Button: Shutdown (dialog rv:3)</span>
<span id="cb2-76"><a href="#cb2-76" aria-hidden="true" tabindex="-1"></a>stderr: </span>
<span id="cb2-77"><a href="#cb2-77" aria-hidden="true" tabindex="-1"></a>------------------------------------------------</span>
<span id="cb2-78"><a href="#cb2-78" aria-hidden="true" tabindex="-1"></a>====================================================</span>
<span id="cb2-79"><a href="#cb2-79" aria-hidden="true" tabindex="-1"></a>= End Installer Sat Mar 15 14:18:19 2025</span>
<span id="cb2-80"><a href="#cb2-80" aria-hidden="true" tabindex="-1"></a>====================================================</span></code></pre></div>
<hr />
<h2 id="main-menu">Main Menu</h2>
<p>Returning to the <em>Start Menu</em>.</p>
<p><a href="/images/mainmenu.png" target="_blank"><img src="/images/mainmenu.png" style="width:80.0%" alt="The window displays a menu of installation options, including ‘Language,’ ‘Beep,’ ‘BSDInstall,’ and ‘Advanced.’ The ‘Language’ option is highlighted, showing ‘English’ selected. Buttons at the bottom read ‘Select,’ ‘Shutdown,’ and ‘Reboot.’" /></a></p>
<p>You can switch to “Dark Theme” for improved visibility.</p>
<p><a href="/images/highcontrast.png" target="_blank"><img src="/images/highcontrast.png" style="width:80.0%" alt="Previous start menu image in black and white" /></a></p>
<p>The installer supports multiple frontends and can seamlessly switch to CLI mode
using a simple key combination (“S + Enter”) to ensure screen reader
compatibility.
Special thanks to the
<a href="https://freebsdfoundation.org/project/vision-accessibility-subsystem-for-freebsd/" target="_blank">FreeBSD Foundation</a>
for making this possible.
It’s important to note that this is currently just a draft and will be improved
further.</p>
<iframe width="560" height="315" src="https://www.youtube.com/embed/_JF2tpfAxuU?si=accB4-bwMGdXqwhx" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen>
</iframe>
<p>The i18n (internationalization) module is implemented, allowing language
selection through the “Language” option.</p>
<p><a href="/images/language.png" target="_blank"><img src="/images/language.png" style="width:80.0%" alt="Screenshot of the FreeBSD 15.0 installer ‘Languages’ menu, with ‘Italiano (Italian)’ highlighted, reflecting the user’s location in Italy. A light-colored window labeled ‘Languages’ is centered on a blue background. The window displays a list of languages: ‘Française (French),’ ‘Italiano (Italian),’ and ‘English.’ The ‘Italiano’ option is highlighted. Buttons at the bottom read ‘Select’ and ‘Cancel’" /></a></p>
<p>If a translation is unavailable, the default English text is used.
To note “Beep” “Disabled”.</p>
<p><a href="/images/i18n.png" target="_blank"><img src="/images/i18n.png" style="width:80.0%" alt="Main Menu in Italian" /></a></p>
<hr />
<h2 id="client-loop">Client Loop</h2>
<p>The <em>client</em> provides its features in a loop, so it is easy to implement:</p>
<ul>
<li>Multi-way installation</li>
<li>Navigation buttons</li>
</ul>
<p>After selecting “Install”, choose between <code>Auto</code>, <code>Simple</code>, or <code>Expert</code>
installation modes.</p>
<p><a href="/images/multiways.png" target="_blank"><img src="/images/multiways.png" style="width:80.0%" alt="The window displays three installation mode options: ‘Auto,’ ‘Simple,’ and ‘Expert,’ each with a radio button. The ‘Simple’ mode option is selected with an asterisk. Buttons at the bottom read ‘Prev,’ ‘Restart,’ and ‘Next’" /></a></p>
<p>Each screen includes navigation buttons: <code>[Prev]</code>, <code>[Restart]</code>, and <code>[Next]</code>.</p>
<p><a href="/images/navigationbuttons.png" target="_blank"><img src="/images/navigationbuttons.png" style="width:80.0%" alt="The window displays a text field with ‘laptop.bsd’ entered as the hostname. Buttons at the bottom read ‘Prev,’ ‘Restart,’ and ‘Next’" /></a></p>
<p>After selecting <code>[Restart]</code>, you can choose between <code>Soft</code>, <code>Hard</code>, or <code>Reboot</code>.</p>
<p><a href="/images/restart.png" target="_blank"><img src="/images/restart.png" style="width:80.0%" alt="The window displays options for restarting the installation: ‘Soft’ (Preserve your configurations), ‘Hard’ (Delete your configurations), and ‘Reboot’ (Reboot the computer). The ‘Soft’ option, ‘Preserve your configurations,’ is highlighted. Buttons at the bottom read ‘Select’ and ‘Cancel’" /></a></p>
<p>New guideline: each screen has to provide an help (<code>F1</code> key).</p>
<p><a href="/images/help.png" target="_blank"><img src="/images/help.png" style="width:80.0%" alt="The window contains text explaining that a hostname is the computer’s name for networking and suggests using a made-up name like ‘yourname.fbsd’ for home networks. An ‘EXIT’ button is at the bottom of the window" /></a></p>
<hr />
<h2 id="server">Server</h2>
<p>The <em>server</em> prompts for confirmation before reading the <em>configuration file</em> and
proceeding with the OS installation.</p>
<p><a href="/images/installquestion.png" target="_blank"><img src="/images/installquestion.png" style="width:80.0%" alt="The window displays the question, ‘Do you want really install FreeBSD on this machine?’ Buttons at the bottom read ‘Yes’ and ‘No’" /></a></p>
<p>If an error occurs, it displays the failed command along with the return value,
stdout, and stderr.</p>
<p><a href="/images/error.png" target="_blank"><img src="/images/error.png" style="width:80.0%" alt="Error Message Image: A terminal window running the FreeBSD 15.0-CURRENT installation. A pop-up error message shows a command labeled “aaa” with the result value “127” and an output message that says “Error: sh: aaa: not found.” The pop-up has a “Close” button highlighted." /></a></p>
<p>In verbose mode, the executed command is also displayed;
please see <em>Expert Menu</em> above.</p>
<p><a href="/images/verbose.png" target="_blank"><img src="/images/verbose.png" style="width:80.0%" alt="The window displays the command and its output: ‘BSDINSTALL_TMPETC=/tmp HOSTNAME=fbsd.mtc ./bsdinstall/hostname’, ‘Result value: 0’, ‘Output:’, and ‘Error:’. A ‘Close’ button is at the bottom of the window" /></a></p>
<hr />
<h2 id="multi-interactive">Multi interactive</h2>
<p>The configuration file offers extensive flexibility to customize user
interactivity levels: interactive, semi-interactive, and non-interactive.</p>
<p>The setup is the combination of <em>Start Menu</em> (Enable/Disabled) +
<em>Client</em> UI (Enabled/Disabled (also for each screen)) +
<em>Client</em> (Enabled/Disabled) + <em>Server</em> UI and Verbose (Enabled/Disabled).</p>
<p>Fully Interactive (user driven) Installation example:</p>
<ul>
<li><em>Start Menu</em> enabled + <em>client</em> enabled + <em>client</em> UI enabled + <em>server</em> UI and
Verbose enabled</li>
</ul>
<p>Fully Non-Interactive (no user interaction) Installation examples:</p>
<ul>
<li><em>Client</em> UI disabled (<em>client</em> generates the <em>installation file</em> from default
values or <em>auto mode</em>) + <em>server</em> UI and Verbose disabled</li>
<li>Alternatively, if the <em>installation file</em> already exists: the <em>client</em>
disabled, the installer directly passes the <em>installation file</em> to the
<em>server</em> with UI and Verbose disabled.</li>
</ul>
<hr />
<h2 id="standalone-installer">Standalone Installer</h2>
<p>The <em>installation file</em> is both a <em>client/server</em> communication file and a
standalone installer.
Here is a snippet:</p>
<div class="sourceCode" id="cb3"><pre class="sourceCode lua"><code class="sourceCode lua"><span id="cb3-1"><a href="#cb3-1" aria-hidden="true" tabindex="-1"></a><span class="co">--- Installation file created on Sat Mar 15 00:25:54 2025 ---</span></span>
<span id="cb3-2"><a href="#cb3-2" aria-hidden="true" tabindex="-1"></a>	</span>
<span id="cb3-3"><a href="#cb3-3" aria-hidden="true" tabindex="-1"></a><span class="co">-- Uncomment the following line to use this file like a standalone installer.</span></span>
<span id="cb3-4"><a href="#cb3-4" aria-hidden="true" tabindex="-1"></a><span class="co">-- Example, run: &#39;# lua /root/installation.lua&#39;.</span></span>
<span id="cb3-5"><a href="#cb3-5" aria-hidden="true" tabindex="-1"></a><span class="co">-- local standaloneInstaller = true</span></span>
<span id="cb3-6"><a href="#cb3-6" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb3-7"><a href="#cb3-7" aria-hidden="true" tabindex="-1"></a><span class="kw">local</span> <span class="va">installation</span> <span class="op">=</span> <span class="op">{</span></span>
<span id="cb3-8"><a href="#cb3-8" aria-hidden="true" tabindex="-1"></a>	<span class="va">version</span> <span class="op">=</span> <span class="st">&quot;15.0-CURRENT&quot;</span><span class="op">,</span></span>
<span id="cb3-9"><a href="#cb3-9" aria-hidden="true" tabindex="-1"></a>	<span class="op">[</span><span class="dv">1</span><span class="op">]</span> <span class="op">=</span> <span class="op">{</span></span>
<span id="cb3-10"><a href="#cb3-10" aria-hidden="true" tabindex="-1"></a>		<span class="va">label</span> <span class="op">=</span> <span class="st">&quot;hostname&quot;</span><span class="op">,</span></span>
<span id="cb3-11"><a href="#cb3-11" aria-hidden="true" tabindex="-1"></a>		<span class="va">command</span> <span class="op">=</span> <span class="st">&quot;BSDINSTALL_TMPETC=/tmp HOSTNAME=fbsd.mtc ./bsdinstall/hostname&quot;</span></span>
<span id="cb3-12"><a href="#cb3-12" aria-hidden="true" tabindex="-1"></a>		<span class="op">},</span> <span class="co">-- End hostname</span></span>
<span id="cb3-13"><a href="#cb3-13" aria-hidden="true" tabindex="-1"></a>	<span class="op">[</span><span class="dv">2</span><span class="op">]</span> <span class="op">=</span> <span class="op">{</span></span>
<span id="cb3-14"><a href="#cb3-14" aria-hidden="true" tabindex="-1"></a>		<span class="va">label</span> <span class="op">=</span> <span class="st">&quot;date&quot;</span><span class="op">,</span></span>
<span id="cb3-15"><a href="#cb3-15" aria-hidden="true" tabindex="-1"></a>		<span class="va">command</span> <span class="op">=</span> <span class="op">{</span></span>
<span id="cb3-16"><a href="#cb3-16" aria-hidden="true" tabindex="-1"></a><span class="op">.....</span></span>
<span id="cb3-17"><a href="#cb3-17" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb3-18"><a href="#cb3-18" aria-hidden="true" tabindex="-1"></a><span class="op">}</span> <span class="co">-- End Installation</span></span>
<span id="cb3-19"><a href="#cb3-19" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb3-20"><a href="#cb3-20" aria-hidden="true" tabindex="-1"></a><span class="kw">local</span> <span class="kw">function</span> install<span class="op">()</span></span>
<span id="cb3-21"><a href="#cb3-21" aria-hidden="true" tabindex="-1"></a>	<span class="cf">for</span> <span class="cn">_</span><span class="op">,</span> <span class="va">step</span> <span class="kw">in</span> <span class="fu">ipairs</span><span class="op">(</span><span class="va">installation</span><span class="op">)</span> <span class="cf">do</span></span>
<span id="cb3-22"><a href="#cb3-22" aria-hidden="true" tabindex="-1"></a>		<span class="cf">if</span> <span class="fu">type</span><span class="op">(</span><span class="va">step</span><span class="op">.</span><span class="va">command</span><span class="op">)</span> <span class="op">==</span> <span class="st">&quot;table&quot;</span> <span class="cf">then</span></span>
<span id="cb3-23"><a href="#cb3-23" aria-hidden="true" tabindex="-1"></a>			<span class="cf">for</span> <span class="cn">_</span><span class="op">,</span> <span class="va">c</span> <span class="kw">in</span> <span class="fu">ipairs</span><span class="op">(</span><span class="va">step</span><span class="op">.</span><span class="va">command</span><span class="op">)</span> <span class="cf">do</span></span>
<span id="cb3-24"><a href="#cb3-24" aria-hidden="true" tabindex="-1"></a>				<span class="fu">os.execute</span><span class="op">(</span><span class="va">c</span><span class="op">)</span></span>
<span id="cb3-25"><a href="#cb3-25" aria-hidden="true" tabindex="-1"></a>			<span class="cf">end</span></span>
<span id="cb3-26"><a href="#cb3-26" aria-hidden="true" tabindex="-1"></a>		<span class="cf">else</span></span>
<span id="cb3-27"><a href="#cb3-27" aria-hidden="true" tabindex="-1"></a>			<span class="fu">os.execute</span><span class="op">(</span><span class="va">step</span><span class="op">.</span><span class="va">command</span><span class="op">)</span></span>
<span id="cb3-28"><a href="#cb3-28" aria-hidden="true" tabindex="-1"></a>		<span class="cf">end</span></span>
<span id="cb3-29"><a href="#cb3-29" aria-hidden="true" tabindex="-1"></a>	<span class="cf">end</span></span>
<span id="cb3-30"><a href="#cb3-30" aria-hidden="true" tabindex="-1"></a><span class="kw">end</span></span>
<span id="cb3-31"><a href="#cb3-31" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb3-32"><a href="#cb3-32" aria-hidden="true" tabindex="-1"></a><span class="cf">if</span> <span class="va">standaloneInstaller</span> <span class="cf">then</span> install<span class="op">()</span> <span class="cf">end</span></span>
<span id="cb3-33"><a href="#cb3-33" aria-hidden="true" tabindex="-1"></a><span class="op">.....</span></span></code></pre></div>
<p>To use the file as a standalone installer, uncomment the line:</p>
<div class="sourceCode" id="cb4"><pre class="sourceCode lua"><code class="sourceCode lua"><span id="cb4-1"><a href="#cb4-1" aria-hidden="true" tabindex="-1"></a><span class="co">-- Uncomment the following line to use this file like a standalone installer.</span></span>
<span id="cb4-2"><a href="#cb4-2" aria-hidden="true" tabindex="-1"></a><span class="co">-- Example, run: &#39;# lua /root/installation.lua&#39;.</span></span>
<span id="cb4-3"><a href="#cb4-3" aria-hidden="true" tabindex="-1"></a><span class="kw">local</span> <span class="va">standaloneInstaller</span> <span class="op">=</span> <span class="kw">true</span></span></code></pre></div>
<p>And execute:</p>
<div class="sourceCode" id="cb5"><pre class="sourceCode default"><code class="sourceCode default"><span id="cb5-1"><a href="#cb5-1" aria-hidden="true" tabindex="-1"></a># lua /root/installation.lua</span></code></pre></div>
<hr />
<h2 id="wip-and-future">WIP and Future</h2>
<p>Currently finishing reading Programming in Lua, 4th Edition.</p>
<p>Integrating bsdinstall components and adding progress bars to the server:</p>
<p><a href="/images/serverbars.png" target="_blank"><img src="/images/serverbars.png" style="width:80.0%" alt="The window displays progress bars for various installation steps: ‘Date e time’ 100%, ‘Network’ 100%, ‘Partitioner’ 100%, ‘Fetching System’ 30%, ‘Installing System’ 0%, and ‘Config Files’ 0%. The ‘Fetching System’ progress bar is partially filled. The text ‘pkgbase fetching base system…’ is displayed, and an ‘Overall Progress’ bar shows 30%" /></a></p>
<p>Currently, server.lua simply loads the <em>installation file</em> and executes its
commands, adding only logging and a user interface. In pseudocode:</p>
<div class="sourceCode" id="cb6"><pre class="sourceCode lua"><code class="sourceCode lua"><span id="cb6-1"><a href="#cb6-1" aria-hidden="true" tabindex="-1"></a><span class="co">--Server.lua</span></span>
<span id="cb6-2"><a href="#cb6-2" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb6-3"><a href="#cb6-3" aria-hidden="true" tabindex="-1"></a><span class="va">installation</span> <span class="op">=</span> <span class="fu">load</span><span class="op">(</span><span class="st">&quot;installation file&quot;</span><span class="op">)</span></span>
<span id="cb6-4"><a href="#cb6-4" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb6-5"><a href="#cb6-5" aria-hidden="true" tabindex="-1"></a><span class="cf">for</span> <span class="va">step</span> <span class="kw">in</span> <span class="op">(</span><span class="va">installation</span><span class="op">)</span></span>
<span id="cb6-6"><a href="#cb6-6" aria-hidden="true" tabindex="-1"></a>	<span class="fu">execute</span><span class="op">(</span><span class="va">step</span><span class="op">.</span><span class="va">command</span><span class="op">)</span></span>
<span id="cb6-7"><a href="#cb6-7" aria-hidden="true" tabindex="-1"></a>	log<span class="op">(</span><span class="va">step</span><span class="op">.</span><span class="va">namen</span> <span class="va">step</span><span class="op">.</span><span class="va">command</span><span class="op">)</span></span>
<span id="cb6-8"><a href="#cb6-8" aria-hidden="true" tabindex="-1"></a>	<span class="cn">UI</span><span class="op">.</span>window<span class="op">(</span><span class="va">step</span><span class="op">.</span><span class="va">name</span><span class="op">,</span> <span class="va">step</span><span class="op">.</span><span class="va">comman</span><span class="op">)</span></span>
<span id="cb6-9"><a href="#cb6-9" aria-hidden="true" tabindex="-1"></a><span class="cf">end</span></span></code></pre></div>
<p>I am considering merging server.lua with the <em>installation file</em> so it becames a
simple sequence of commands.</p>
<p>The server uses a lightweight version of the bsdinstall components, without a
user interface and logging.
For example, the
<a href="https://cgit.freebsd.org/src/tree/usr.sbin/bsdinstall/scripts/hostname" target="_blank">hostname</a>
script becomes:</p>
<div class="sourceCode" id="cb7"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb7-1"><a href="#cb7-1" aria-hidden="true" tabindex="-1"></a><span class="co"># Default file to store hostname entry in</span></span>
<span id="cb7-2"><a href="#cb7-2" aria-hidden="true" tabindex="-1"></a><span class="bu">:</span> <span class="va">${HOSTNAMEFILE</span><span class="op">:=</span><span class="va">$BSDINSTALL_TMPETC</span>/rc.conf.hostname<span class="va">}</span></span>
<span id="cb7-3"><a href="#cb7-3" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb7-4"><a href="#cb7-4" aria-hidden="true" tabindex="-1"></a><span class="co"># Store the user&#39;s choice</span></span>
<span id="cb7-5"><a href="#cb7-5" aria-hidden="true" tabindex="-1"></a><span class="bu">echo</span> hostname=<span class="dt">\&quot;</span><span class="va">$HOSTNAME</span><span class="dt">\&quot;</span> <span class="op">&gt;</span> <span class="va">$HOSTNAMEFILE</span></span>
<span id="cb7-6"><a href="#cb7-6" aria-hidden="true" tabindex="-1"></a><span class="va">retval</span><span class="op">=</span><span class="va">$?</span></span>
<span id="cb7-7"><a href="#cb7-7" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb7-8"><a href="#cb7-8" aria-hidden="true" tabindex="-1"></a><span class="co"># Activate entry if configured</span></span>
<span id="cb7-9"><a href="#cb7-9" aria-hidden="true" tabindex="-1"></a><span class="cf">if</span> <span class="bu">[</span> <span class="st">&quot;</span><span class="va">$BSDINSTALL_CONFIGCURRENT</span><span class="st">&quot;</span> <span class="bu">]</span><span class="kw">;</span> <span class="cf">then</span></span>
<span id="cb7-10"><a href="#cb7-10" aria-hidden="true" tabindex="-1"></a>	<span class="fu">hostname</span> <span class="at">-s</span> <span class="va">$HOSTNAME</span></span>
<span id="cb7-11"><a href="#cb7-11" aria-hidden="true" tabindex="-1"></a>	<span class="va">retval</span><span class="op">=</span><span class="va">$?</span></span>
<span id="cb7-12"><a href="#cb7-12" aria-hidden="true" tabindex="-1"></a><span class="cf">fi</span></span>
<span id="cb7-13"><a href="#cb7-13" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb7-14"><a href="#cb7-14" aria-hidden="true" tabindex="-1"></a><span class="bu">exit</span> <span class="va">$retval</span></span></code></pre></div>
<p>I am also considering rewriting the shell components in Lua.</p>
<p>Adding a final step to install a desktop environment, ports, and packages for
accessibility. For example:</p>
<p><a href="https://media.bsd.cafe/bsdmmedia01/media_attachments/files/112/141/321/216/023/956/original/1c86fc59d5c02cf0.png" target="_blank"><img src="https://media.bsd.cafe/bsdmmedia01/media_attachments/files/112/141/321/216/023/956/original/1c86fc59d5c02cf0.png" style="width:70.0%" alt="Menu in a terminal to select a GPU driver" /></a></p>
<p><a href="https://media.bsd.cafe/bsdmmedia01/media_attachments/files/111/942/414/135/091/753/original/ceece3081ef1f21f.jpeg" target="_blank"><img src="https://media.bsd.cafe/bsdmmedia01/media_attachments/files/111/942/414/135/091/753/original/ceece3081ef1f21f.jpeg" style="width:70.0%" alt="Menu in a terminal to select software to install" /></a></p>
<p><a href="https://media.bsd.cafe/bsdmmedia01/media_attachments/files/111/942/414/615/158/521/original/233715d4eee6d3c0.jpeg" target="_blank"><img src="https://media.bsd.cafe/bsdmmedia01/media_attachments/files/111/942/414/615/158/521/original/233715d4eee6d3c0.jpeg" style="width:70.0%" alt="Window with a bar to display the installation progress" /></a></p>
<p>I am considering to integrate
<a href="https://www.freebsd.org/status/report-2021-04-2021-06/#_experimental_installer" target="_blank">this project</a>
to provide the web frontend.</p>
<p>Finally, I am working on improvements and extensions for the partitioner.
Several feature requests exist, primarily on Bugzilla.</p>
<hr />
    </section>
</article>

<script src="https://utteranc.es/client.js"
        repo="alfonsosiciliano/comments-alfonsosiciliano.gitlab.io"
        issue-term="pathname"
        theme="preferred-color-scheme"
        crossorigin="anonymous"
        async>
</script>

]]></summary>
</entry>
<entry>
    <title>Ideas for a "Multi" installer for FreeBSD</title>
    <link href="https://alfonsosiciliano.gitlab.io/posts/2025-01-27-ideas-installer.html" />
    <id>https://alfonsosiciliano.gitlab.io/posts/2025-01-27-ideas-installer.html</id>
    <published>2025-01-27T00:00:00Z</published>
    <updated>2025-02-02</updated>
    <summary type="html"><![CDATA[<article>
    <section class="header">
        Posted on
        2025-01-27 - Updated on 2025-02-02
        
        
    </section>
    <section>
        <p>This post is a list of “I would like this feature installing the operating
system”. Motivations and implementation plan.
<!--more--></p>
<p>I spent my “Open Source 2022” working around <em>bsdinstall</em>, the FreeBSD OS
installer. Weekly I replaced the Text User Interface (TUI) frontend
<em>dialog/libdialog</em> with <em>bsddialog/libbsddialog</em> in a component (an utility in C
or a shell script) and I tested the installer/ISO generated the previous week.
The challenges were: the partitioner, the mixedgauges, and implementing
the features for <em>bsdconfig</em>, anyway the task was really interesting.
During the weeks I wrote notes with new ideas and features to improve
<em>bsdinstall</em>. Unfortunately I had a sudden medical problem in autumn 2022.
I could not sit in front of the computer for many months. Obviously I had no
time to implement my ideas.
<a href="https://wiki.freebsd.org/BaptisteDaroussin" target="_blank">Baptiste</a> finished the replacement.</p>
<p>I started working again in mid-2023. My open source effort was to improve the
accessibility for vision impairment users. <em>bsdinstall</em> uses a TUI frontend, TUI
is a well-known accessibility problem, screen readers (both speech synthesizer
and Braille display) cannot “read” TUI. So the installer is not acessible for
blind users.
The best solution is a new Command Line Interface (CLI) frontend,
fortunately it will be sponsored by the FreeBSD Foundation for the
<a href="https://freebsdfoundation.org/project/vision-accessibility-subsystem-for-freebsd/" target="_blank">Vision Accessibility</a>
project. This will be a proof of concept and research project, so far only a
Google’s paper addresses the topic of accessible CLI. However adding a new
frontend to <em>bsdinstall</em> is not trivial, the task requires heavy changes.
Actually I do not know if I can add a new frontend totally different from
<em>dialog</em>.</p>
<p>Spring 2024, I started thinking about a redesign for the installer.
Of course I can add also many other features a in a new project, most require a
re-design/rewrite of the current installer. The new project could be available
like a port and a script to generete an ISO so anyone can download and adapt the
installer to their needs. Furthermore, I have received some requests,
for example several people would like something in Lua. July 2024, I wrote an
email to
<a href="https://lists.freebsd.org/archives/freebsd-hackers/2024-July/003392.html" target="_blank">hackers mailing list</a>
to collect extra tips and ideas, other suggestions were received during
EuroBSDCon. I hoped to finish by 6/8 months, but a medical issue (related to the
previous one) blocked me, end-2024. However, this time the therapy worked, and
after 2 years the doctors gave good news.</p>
<p>2025, maybe it’s time to start. Some project choices, ideas and requirements:</p>
<p><strong>Guidelines</strong>:</p>
<ul>
<li>Simple, modularized and extendable.</li>
<li>Compatible with <em>bsdinstall</em>.</li>
<li>Backend (Server side) and frontend (Client side).</li>
<li>“Multi-”: multi-language, multi-frontend, multi-mode, multi-interactivity</li>
</ul>
<p><strong>Requirements and features</strong></p>
<ul>
<li><p>Of course Open Source under a BSD-Like license.</p></li>
<li><p>An option to select <em>bsdinstall</em> or this installer at start-up.</p></li>
<li><p>Logging and debug features similar to <em>bsdinstall</em> with extensions.</p></li>
<li><p>Improvements and extensions for the partitioner. Several feature requests
exist, mainly on bugzilla.</p></li>
<li><p>A configuration file with variables, hooks, comments and examples.</p>
<ul>
<li>Provide <em>bsdinstall</em> variables and configuration files. Ideally these
features will be placed in the “centralized” configuration file above.</li>
</ul></li>
<li><p>Multi installation process:</p>
<ul>
<li>Interactive. The server waits for the user input from the frontend,
then it performs the “command”.</li>
<li>Noninteractive. No user actions. Server reads previously written
files: by hands, by a previous installation, by a fake installation.</li>
</ul></li>
<li><p>Server side written in Lua, modularized in scripts. Independent of any
frontend. Probably using <em>bsdinstall</em> components (their logic without UI),
of course adding extra features.</p></li>
<li><p>Frontend responsible only for User Interface.</p></li>
<li><p>Backend &lt;-&gt; Frontend communication via text files. To evaluate also a Lua
layer, etc.</p></li>
<li><p>Multi-language: English, French, Spanish, and so on.</p></li>
<li><p>Multi-mode installation: <code>[Automatic]</code>, <code>[Simple]</code>, and <code>[Expert]</code>.</p></li>
<li><p>Multi-frontend. Implementation priority:</p>
<ul>
<li><em>Text User Interface</em>. Similar to <em>bsdinstall</em> with new features.</li>
<li><em>File</em>. Settings are read from text file(s).</li>
<li><em>Command Line Interface</em>. Suitable for a screen reader for
vision impairments users.</li>
<li><em>Graphical User Interface</em>.</li>
<li><em>WEB</em>. TBD, I am not a web-expert. A proof of concept is available.</li>
</ul></li>
<li><p>A menu to select: frontend and other options, at start-up. A possible example:</p></li>
</ul>
<p><a href="https://media.bsd.cafe/bsdmmedia01/media_attachments/files/111/942/414/135/091/753/original/ceece3081ef1f21f.jpeg" target="_blank"><img src="/images/possible-new-installer.png" style="width:80.0%" alt="Menu in a terminal to select installation options" /></a></p>
<p>The Command Line frontend could be similar to portoptscli, an utility to set up port options suitable for screen readers. Demo (turn on audio):</p>
<iframe width="560" height="315" src="https://www.youtube.com/embed/JptzVNfza2I?si=17qDgItJwuKttvpg" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen>
</iframe>
<ul>
<li><p>Frontends have to be totally separated from the backend, eventually to be easily added/deleted/changed/improved in the future. This is the learned lesson by adding bsddialog to <em>bsdinstall</em>.</p></li>
<li><p>New UI/UX features (something is related to the server side):</p>
<ul>
<li>Navigation. New buttons: <code>[Restart]</code>, <code>[Prev]</code>, and <code>[Next]</code> for each
screen.</li>
<li>Dialogs for help, at start-up and during installation (<code>F1</code> or
<code>[Help]</code> button).</li>
<li>High Contrast theme for color blind and low vision users.</li>
<li>Final step to install ports and packages for accessibility.</li>
<li>Final step to install a desktop environment. Some possible examples:</li>
</ul></li>
</ul>
<p><a href="https://media.bsd.cafe/bsdmmedia01/media_attachments/files/112/141/321/216/023/956/original/1c86fc59d5c02cf0.png" target="_blank"><img src="https://media.bsd.cafe/bsdmmedia01/media_attachments/files/111/942/413/092/224/795/original/634060c220560706.jpeg" style="width:70.0%" alt="Window a question question to install a Desktop environment" /></a></p>
<p><a href="https://media.bsd.cafe/bsdmmedia01/media_attachments/files/112/141/321/216/023/956/original/1c86fc59d5c02cf0.png" target="_blank"><img src="https://media.bsd.cafe/bsdmmedia01/media_attachments/files/112/141/321/216/023/956/original/1c86fc59d5c02cf0.png" style="width:70.0%" alt="Menu in a terminal to select a GPU driver" /></a></p>
<p><a href="https://media.bsd.cafe/bsdmmedia01/media_attachments/files/111/942/414/135/091/753/original/ceece3081ef1f21f.jpeg" target="_blank"><img src="https://media.bsd.cafe/bsdmmedia01/media_attachments/files/111/942/414/135/091/753/original/ceece3081ef1f21f.jpeg" style="width:70.0%" alt="Menu in a terminal to select software to install" /></a></p>
<p><a href="https://media.bsd.cafe/bsdmmedia01/media_attachments/files/111/942/414/615/158/521/original/233715d4eee6d3c0.jpeg" target="_blank"><img src="https://media.bsd.cafe/bsdmmedia01/media_attachments/files/111/942/414/615/158/521/original/233715d4eee6d3c0.jpeg" style="width:70.0%" alt="Window with a bar to display the installation progress" /></a></p>
<hr />
<h2 id="other-requests">Other Requests</h2>
<p>Groups and laptop/desktop users are collecting feature requests.
They make sense and should be implemented.
Suggestions and new ideas are welcome, feel free to <a href="/about.html" target="_blank">contact me</a>.</p>
<hr />
<h2 id="current-status-plan-timing.">Current Status, Plan, Timing.</h2>
<p>Now: studying Lua, reading “Programming in Lua, 4th Edition”.</p>
<p>Implementation Plan:
Implement bsdconfig logging and debug features in a Lua lib.
Write a Lua chunk to call a <em>bsdinstall</em> component.
Define a “communication” file for backend &lt;-&gt; frontend.
Delete TUI from the <em>bsdinstall</em> component and start to write a frontend.
At this point it should be easy to add: the other <em>bsdinstall</em> components,
the “Requirements and features”, and requests from desktop users.
This project is supposed to be tedious but simple.
The challenge is the partitioner, but I have already
<a href="https://cgit.freebsd.org/src/commit/?id=50e244964e9b06528b84720e09da7bdf8cec6d32" target="_blank">rewritten</a>
its frontend in the past.</p>
<p>Timing: I hope to finish by September at least 3 frontends.
I’ll try posting updates.</p>
<hr />
    </section>
</article>

<script src="https://utteranc.es/client.js"
        repo="alfonsosiciliano/comments-alfonsosiciliano.gitlab.io"
        issue-term="pathname"
        theme="preferred-color-scheme"
        crossorigin="anonymous"
        async>
</script>

]]></summary>
</entry>
<entry>
    <title>MixerTUI 1.5</title>
    <link href="https://alfonsosiciliano.gitlab.io/posts/2024-02-23-mixertui-1-5.html" />
    <id>https://alfonsosiciliano.gitlab.io/posts/2024-02-23-mixertui-1-5.html</id>
    <published>2024-02-23T00:00:00Z</published>
    <updated>2024-02-23T00:00:00Z</updated>
    <summary type="html"><![CDATA[<article>
    <section class="header">
        Posted on
        February 23, 2024
        
    </section>
    <section>
        <p><a href="https://gitlab.com/alfix/mixertui" target="_blank">MixerTUI</a> is an audio mixer with a terminal
user interface (TUI) for the <a href="https://www.freebsd.org" target="_blank">FreeBSD</a> sound system.
It allow to switch easily between laptop and HDMI, headphones and speakers,
and so on.
Features include: show the current driver configuration,
select an audio device to get information, change the volume,
or make the device the default. The version 1.5 is out!
<!--more--></p>
<p><a href="https://gitlab.com/alfix/mixertui/-/raw/main/screenshot.png" target="_blank"><img src="https://gitlab.com/alfix/mixertui/-/raw/main/screenshot.png" style="width:80.0%" alt="Window in a terminal with bars to select volume" /></a></p>
<hr />
<p>To install the port <a href="https://www.freshports.org/audio/mixertui" target="_blank">audio/mixertui</a>:</p>
<div class="sourceCode" id="cb1"><pre class="sourceCode default"><code class="sourceCode default"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a># cd /usr/ports/audio/mixertui/ &amp;&amp; make install clean</span></code></pre></div>
<p>To add the package:</p>
<div class="sourceCode" id="cb2"><pre class="sourceCode default"><code class="sourceCode default"><span id="cb2-1"><a href="#cb2-1" aria-hidden="true" tabindex="-1"></a># pkg install mixertui</span></code></pre></div>
<p>To build from sources:</p>
<p>Step 1. Install deps</p>
<div class="sourceCode" id="cb3"><pre class="sourceCode default"><code class="sourceCode default"><span id="cb3-1"><a href="#cb3-1" aria-hidden="true" tabindex="-1"></a># pkg install bsddialog libsysctlmibinfo2</span></code></pre></div>
<p>Step 2. Download, build, and run</p>
<div class="sourceCode" id="cb4"><pre class="sourceCode default"><code class="sourceCode default"><span id="cb4-1"><a href="#cb4-1" aria-hidden="true" tabindex="-1"></a>% git clone https://gitlab.com/alfix/mixertui.git</span>
<span id="cb4-2"><a href="#cb4-2" aria-hidden="true" tabindex="-1"></a>% cd mixertui</span>
<span id="cb4-3"><a href="#cb4-3" aria-hidden="true" tabindex="-1"></a>% make</span>
<span id="cb4-4"><a href="#cb4-4" aria-hidden="true" tabindex="-1"></a>% ./mixertui</span></code></pre></div>
<hr />
<h2 id="version-1.5-changes-and-improvements">Version 1.5 Changes and Improvements</h2>
<p><strong>1)</strong> Pop-ups are implemented using
<a href="https://gitlab.com/alfix/bsddialog" target="_blank">libbsddialog</a>,
for example the screenshot shows a bsddialog menu.
Curiosity, the first version of bsddialog was just a copy of the mixertui
pop-ups to implement dialogs, now mixertui uses libbsddialog to show pop-ups.</p>
<p><strong>2)</strong> Improvements for the menu to select the device/pcm.
The item with the default pcm (<em>sysctl hw.snd.default_unit</em>) has the “(Default)”
prefix; pcm4 in the screenshot.
Opening the menu the selected item is the current pcm; pcm2 in the screenshot.</p>
<p><a href="/images/mixertui-1-5-bsddialogmenu.png" target="_blank"><img src="/images/mixertui-1-5-bsddialogmenu.png" style="width:80.0%" alt="Window in a terminal with bars to select volume" /></a></p>
<p><strong>3)</strong> Fix fault with terminals without colors. Example</p>
<div class="sourceCode" id="cb5"><pre class="sourceCode default"><code class="sourceCode default"><span id="cb5-1"><a href="#cb5-1" aria-hidden="true" tabindex="-1"></a>% env TERM=vt220 mixertui</span></code></pre></div>
<p><a href="/images/mixertui-1-5-nocolor.png" target="_blank"><img src="/images/mixertui-1-5-nocolor.png" style="width:80.0%" alt="Window in a terminal with bars to select volume" /></a></p>
<p><strong>4)</strong> Few internal refactoring. Probably this is the last C/ncurses version,
(see Future subsection below).</p>
<hr />
<h2 id="future">Future</h2>
<p>MixerTUI started out as a personal project (…game :D). I spent 30 minutes to
set up my microphone to record my
<a href="https://papers.freebsd.org/author/alfonso-s.-siciliano/" target="_blank">BSDCan presentation</a>
during the first lockdown.
I set audio quickly via alsamixer in the past.
Now my main laptop runs FreeBSD, so I wrote mixertui to avoid to waste time
setting up a microphone, headphones,
<a href="2023-01-21-freebsd-disable-stereo-sound.html" target="_blank">accessibility</a>, and so on.</p>
<p>The first version was just 1000 lines of code; mainly ncurses stuff because
the sound system interface is actually easy: just some <em>ioctl</em> and <em>sysctl</em>.
However several users started to use it. I received a lot of tips, feedback,
merge request, iussues, email, and so on.</p>
<p>The utility grew messy to implement the user requests.
Mainly I spent time to use libncurses, because it does not provides widgets
(buttons, title, bars, …), it is just a “render” library.
I would have preferred to spend time implementing new audio features instead of
“drawing” a bar. ncurses is not suitable.
I am considering other TUI libraries to rewrite MixerTUI in the next
version 2.0. Under the radar: brick/haskell, tui-rs/rust, FTXUI/C++.</p>
<p>Conclusion, this is just a TUI improvements version. I’ ll rewrite mixertui.
TODO, Ideas and new audio features in the future: mouse, virtual_oss, devd,
sound(4) improvements, accessibility, and so on.</p>
<hr />
    </section>
</article>

<script src="https://utteranc.es/client.js"
        repo="alfonsosiciliano/comments-alfonsosiciliano.gitlab.io"
        issue-term="pathname"
        theme="preferred-color-scheme"
        crossorigin="anonymous"
        async>
</script>

]]></summary>
</entry>
<entry>
    <title>FreeBSD third status report 2023</title>
    <link href="https://alfonsosiciliano.gitlab.io/posts/2023-11-01-freebsd-status-report-3q2023.html" />
    <id>https://alfonsosiciliano.gitlab.io/posts/2023-11-01-freebsd-status-report-3q2023.html</id>
    <published>2023-11-01T00:00:00Z</published>
    <updated>2023-11-01T00:00:00Z</updated>
    <summary type="html"><![CDATA[<article>
    <section class="header">
        Posted on
        November  1, 2023
        
    </section>
    <section>
        <p>The <a href="https://www.freebsd.org" target="_blank">FreeBSD</a> 3q2023 status report is
<a href="https://www.freebsd.org/status/report-2023-07-2023-09/" target="_blank">online</a>!</p>
<p>My contribution is
<a href="https://www.freebsd.org/status/report-2023-07-2023-09/#_portoptscliports_collection_accessibility" target="_blank">PortOptsCLI</a>
(Port Options CLI), a new utility to select the
<a href="https://man.freebsd.org/ports/7" target="_blank">port</a> options using a Command Line
Interface.
It is suitable for a speech synthesizer (currently tested with the speech synthesizer of
<a href="https://www.freshports.org/accessibility/orca/" target="_blank">accessibility/orca</a>),
so it is accessible to users with vision impairment.
<!--more--></p>
<p>To know more:</p>
<ul>
<li><a href="https://man.freebsd.org/ports/7" target="_blank">Port(7) manual</a>.</li>
<li><a href="https://docs.freebsd.org/en/books/handbook/ports/#ports-using" target="_blank">Ports handbook</a>.</li>
<li><a href="2023-09-03-portoptscli.html" target="_blank">PortOptsCLI - Ports Collection Accessibility</a>.</li>
<li>Project repository <a href="https://gitlab.com/alfix/portoptscli" target="_blank">https://gitlab.com/alfix/portoptscli</a>.</li>
<li>Manual <a href="2023-08-20-manual-portoptscli.html" target="_blank">PortOptsCLI(1)</a>.</li>
</ul>
    </section>
</article>

<script src="https://utteranc.es/client.js"
        repo="alfonsosiciliano/comments-alfonsosiciliano.gitlab.io"
        issue-term="pathname"
        theme="preferred-color-scheme"
        crossorigin="anonymous"
        async>
</script>

]]></summary>
</entry>
<entry>
    <title>PortOptsCLI - Ports Collection Accessibility</title>
    <link href="https://alfonsosiciliano.gitlab.io/posts/2023-09-03-portoptscli.html" />
    <id>https://alfonsosiciliano.gitlab.io/posts/2023-09-03-portoptscli.html</id>
    <published>2023-09-03T00:00:00Z</published>
    <updated>2023-09-03T00:00:00Z</updated>
    <summary type="html"><![CDATA[<article>
    <section class="header">
        Posted on
        September  3, 2023
        
    </section>
    <section>
        <p>The <a href="https://www.freebsd.org" target="_blank">FreeBSD</a> Operating System provides the
<a href="https://www.freebsd.org/ports/" target="_blank">Ports Collection</a> to give users and
administrators a simple way to install applications.</p>
<p>It is possible to configure a port before the building and installation.
The configuration consists of a set of lists: checklists to enable or disable an
option, radiolist to select at the most one option. Some list is mandatory, at
least one option has to be active.
<!--more--></p>
<p><a href="https://www.freshports.org/ports-mgmt/dialog4ports/" target="_blank">ports-mgmt/dialog4ports</a>
and <a href="https://www.freshports.org/ports-mgmt/portconfig/" target="_blank">ports-mgmt/portconfig</a>
allow to set up a port via an interactive Text User Interface.
They are implicitly used by “<em>make config</em>”, example editors/vim port:</p>
<div class="sourceCode" id="cb1"><pre class="sourceCode default"><code class="sourceCode default"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a># cd /usr/ports/editors/vim</span>
<span id="cb1-2"><a href="#cb1-2" aria-hidden="true" tabindex="-1"></a># make config</span></code></pre></div>
<p><a href="https://gitlab.com/alfix/portconfig/-/raw/main/images/screenshot1.png" target="_blank"><img src="https://gitlab.com/alfix/portconfig/-/raw/main/images/screenshot1.png" data-max-width="100%" alt="Window in a terminal with checklists and radiolist to set up the FreeBSD vim port" /></a></p>
<p>The black and white theme can provide high-contrast accessibility for users with
low vision, for portconfig &gt;= 0.6:</p>
<div class="sourceCode" id="cb2"><pre class="sourceCode default"><code class="sourceCode default"><span id="cb2-1"><a href="#cb2-1" aria-hidden="true" tabindex="-1"></a># env NO_COLOR=&quot;YES&quot; make config</span></code></pre></div>
<p>Older versions:</p>
<div class="sourceCode" id="cb3"><pre class="sourceCode default"><code class="sourceCode default"><span id="cb3-1"><a href="#cb3-1" aria-hidden="true" tabindex="-1"></a># env PORTCONFIG_THEME=&quot;blackwhite&quot; make config</span></code></pre></div>
<p><a href="https://gitlab.com/alfix/portconfig/-/raw/main/images/screenshot2.png" target="_blank"><img src="https://gitlab.com/alfix/portconfig/-/raw/main/images/screenshot2.png" data-max-width="100%" alt="High-contrast window in a terminal with checklists and radiolist to set up the FreeBSD vim port" /></a></p>
<hr />
<h2 id="portoptscli">PortOptsCLI</h2>
<p>Unfortunately screen readers perform terrible with TUI; it is a well-known
accessibility problem.
FreeBSD provides tens of thousands of ports; port configuration is a key
feature, unfortunately it is inaccessible to users with vision impairment.</p>
<p><a href="https://gitlab.com/alfix/portoptscli" target="_blank">PortOptsCLI</a> (Port Options CLI) is an
utility for setting the port options via a Command Line Interface.
Properly PortOptsCLI provides commands to navigate lists
(checklists and/or radiolists) and set up their items interactively also
suitable for a speech synthesizer.
Currently it is tested with the speech synthesizer of orca
<a href="https://wiki.gnome.org/Projects/Orca" target="_blank">https://wiki.gnome.org/Projects/Orca</a>, FreeBSD provides a port and a package
<a href="https://www.freshports.org/accessibility/orca/" target="_blank">https://www.freshports.org/accessibility/orca/</a>.</p>
<p>Preview <a href="https://twitter.com/alfsiciliano/status/1694858990440648711" target="_blank">https://twitter.com/alfsiciliano/status/1694858990440648711</a>,
video description and transcription are available in the Demo section later.</p>
<h2 id="getting-started">Getting Started</h2>
<p>To install the port:</p>
<div class="sourceCode" id="cb4"><pre class="sourceCode default"><code class="sourceCode default"><span id="cb4-1"><a href="#cb4-1" aria-hidden="true" tabindex="-1"></a># cd /usr/ports/ports-mgmt/portoptscli/ &amp;&amp; make install clean</span></code></pre></div>
<p>or to install the package:</p>
<div class="sourceCode" id="cb5"><pre class="sourceCode default"><code class="sourceCode default"><span id="cb5-1"><a href="#cb5-1" aria-hidden="true" tabindex="-1"></a># pkg install portoptscli</span></code></pre></div>
<p>After the installation, add to /etc/make.conf:</p>
<div class="sourceCode" id="cb6"><pre class="sourceCode tcsh"><code class="sourceCode tcsh"><span id="cb6-1"><a href="#cb6-1" aria-hidden="true" tabindex="-1"></a><span class="co">#DIALOG4PORTS?= ${LOCALBASE}/bin/dialog4ports</span></span>
<span id="cb6-2"><a href="#cb6-2" aria-hidden="true" tabindex="-1"></a>DIALOG4PORTS=<span class="ot">${LOCALBASE}</span>/bin/portoptscli</span></code></pre></div>
<p>Now ‘make config’ uses portoptscli automatically.
To start to set up a port are sufficient few commands:<br />
<strong>h</strong>: specific port help if exist.<br />
<strong>n</strong>: next element (header, list, option, end line).<br />
<strong>p</strong>: previous element.<br />
<strong>r</strong>: reprint current element.<br />
<strong>space</strong>: enable or disable a checklist item, select a radiolist item.<br />
<strong>a</strong>: abandon without saving.<br />
<strong>q</strong>: save and quit.<br />
All features are linked in the Documentation section later.</p>
<h2 id="demo">Demo</h2>
<p>PortOptsCLI disables ECHO and ENTER.
However this demo surrounds runtime commands and comments by square brackets in
a new line for ease of understanding.
To note some speech synthesizer can read the typed keys depending on the current
setting.</p>
<div class="sourceCode" id="cb7"><pre class="sourceCode default"><code class="sourceCode default"><span id="cb7-1"><a href="#cb7-1" aria-hidden="true" tabindex="-1"></a># cd /usr/ports/editors/neovim</span>
<span id="cb7-2"><a href="#cb7-2" aria-hidden="true" tabindex="-1"></a>[ENTER]</span>
<span id="cb7-3"><a href="#cb7-3" aria-hidden="true" tabindex="-1"></a># make config</span>
<span id="cb7-4"><a href="#cb7-4" aria-hidden="true" tabindex="-1"></a>[ENTER, start implicitly portoptscli]</span>
<span id="cb7-5"><a href="#cb7-5" aria-hidden="true" tabindex="-1"></a>Configuration for neovim-0.9.1 port, 1 list total 2 options.</span>
<span id="cb7-6"><a href="#cb7-6" aria-hidden="true" tabindex="-1"></a>[v]</span>
<span id="cb7-7"><a href="#cb7-7" aria-hidden="true" tabindex="-1"></a>Verbose mode on.</span>
<span id="cb7-8"><a href="#cb7-8" aria-hidden="true" tabindex="-1"></a>n: next, p: previous, r: reprint, space: select or unselect.</span>
<span id="cb7-9"><a href="#cb7-9" aria-hidden="true" tabindex="-1"></a>[n]</span>
<span id="cb7-10"><a href="#cb7-10" aria-hidden="true" tabindex="-1"></a>List 1. Generic options. Checklist with 2 options.</span>
<span id="cb7-11"><a href="#cb7-11" aria-hidden="true" tabindex="-1"></a>[n]</span>
<span id="cb7-12"><a href="#cb7-12" aria-hidden="true" tabindex="-1"></a>1 NLS: Native Language Support. Enabled.</span>
<span id="cb7-13"><a href="#cb7-13" aria-hidden="true" tabindex="-1"></a>[n]</span>
<span id="cb7-14"><a href="#cb7-14" aria-hidden="true" tabindex="-1"></a>2 PYNVIM: Enable support for plugins written in python. Disabled.</span>
<span id="cb7-15"><a href="#cb7-15" aria-hidden="true" tabindex="-1"></a>[SPACE]</span>
<span id="cb7-16"><a href="#cb7-16" aria-hidden="true" tabindex="-1"></a>option PYNVIM enabled.</span>
<span id="cb7-17"><a href="#cb7-17" aria-hidden="true" tabindex="-1"></a>[n]</span>
<span id="cb7-18"><a href="#cb7-18" aria-hidden="true" tabindex="-1"></a>End configuration. q: save and quit, a: abandon without saving, t: go to top.</span>
<span id="cb7-19"><a href="#cb7-19" aria-hidden="true" tabindex="-1"></a>[q]</span>
<span id="cb7-20"><a href="#cb7-20" aria-hidden="true" tabindex="-1"></a>Save and quit.</span>
<span id="cb7-21"><a href="#cb7-21" aria-hidden="true" tabindex="-1"></a>#</span></code></pre></div>
<p>Another demo without commands and comments:</p>
<div class="sourceCode" id="cb8"><pre class="sourceCode default"><code class="sourceCode default"><span id="cb8-1"><a href="#cb8-1" aria-hidden="true" tabindex="-1"></a># cd /usr/ports/editors/vim</span>
<span id="cb8-2"><a href="#cb8-2" aria-hidden="true" tabindex="-1"></a># make config</span>
<span id="cb8-3"><a href="#cb8-3" aria-hidden="true" tabindex="-1"></a>Configuration for vim-9.0.1671 port, 3 lists total 12 options.</span>
<span id="cb8-4"><a href="#cb8-4" aria-hidden="true" tabindex="-1"></a>Verbose mode on.</span>
<span id="cb8-5"><a href="#cb8-5" aria-hidden="true" tabindex="-1"></a>n: next, p: previous, r: reprint, space: select or unselect.</span>
<span id="cb8-6"><a href="#cb8-6" aria-hidden="true" tabindex="-1"></a>List 1. Generic options. Checklist with 3 options.</span>
<span id="cb8-7"><a href="#cb8-7" aria-hidden="true" tabindex="-1"></a>1 MAKE_JOBS: Enable parallel build. Disabled.</span>
<span id="cb8-8"><a href="#cb8-8" aria-hidden="true" tabindex="-1"></a>2 NLS: Native Language Support. Enabled.</span>
<span id="cb8-9"><a href="#cb8-9" aria-hidden="true" tabindex="-1"></a>3 XTERM_SAVE: Restore xterm screen after exit. Disabled.</span>
<span id="cb8-10"><a href="#cb8-10" aria-hidden="true" tabindex="-1"></a>option XTERM_SAVE enabled.</span>
<span id="cb8-11"><a href="#cb8-11" aria-hidden="true" tabindex="-1"></a>List 2. Optional language bindings. Checklist with 6 options.</span>
<span id="cb8-12"><a href="#cb8-12" aria-hidden="true" tabindex="-1"></a>1 LUA: Lua scripting language support. Disabled.</span>
<span id="cb8-13"><a href="#cb8-13" aria-hidden="true" tabindex="-1"></a>2 PERL: Perl scripting language support. Disabled.</span>
<span id="cb8-14"><a href="#cb8-14" aria-hidden="true" tabindex="-1"></a>3 PYTHON: Python bindings or support. Enabled.</span>
<span id="cb8-15"><a href="#cb8-15" aria-hidden="true" tabindex="-1"></a>4 RUBY: Ruby bindings or support. Disabled.</span>
<span id="cb8-16"><a href="#cb8-16" aria-hidden="true" tabindex="-1"></a>5 SCHEME: MzScheme (Racket) bindings. Disabled.</span>
<span id="cb8-17"><a href="#cb8-17" aria-hidden="true" tabindex="-1"></a>6 TCL: Tcl scripting language support. Disabled.</span>
<span id="cb8-18"><a href="#cb8-18" aria-hidden="true" tabindex="-1"></a>List 3. CTAGS. RadioList with 3 options, mandatory list select at least one option.</span>
<span id="cb8-19"><a href="#cb8-19" aria-hidden="true" tabindex="-1"></a>1 CTAGS_BASE: Use system ctags. Selected.</span>
<span id="cb8-20"><a href="#cb8-20" aria-hidden="true" tabindex="-1"></a>2 CTAGS_EXUBERANT: Use exctags instead of ctags.</span>
<span id="cb8-21"><a href="#cb8-21" aria-hidden="true" tabindex="-1"></a>3 CTAGS_UNIVERSAL: Use uctags instead of ctags.</span>
<span id="cb8-22"><a href="#cb8-22" aria-hidden="true" tabindex="-1"></a>option CTAGS_UNIVERSAL selected previous CTAGS_BASE unselected.</span>
<span id="cb8-23"><a href="#cb8-23" aria-hidden="true" tabindex="-1"></a>End configuration. q: save and quit, a: abandon without saving, t: go to top.</span>
<span id="cb8-24"><a href="#cb8-24" aria-hidden="true" tabindex="-1"></a>Save and quit.</span>
<span id="cb8-25"><a href="#cb8-25" aria-hidden="true" tabindex="-1"></a>#</span></code></pre></div>
<h2 id="documentation">Documentation</h2>
<ul>
<li>Manual : <em>$ man 1 portoptscli</em>, <a href="2023-08-20-manual-portoptscli.html" target="_blank">online</a>.</li>
<li>README <a href="https://gitlab.com/alfix/portoptscli/-/raw/main/README.txt" target="_blank">https://gitlab.com/alfix/portoptscli/-/raw/main/README.txt</a>.</li>
</ul>
<h2 id="tips">Tips</h2>
<p>Verbose mode can be set by the PORTOPTSCLI_VERBOSE=“YES” environment variable.</p>
<p>The <em>c</em> key prints the short commands list described in the Getting Started:</p>
<div class="sourceCode" id="cb9"><pre class="sourceCode default"><code class="sourceCode default"><span id="cb9-1"><a href="#cb9-1" aria-hidden="true" tabindex="-1"></a># make config</span>
<span id="cb9-2"><a href="#cb9-2" aria-hidden="true" tabindex="-1"></a>Configuration for neovim-0.9.1 port, 1 list total 2 options.</span>
<span id="cb9-3"><a href="#cb9-3" aria-hidden="true" tabindex="-1"></a>[c]</span>
<span id="cb9-4"><a href="#cb9-4" aria-hidden="true" tabindex="-1"></a>Short commands list.</span>
<span id="cb9-5"><a href="#cb9-5" aria-hidden="true" tabindex="-1"></a>h: specific port help if exist.</span>
<span id="cb9-6"><a href="#cb9-6" aria-hidden="true" tabindex="-1"></a>i: port and lists info.</span>
<span id="cb9-7"><a href="#cb9-7" aria-hidden="true" tabindex="-1"></a>n: next element.</span>
<span id="cb9-8"><a href="#cb9-8" aria-hidden="true" tabindex="-1"></a>p: previouse element.</span>
<span id="cb9-9"><a href="#cb9-9" aria-hidden="true" tabindex="-1"></a>r: reprint element.</span>
<span id="cb9-10"><a href="#cb9-10" aria-hidden="true" tabindex="-1"></a>space: select or unselect an option.</span>
<span id="cb9-11"><a href="#cb9-11" aria-hidden="true" tabindex="-1"></a>a: abandon without saving.</span>
<span id="cb9-12"><a href="#cb9-12" aria-hidden="true" tabindex="-1"></a>q: save and quit.</span>
<span id="cb9-13"><a href="#cb9-13" aria-hidden="true" tabindex="-1"></a>[a]</span>
<span id="cb9-14"><a href="#cb9-14" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb9-15"><a href="#cb9-15" aria-hidden="true" tabindex="-1"></a>===&gt; Options unchanged</span>
<span id="cb9-16"><a href="#cb9-16" aria-hidden="true" tabindex="-1"></a>#</span></code></pre></div>
<p>Some port has a specific help file, if it exists PortOptsCLI informs at
startup/top, h key to print it:</p>
<div class="sourceCode" id="cb10"><pre class="sourceCode default"><code class="sourceCode default"><span id="cb10-1"><a href="#cb10-1" aria-hidden="true" tabindex="-1"></a># cd /usr/ports/devel/pcre/</span>
<span id="cb10-2"><a href="#cb10-2" aria-hidden="true" tabindex="-1"></a># make config</span>
<span id="cb10-3"><a href="#cb10-3" aria-hidden="true" tabindex="-1"></a>Configuration for pcre-8.45_3 port, 2 lists total 6 options.</span>
<span id="cb10-4"><a href="#cb10-4" aria-hidden="true" tabindex="-1"></a>The port has a help file, h: to print.</span>
<span id="cb10-5"><a href="#cb10-5" aria-hidden="true" tabindex="-1"></a>[h]</span>
<span id="cb10-6"><a href="#cb10-6" aria-hidden="true" tabindex="-1"></a>Help file /usr/ports/devel/pcre/pkg-help.</span>
<span id="cb10-7"><a href="#cb10-7" aria-hidden="true" tabindex="-1"></a>Using the heap rather than the stack for recursion (i.e., turning the</span>
<span id="cb10-8"><a href="#cb10-8" aria-hidden="true" tabindex="-1"></a>STACK_RECURSION knob off) is slower but less prone to segfaults from</span>
<span id="cb10-9"><a href="#cb10-9" aria-hidden="true" tabindex="-1"></a>stack exhaustion when matching certain patterns.</span>
<span id="cb10-10"><a href="#cb10-10" aria-hidden="true" tabindex="-1"></a>End help file.</span>
<span id="cb10-11"><a href="#cb10-11" aria-hidden="true" tabindex="-1"></a>[a]</span>
<span id="cb10-12"><a href="#cb10-12" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb10-13"><a href="#cb10-13" aria-hidden="true" tabindex="-1"></a>===&gt; Options unchanged</span></code></pre></div>
<h2 id="suggestions-bug-report-new-ideas">Suggestions, bug report, new ideas</h2>
<ul>
<li>My <a href="/about.html" target="_blank">contacts</a> for private discussions.</li>
<li>FreeBSD <a href="https://lists.freebsd.org/subscription/freebsd-accessibility" target="_blank">Accessibility</a>
mailing list to share and to track discussions in a public place.</li>
</ul>
<hr />
<h2 id="extras">Extras</h2>
<p>FreeBSD also allows you to configure a port using environment variables or
configuration files, both ways are described in the
<a href="https://man.freebsd.org/ports/7" target="_blank">port(7)</a> manual.</p>
<p>Resources and links for further information:</p>
<ul>
<li>Ports intro, <a href="https://www.freebsd.org/ports/" target="_blank">online</a>.</li>
<li>Manual: <em>$ man 7 ports</em>, <a href="https://man.freebsd.org/ports/7" target="_blank">online</a>.</li>
<li><em>/usr/ports/README</em>, <a href="https://cgit.freebsd.org/ports/plain/README" target="_blank">online</a>.</li>
<li>FreeBSD Handbook “<em>4.5. Using the Ports Collection</em>”,
<a href="https://docs.freebsd.org/en/books/handbook/ports/#ports-using" target="_blank">online</a>.</li>
</ul>
    </section>
</article>

<script src="https://utteranc.es/client.js"
        repo="alfonsosiciliano/comments-alfonsosiciliano.gitlab.io"
        issue-term="pathname"
        theme="preferred-color-scheme"
        crossorigin="anonymous"
        async>
</script>

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

<script src="https://utteranc.es/client.js"
        repo="alfonsosiciliano/comments-alfonsosiciliano.gitlab.io"
        issue-term="pathname"
        theme="preferred-color-scheme"
        crossorigin="anonymous"
        async>
</script>

]]></summary>
</entry>
<entry>
    <title>Manual PortOptsCLI</title>
    <link href="https://alfonsosiciliano.gitlab.io/posts/2023-08-20-manual-portoptscli.html" />
    <id>https://alfonsosiciliano.gitlab.io/posts/2023-08-20-manual-portoptscli.html</id>
    <published>2023-08-20T00:00:00Z</published>
    <updated>2023-08-20T00:00:00Z</updated>
    <summary type="html"><![CDATA[<article>
    <section class="header">
        Posted on
        August 20, 2023
        
    </section>
    <section>
        <p>The <a href="http://www.freebsd.org" target="_blank">FreeBSD</a> Operating System provides the
<a href="https://www.freebsd.org/ports/" target="_blank">Ports Collection</a> to give users and
administrators a simple way to install applications.
It is possible to configure a port before the building
and installation. <a href="https://gitlab.com/alfix/portoptscli" target="_blank">PortOptsCLI</a>
(Port Options CLI) is an utility to customize ports options via a command line
interface.
<!--more--></p>
<p>This is the manual, please refer to the
<a href="https://gitlab.com/alfix/portoptscli/-/raw/main/README.txt" target="_blank">README</a> for
Getting Started, Demo, and extra info.</p>
<div class="sourceCode" id="cb1"><pre class="sourceCode default"><code class="sourceCode default"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a>PORTOPTSCLI(1)          FreeBSD General Commands Manual         PORTOPTSCLI(1)</span>
<span id="cb1-2"><a href="#cb1-2" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb1-3"><a href="#cb1-3" aria-hidden="true" tabindex="-1"></a>NAME</span>
<span id="cb1-4"><a href="#cb1-4" aria-hidden="true" tabindex="-1"></a>     portoptscli - port options CLI</span>
<span id="cb1-5"><a href="#cb1-5" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb1-6"><a href="#cb1-6" aria-hidden="true" tabindex="-1"></a>SYNOPSIS</span>
<span id="cb1-7"><a href="#cb1-7" aria-hidden="true" tabindex="-1"></a>     portoptscli [-h | -v]</span>
<span id="cb1-8"><a href="#cb1-8" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb1-9"><a href="#cb1-9" aria-hidden="true" tabindex="-1"></a>DESCRIPTION</span>
<span id="cb1-10"><a href="#cb1-10" aria-hidden="true" tabindex="-1"></a>     The portoptscli utility provides a command line interface to customize</span>
<span id="cb1-11"><a href="#cb1-11" aria-hidden="true" tabindex="-1"></a>     interactively the options to build a port.  The configuration consists of</span>
<span id="cb1-12"><a href="#cb1-12" aria-hidden="true" tabindex="-1"></a>     a set of lists, checklist to enable or disable an option, radiolist to</span>
<span id="cb1-13"><a href="#cb1-13" aria-hidden="true" tabindex="-1"></a>     select at the most one option.  Some list is mandatory, at least one</span>
<span id="cb1-14"><a href="#cb1-14" aria-hidden="true" tabindex="-1"></a>     option has to be active.</span>
<span id="cb1-15"><a href="#cb1-15" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb1-16"><a href="#cb1-16" aria-hidden="true" tabindex="-1"></a>     The following arguments are available:</span>
<span id="cb1-17"><a href="#cb1-17" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb1-18"><a href="#cb1-18" aria-hidden="true" tabindex="-1"></a>     -h      Display options, a short description and exit.</span>
<span id="cb1-19"><a href="#cb1-19" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb1-20"><a href="#cb1-20" aria-hidden="true" tabindex="-1"></a>     -v      Show version and exit.</span>
<span id="cb1-21"><a href="#cb1-21" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb1-22"><a href="#cb1-22" aria-hidden="true" tabindex="-1"></a>     The following keys are available at runtime:</span>
<span id="cb1-23"><a href="#cb1-23" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb1-24"><a href="#cb1-24" aria-hidden="true" tabindex="-1"></a>     a, ESC  Quit without saving.</span>
<span id="cb1-25"><a href="#cb1-25" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb1-26"><a href="#cb1-26" aria-hidden="true" tabindex="-1"></a>     c       Print short commands list.</span>
<span id="cb1-27"><a href="#cb1-27" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb1-28"><a href="#cb1-28" aria-hidden="true" tabindex="-1"></a>     d, PAGEDOWN</span>
<span id="cb1-29"><a href="#cb1-29" aria-hidden="true" tabindex="-1"></a>             Fast next element, that is next list.</span>
<span id="cb1-30"><a href="#cb1-30" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb1-31"><a href="#cb1-31" aria-hidden="true" tabindex="-1"></a>     e, END  Go to end.</span>
<span id="cb1-32"><a href="#cb1-32" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb1-33"><a href="#cb1-33" aria-hidden="true" tabindex="-1"></a>     h       Specific port help, if pkg-help exists.</span>
<span id="cb1-34"><a href="#cb1-34" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb1-35"><a href="#cb1-35" aria-hidden="true" tabindex="-1"></a>     i       Print port info: name, list number, total options number, if a</span>
<span id="cb1-36"><a href="#cb1-36" aria-hidden="true" tabindex="-1"></a>             help file exists.</span>
<span id="cb1-37"><a href="#cb1-37" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb1-38"><a href="#cb1-38" aria-hidden="true" tabindex="-1"></a>     m       Print all list titles.</span>
<span id="cb1-39"><a href="#cb1-39" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb1-40"><a href="#cb1-40" aria-hidden="true" tabindex="-1"></a>     n, DOWN</span>
<span id="cb1-41"><a href="#cb1-41" aria-hidden="true" tabindex="-1"></a>             Next element.</span>
<span id="cb1-42"><a href="#cb1-42" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb1-43"><a href="#cb1-43" aria-hidden="true" tabindex="-1"></a>     p, UP   Previous element.</span>
<span id="cb1-44"><a href="#cb1-44" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb1-45"><a href="#cb1-45" aria-hidden="true" tabindex="-1"></a>     q       Save and quit.</span>
<span id="cb1-46"><a href="#cb1-46" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb1-47"><a href="#cb1-47" aria-hidden="true" tabindex="-1"></a>     r       Reprint the current element.</span>
<span id="cb1-48"><a href="#cb1-48" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb1-49"><a href="#cb1-49" aria-hidden="true" tabindex="-1"></a>     s, SPACE</span>
<span id="cb1-50"><a href="#cb1-50" aria-hidden="true" tabindex="-1"></a>             Enable or disable a checklist option.  Select a radiolist option</span>
<span id="cb1-51"><a href="#cb1-51" aria-hidden="true" tabindex="-1"></a>             possibly deselecting the previous active option.</span>
<span id="cb1-52"><a href="#cb1-52" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb1-53"><a href="#cb1-53" aria-hidden="true" tabindex="-1"></a>     t, HOME</span>
<span id="cb1-54"><a href="#cb1-54" aria-hidden="true" tabindex="-1"></a>             Go to the top of the configuration and port info is reprinted.</span>
<span id="cb1-55"><a href="#cb1-55" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb1-56"><a href="#cb1-56" aria-hidden="true" tabindex="-1"></a>     u, PAGEUP</span>
<span id="cb1-57"><a href="#cb1-57" aria-hidden="true" tabindex="-1"></a>             Fast previous element.  That is previous list or restart the</span>
<span id="cb1-58"><a href="#cb1-58" aria-hidden="true" tabindex="-1"></a>             current list if the current element is an option.</span>
<span id="cb1-59"><a href="#cb1-59" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb1-60"><a href="#cb1-60" aria-hidden="true" tabindex="-1"></a>     v       Toggle verbose mode.  Printed in verbose mode: option index, some</span>
<span id="cb1-61"><a href="#cb1-61" aria-hidden="true" tabindex="-1"></a>             command at top and end configuration.</span>
<span id="cb1-62"><a href="#cb1-62" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb1-63"><a href="#cb1-63" aria-hidden="true" tabindex="-1"></a>ENVIRONMENT</span>
<span id="cb1-64"><a href="#cb1-64" aria-hidden="true" tabindex="-1"></a>     The following environment variable takes effect only on startup, other</span>
<span id="cb1-65"><a href="#cb1-65" aria-hidden="true" tabindex="-1"></a>     options can override its setting.</span>
<span id="cb1-66"><a href="#cb1-66" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb1-67"><a href="#cb1-67" aria-hidden="true" tabindex="-1"></a>     PORTOPTSCLI_VERBOSE</span>
<span id="cb1-68"><a href="#cb1-68" aria-hidden="true" tabindex="-1"></a>             Enable verbose mode if its value is &quot;Y&quot; or &quot;YES&quot;.</span>
<span id="cb1-69"><a href="#cb1-69" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb1-70"><a href="#cb1-70" aria-hidden="true" tabindex="-1"></a>EXIT STATUS</span>
<span id="cb1-71"><a href="#cb1-71" aria-hidden="true" tabindex="-1"></a>     The portoptscli utility exits 0 on success, and &gt;0 if an error occurs.</span>
<span id="cb1-72"><a href="#cb1-72" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb1-73"><a href="#cb1-73" aria-hidden="true" tabindex="-1"></a>SEE ALSO</span>
<span id="cb1-74"><a href="#cb1-74" aria-hidden="true" tabindex="-1"></a>     ports(7)</span>
<span id="cb1-75"><a href="#cb1-75" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb1-76"><a href="#cb1-76" aria-hidden="true" tabindex="-1"></a>AUTHORS</span>
<span id="cb1-77"><a href="#cb1-77" aria-hidden="true" tabindex="-1"></a>     The portoptscli utility was written by Alfonso Sabato Siciliano</span>
<span id="cb1-78"><a href="#cb1-78" aria-hidden="true" tabindex="-1"></a>     &lt;asiciliano@FreeBSD.org&gt;.</span>
<span id="cb1-79"><a href="#cb1-79" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb1-80"><a href="#cb1-80" aria-hidden="true" tabindex="-1"></a>FreeBSD 14.0-CURRENT            August 18, 2023           FreeBSD 14.0-CURRENT</span></code></pre></div>
    </section>
</article>

<script src="https://utteranc.es/client.js"
        repo="alfonsosiciliano/comments-alfonsosiciliano.gitlab.io"
        issue-term="pathname"
        theme="preferred-color-scheme"
        crossorigin="anonymous"
        async>
</script>

]]></summary>
</entry>
<entry>
    <title>bsddialog 1.0</title>
    <link href="https://alfonsosiciliano.gitlab.io/posts/2023-08-01-bsddialog-1-0.html" />
    <id>https://alfonsosiciliano.gitlab.io/posts/2023-08-01-bsddialog-1-0.html</id>
    <published>2023-08-01T00:00:00Z</published>
    <updated>2023-08-01T00:00:00Z</updated>
    <summary type="html"><![CDATA[<article>
    <section class="header">
        Posted on
        August  1, 2023
        
    </section>
    <section>
        <p>The <a href="https://gitlab.com/alfix/bsddialog" target="_blank">bsddialog</a> project provides <em>bsddialog</em>
and <em>libbsddialog</em>, an utility and a library to build TUI dialogs and widgets.
The version 1.0 is out!
<!--more--></p>
<div class="sourceCode" id="cb1"><pre class="sourceCode default"><code class="sourceCode default"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a>% git clone https://gitlab.com/alfix/bsddialog.git</span>
<span id="cb1-2"><a href="#cb1-2" aria-hidden="true" tabindex="-1"></a>% cd bsddialog</span>
<span id="cb1-3"><a href="#cb1-3" aria-hidden="true" tabindex="-1"></a>% make</span>
<span id="cb1-4"><a href="#cb1-4" aria-hidden="true" tabindex="-1"></a>% ./bsddialog --msgbox &quot;`./bsddialog --version`&quot; 0 0</span></code></pre></div>
<p><img src="/images/bsddialog-1-0.png" style="width:100.0%" /></p>
<p><strong>Version 1.0 Highlights</strong></p>
<p>New features: dynamic exit codes, new environments variables, generic buttons,
startup theme file, –datebox-format d/m/y | m/d/y | y/m/d,
other escapes for –text-escape, comments in –save-theme output file.</p>
<p>Important changes: –generic-button1 -&gt; –right1-button,
–generic-button2 -&gt; –right2-button,
–no-names and –no-descriptions mutually exclusive.</p>
<p>The library has some API change (see CHANGELOG), feel free to <a href="/about.html" target="_blank">contact</a> me for any
explanation.</p>
<p><strong>CHANGELOG</strong>:</p>
<div class="sourceCode" id="cb2"><pre class="sourceCode changelog"><code class="sourceCode changelog"><span id="cb2-1"><a href="#cb2-1" aria-hidden="true" tabindex="-1"></a><span class="dt">2023-08-01 </span><span class="kw">Version 1</span>.<span class="kw">0</span></span>
<span id="cb2-2"><a href="#cb2-2" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb2-3"><a href="#cb2-3" aria-hidden="true" tabindex="-1"></a>	Utility:</span>
<span id="cb2-4"><a href="#cb2-4" aria-hidden="true" tabindex="-1"></a>	<span class="dv">* add:</span> comments to --save-theme output file.</span>
<span id="cb2-5"><a href="#cb2-5" aria-hidden="true" tabindex="-1"></a>	<span class="dv">* add:</span> blink, halfbright, highlight to --save-theme and --load-theme.</span>
<span id="cb2-6"><a href="#cb2-6" aria-hidden="true" tabindex="-1"></a>	<span class="dv">* add:</span> theme.menu.[f_]prefixcolor to --save-theme and --load-theme.</span>
<span id="cb2-7"><a href="#cb2-7" aria-hidden="true" tabindex="-1"></a>	<span class="dv">* add:</span> --datebox-format &lt;d/m/y|m/d/y|y/m/d&gt; to set --datebox UI.</span>
<span id="cb2-8"><a href="#cb2-8" aria-hidden="true" tabindex="-1"></a>	<span class="dv">* add:</span> --help-print-items (--help-status becomes alias).</span>
<span id="cb2-9"><a href="#cb2-9" aria-hidden="true" tabindex="-1"></a>	<span class="dv">* add:</span> --text-escape (--colors becomes alias).</span>
<span id="cb2-10"><a href="#cb2-10" aria-hidden="true" tabindex="-1"></a>	<span class="dv">* add:</span> new escapes \Zd, \Zk, \Zs, \ZD, \ZK, \ZS, for --text-escape.</span>
<span id="cb2-11"><a href="#cb2-11" aria-hidden="true" tabindex="-1"></a>	<span class="dv">* add:</span> env NO_COLOR, to set blackwhite theme.</span>
<span id="cb2-12"><a href="#cb2-12" aria-hidden="true" tabindex="-1"></a>	<span class="dv">* add:</span> $HOME/.bsddialog.conf startup theme file.</span>
<span id="cb2-13"><a href="#cb2-13" aria-hidden="true" tabindex="-1"></a>	<span class="dv">* add:</span> env BSDDIALOG_THEMEFILE startup theme file.</span>
<span id="cb2-14"><a href="#cb2-14" aria-hidden="true" tabindex="-1"></a>	<span class="dv">* add:</span> --left1-button &lt;label&gt;.</span>
<span id="cb2-15"><a href="#cb2-15" aria-hidden="true" tabindex="-1"></a>	<span class="dv">* add:</span> --left2-button &lt;label&gt;.</span>
<span id="cb2-16"><a href="#cb2-16" aria-hidden="true" tabindex="-1"></a>	<span class="dv">* add:</span> --left3-button &lt;label&gt;.</span>
<span id="cb2-17"><a href="#cb2-17" aria-hidden="true" tabindex="-1"></a>	<span class="dv">* add:</span> --right1-button &lt;label&gt;.</span>
<span id="cb2-18"><a href="#cb2-18" aria-hidden="true" tabindex="-1"></a>	<span class="dv">* add:</span> --right2-button &lt;label&gt;.</span>
<span id="cb2-19"><a href="#cb2-19" aria-hidden="true" tabindex="-1"></a>	<span class="dv">* add:</span> --right3-button &lt;label&gt;.</span>
<span id="cb2-20"><a href="#cb2-20" aria-hidden="true" tabindex="-1"></a>	<span class="dv">* add:</span> dynamic exit codes.</span>
<span id="cb2-21"><a href="#cb2-21" aria-hidden="true" tabindex="-1"></a>	    - add: --error-exit-code.</span>
<span id="cb2-22"><a href="#cb2-22" aria-hidden="true" tabindex="-1"></a>	    - add: --ok-exit-code.</span>
<span id="cb2-23"><a href="#cb2-23" aria-hidden="true" tabindex="-1"></a>	    - add: --cancel-exit-code.</span>
<span id="cb2-24"><a href="#cb2-24" aria-hidden="true" tabindex="-1"></a>	    - add: --help-exit-code.</span>
<span id="cb2-25"><a href="#cb2-25" aria-hidden="true" tabindex="-1"></a>	    - add: --extra-exit-code.</span>
<span id="cb2-26"><a href="#cb2-26" aria-hidden="true" tabindex="-1"></a>	    - add: --timeout-exit-code.</span>
<span id="cb2-27"><a href="#cb2-27" aria-hidden="true" tabindex="-1"></a>	    - add: --esc-exit-code.</span>
<span id="cb2-28"><a href="#cb2-28" aria-hidden="true" tabindex="-1"></a>	    - add: --left1-exit-code.</span>
<span id="cb2-29"><a href="#cb2-29" aria-hidden="true" tabindex="-1"></a>	    - add: --left2-exit-code.</span>
<span id="cb2-30"><a href="#cb2-30" aria-hidden="true" tabindex="-1"></a>	    - add: --left3-exit-code.</span>
<span id="cb2-31"><a href="#cb2-31" aria-hidden="true" tabindex="-1"></a>	    - add: --right1-exit-code.</span>
<span id="cb2-32"><a href="#cb2-32" aria-hidden="true" tabindex="-1"></a>	    - add: --right2-exit-code.</span>
<span id="cb2-33"><a href="#cb2-33" aria-hidden="true" tabindex="-1"></a>	    - add: --right3-exit-code.</span>
<span id="cb2-34"><a href="#cb2-34" aria-hidden="true" tabindex="-1"></a>	    - add: env BSDDIALOG_ERROR.</span>
<span id="cb2-35"><a href="#cb2-35" aria-hidden="true" tabindex="-1"></a>	    - add: env BSDDIALOG_OK.</span>
<span id="cb2-36"><a href="#cb2-36" aria-hidden="true" tabindex="-1"></a>	    - add: env BSDDIALOG_CANCEL.</span>
<span id="cb2-37"><a href="#cb2-37" aria-hidden="true" tabindex="-1"></a>	    - add: env BSDDIALOG_HELP.</span>
<span id="cb2-38"><a href="#cb2-38" aria-hidden="true" tabindex="-1"></a>	    - add: env BSDDIALOG_EXTRA.</span>
<span id="cb2-39"><a href="#cb2-39" aria-hidden="true" tabindex="-1"></a>	    - add: env BSDDIALOG_TIMEOUT.</span>
<span id="cb2-40"><a href="#cb2-40" aria-hidden="true" tabindex="-1"></a>	    - add: env BSDDIALOG_ESC.</span>
<span id="cb2-41"><a href="#cb2-41" aria-hidden="true" tabindex="-1"></a>	    - add: env BSDDIALOG_LEFT1.</span>
<span id="cb2-42"><a href="#cb2-42" aria-hidden="true" tabindex="-1"></a>	    - add: env BSDDIALOG_LEFT2.</span>
<span id="cb2-43"><a href="#cb2-43" aria-hidden="true" tabindex="-1"></a>	    - add: env BSDDIALOG_LEFT3.</span>
<span id="cb2-44"><a href="#cb2-44" aria-hidden="true" tabindex="-1"></a>	    - add: env BSDDIALOG_RIGHT1.</span>
<span id="cb2-45"><a href="#cb2-45" aria-hidden="true" tabindex="-1"></a>	    - add: env BSDDIALOG_RIGHT2.</span>
<span id="cb2-46"><a href="#cb2-46" aria-hidden="true" tabindex="-1"></a>	    - add: env BSDDIALOG_RIGHT3.</span>
<span id="cb2-47"><a href="#cb2-47" aria-hidden="true" tabindex="-1"></a>	<span class="dv">* add:</span> undocumented envs for bsdconfig(8) compatibility.</span>
<span id="cb2-48"><a href="#cb2-48" aria-hidden="true" tabindex="-1"></a>	    - env BSDDIALOG_COMPATRC for use_shadow setting.</span>
<span id="cb2-49"><a href="#cb2-49" aria-hidden="true" tabindex="-1"></a>	    - env BSDDIALOG_ITEM_HELP to add/set exit code.</span>
<span id="cb2-50"><a href="#cb2-50" aria-hidden="true" tabindex="-1"></a>	<span class="dv">* change:</span> rename themes --theme &lt;3d|blackwhite|flat&gt;.</span>
<span id="cb2-51"><a href="#cb2-51" aria-hidden="true" tabindex="-1"></a>	<span class="dv">* change:</span> --no-names and --no-descriptions mutually exclusive (via lia).</span>
<span id="cb2-52"><a href="#cb2-52" aria-hidden="true" tabindex="-1"></a>	<span class="dv">* change:</span> quote only checklist output items if necessary. Previously</span>
<span id="cb2-53"><a href="#cb2-53" aria-hidden="true" tabindex="-1"></a>	    also radiolist item.</span>
<span id="cb2-54"><a href="#cb2-54" aria-hidden="true" tabindex="-1"></a>	<span class="dv">* change:</span> dialogs with user input print always values except with ERROR,</span>
<span id="cb2-55"><a href="#cb2-55" aria-hidden="true" tabindex="-1"></a>	    ESC, Cancel. Previously the situation was quite heterogeneous.</span>
<span id="cb2-56"><a href="#cb2-56" aria-hidden="true" tabindex="-1"></a>	<span class="dv">* improve:</span> DIAGNOSTIC messages adding fmt string errors.</span>
<span id="cb2-57"><a href="#cb2-57" aria-hidden="true" tabindex="-1"></a>	<span class="dv">* improve:</span> disable theme setting (opt and env) with no-color terminals.</span>
<span id="cb2-58"><a href="#cb2-58" aria-hidden="true" tabindex="-1"></a>	<span class="dv">* improve:</span> menus on|off status (strcasecmp, diagnostic, real off check).</span>
<span id="cb2-59"><a href="#cb2-59" aria-hidden="true" tabindex="-1"></a>	<span class="dv">* improve:</span> --bikeshed with button delimiter and --date-format.</span>
<span id="cb2-60"><a href="#cb2-60" aria-hidden="true" tabindex="-1"></a>	<span class="dv">* improve:</span> --textbox accepts button options.</span>
<span id="cb2-61"><a href="#cb2-61" aria-hidden="true" tabindex="-1"></a>	<span class="dv">* improve:</span> Forms with Help button.</span>
<span id="cb2-62"><a href="#cb2-62" aria-hidden="true" tabindex="-1"></a>	    - print &quot;HELP&quot; (like menus).</span>
<span id="cb2-63"><a href="#cb2-63" aria-hidden="true" tabindex="-1"></a>	    - accept --help-list-items.</span>
<span id="cb2-64"><a href="#cb2-64" aria-hidden="true" tabindex="-1"></a>	    - accept --help-print-name.</span>
<span id="cb2-65"><a href="#cb2-65" aria-hidden="true" tabindex="-1"></a>	<span class="dv">* fix:</span> --load-theme attributes.</span>
<span id="cb2-66"><a href="#cb2-66" aria-hidden="true" tabindex="-1"></a>	<span class="dv">* fix:</span> --clear-screen with --and-dialog.</span>
<span id="cb2-67"><a href="#cb2-67" aria-hidden="true" tabindex="-1"></a>	<span class="dv">* delete:</span> --theme &lt;bsddialog&gt; (partially implemented).</span>
<span id="cb2-68"><a href="#cb2-68" aria-hidden="true" tabindex="-1"></a>	<span class="dv">* delete:</span> --esc-return-cancel (replaced by new env and option).</span>
<span id="cb2-69"><a href="#cb2-69" aria-hidden="true" tabindex="-1"></a>	<span class="dv">* delete:</span> --generic-button1 (replaced by --right1-button).</span>
<span id="cb2-70"><a href="#cb2-70" aria-hidden="true" tabindex="-1"></a>	<span class="dv">* delete:</span> --generic-button2 (replaced by --right2-button).</span>
<span id="cb2-71"><a href="#cb2-71" aria-hidden="true" tabindex="-1"></a>	<span class="dv">* refactor:</span> modularize in more files (main, cli, builders, theme).</span>
<span id="cb2-72"><a href="#cb2-72" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb2-73"><a href="#cb2-73" aria-hidden="true" tabindex="-1"></a>	Library:</span>
<span id="cb2-74"><a href="#cb2-74" aria-hidden="true" tabindex="-1"></a>	<span class="dv">* add:</span> bsddialog_inmode().</span>
<span id="cb2-75"><a href="#cb2-75" aria-hidden="true" tabindex="-1"></a>	<span class="dv">* add:</span> bsddialog_clear(y) for utility --clear-screen.</span>
<span id="cb2-76"><a href="#cb2-76" aria-hidden="true" tabindex="-1"></a>	<span class="dv">* add:</span> bsddialog_refresh() for utility terminal mode options.</span>
<span id="cb2-77"><a href="#cb2-77" aria-hidden="true" tabindex="-1"></a>	<span class="dv">* add:</span> conf.date.format=&quot;d/m/y&quot;|&quot;m/d/y&quot;|&quot;y/m/d&quot; to customize</span>
<span id="cb2-78"><a href="#cb2-78" aria-hidden="true" tabindex="-1"></a>	    bsddialog_datebox() UI (boxes) with a date format.</span>
<span id="cb2-79"><a href="#cb2-79" aria-hidden="true" tabindex="-1"></a>	<span class="dv">* add:</span> &#39;const char *end&#39; to bsddialog_gauge().</span>
<span id="cb2-80"><a href="#cb2-80" aria-hidden="true" tabindex="-1"></a>	<span class="dv">* add:</span> draw focus on the shortcut-key-selected button at exit.</span>
<span id="cb2-81"><a href="#cb2-81" aria-hidden="true" tabindex="-1"></a>	<span class="dv">* add:</span> escapes for conf.text.highlight \Zd, \Zk, \Zs, \ZD, \ZK, \ZS.</span>
<span id="cb2-82"><a href="#cb2-82" aria-hidden="true" tabindex="-1"></a>	<span class="dv">* add:</span> other theme flags.</span>
<span id="cb2-83"><a href="#cb2-83" aria-hidden="true" tabindex="-1"></a>	    - BSDDIALOG_BLINK.</span>
<span id="cb2-84"><a href="#cb2-84" aria-hidden="true" tabindex="-1"></a>	    - BSDDIALOG_HALFBRIGHT.</span>
<span id="cb2-85"><a href="#cb2-85" aria-hidden="true" tabindex="-1"></a>	    - BSDDIALOG_HIGHLIGHT.</span>
<span id="cb2-86"><a href="#cb2-86" aria-hidden="true" tabindex="-1"></a>	<span class="dv">* add:</span> generic buttons.</span>
<span id="cb2-87"><a href="#cb2-87" aria-hidden="true" tabindex="-1"></a>	    - conf.button.left1_label, BSDDIALOG_LEFT1 return value.</span>
<span id="cb2-88"><a href="#cb2-88" aria-hidden="true" tabindex="-1"></a>	    - conf.button.left2_label, BSDDIALOG_LEFT2 return value.</span>
<span id="cb2-89"><a href="#cb2-89" aria-hidden="true" tabindex="-1"></a>	    - conf.button.left3_label, BSDDIALOG_LEFT3 return value.</span>
<span id="cb2-90"><a href="#cb2-90" aria-hidden="true" tabindex="-1"></a>	    - conf.button.right1.label, BSDDIALOG_RIGHT1 return value.</span>
<span id="cb2-91"><a href="#cb2-91" aria-hidden="true" tabindex="-1"></a>	    - conf.button.right2.label, BSDDIALOG_RIGHT2 return value.</span>
<span id="cb2-92"><a href="#cb2-92" aria-hidden="true" tabindex="-1"></a>	    - conf.button.right3.label, BSDDIALOG_RIGHT3 return value.</span>
<span id="cb2-93"><a href="#cb2-93" aria-hidden="true" tabindex="-1"></a>	<span class="dv">* add:</span> unused bsddialog_menugroup.min_on for future features.</span>
<span id="cb2-94"><a href="#cb2-94" aria-hidden="true" tabindex="-1"></a>	<span class="dv">* add:</span> theme.menu.f_prefixcolor and theme.menu.prefixcolor.</span>
<span id="cb2-95"><a href="#cb2-95" aria-hidden="true" tabindex="-1"></a>	<span class="dv">* improve:</span> check (when possible) API pointers.</span>
<span id="cb2-96"><a href="#cb2-96" aria-hidden="true" tabindex="-1"></a>	<span class="dv">* improve:</span> circolar buttons with left and right keys for msgbox, yesno,</span>
<span id="cb2-97"><a href="#cb2-97" aria-hidden="true" tabindex="-1"></a>	    menus, rangebox and pause.</span>
<span id="cb2-98"><a href="#cb2-98" aria-hidden="true" tabindex="-1"></a>	<span class="dv">* improve:</span> bsddialog_textbox() handles conf.buttons.</span>
<span id="cb2-99"><a href="#cb2-99" aria-hidden="true" tabindex="-1"></a>	<span class="dv">* improve:</span> bsddialog_datebox() a box change affects the others as well.</span>
<span id="cb2-100"><a href="#cb2-100" aria-hidden="true" tabindex="-1"></a>	<span class="dv">* improve:</span> bsddialog_geterror() with fmt strings.</span>
<span id="cb2-101"><a href="#cb2-101" aria-hidden="true" tabindex="-1"></a>	<span class="dv">* change:</span> API NULL strings handled like &quot;&quot;, except gauge *sep and *end.</span>
<span id="cb2-102"><a href="#cb2-102" aria-hidden="true" tabindex="-1"></a>	<span class="dv">* change:</span> menus and form less restrictive with text, hide text with</span>
<span id="cb2-103"><a href="#cb2-103" aria-hidden="true" tabindex="-1"></a>	    little screens (same behavior as other dialogs).</span>
<span id="cb2-104"><a href="#cb2-104" aria-hidden="true" tabindex="-1"></a>	<span class="dv">* change:</span> mixedgauge BSDDIALOG_MG_BLANK does not draw minibar but prints</span>
<span id="cb2-105"><a href="#cb2-105" aria-hidden="true" tabindex="-1"></a>	    minilabel. The change allows mixedgauge to add sections. To restore</span>
<span id="cb2-106"><a href="#cb2-106" aria-hidden="true" tabindex="-1"></a>	    the previous behavior setting minilabel to &quot;&quot;.</span>
<span id="cb2-107"><a href="#cb2-107" aria-hidden="true" tabindex="-1"></a>	<span class="dv">* change:</span> check/set bsddialog_gauge() perc max 100.</span>
<span id="cb2-108"><a href="#cb2-108" aria-hidden="true" tabindex="-1"></a>	<span class="dv">* change:</span> check/set bsddialog_mixedgauge() mainperc max 100.</span>
<span id="cb2-109"><a href="#cb2-109" aria-hidden="true" tabindex="-1"></a>	<span class="dv">* change:</span> conf.menu.no_name and conf.menu.no_desc mutually exclusive.</span>
<span id="cb2-110"><a href="#cb2-110" aria-hidden="true" tabindex="-1"></a>	<span class="dv">* change:</span> bsddialog_pause() sec -&gt; *sec to know remaining time at exit.</span>
<span id="cb2-111"><a href="#cb2-111" aria-hidden="true" tabindex="-1"></a>	<span class="dv">* change:</span> add *focusitem to bsddialog_form() like menus.</span>
<span id="cb2-112"><a href="#cb2-112" aria-hidden="true" tabindex="-1"></a>	<span class="dv">* change:</span> &quot;pointer&quot; values are always set except when BSDDIALOG_ERROR</span>
<span id="cb2-113"><a href="#cb2-113" aria-hidden="true" tabindex="-1"></a>	    occurs. Examples *yy/*mm/*ss, rangebox *value.</span>
<span id="cb2-114"><a href="#cb2-114" aria-hidden="true" tabindex="-1"></a>	    - delete conf.menu.on_without_ok.</span>
<span id="cb2-115"><a href="#cb2-115" aria-hidden="true" tabindex="-1"></a>	    - delete conf.form.value_without_ok.</span>
<span id="cb2-116"><a href="#cb2-116" aria-hidden="true" tabindex="-1"></a>	<span class="dv">* rename:</span> conf.text.highlight -&gt; conf.text.escape.</span>
<span id="cb2-117"><a href="#cb2-117" aria-hidden="true" tabindex="-1"></a>	<span class="dv">* rename:</span> theme.menu.namesepcolor -&gt; theme.menu.sepnamecolor.</span>
<span id="cb2-118"><a href="#cb2-118" aria-hidden="true" tabindex="-1"></a>	<span class="dv">* rename:</span> theme.menu.descsepcolor -&gt; theme.menu.sepdesccolor.</span>
<span id="cb2-119"><a href="#cb2-119" aria-hidden="true" tabindex="-1"></a>	<span class="dv">* fix:</span> bsddialog_pause() elevation bar after resize.</span>
<span id="cb2-120"><a href="#cb2-120" aria-hidden="true" tabindex="-1"></a>	<span class="dv">* fix:</span> bsddialog_textbox() key &#39;0&#39;.</span>
<span id="cb2-121"><a href="#cb2-121" aria-hidden="true" tabindex="-1"></a>	<span class="dv">* fix:</span> timebox.c checksize (boxes width).</span>
<span id="cb2-122"><a href="#cb2-122" aria-hidden="true" tabindex="-1"></a>	<span class="dv">* fix:</span> extend menurows after shrink and enlarge.</span>
<span id="cb2-123"><a href="#cb2-123" aria-hidden="true" tabindex="-1"></a>	<span class="dv">* fix:</span> menu pad and form pad &quot;re-expansion&quot; after shrink and enlarge.</span>
<span id="cb2-124"><a href="#cb2-124" aria-hidden="true" tabindex="-1"></a>	<span class="dv">* fix:</span> shadow top-left corner (trick wresize() before wmove()).</span>
<span id="cb2-125"><a href="#cb2-125" aria-hidden="true" tabindex="-1"></a>	<span class="dv">* fix:</span> increment bsddialog_total_progview size for more general use.</span>
<span id="cb2-126"><a href="#cb2-126" aria-hidden="true" tabindex="-1"></a>	<span class="dv">* delete:</span> BSDDIALOG_THEME_BSDDIALOG (partially implemented).</span>
<span id="cb2-127"><a href="#cb2-127" aria-hidden="true" tabindex="-1"></a>	<span class="dv">* delete:</span> conf.button.generic1_label (for new conf.button.right1_label).</span>
<span id="cb2-128"><a href="#cb2-128" aria-hidden="true" tabindex="-1"></a>	<span class="dv">* delete:</span> BSDDIALOG_GENERIC1 return value (new BSDDIALOG_RIGHT1).</span>
<span id="cb2-129"><a href="#cb2-129" aria-hidden="true" tabindex="-1"></a>	<span class="dv">* delete:</span> conf.button.generic2_label (for new conf.button.right2_label).</span>
<span id="cb2-130"><a href="#cb2-130" aria-hidden="true" tabindex="-1"></a>	<span class="dv">* delete:</span> BSDDIALOG_GENERIC2 return value (new BSDDIALOG_RIGHT2).</span>
<span id="cb2-131"><a href="#cb2-131" aria-hidden="true" tabindex="-1"></a>	<span class="dv">* delete:</span> bsddialog_clearterminal(), replaced by bsddialog_clear(y).</span>
<span id="cb2-132"><a href="#cb2-132" aria-hidden="true" tabindex="-1"></a>	<span class="dv">* refactor:</span> internal implementation.</span>
<span id="cb2-133"><a href="#cb2-133" aria-hidden="true" tabindex="-1"></a>	    - add: internal structures to represent components.</span>
<span id="cb2-134"><a href="#cb2-134" aria-hidden="true" tabindex="-1"></a>	    - merge: (when possible) dialogs autosize.</span>
<span id="cb2-135"><a href="#cb2-135" aria-hidden="true" tabindex="-1"></a>	    - merge: (when possible) dialogs checksize.</span>
<span id="cb2-136"><a href="#cb2-136" aria-hidden="true" tabindex="-1"></a>	    - merge: for each dialog &quot;build&quot; with &quot;update&quot; -&gt; &lt;dialog&gt;_redraw().</span>
<span id="cb2-137"><a href="#cb2-137" aria-hidden="true" tabindex="-1"></a>	    - merge: new_dialog() with update_dialog() -&gt; draw_dialog().</span>
<span id="cb2-138"><a href="#cb2-138" aria-hidden="true" tabindex="-1"></a>	    - merge: infobox.c with messagebox.c (delete infobox.c)</span>
<span id="cb2-139"><a href="#cb2-139" aria-hidden="true" tabindex="-1"></a>	    - merge: bsddialog_datebox() + bsddialog_calendar() -&gt; datebox.c</span>
<span id="cb2-140"><a href="#cb2-140" aria-hidden="true" tabindex="-1"></a>	    - change: flat and blackwhite real themes, 3d adapted from flat.</span>
<span id="cb2-141"><a href="#cb2-141" aria-hidden="true" tabindex="-1"></a>	    - improve: replace wrefresh() -&gt; wnoutrefresh()/doupdate().</span>
<span id="cb2-142"><a href="#cb2-142" aria-hidden="true" tabindex="-1"></a>	    - improve: replace prefresh() -&gt; pnoutrefresh()/doupdate().</span>
<span id="cb2-143"><a href="#cb2-143" aria-hidden="true" tabindex="-1"></a>	    - improve: menu split code to build private items.</span>
<span id="cb2-144"><a href="#cb2-144" aria-hidden="true" tabindex="-1"></a>	    - improve: form split code to build private items.</span>
<span id="cb2-145"><a href="#cb2-145" aria-hidden="true" tabindex="-1"></a>	    - delete: -Wno-implicit-fallthrough.</span></code></pre></div>
<p><strong>Extra Info</strong></p>
<ul>
<li>Manual Utility <a href="2022-01-26-manual-bsddialog.html" target="_blank">bsddialog(1)</a>.</li>
<li>Manual Library <a href="2022-01-15-manual-libbsddialog.html" target="_blank">bsddialog(3)</a>.</li>
<li>README and examples <a href="https://gitlab.com/alfix/bsddialog" target="_blank">https://gitlab.com/alfix/bsddialog</a>.</li>
</ul>
    </section>
</article>

<script src="https://utteranc.es/client.js"
        repo="alfonsosiciliano/comments-alfonsosiciliano.gitlab.io"
        issue-term="pathname"
        theme="preferred-color-scheme"
        crossorigin="anonymous"
        async>
</script>

]]></summary>
</entry>
<entry>
    <title>I'm back!</title>
    <link href="https://alfonsosiciliano.gitlab.io/posts/2023-07-27-im-back.html" />
    <id>https://alfonsosiciliano.gitlab.io/posts/2023-07-27-im-back.html</id>
    <published>2023-07-27T00:00:00Z</published>
    <updated>2023-07-27T00:00:00Z</updated>
    <summary type="html"><![CDATA[<article>
    <section class="header">
        Posted on
        July 27, 2023
        
    </section>
    <section>
        <p>I’m back! The long medical treatment is over.
<!--more--></p>
<p><a href="/images/gitlab-2022-23.png" target="_blank"><img src="/images/gitlab-2022-23.png" data-max-width="100%" alt="My gitlab contributions diagram, inactive from October 2022 to July 2023" /></a></p>
<p><u>[End September 2022]</u><br />
I was not able to hear in my right ear.</p>
<p><u>[October 2022]</u><br />
After 3 days the situation worsened: acute vertigo and sensorineural
deafness (profound hearing loss) in one ear
(<a href="https://en.wikipedia.org/wiki/Sensorineural_hearing_loss#Sudden_sensorineural_hearing_loss" target="_blank">https://en.wikipedia.org/wiki/Sensorineural_hearing_loss#Sudden_sensorineural_hearing_loss</a>),
without an identifiable cause, probably:</p>
<ul>
<li>vascular ischemia of the inner ear or cranial nerve VIII (CN8),</li>
<li>infarction of the vestibulocochlear nerve <a href="https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6203587/" target="_blank">https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6203587/</a>.</li>
</ul>
<p><u>[October 2022 - January 2023]</u><br />
I spent months with doctors (ENT, cardiologist,
neurologist, radiologist), in hospitals, clinics, emergency,
magnetic resonance imaging centre, hyperbaric chamber,
bed with nausea and vomit.</p>
<p>The therapy was: hyperbaric chamber [Monday - Friday], a lot of cortisone and more than
10 pills per day.
The therapy finished in January with the end of the improvements, “fortunately”
from ~90 db to ~50 db.
I don’t hear voices (the problems remain
<a href="https://www.hearingbest.com/hearing-loss-articles/the-special-problems-of-single-sided-deafness/" target="_blank">https://www.hearingbest.com/hearing-loss-articles/the-special-problems-of-single-sided-deafness/</a>)
but I can try a hearing aid insead of a cochlear implant
(<a href="https://en.wikipedia.org/wiki/Cochlear_implant" target="_blank">https://en.wikipedia.org/wiki/Cochlear_implant</a>).</p>
<p><u>[December 2022 - January 2023]</u><br />
Obviously I was inactive: no code, no new project, no improvement, no commit,
no email.
A little something during the last time of medical treatment:</p>
<ul>
<li>some port fix/update (<a href="https://freshbsd.org/?q=asiciliano" target="_blank">https://freshbsd.org/?q=asiciliano</a>).</li>
<li>private academic/freebsd/sysctl project
<a href="https://twitter.com/alfsiciliano/status/1613631215805861900" target="_blank">https://twitter.com/alfsiciliano/status/1613631215805861900</a>.</li>
<li>blog post
<a href="2023-01-21-freebsd-disable-stereo-sound.html" target="_blank">FreeBSD disable stereo sound</a>.</li>
</ul>
<hr />
<p><u>[February 2023 - June 2023]</u><br />
New problem: sudden and severe tinnitus
(<a href="https://en.wikipedia.org/wiki/Tinnitus" target="_blank">https://en.wikipedia.org/wiki/Tinnitus</a>) in the “bad” ear.
It was a whistle and disturbed the understanding of voices even in the good ear.
Again the theray for several months. Fortunately tinnitus has become
“acceptable”, I always hear a noise like a fan or air conditioner,
not a whistle.</p>
<hr />
<p><u>[Now]</u><br />
A solution for tinnitus and sensorineural hearing loss does not exist.
I am looking for a good hearing care professional. 🦻🙂👂</p>
<p>Anyway I’m back in front of a computer!
I have over 50,000 unread emails! I’ll probably never read them, sorry.
<strong>You could resend your emails if they are important.</strong></p>
<p>Finally I am restarting to code!
Some new/update project is coming soon, stay tuned!</p>
    </section>
</article>

<script src="https://utteranc.es/client.js"
        repo="alfonsosiciliano/comments-alfonsosiciliano.gitlab.io"
        issue-term="pathname"
        theme="preferred-color-scheme"
        crossorigin="anonymous"
        async>
</script>

]]></summary>
</entry>

</feed>
