Sun Jan 9 16:55:59 2011 UTC ()
document the new wapbl sysctls.


(christos)
diff -r1.53 -r1.54 src/share/man/man7/sysctl.7

cvs diff -r1.53 -r1.54 src/share/man/man7/sysctl.7 (switch to unified diff)

--- src/share/man/man7/sysctl.7 2010/12/14 16:23:59 1.53
+++ src/share/man/man7/sysctl.7 2011/01/09 16:55:59 1.54
@@ -1,1142 +1,1156 @@ @@ -1,1142 +1,1156 @@
1.\" $NetBSD: sysctl.7,v 1.53 2010/12/14 16:23:59 jruoho Exp $ 1.\" $NetBSD: sysctl.7,v 1.54 2011/01/09 16:55:59 christos Exp $
2.\" 2.\"
3.\" Copyright (c) 1993 3.\" Copyright (c) 1993
4.\" The Regents of the University of California. All rights reserved. 4.\" The Regents of the University of California. All rights reserved.
5.\" 5.\"
6.\" Redistribution and use in source and binary forms, with or without 6.\" Redistribution and use in source and binary forms, with or without
7.\" modification, are permitted provided that the following conditions 7.\" modification, are permitted provided that the following conditions
8.\" are met: 8.\" are met:
9.\" 1. Redistributions of source code must retain the above copyright 9.\" 1. Redistributions of source code must retain the above copyright
10.\" notice, this list of conditions and the following disclaimer. 10.\" notice, this list of conditions and the following disclaimer.
11.\" 2. Redistributions in binary form must reproduce the above copyright 11.\" 2. Redistributions in binary form must reproduce the above copyright
12.\" notice, this list of conditions and the following disclaimer in the 12.\" notice, this list of conditions and the following disclaimer in the
13.\" documentation and/or other materials provided with the distribution. 13.\" documentation and/or other materials provided with the distribution.
14.\" 3. Neither the name of the University nor the names of its contributors 14.\" 3. Neither the name of the University nor the names of its contributors
15.\" may be used to endorse or promote products derived from this software 15.\" may be used to endorse or promote products derived from this software
16.\" without specific prior written permission. 16.\" without specific prior written permission.
17.\" 17.\"
18.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 18.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
19.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 19.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 20.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 21.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
22.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 22.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
23.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 23.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
24.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 24.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
25.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 25.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
26.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 26.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
27.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 27.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
28.\" SUCH DAMAGE. 28.\" SUCH DAMAGE.
29.\" 29.\"
30.\" @(#)sysctl.3 8.4 (Berkeley) 5/9/95 30.\" @(#)sysctl.3 8.4 (Berkeley) 5/9/95
31.\" 31.\"
32.Dd December 14, 2010 32.Dd January 9, 2010
33.Dt SYSCTL 7 33.Dt SYSCTL 7
34.Os 34.Os
35.Sh NAME 35.Sh NAME
36.Nm sysctl 36.Nm sysctl
37.Nd system information variables 37.Nd system information variables
38.Sh DESCRIPTION 38.Sh DESCRIPTION
39The 39The
40.Xr sysctl 3 40.Xr sysctl 3
41library function and the 41library function and the
42.Xr sysctl 8 42.Xr sysctl 8
43utility are used to get and set values of system variables, maintained 43utility are used to get and set values of system variables, maintained
44by the kernel. 44by the kernel.
45The variables are organized in a tree and identified by a sequence of 45The variables are organized in a tree and identified by a sequence of
46numbers, conventionally separated by dots with the topmost identifier 46numbers, conventionally separated by dots with the topmost identifier
47at the left side. 47at the left side.
48The numbers have corresponding text names. 48The numbers have corresponding text names.
49The 49The
50.Xr sysctlnametomib 3 50.Xr sysctlnametomib 3
51function or the 51function or the
52.Fl M 52.Fl M
53argument to the 53argument to the
54.Xr sysctl 8 54.Xr sysctl 8
55utility can be used to convert the text representation to the 55utility can be used to convert the text representation to the
56numeric one. 56numeric one.
57.Pp 57.Pp
58The individual sysctl variables are described below, both the textual 58The individual sysctl variables are described below, both the textual
59and numeric form where applicable. 59and numeric form where applicable.
60The textual names can be used as argument to the 60The textual names can be used as argument to the
61.Xr sysctl 8 61.Xr sysctl 8
62utility and in the file 62utility and in the file
63.Pa /etc/sysctl.conf . 63.Pa /etc/sysctl.conf .
64The numeric names are usually defined as preprocessor constants and 64The numeric names are usually defined as preprocessor constants and
65are intended for use by programs. 65are intended for use by programs.
66Every such constant expands to one integer, which identifies the 66Every such constant expands to one integer, which identifies the
67sysctl variable relative to the upper level of the tree. 67sysctl variable relative to the upper level of the tree.
68See the 68See the
69.Xr sysctl 3 69.Xr sysctl 3
70manual page for programming examples. 70manual page for programming examples.
71.Ss Top level names 71.Ss Top level names
72The top level names are defined with a CTL_ prefix in 72The top level names are defined with a CTL_ prefix in
73.In sys/sysctl.h , 73.In sys/sysctl.h ,
74and are as follows. 74and are as follows.
75The next and subsequent levels down are found in the include files 75The next and subsequent levels down are found in the include files
76listed here, and described in separate sections below. 76listed here, and described in separate sections below.
77.Bl -column security CTL_SECURITY "Next level names" "High kernel limits" 77.Bl -column security CTL_SECURITY "Next level names" "High kernel limits"
78.It Sy Name Constant Next level names Description 78.It Sy Name Constant Next level names Description
79.It kern CTL_KERN sys/sysctl.h High kernel limits 79.It kern CTL_KERN sys/sysctl.h High kernel limits
80.It vm CTL_VM uvm/uvm_param.h Virtual memory 80.It vm CTL_VM uvm/uvm_param.h Virtual memory
81.It vfs CTL_VFS sys/mount.h Filesystem 81.It vfs CTL_VFS sys/mount.h Filesystem
82.It net CTL_NET sys/socket.h Networking 82.It net CTL_NET sys/socket.h Networking
83.It debug CTL_DEBUG sys/sysctl.h Debugging 83.It debug CTL_DEBUG sys/sysctl.h Debugging
84.It hw CTL_HW sys/sysctl.h Generic CPU, I/O 84.It hw CTL_HW sys/sysctl.h Generic CPU, I/O
85.It machdep CTL_MACHDEP sys/sysctl.h Machine dependent 85.It machdep CTL_MACHDEP sys/sysctl.h Machine dependent
86.It user CTL_USER sys/sysctl.h User-level 86.It user CTL_USER sys/sysctl.h User-level
87.It ddb CTL_DDB sys/sysctl.h In-kernel debugger 87.It ddb CTL_DDB sys/sysctl.h In-kernel debugger
88.It proc CTL_PROC sys/sysctl.h Per-process 88.It proc CTL_PROC sys/sysctl.h Per-process
89.It vendor CTL_VENDOR ? Vendor specific 89.It vendor CTL_VENDOR ? Vendor specific
90.It emul CTL_EMUL sys/sysctl.h Emulation settings 90.It emul CTL_EMUL sys/sysctl.h Emulation settings
91.It security CTL_SECURITY sys/sysctl.h Security settings 91.It security CTL_SECURITY sys/sysctl.h Security settings
92.El 92.El
93.Ss The debug.* subtree 93.Ss The debug.* subtree
94The debugging variables vary from system to system. 94The debugging variables vary from system to system.
95A debugging variable may be added or deleted without need to recompile 95A debugging variable may be added or deleted without need to recompile
96.Nm 96.Nm
97to know about it. 97to know about it.
98Each time it runs, 98Each time it runs,
99.Nm 99.Nm
100gets the list of debugging variables from the kernel and 100gets the list of debugging variables from the kernel and
101displays their current values. 101displays their current values.
102The system defines twenty 102The system defines twenty
103.Va ( struct ctldebug ) 103.Va ( struct ctldebug )
104variables named 104variables named
105.Dv debug0 105.Dv debug0
106through 106through
107.Dv debug19 . 107.Dv debug19 .
108They are declared as separate variables so that they can be 108They are declared as separate variables so that they can be
109individually initialized at the location of their associated variable. 109individually initialized at the location of their associated variable.
110The loader prevents multiple use of the same variable by issuing errors 110The loader prevents multiple use of the same variable by issuing errors
111if a variable is initialized in more than one place. 111if a variable is initialized in more than one place.
112For example, to export the variable 112For example, to export the variable
113.Dv dospecialcheck 113.Dv dospecialcheck
114as a debugging variable, the following declaration would be used: 114as a debugging variable, the following declaration would be used:
115.Pp 115.Pp
116.Bd -literal -offset indent -compact 116.Bd -literal -offset indent -compact
117int dospecialcheck = 1; 117int dospecialcheck = 1;
118struct ctldebug debug5 = { "dospecialcheck", \*[Am]dospecialcheck }; 118struct ctldebug debug5 = { "dospecialcheck", \*[Am]dospecialcheck };
119.Ed 119.Ed
120.Pp 120.Pp
121Note that the dynamic implementation of 121Note that the dynamic implementation of
122.Nm 122.Nm
123currently in use largely makes this particular 123currently in use largely makes this particular
124.Nm 124.Nm
125interface obsolete. 125interface obsolete.
126See 126See
127.Xr sysctl 8 127.Xr sysctl 8
128.\" and 128.\" and
129.\" .Xr sysctl 9 129.\" .Xr sysctl 9
130for more information. 130for more information.
131.Ss The vfs.* subtree 131.Ss The vfs.* subtree
132A distinguished second level name, 132A distinguished second level name,
133.Li vfs.generic ( VFS_GENERIC ) , 133.Li vfs.generic ( VFS_GENERIC ) ,
134is used to get general information about all filesystems. 134is used to get general information about all filesystems.
135It has the following third level identifiers: 135It has the following third level identifiers:
136.Bl -tag -width compact 136.Bl -tag -width "vfs.generic.maxtypenum (VFS_MAXTYPENUM)"
137.It vfs.generic.maxtypenum ( VFS_MAXTYPENUM ) 137.It vfs.generic.maxtypenum ( VFS_MAXTYPENUM )
138The highest valid filesystem type number. 138The highest valid filesystem type number.
139.It vfs.generic.conf ( VFS_CONF ) 139.It vfs.generic.conf ( VFS_CONF )
140Returns configuration information about the file-system type given as a fourth 140Returns configuration information about the file-system type given as a fourth
141level identifier. 141level identifier.
142.El 142.El
143.Pp 143.Pp
 144A second level name for controlling the
 145.Xr wapbl 4
 146(Write Ahead Physical Block Logging file system journalling)
 147capabilities with the following third level identifiers:
 148.Bl -tag -width "vfs.wapbl.flush_disk_cache"
 149.It vfs.wapbl.flush_disk_cache Controls whether to attempt to flush the
 150disk cache on each commit.
 151It defaults to 1 and it should always be on to ensure data integrity in
 152case of a crash.
 153For slow disks, turning it off can improve performance.
 154.It vfs.wapbl.verbose_commit For each transaction log commit, print the
 155number of bytes written and the time it took to commit as seconds.nanoseconds.
 156.El
 157.Pp
144The remaining second level identifiers are the file-system names, identified 158The remaining second level identifiers are the file-system names, identified
145by the type number returned by a 159by the type number returned by a
146.Xr statvfs 2 160.Xr statvfs 2
147call or from 161call or from
148.Li vfs.generic.conf . 162.Li vfs.generic.conf .
149The third level identifiers available for each filesystem 163The third level identifiers available for each filesystem
150are given in the header file that defines the mount 164are given in the header file that defines the mount
151argument structure for that filesystem. 165argument structure for that filesystem.
152.Ss The hw.* subtree 166.Ss The hw.* subtree
153The string and integer information available for the 167The string and integer information available for the
154.Li hw 168.Li hw
155level is detailed below. 169level is detailed below.
156The changeable column shows whether a process with appropriate 170The changeable column shows whether a process with appropriate
157privilege may change the value. 171privilege may change the value.
158.Bl -column "hw.machine_arch" "integer" "Changeable" -offset indent 172.Bl -column "hw.machine_arch" "integer" "Changeable" -offset indent
159.It Sy Second level name Type Changeable 173.It Sy Second level name Type Changeable
160.It hw.alignbytes integer no 174.It hw.alignbytes integer no
161.It hw.byteorder integer no 175.It hw.byteorder integer no
162.It hw.cnmagic string yes 176.It hw.cnmagic string yes
163.It hw.disknames string no 177.It hw.disknames string no
164.It hw.diskstats struct no 178.It hw.diskstats struct no
165.It hw.machine string no 179.It hw.machine string no
166.It hw.machine_arch string no 180.It hw.machine_arch string no
167.It hw.model string no 181.It hw.model string no
168.It hw.ncpu integer no 182.It hw.ncpu integer no
169.It hw.pagesize integer no 183.It hw.pagesize integer no
170.It hw.physmem integer no 184.It hw.physmem integer no
171.It hw.physmem64 quad no 185.It hw.physmem64 quad no
172.It hw.usermem integer no 186.It hw.usermem integer no
173.It hw.usermem64 quad no 187.It hw.usermem64 quad no
174.El 188.El
175.Pp 189.Pp
176.Bl -tag -width "123456" 190.Bl -tag -width "123456"
177.It Li hw.alignbytes ( HW_ALIGNBYTES ) 191.It Li hw.alignbytes ( HW_ALIGNBYTES )
178Alignment constraint for all possible data types. 192Alignment constraint for all possible data types.
179This shows the value 193This shows the value
180.Dv ALIGNBYTES 194.Dv ALIGNBYTES
181in 195in
182.Pa /usr/include/machine/param.h , 196.Pa /usr/include/machine/param.h ,
183at the kernel compilation time. 197at the kernel compilation time.
184.It Li hw.byteorder ( HW_BYTEORDER ) 198.It Li hw.byteorder ( HW_BYTEORDER )
185The byteorder (4,321, or 1,234). 199The byteorder (4,321, or 1,234).
186.It Li hw.cnmagic ( HW_CNMAGIC ) 200.It Li hw.cnmagic ( HW_CNMAGIC )
187The console magic key sequence. 201The console magic key sequence.
188.It Li hw.disknames ( HW_DISKNAMES ) 202.It Li hw.disknames ( HW_DISKNAMES )
189The list of (space separated) disk device names on the system. 203The list of (space separated) disk device names on the system.
190.It Li hw.iostatnames ( HW_IOSTATNAMES ) 204.It Li hw.iostatnames ( HW_IOSTATNAMES )
191A space separated list of devices that will have I/O statistics 205A space separated list of devices that will have I/O statistics
192collected on them. 206collected on them.
193.It Li hw.iostats ( HW_IOSTATS ) 207.It Li hw.iostats ( HW_IOSTATS )
194Return statistical information on the NFS mounts, disk and tape 208Return statistical information on the NFS mounts, disk and tape
195devices on the system. 209devices on the system.
196An array of 210An array of
197.Va struct io_sysctl 211.Va struct io_sysctl
198structures is returned, 212structures is returned,
199whose size depends on the current number of such objects in the system. 213whose size depends on the current number of such objects in the system.
200The third level name is the size of the 214The third level name is the size of the
201.Va struct io_sysctl . 215.Va struct io_sysctl .
202The type of object can be determined by examining the 216The type of object can be determined by examining the
203.Va type 217.Va type
204element of 218element of
205.Va struct io_sysctl . 219.Va struct io_sysctl .
206Which can be 220Which can be
207.Dv IOSTAT_DISK 221.Dv IOSTAT_DISK
208(disk drive), 222(disk drive),
209.Dv IOSTAT_TAPE 223.Dv IOSTAT_TAPE
210(tape drive), or 224(tape drive), or
211.Dv IOSTAT_NFS 225.Dv IOSTAT_NFS
212(NFS mount). 226(NFS mount).
213.It Li hw.machine ( HW_MACHINE ) 227.It Li hw.machine ( HW_MACHINE )
214The machine class. 228The machine class.
215.It Li hw.machine_arch ( HW_MACHINE_ARCH ) 229.It Li hw.machine_arch ( HW_MACHINE_ARCH )
216The machine CPU class. 230The machine CPU class.
217.It Li hw.model ( HW_MODEL ) 231.It Li hw.model ( HW_MODEL )
218The machine model. 232The machine model.
219.It Li hw.ncpu ( HW_NCPU ) 233.It Li hw.ncpu ( HW_NCPU )
220The number of CPUs. 234The number of CPUs.
221.It Li hw.pagesize ( HW_PAGESIZE ) 235.It Li hw.pagesize ( HW_PAGESIZE )
222The software page size. 236The software page size.
223.It Li hw.physmem ( HW_PHYSMEM ) 237.It Li hw.physmem ( HW_PHYSMEM )
224The bytes of physical memory as a 32-bit integer. 238The bytes of physical memory as a 32-bit integer.
225.It Li hw.physmem64 ( HW_PHYSMEM64 ) 239.It Li hw.physmem64 ( HW_PHYSMEM64 )
226The bytes of physical memory as a 64-bit integer. 240The bytes of physical memory as a 64-bit integer.
227.It Li hw.usermem ( HW_USERMEM ) 241.It Li hw.usermem ( HW_USERMEM )
228The bytes of non-kernel memory as a 32-bit integer. 242The bytes of non-kernel memory as a 32-bit integer.
229.It Li hw.usermem64 ( HW_USERMEM64 ) 243.It Li hw.usermem64 ( HW_USERMEM64 )
230The bytes of non-kernel memory as a 64-bit integer. 244The bytes of non-kernel memory as a 64-bit integer.
231.El 245.El
232.Ss The kern.* subtree 246.Ss The kern.* subtree
233This subtree includes data generally related to the kernel. 247This subtree includes data generally related to the kernel.
234The string and integer information available for the 248The string and integer information available for the
235.Li kern 249.Li kern
236level is detailed below. 250level is detailed below.
237The changeable column shows whether a process with appropriate 251The changeable column shows whether a process with appropriate
238privilege may change the value. 252privilege may change the value.
239.Bl -column "kern.posix_reader_writer_locks" \ 253.Bl -column "kern.posix_reader_writer_locks" \
240"struct kinfo_drivers" "not applicable" 254"struct kinfo_drivers" "not applicable"
241.It Sy Second level name Type Changeable 255.It Sy Second level name Type Changeable
242.It kern.aio_listio_max integer yes 256.It kern.aio_listio_max integer yes
243.It kern.aio_max integer yes 257.It kern.aio_max integer yes
244.It kern.arandom integer no 258.It kern.arandom integer no
245.It kern.argmax integer no 259.It kern.argmax integer no
246.It kern.boothowto integer no 260.It kern.boothowto integer no
247.It kern.boottime struct timeval no 261.It kern.boottime struct timeval no
248.\".It kern.bufq node not applicable 262.\".It kern.bufq node not applicable
249.It kern.ccpu integer no 263.It kern.ccpu integer no
250.It kern.clockrate struct clockinfo no 264.It kern.clockrate struct clockinfo no
251.It kern.consdev integer no 265.It kern.consdev integer no
252.It kern.coredump node not applicable 266.It kern.coredump node not applicable
253.It kern.cp_id struct no 267.It kern.cp_id struct no
254.It kern.cp_time uint64_t[\|] no 268.It kern.cp_time uint64_t[\|] no
255.It kern.cryptodevallowsoft integer yes 269.It kern.cryptodevallowsoft integer yes
256.It kern.defcorename string yes 270.It kern.defcorename string yes
257.It kern.detachall integer yes 271.It kern.detachall integer yes
258.It kern.domainname string yes 272.It kern.domainname string yes
259.It kern.drivers struct kinfo_drivers no 273.It kern.drivers struct kinfo_drivers no
260.It kern.dump_on_panic integer yes 274.It kern.dump_on_panic integer yes
261.It kern.file struct file no 275.It kern.file struct file no
262.It kern.forkfsleep integer yes 276.It kern.forkfsleep integer yes
263.It kern.fscale integer no 277.It kern.fscale integer no
264.It kern.fsync integer no 278.It kern.fsync integer no
265.It kern.hardclock_ticks integer no 279.It kern.hardclock_ticks integer no
266.It kern.hostid integer yes 280.It kern.hostid integer yes
267.It kern.hostname string yes 281.It kern.hostname string yes
268.It kern.iov_max integer no 282.It kern.iov_max integer no
269.It kern.ipc node not applicable 283.It kern.ipc node not applicable
270.It kern.job_control integer no 284.It kern.job_control integer no
271.It kern.labeloffset integer no 285.It kern.labeloffset integer no
272.It kern.labelsector integer no 286.It kern.labelsector integer no
273.It kern.login_name_max integer no 287.It kern.login_name_max integer no
274.It kern.logsigexit integer yes 288.It kern.logsigexit integer yes
275.It kern.mapped_files integer no 289.It kern.mapped_files integer no
276.It kern.maxfiles integer yes 290.It kern.maxfiles integer yes
277.It kern.maxpartitions integer no 291.It kern.maxpartitions integer no
278.It kern.maxphys integer no 292.It kern.maxphys integer no
279.It kern.maxproc integer yes 293.It kern.maxproc integer yes
280.It kern.maxptys integer yes 294.It kern.maxptys integer yes
281.It kern.maxvnodes integer yes 295.It kern.maxvnodes integer yes
282.It kern.mbuf node not applicable 296.It kern.mbuf node not applicable
283.It kern.memlock integer no 297.It kern.memlock integer no
284.It kern.memlock_range integer no 298.It kern.memlock_range integer no
285.It kern.memory_protection integer no 299.It kern.memory_protection integer no
286.It kern.module node not applicable 300.It kern.module node not applicable
287.It kern.monotonic_clock integer no 301.It kern.monotonic_clock integer no
288.It kern.mqueue node not applicable 302.It kern.mqueue node not applicable
289.It kern.msgbuf integer no 303.It kern.msgbuf integer no
290.It kern.msgbufsize integer no 304.It kern.msgbufsize integer no
291.It kern.ngroups integer no 305.It kern.ngroups integer no
292.\".It kern.no_sa_support integer yes 306.\".It kern.no_sa_support integer yes
293.It kern.ntptime struct ntptimeval no 307.It kern.ntptime struct ntptimeval no
294.It kern.osrelease string no 308.It kern.osrelease string no
295.It kern.osrevision integer no 309.It kern.osrevision integer no
296.It kern.ostype string no 310.It kern.ostype string no
297.\".It kern.panic_now integer yes 311.\".It kern.panic_now integer yes
298.It kern.pipe node not applicable 312.It kern.pipe node not applicable
299.\" .It kern.posix node not applicable 313.\" .It kern.posix node not applicable
300.It kern.posix1version integer no 314.It kern.posix1version integer no
301.It kern.posix_aio integer no 315.It kern.posix_aio integer no
302.It kern.posix_barriers integer no 316.It kern.posix_barriers integer no
303.It kern.posix_reader_writer_locks integer no 317.It kern.posix_reader_writer_locks integer no
304.\".It kern.posix_sched integer yes 318.\".It kern.posix_sched integer yes
305.It kern.posix_semaphores integer no 319.It kern.posix_semaphores integer no
306.It kern.posix_spin_locks integer no 320.It kern.posix_spin_locks integer no
307.It kern.posix_threads integer no 321.It kern.posix_threads integer no
308.It kern.posix_timers integer no 322.It kern.posix_timers integer no
309.It kern.proc struct kinfo_proc no 323.It kern.proc struct kinfo_proc no
310.It kern.proc2 struct kinfo_proc2 no 324.It kern.proc2 struct kinfo_proc2 no
311.It kern.proc_args string no 325.It kern.proc_args string no
312.It kern.profiling node not applicable 326.It kern.profiling node not applicable
313.\".It kern.pset node not applicable 327.\".It kern.pset node not applicable
314.It kern.rawpartition integer no 328.It kern.rawpartition integer no
315.It kern.root_device string no 329.It kern.root_device string no
316.It kern.root_partition integer no 330.It kern.root_partition integer no
317.It kern.rtc_offset integer yes 331.It kern.rtc_offset integer yes
318.It kern.saved_ids integer no 332.It kern.saved_ids integer no
319.It kern.sbmax integer yes 333.It kern.sbmax integer yes
320.\".It kern.sched node not applicable 334.\".It kern.sched node not applicable
321.It kern.securelevel integer raise only 335.It kern.securelevel integer raise only
322.It kern.somaxkva integer yes 336.It kern.somaxkva integer yes
323.It kern.synchronized_io integer no 337.It kern.synchronized_io integer no
324.It kern.timecounter node not applicable 338.It kern.timecounter node not applicable
325.It kern.timex struct no 339.It kern.timex struct no
326.It kern.tkstat node not applicable 340.It kern.tkstat node not applicable
327.It kern.urandom integer no 341.It kern.urandom integer no
328.It kern.usercrypto integer yes 342.It kern.usercrypto integer yes
329.It kern.userasymcrypto integer yes 343.It kern.userasymcrypto integer yes
330.It kern.veriexec node not applicable 344.It kern.veriexec node not applicable
331.It kern.version string no 345.It kern.version string no
332.It kern.vnode struct vnode no 346.It kern.vnode struct vnode no
333.El 347.El
334.Bl -tag -width "123456" 348.Bl -tag -width "123456"
335.It Li kern.aio_listio_max 349.It Li kern.aio_listio_max
336The maximum number of asynchronous 350The maximum number of asynchronous
337.Tn I/O 351.Tn I/O
338operations in a single list I/O call. 352operations in a single list I/O call.
339Like with all variables related to 353Like with all variables related to
340.Xr aio 3 , 354.Xr aio 3 ,
341the variable may be created and removed dynamically 355the variable may be created and removed dynamically
342upon loading or unloading the corresponding kernel module. 356upon loading or unloading the corresponding kernel module.
343.It Li kern.aio_max 357.It Li kern.aio_max
344The maximum number of asynchronous I/O operations. 358The maximum number of asynchronous I/O operations.
345.It Li kern.arandom 359.It Li kern.arandom
346This variable picks a random number each time it is queried. 360This variable picks a random number each time it is queried.
347The used random number generator 361The used random number generator
348.Pq Tn RNG 362.Pq Tn RNG
349is based on 363is based on
350.Xr arc4random 3 . 364.Xr arc4random 3 .
351.It Li kern.argmax ( KERN_ARGMAX ) 365.It Li kern.argmax ( KERN_ARGMAX )
352The maximum bytes of argument to 366The maximum bytes of argument to
353.Xr execve 2 . 367.Xr execve 2 .
354.It Li kern.boothowto 368.It Li kern.boothowto
355Flags passed from the boot loader; see 369Flags passed from the boot loader; see
356.Xr reboot 2 370.Xr reboot 2
357for the meanings of the flags. 371for the meanings of the flags.
358.It Li kern.boottime ( KERN_BOOTTIME ) 372.It Li kern.boottime ( KERN_BOOTTIME )
359A 373A
360.Va struct timeval 374.Va struct timeval
361structure is returned. 375structure is returned.
362This structure contains the time that the system was booted. 376This structure contains the time that the system was booted.
363.\" .It Li kern.bufq 377.\" .It Li kern.bufq
364.\" XXX: Undocumented. 378.\" XXX: Undocumented.
365.It Li kern.ccpu ( KERN_CCPU ) 379.It Li kern.ccpu ( KERN_CCPU )
366The scheduler exponential decay value. 380The scheduler exponential decay value.
367.It Li kern.clockrate ( KERN_CLOCKRATE ) 381.It Li kern.clockrate ( KERN_CLOCKRATE )
368A 382A
369.Va struct clockinfo 383.Va struct clockinfo
370structure is returned. 384structure is returned.
371This structure contains the clock, statistics clock and profiling clock 385This structure contains the clock, statistics clock and profiling clock
372frequencies, the number of micro-seconds per hz tick, and the clock 386frequencies, the number of micro-seconds per hz tick, and the clock
373skew rate. 387skew rate.
374Refer to 388Refer to
375.Xr hz 9 389.Xr hz 9
376for additional details. 390for additional details.
377.It Li kern.consdev ( KERN_CONSDEV ) 391.It Li kern.consdev ( KERN_CONSDEV )
378Console device. 392Console device.
379.It Li kern.coredump 393.It Li kern.coredump
380Settings related to set-id processes coredumps. 394Settings related to set-id processes coredumps.
381By default, set-id processes do not dump core in situations where 395By default, set-id processes do not dump core in situations where
382other processes would. 396other processes would.
383The settings in this node allows an administrator to change this 397The settings in this node allows an administrator to change this
384behavior. 398behavior.
385.Pp 399.Pp
386The third level name is 400The third level name is
387.Dv kern.coredump.setid 401.Dv kern.coredump.setid
388and fourth level variables are described below. 402and fourth level variables are described below.
389.Bl -column "kern.coredump.setid.group" "integer" "Changeable" -offset indent 403.Bl -column "kern.coredump.setid.group" "integer" "Changeable" -offset indent
390.It Sy Fourth level name Type Changeable 404.It Sy Fourth level name Type Changeable
391.It kern.coredump.setid.dump integer yes 405.It kern.coredump.setid.dump integer yes
392.It kern.coredump.setid.group integer yes 406.It kern.coredump.setid.group integer yes
393.It kern.coredump.setid.mode integer yes 407.It kern.coredump.setid.mode integer yes
394.It kern.coredump.setid.owner integer yes 408.It kern.coredump.setid.owner integer yes
395.It kern.coredump.setid.path string yes 409.It kern.coredump.setid.path string yes
396.El 410.El
397.Bl -tag -width "123456" 411.Bl -tag -width "123456"
398.It Li kern.coredump.setid.dump 412.It Li kern.coredump.setid.dump
399If non-zero, set-id processes will dump core. 413If non-zero, set-id processes will dump core.
400.It Li kern.coredump.setid.group 414.It Li kern.coredump.setid.group
401The group-id for the set-id processes' coredump. 415The group-id for the set-id processes' coredump.
402.It Li kern.coredump.setid.mode 416.It Li kern.coredump.setid.mode
403The mode for the set-id processes' coredump. 417The mode for the set-id processes' coredump.
404See 418See
405.Xr chmod 1 . 419.Xr chmod 1 .
406.It Li kern.coredump.setid.owner 420.It Li kern.coredump.setid.owner
407The user-id that will be used as the owner of the set-id processes' 421The user-id that will be used as the owner of the set-id processes'
408coredump. 422coredump.
409.It Li kern.coredump.setid.path 423.It Li kern.coredump.setid.path
410The path to which set-id processes' coredumps will be saved to. 424The path to which set-id processes' coredumps will be saved to.
411Same syntax as kern.defcorename. 425Same syntax as kern.defcorename.
412.El 426.El
413.It Li kern.cp_id ( KERN_CP_ID ) 427.It Li kern.cp_id ( KERN_CP_ID )
414Mapping of CPU number to CPU id. 428Mapping of CPU number to CPU id.
415.It Li kern.cp_time ( KERN_CP_TIME ) 429.It Li kern.cp_time ( KERN_CP_TIME )
416Returns an array of CPUSTATES uint64_ts. 430Returns an array of CPUSTATES uint64_ts.
417This array contains the 431This array contains the
418number of clock ticks spent in different CPU states. 432number of clock ticks spent in different CPU states.
419On multi-processor systems, the sum across all CPUs is returned unless 433On multi-processor systems, the sum across all CPUs is returned unless
420appropriate space is given for one data set for each CPU. 434appropriate space is given for one data set for each CPU.
421Data for a specific CPU can also be obtained by adding the number of the 435Data for a specific CPU can also be obtained by adding the number of the
422CPU at the end of the MIB, enlarging it by one. 436CPU at the end of the MIB, enlarging it by one.
423.It Li kern.cryptodevallowsoft 437.It Li kern.cryptodevallowsoft
424This variable controls userland access to hardware versus software transforms 438This variable controls userland access to hardware versus software transforms
425in the 439in the
426.Xr crypto 4 440.Xr crypto 4
427system. 441system.
428The available values are as follows: 442The available values are as follows:
429.Bl -tag -width XX0 -offset indent 443.Bl -tag -width XX0 -offset indent
430.It Dv \*[Lt] 0 444.It Dv \*[Lt] 0
431Always force userlevel requests to use software transforms. 445Always force userlevel requests to use software transforms.
432.It Dv = 0 446.It Dv = 0
433If present, use hardware and grant userlevel requests for 447If present, use hardware and grant userlevel requests for
434non-accelerated transforms (handling the latter in software). 448non-accelerated transforms (handling the latter in software).
435.It Dv \*[Gt] 0 449.It Dv \*[Gt] 0
436Allow user requests only for transforms which are hardware-accelerated. 450Allow user requests only for transforms which are hardware-accelerated.
437.El 451.El
438.It Li kern.defcorename ( KERN_DEFCORENAME ) 452.It Li kern.defcorename ( KERN_DEFCORENAME )
439Default template for the name of core dump files (see also 453Default template for the name of core dump files (see also
440.Li proc.pid.corename 454.Li proc.pid.corename
441in the per-process variables 455in the per-process variables
442.Li proc.* , 456.Li proc.* ,
443and 457and
444.Xr core 5 458.Xr core 5
445for format of this template). 459for format of this template).
446The default value is 460The default value is
447.Nm %n.core 461.Nm %n.core
448and can be changed with the kernel configuration option 462and can be changed with the kernel configuration option
449.Cd options DEFCORENAME 463.Cd options DEFCORENAME
450(see 464(see
451.Xr options 4 465.Xr options 4
452). 466).
453.It Li kern.detachall 467.It Li kern.detachall
454Detach all devices at shutdown. 468Detach all devices at shutdown.
455.It Li kern.domainname ( KERN_DOMAINNAME ) 469.It Li kern.domainname ( KERN_DOMAINNAME )
456Get or set the YP domain name. 470Get or set the YP domain name.
457.It Li kern.drivers ( KERN_DRIVERS ) 471.It Li kern.drivers ( KERN_DRIVERS )
458Return an array of 472Return an array of
459.Va struct kinfo_drivers 473.Va struct kinfo_drivers
460that contains the name and major device numbers of all the device drivers 474that contains the name and major device numbers of all the device drivers
461in the current kernel. 475in the current kernel.
462The 476The
463.Va d_name 477.Va d_name
464field is always a NUL terminated string. 478field is always a NUL terminated string.
465The 479The
466.Va d_bmajor 480.Va d_bmajor
467field will be set to \-1 if the driver doesn't have a block device. 481field will be set to \-1 if the driver doesn't have a block device.
468.It Li kern.dump_on_panic ( KERN_DUMP_ON_PANIC ) 482.It Li kern.dump_on_panic ( KERN_DUMP_ON_PANIC )
469Perform a crash dump on system 483Perform a crash dump on system
470.Xr panic 9 . 484.Xr panic 9 .
471.It Li kern.file ( KERN_FILE ) 485.It Li kern.file ( KERN_FILE )
472Return the entire file table. 486Return the entire file table.
473The returned data consists of a single 487The returned data consists of a single
474.Va struct filelist 488.Va struct filelist
475followed by an array of 489followed by an array of
476.Va struct file , 490.Va struct file ,
477whose size depends on the current number of such objects in the system. 491whose size depends on the current number of such objects in the system.
478.It Li kern.forkfsleep ( KERN_FORKFSLEEP ) 492.It Li kern.forkfsleep ( KERN_FORKFSLEEP )
479If 493If
480.Xr fork 2 494.Xr fork 2
481system call fails due to limit on number of processes (either 495system call fails due to limit on number of processes (either
482the global maxproc limit or user's one), wait for this many 496the global maxproc limit or user's one), wait for this many
483milliseconds before returning 497milliseconds before returning
484.Er EAGAIN 498.Er EAGAIN
485error to process. 499error to process.
486Useful to keep heavily forking runaway processes in bay. 500Useful to keep heavily forking runaway processes in bay.
487Default zero (no sleep). 501Default zero (no sleep).
488Maximum is 20 seconds. 502Maximum is 20 seconds.
489.It Li kern.fscale ( KERN_FSCALE ) 503.It Li kern.fscale ( KERN_FSCALE )
490The kernel fixed-point scale factor. 504The kernel fixed-point scale factor.
491.It Li kern.fsync ( KERN_FSYNC ) 505.It Li kern.fsync ( KERN_FSYNC )
492Return 1 if the POSIX 1003.1b File Synchronization Option is available 506Return 1 if the POSIX 1003.1b File Synchronization Option is available
493on this system, 507on this system,
494otherwise 0. 508otherwise 0.
495.It Li kern.hardclock_ticks ( KERN_HARDCLOCK_TICKS ) 509.It Li kern.hardclock_ticks ( KERN_HARDCLOCK_TICKS )
496Returns the number of 510Returns the number of
497.Xr hardclock 9 511.Xr hardclock 9
498ticks. 512ticks.
499.It Li kern.hostid ( KERN_HOSTID ) 513.It Li kern.hostid ( KERN_HOSTID )
500Get or set the host identifier. 514Get or set the host identifier.
501This is aimed to replace the legacy 515This is aimed to replace the legacy
502.Xr gethostid 3 516.Xr gethostid 3
503and 517and
504.Xr sethostid 3 518.Xr sethostid 3
505system calls. 519system calls.
506.It Li kern.hostname ( KERN_HOSTNAME ) 520.It Li kern.hostname ( KERN_HOSTNAME )
507Get or set the 521Get or set the
508.Xr hostname 1 . 522.Xr hostname 1 .
509.It Li kern.iov_max ( KERN_IOV_MAX ) 523.It Li kern.iov_max ( KERN_IOV_MAX )
510Return the maximum number of 524Return the maximum number of
511.Va iovec 525.Va iovec
512structures that a process has available for use with 526structures that a process has available for use with
513.Xr preadv 2 , 527.Xr preadv 2 ,
514.Xr pwritev 2 , 528.Xr pwritev 2 ,
515.Xr readv 2 , 529.Xr readv 2 ,
516.Xr recvmsg 2 , 530.Xr recvmsg 2 ,
517.Xr sendmsg 2 531.Xr sendmsg 2
518and 532and
519.Xr writev 2 . 533.Xr writev 2 .
520.It Li kern.ipc ( KERN_SYSVIPC ) 534.It Li kern.ipc ( KERN_SYSVIPC )
521Return information about the SysV IPC parameters. 535Return information about the SysV IPC parameters.
522The third level names for the ipc variables are detailed below. 536The third level names for the ipc variables are detailed below.
523.Bl -column "kern.ipc.shm_use_phys" "integer" "Changeable" -offset indent 537.Bl -column "kern.ipc.shm_use_phys" "integer" "Changeable" -offset indent
524.It Sy Third level name Type Changeable 538.It Sy Third level name Type Changeable
525.It kern.ipc.sysvmsg integer no 539.It kern.ipc.sysvmsg integer no
526.It kern.ipc.sysvsem integer no 540.It kern.ipc.sysvsem integer no
527.It kern.ipc.sysvshm integer no 541.It kern.ipc.sysvshm integer no
528.It kern.ipc.sysvipc_info struct no 542.It kern.ipc.sysvipc_info struct no
529.It kern.ipc.shmmax integer yes 543.It kern.ipc.shmmax integer yes
530.It kern.ipc.shmmni integer yes 544.It kern.ipc.shmmni integer yes
531.It kern.ipc.shmseg integer yes 545.It kern.ipc.shmseg integer yes
532.It kern.ipc.shmmaxpgs integer yes 546.It kern.ipc.shmmaxpgs integer yes
533.It kern.ipc.shm_use_phys integer yes 547.It kern.ipc.shm_use_phys integer yes
534.It kern.ipc.msgmni integer yes 548.It kern.ipc.msgmni integer yes
535.It kern.ipc.msgseg integer yes 549.It kern.ipc.msgseg integer yes
536.It kern.ipc.semmni integer yes 550.It kern.ipc.semmni integer yes
537.It kern.ipc.semmns integer yes 551.It kern.ipc.semmns integer yes
538.It kern.ipc.semmnu integer yes 552.It kern.ipc.semmnu integer yes
539.El 553.El
540.Bl -tag -width "123456" 554.Bl -tag -width "123456"
541.It Li kern.ipc.sysvmsg ( KERN_SYSVIPC_MSG ) 555.It Li kern.ipc.sysvmsg ( KERN_SYSVIPC_MSG )
542Returns 1 if System V style message queue functionality is available 556Returns 1 if System V style message queue functionality is available
543on this system, 557on this system,
544otherwise 0. 558otherwise 0.
545.It Li kern.ipc.sysvsem ( KERN_SYSVIPC_SEM ) 559.It Li kern.ipc.sysvsem ( KERN_SYSVIPC_SEM )
546Returns 1 if System V style semaphore functionality is available 560Returns 1 if System V style semaphore functionality is available
547on this system, 561on this system,
548otherwise 0. 562otherwise 0.
549.It Li kern.ipc.sysvshm ( KERN_SYSVIPC_SHM ) 563.It Li kern.ipc.sysvshm ( KERN_SYSVIPC_SHM )
550Returns 1 if System V style share memory functionality is available 564Returns 1 if System V style share memory functionality is available
551on this system, 565on this system,
552otherwise 0. 566otherwise 0.
553.It Li kern.ipc.sysvipc_info ( KERN_SYSVIPC_INFO ) 567.It Li kern.ipc.sysvipc_info ( KERN_SYSVIPC_INFO )
554Return System V style IPC configuration and run-time information. 568Return System V style IPC configuration and run-time information.
555The fourth level name selects the System V style IPC facility. 569The fourth level name selects the System V style IPC facility.
556.Bl -column "KERN_SYSVIPC_MSG_INFO" "struct shm_sysctl_info" -offset indent 570.Bl -column "KERN_SYSVIPC_MSG_INFO" "struct shm_sysctl_info" -offset indent
557.It Sy Fourth level name Type 571.It Sy Fourth level name Type
558.It KERN_SYSVIPC_MSG_INFO struct msg_sysctl_info 572.It KERN_SYSVIPC_MSG_INFO struct msg_sysctl_info
559.It KERN_SYSVIPC_SEM_INFO struct sem_sysctl_info 573.It KERN_SYSVIPC_SEM_INFO struct sem_sysctl_info
560.It KERN_SYSVIPC_SHM_INFO struct shm_sysctl_info 574.It KERN_SYSVIPC_SHM_INFO struct shm_sysctl_info
561.El 575.El
562.Pp 576.Pp
563.Bl -tag -width "123456" 577.Bl -tag -width "123456"
564.It Li KERN_SYSVIPC_MSG_INFO 578.It Li KERN_SYSVIPC_MSG_INFO
565Return information on the System V style message facility. 579Return information on the System V style message facility.
566The 580The
567.Sy msg_sysctl_info 581.Sy msg_sysctl_info
568structure is defined in 582structure is defined in
569.In sys/msg.h . 583.In sys/msg.h .
570.It Li KERN_SYSVIPC_SEM_INFO 584.It Li KERN_SYSVIPC_SEM_INFO
571Return information on the System V style semaphore facility. 585Return information on the System V style semaphore facility.
572The 586The
573.Sy sem_sysctl_info 587.Sy sem_sysctl_info
574structure is defined in 588structure is defined in
575.In sys/sem.h . 589.In sys/sem.h .
576.It Li KERN_SYSVIPC_SHM_INFO 590.It Li KERN_SYSVIPC_SHM_INFO
577Return information on the System V style shared memory facility. 591Return information on the System V style shared memory facility.
578The 592The
579.Sy shm_sysctl_info 593.Sy shm_sysctl_info
580structure is defined in 594structure is defined in
581.In sys/shm.h . 595.In sys/shm.h .
582.El 596.El
583.It Li kern.ipc.shmmax ( KERN_SYSVIPC_SHMMAX ) 597.It Li kern.ipc.shmmax ( KERN_SYSVIPC_SHMMAX )
584Max shared memory segment size in bytes. 598Max shared memory segment size in bytes.
585.It Li kern.ipc.shmmni ( KERN_SYSVIPC_SHMMNI ) 599.It Li kern.ipc.shmmni ( KERN_SYSVIPC_SHMMNI )
586Max number of shared memory identifiers. 600Max number of shared memory identifiers.
587.It Li kern.ipc.shmseg ( KERN_SYSVIPC_SHMSEG ) 601.It Li kern.ipc.shmseg ( KERN_SYSVIPC_SHMSEG )
588Max shared memory segments per process. 602Max shared memory segments per process.
589.It Li kern.ipc.shmmaxpgs ( KERN_SYSVIPC_SHMMAXPGS ) 603.It Li kern.ipc.shmmaxpgs ( KERN_SYSVIPC_SHMMAXPGS )
590Max amount of shared memory in pages. 604Max amount of shared memory in pages.
591.It Li kern.ipc.shm_use_phys ( KERN_SYSVIPC_SHMUSEPHYS ) 605.It Li kern.ipc.shm_use_phys ( KERN_SYSVIPC_SHMUSEPHYS )
592Locking of shared memory in physical memory. 606Locking of shared memory in physical memory.
593If 0, memory can be swapped 607If 0, memory can be swapped
594out, otherwise it will be locked in physical memory. 608out, otherwise it will be locked in physical memory.
595.It Li kern.ipc.msgmni 609.It Li kern.ipc.msgmni
596Max number of message queue identifiers. 610Max number of message queue identifiers.
597.It Li kern.ipc.msgseg 611.It Li kern.ipc.msgseg
598Max number of number of message segments. 612Max number of number of message segments.
599.It Li kern.ipc.semmni 613.It Li kern.ipc.semmni
600Max number of number of semaphore identifiers. 614Max number of number of semaphore identifiers.
601.It Li kern.ipc.semmns 615.It Li kern.ipc.semmns
602Max number of number of semaphores in system. 616Max number of number of semaphores in system.
603.It Li kern.ipc.semmnu 617.It Li kern.ipc.semmnu
604Max number of undo structures in system. 618Max number of undo structures in system.
605.El 619.El
606.It Li kern.job_control ( KERN_JOB_CONTROL ) 620.It Li kern.job_control ( KERN_JOB_CONTROL )
607Return 1 if job control is available on this system, otherwise 0. 621Return 1 if job control is available on this system, otherwise 0.
608.It Li kern.labeloffset ( KERN_LABELOFFSET ) 622.It Li kern.labeloffset ( KERN_LABELOFFSET )
609The offset within the sector specified by KERN_LABELSECTOR of the 623The offset within the sector specified by KERN_LABELSECTOR of the
610.Xr disklabel 5 . 624.Xr disklabel 5 .
611.It Li kern.labelsector ( KERN_LABELSECTOR ) 625.It Li kern.labelsector ( KERN_LABELSECTOR )
612The sector number containing the 626The sector number containing the
613.Xr disklabel 5 . 627.Xr disklabel 5 .
614.It Li kern.login_name_max ( KERN_LOGIN_NAME_MAX ) 628.It Li kern.login_name_max ( KERN_LOGIN_NAME_MAX )
615The size of the storage required for a login name, in bytes, 629The size of the storage required for a login name, in bytes,
616including the terminating NUL. 630including the terminating NUL.
617.It Li kern.logsigexit ( KERN_LOGSIGEXIT ) 631.It Li kern.logsigexit ( KERN_LOGSIGEXIT )
618If this flag is non-zero, the kernel will 632If this flag is non-zero, the kernel will
619.Xr log 9 633.Xr log 9
620all process exits due to signals which create a 634all process exits due to signals which create a
621.Xr core 5 635.Xr core 5
622file, and whether the coredump was created. 636file, and whether the coredump was created.
623.It Li kern.mapped_files ( KERN_MAPPED_FILES ) 637.It Li kern.mapped_files ( KERN_MAPPED_FILES )
624Returns 1 if the POSIX 1003.1b Memory Mapped Files Option is available 638Returns 1 if the POSIX 1003.1b Memory Mapped Files Option is available
625on this system, 639on this system,
626otherwise 0. 640otherwise 0.
627.It Li kern.maxfiles ( KERN_MAXFILES ) 641.It Li kern.maxfiles ( KERN_MAXFILES )
628The maximum number of open files that may be open in the system. 642The maximum number of open files that may be open in the system.
629.It Li kern.maxpartitions ( KERN_MAXPARTITIONS ) 643.It Li kern.maxpartitions ( KERN_MAXPARTITIONS )
630The maximum number of partitions allowed per disk. 644The maximum number of partitions allowed per disk.
631.It Li kern.maxphys ( KERN_MAXPHYS ) 645.It Li kern.maxphys ( KERN_MAXPHYS )
632Maximum raw I/O transfer size. 646Maximum raw I/O transfer size.
633.It Li kern.maxproc ( KERN_MAXPROC ) 647.It Li kern.maxproc ( KERN_MAXPROC )
634The maximum number of simultaneous processes the system will allow. 648The maximum number of simultaneous processes the system will allow.
635.It Li kern.maxptys ( KERN_MAXPTYS ) 649.It Li kern.maxptys ( KERN_MAXPTYS )
636The maximum number of pseudo terminals. 650The maximum number of pseudo terminals.
637This value can be both raised and lowered, though it cannot 651This value can be both raised and lowered, though it cannot
638be set lower than number of currently used ptys. 652be set lower than number of currently used ptys.
639See also 653See also
640.Xr pty 4 . 654.Xr pty 4 .
641.It Li kern.maxvnodes ( KERN_MAXVNODES ) 655.It Li kern.maxvnodes ( KERN_MAXVNODES )
642The maximum number of vnodes available on the system. 656The maximum number of vnodes available on the system.
643This can only be raised. 657This can only be raised.
644.It Li kern.mbuf ( KERN_MBUF ) 658.It Li kern.mbuf ( KERN_MBUF )
645Return information about the mbuf control variables. 659Return information about the mbuf control variables.
646Mbufs are data structures which store network packets and other data 660Mbufs are data structures which store network packets and other data
647structures in the networking code, see 661structures in the networking code, see
648.Xr mbuf 9 . 662.Xr mbuf 9 .
649The third level names for the mbuf variables are detailed below. 663The third level names for the mbuf variables are detailed below.
650The changeable column shows whether a process with appropriate 664The changeable column shows whether a process with appropriate
651privilege may change the value. 665privilege may change the value.
652.Bl -column "kern.mbuf.nmbclusters" "integer" "Changeable" -offset indent 666.Bl -column "kern.mbuf.nmbclusters" "integer" "Changeable" -offset indent
653.It Sy Third level name Type Changeable 667.It Sy Third level name Type Changeable
654.\" XXX Changeable? really? 668.\" XXX Changeable? really?
655.It kern.mbuf.mblowat integer yes 669.It kern.mbuf.mblowat integer yes
656.It kern.mbuf.mclbytes integer yes 670.It kern.mbuf.mclbytes integer yes
657.It kern.mbuf.mcllowat integer yes 671.It kern.mbuf.mcllowat integer yes
658.It kern.mbuf.msize integer yes 672.It kern.mbuf.msize integer yes
659.It kern.mbuf.nmbclusters integer yes 673.It kern.mbuf.nmbclusters integer yes
660.El 674.El
661.Pp 675.Pp
662The variables are as follows: 676The variables are as follows:
663.Bl -tag -width "123456" 677.Bl -tag -width "123456"
664.It Li kern.mbuf.mblowat ( MBUF_MBLOWAT ) 678.It Li kern.mbuf.mblowat ( MBUF_MBLOWAT )
665The mbuf low water mark. 679The mbuf low water mark.
666.It Li kern.mbuf.mclbytes ( MBUF_MCLBYTES ) 680.It Li kern.mbuf.mclbytes ( MBUF_MCLBYTES )
667The mbuf cluster size. 681The mbuf cluster size.
668.It Li kern.mbuf.mcllowat ( MBUF_MCLLOWAT ) 682.It Li kern.mbuf.mcllowat ( MBUF_MCLLOWAT )
669The mbuf cluster low water mark. 683The mbuf cluster low water mark.
670.It Li kern.mbuf.msize ( MBUF_MSIZE ) 684.It Li kern.mbuf.msize ( MBUF_MSIZE )
671The mbuf base size. 685The mbuf base size.
672.It Li kern.mbuf.nmbclusters ( MBUF_NMBCLUSTERS ) 686.It Li kern.mbuf.nmbclusters ( MBUF_NMBCLUSTERS )
673The limit on the number of mbuf clusters. 687The limit on the number of mbuf clusters.
674The variable can only be increased, and only increased on machines with 688The variable can only be increased, and only increased on machines with
675direct-mapped pool pages. 689direct-mapped pool pages.
676.El 690.El
677.It Li kern.memlock ( KERN_MEMLOCK ) 691.It Li kern.memlock ( KERN_MEMLOCK )
678Returns 1 if the POSIX 1003.1b Process Memory Locking Option is available 692Returns 1 if the POSIX 1003.1b Process Memory Locking Option is available
679on this system, 693on this system,
680otherwise 0. 694otherwise 0.
681.It Li kern.memlock_range ( KERN_MEMLOCK_RANGE ) 695.It Li kern.memlock_range ( KERN_MEMLOCK_RANGE )
682Returns 1 if the POSIX 1003.1b Range Memory Locking Option is available 696Returns 1 if the POSIX 1003.1b Range Memory Locking Option is available
683on this system, 697on this system,
684otherwise 0. 698otherwise 0.
685.It Li kern.memory_protection ( KERN_MEMORY_PROTECTION ) 699.It Li kern.memory_protection ( KERN_MEMORY_PROTECTION )
686Returns 1 if the POSIX 1003.1b Memory Protection Option is available 700Returns 1 if the POSIX 1003.1b Memory Protection Option is available
687on this system, 701on this system,
688otherwise 0. 702otherwise 0.
689.It Li kern.module 703.It Li kern.module
690Settings related to kernel modules. 704Settings related to kernel modules.
691The third level names for the settings are described below. 705The third level names for the settings are described below.
692.Bl -column "kern.module.autoload" "integer" "Changeable" -offset indent 706.Bl -column "kern.module.autoload" "integer" "Changeable" -offset indent
693.It Sy Third level name Type Changeable 707.It Sy Third level name Type Changeable
694.It kern.module.autoload integer yes 708.It kern.module.autoload integer yes
695.It kern.module.verbose integer yes 709.It kern.module.verbose integer yes
696.El 710.El
697.Pp 711.Pp
698The variables are as follows: 712The variables are as follows:
699.Bl -tag -width "123456" 713.Bl -tag -width "123456"
700.It Li kern.module.autoload 714.It Li kern.module.autoload
701A boolean that controls whether kernel modules are loaded automatically. 715A boolean that controls whether kernel modules are loaded automatically.
702See 716See
703.Xr module 7 717.Xr module 7
704for additional details. 718for additional details.
705.It Li kern.module.verbose 719.It Li kern.module.verbose
706A boolean that enables or disables verbose 720A boolean that enables or disables verbose
707debug messages related to kernel modules. 721debug messages related to kernel modules.
708.El 722.El
709.It Li kern.monotonic_clock ( KERN_MONOTONIC_CLOCK ) 723.It Li kern.monotonic_clock ( KERN_MONOTONIC_CLOCK )
710Returns the standard version the implementation of the POSIX 1003.1b 724Returns the standard version the implementation of the POSIX 1003.1b
711Monotonic Clock Option conforms to, 725Monotonic Clock Option conforms to,
712otherwise 0. 726otherwise 0.
713.It Li kern.mqueue 727.It Li kern.mqueue
714Settings related to 728Settings related to
715.Tn POSIX 729.Tn POSIX
716message queues; see 730message queues; see
717.Xr mqueue 3 . 731.Xr mqueue 3 .
718This node is created dynamically when 732This node is created dynamically when
719the corresponding kernel module is loaded. 733the corresponding kernel module is loaded.
720The third level names for the settings are described below. 734The third level names for the settings are described below.
721.Bl -column "kern.mqueue.mq_max_msgsize" "integer" "Changeable" -offset indent 735.Bl -column "kern.mqueue.mq_max_msgsize" "integer" "Changeable" -offset indent
722.It Sy Third level name Type Changeable 736.It Sy Third level name Type Changeable
723.It kern.mqueue.mq_open_max integer yes 737.It kern.mqueue.mq_open_max integer yes
724.It kern.mqueue.mq_prio_max integer yes 738.It kern.mqueue.mq_prio_max integer yes
725.It kern.mqueue.mq_max_msgsize integer yes 739.It kern.mqueue.mq_max_msgsize integer yes
726.It kern.mqueue.mq_def_maxmsg integer yes 740.It kern.mqueue.mq_def_maxmsg integer yes
727.It kern.mqueue.mq_max_maxmsg integer yes 741.It kern.mqueue.mq_max_maxmsg integer yes
728.El 742.El
729.Pp 743.Pp
730The variables are: 744The variables are:
731.Bl -tag -width "123456" 745.Bl -tag -width "123456"
732.It Li kern.mqueue.mq_open_max 746.It Li kern.mqueue.mq_open_max
733The maximum number of message queue descriptors any single process can open. 747The maximum number of message queue descriptors any single process can open.
734.It Li kern.mqueue.mq_prio_max 748.It Li kern.mqueue.mq_prio_max
735The maximum priority of a message. 749The maximum priority of a message.
736.It Li kern.mqueue.mq_max_msgsize 750.It Li kern.mqueue.mq_max_msgsize
737The maximum size of a message in a message queue. 751The maximum size of a message in a message queue.
738.It Li kern.mqueue.mq_def_maxmsg 752.It Li kern.mqueue.mq_def_maxmsg
739The default maximum message count. 753The default maximum message count.
740.It Li kern.mqueue.mq_max_maxmsg 754.It Li kern.mqueue.mq_max_maxmsg
741The maximum number of messages in a message queue. 755The maximum number of messages in a message queue.
742.El 756.El
743.It Li kern.msgbuf ( KERN_MSGBUF ) 757.It Li kern.msgbuf ( KERN_MSGBUF )
744The kernel message buffer, rotated so that the head of the circular kernel 758The kernel message buffer, rotated so that the head of the circular kernel
745message buffer is at the start of the returned data. 759message buffer is at the start of the returned data.
746The returned data may contain NUL bytes. 760The returned data may contain NUL bytes.
747.It Li kern.msgbufsize ( KERN_MSGBUFSIZE ) 761.It Li kern.msgbufsize ( KERN_MSGBUFSIZE )
748The maximum number of characters that the kernel message buffer can hold. 762The maximum number of characters that the kernel message buffer can hold.
749.It Li kern.ngroups ( KERN_NGROUPS ) 763.It Li kern.ngroups ( KERN_NGROUPS )
750The maximum number of supplemental groups. 764The maximum number of supplemental groups.
751.\" .It Li kern.no_sa_support 765.\" .It Li kern.no_sa_support
752.\" XXX: Undocumented. 766.\" XXX: Undocumented.
753.It Li kern.ntptime ( KERN_NTPTIME ) 767.It Li kern.ntptime ( KERN_NTPTIME )
754A 768A
755.Va struct ntptimeval 769.Va struct ntptimeval
756structure is returned. 770structure is returned.
757This structure contains data used by the 771This structure contains data used by the
758.Xr ntpd 8 772.Xr ntpd 8
759program. 773program.
760.It Li kern.osrelease ( KERN_OSRELEASE ) 774.It Li kern.osrelease ( KERN_OSRELEASE )
761The system release string. 775The system release string.
762.It Li kern.osrevision ( KERN_OSREV ) 776.It Li kern.osrevision ( KERN_OSREV )
763The system revision string. 777The system revision string.
764.It Li kern.ostype ( KERN_OSTYPE ) 778.It Li kern.ostype ( KERN_OSTYPE )
765The system type string. 779The system type string.
766.\".It Li kern.panic_now 780.\".It Li kern.panic_now
767.\" XXX: Undocumented. 781.\" XXX: Undocumented.
768.It Li kern.pipe ( KERN_PIPE ) 782.It Li kern.pipe ( KERN_PIPE )
769Pipe settings. 783Pipe settings.
770The third level names for the integer pipe settings is detailed below. 784The third level names for the integer pipe settings is detailed below.
771The changeable column shows whether a process with appropriate 785The changeable column shows whether a process with appropriate
772privilege may change the value. 786privilege may change the value.
773.Bl -column "kern.pipe.maxbigpipes" "integer" "Changeable" -offset indent 787.Bl -column "kern.pipe.maxbigpipes" "integer" "Changeable" -offset indent
774.It Sy Third level name Type Changeable 788.It Sy Third level name Type Changeable
775.It kern.pipe.kvasiz integer yes 789.It kern.pipe.kvasiz integer yes
776.It kern.pipe.maxbigpipes integer yes 790.It kern.pipe.maxbigpipes integer yes
777.It kern.pipe.maxkvasz integer yes 791.It kern.pipe.maxkvasz integer yes
778.It kern.pipe.limitkva integer yes 792.It kern.pipe.limitkva integer yes
779.It kern.pipe.nbigpipes integer yes 793.It kern.pipe.nbigpipes integer yes
780.El 794.El
781.Pp 795.Pp
782The variables are as follows: 796The variables are as follows:
783.Bl -tag -width "123456" 797.Bl -tag -width "123456"
784.It Li kern.pipe.kvasiz ( KERN_PIPE_KVASIZ ) 798.It Li kern.pipe.kvasiz ( KERN_PIPE_KVASIZ )
785Amount of kernel memory consumed by pipe buffers. 799Amount of kernel memory consumed by pipe buffers.
786.It Li kern.pipe.maxbigpipes ( KERN_PIPE_MAXBIGPIPES ) 800.It Li kern.pipe.maxbigpipes ( KERN_PIPE_MAXBIGPIPES )
787Maximum number of "big" pipes. 801Maximum number of "big" pipes.
788.It Li kern.pipe.maxkvasz ( KERN_PIPE_MAXKVASZ ) 802.It Li kern.pipe.maxkvasz ( KERN_PIPE_MAXKVASZ )
789Maximum amount of kernel memory to be used for pipes. 803Maximum amount of kernel memory to be used for pipes.
790.It Li kern.pipe.limitkva ( KERN_PIPE_LIMITKVA ) 804.It Li kern.pipe.limitkva ( KERN_PIPE_LIMITKVA )
791Limit for direct transfers via page loan. 805Limit for direct transfers via page loan.
792.It Li kern.pipe.nbigpipes ( KERN_PIPE_NBIGPIPES ) 806.It Li kern.pipe.nbigpipes ( KERN_PIPE_NBIGPIPES )
793Number of "big" pipes. 807Number of "big" pipes.
794.El 808.El
795.\" XXX: Undocumented .It Li kern.posix ( ? ) 809.\" XXX: Undocumented .It Li kern.posix ( ? )
796.\" This is a node in which the only variable is semmax. 810.\" This is a node in which the only variable is semmax.
797.It Li kern.posix1version ( KERN_POSIX1 ) 811.It Li kern.posix1version ( KERN_POSIX1 )
798The version of ISO/IEC 9945 (POSIX 1003.1) with which the system 812The version of ISO/IEC 9945 (POSIX 1003.1) with which the system
799attempts to comply. 813attempts to comply.
800.It Li kern.posix_aio 814.It Li kern.posix_aio
801The version of 815The version of
802.St -p1003.1 816.St -p1003.1
803and its Asynchronous I/O option to which the system attempts to conform. 817and its Asynchronous I/O option to which the system attempts to conform.
804.It Li kern.posix_barriers ( KERN_POSIX_BARRIERS ) 818.It Li kern.posix_barriers ( KERN_POSIX_BARRIERS )
805The version of 819The version of
806.St -p1003.1 820.St -p1003.1
807and its 821and its
808Barriers 822Barriers
809option to which the system attempts to conform, 823option to which the system attempts to conform,
810otherwise 0. 824otherwise 0.
811.It Li kern.posix_reader_writer_locks ( KERN_POSIX_READER_WRITER_LOCKS ) 825.It Li kern.posix_reader_writer_locks ( KERN_POSIX_READER_WRITER_LOCKS )
812The version of 826The version of
813.St -p1003.1 827.St -p1003.1
814and its 828and its
815Read-Write Locks 829Read-Write Locks
816option to which the system attempts to conform, 830option to which the system attempts to conform,
817otherwise 0. 831otherwise 0.
818.\".It Li kern.posix_sched 832.\".It Li kern.posix_sched
819.\" XXX: Undocumented. 833.\" XXX: Undocumented.
820.It Li kern.posix_semaphores ( KERN_POSIX_SEMAPHORES ) 834.It Li kern.posix_semaphores ( KERN_POSIX_SEMAPHORES )
821The version of 835The version of
822.St -p1003.1 836.St -p1003.1
823and its 837and its
824Semaphores 838Semaphores
825option to which the system attempts to conform, 839option to which the system attempts to conform,
826otherwise 0. 840otherwise 0.
827.It Li kern.posix_spin_locks ( KERN_POSIX_SPIN_LOCKS ) 841.It Li kern.posix_spin_locks ( KERN_POSIX_SPIN_LOCKS )
828The version of 842The version of
829.St -p1003.1 843.St -p1003.1
830and its 844and its
831Spin Locks 845Spin Locks
832option to which the system attempts to conform, 846option to which the system attempts to conform,
833otherwise 0. 847otherwise 0.
834.It Li kern.posix_threads ( KERN_POSIX_THREADS ) 848.It Li kern.posix_threads ( KERN_POSIX_THREADS )
835The version of 849The version of
836.St -p1003.1 850.St -p1003.1
837and its 851and its
838Threads 852Threads
839option to which the system attempts to conform, 853option to which the system attempts to conform,
840otherwise 0. 854otherwise 0.
841.It Li kern.posix_timers ( KERN_POSIX_TIMERS ) 855.It Li kern.posix_timers ( KERN_POSIX_TIMERS )
842The version of 856The version of
843.St -p1003.1 857.St -p1003.1
844and its 858and its
845Timers 859Timers
846option to which the system attempts to conform, 860option to which the system attempts to conform,
847otherwise 0. 861otherwise 0.
848.It Li kern.proc ( KERN_PROC ) 862.It Li kern.proc ( KERN_PROC )
849Return the entire process table, or a subset of it. 863Return the entire process table, or a subset of it.
850An array of 864An array of
851.Va struct kinfo_proc 865.Va struct kinfo_proc
852structures is returned, 866structures is returned,
853whose size depends on the current number of such objects in the system. 867whose size depends on the current number of such objects in the system.
854The third and fourth level numeric names are as follows: 868The third and fourth level numeric names are as follows:
855.Bl -column "KERN_PROC_SESSION" "Fourth level is:" -offset indent 869.Bl -column "KERN_PROC_SESSION" "Fourth level is:" -offset indent
856.It Sy Third level name Fourth level is: 870.It Sy Third level name Fourth level is:
857.It KERN_PROC_ALL None 871.It KERN_PROC_ALL None
858.It KERN_PROC_GID A group ID 872.It KERN_PROC_GID A group ID
859.It KERN_PROC_PID A process ID 873.It KERN_PROC_PID A process ID
860.It KERN_PROC_PGRP A process group 874.It KERN_PROC_PGRP A process group
861.It KERN_PROC_RGID A real group ID 875.It KERN_PROC_RGID A real group ID
862.It KERN_PROC_RUID A real user ID 876.It KERN_PROC_RUID A real user ID
863.It KERN_PROC_SESSION A session ID 877.It KERN_PROC_SESSION A session ID
864.It KERN_PROC_TTY A tty device 878.It KERN_PROC_TTY A tty device
865.It KERN_PROC_UID A user ID 879.It KERN_PROC_UID A user ID
866.El 880.El
867.It Li kern.proc2 ( KERN_PROC2 ) 881.It Li kern.proc2 ( KERN_PROC2 )
868As for KERN_PROC, but an array of 882As for KERN_PROC, but an array of
869.Va struct kinfo_proc2 883.Va struct kinfo_proc2
870structures are returned. 884structures are returned.
871The fifth level name is the size of the 885The fifth level name is the size of the
872.Va struct kinfo_proc2 886.Va struct kinfo_proc2
873and the sixth level name is the number of structures to return. 887and the sixth level name is the number of structures to return.
874.It Li kern.proc_args ( KERN_PROC_ARGS ) 888.It Li kern.proc_args ( KERN_PROC_ARGS )
875Return the argv or environment strings (or the number thereof) 889Return the argv or environment strings (or the number thereof)
876of a process. 890of a process.
877Multiple strings are returned separated by NUL characters. 891Multiple strings are returned separated by NUL characters.
878The third level name is the process ID. 892The third level name is the process ID.
879The fourth level name is as follows: 893The fourth level name is as follows:
880.Bl -column "KERN_PROG_NARGV" "The number of environ strings" -offset indent 894.Bl -column "KERN_PROG_NARGV" "The number of environ strings" -offset indent
881.It KERN_PROC_ARGV The argv strings 895.It KERN_PROC_ARGV The argv strings
882.It KERN_PROC_ENV The environ strings 896.It KERN_PROC_ENV The environ strings
883.It KERN_PROC_NARGV The number of argv strings 897.It KERN_PROC_NARGV The number of argv strings
884.It KERN_PROC_NENV The number of environ strings 898.It KERN_PROC_NENV The number of environ strings
885.El 899.El
886.It Li kern.profiling ( KERN_PROF ) 900.It Li kern.profiling ( KERN_PROF )
887Return profiling information about the kernel. 901Return profiling information about the kernel.
888If the kernel is not compiled for profiling, 902If the kernel is not compiled for profiling,
889attempts to retrieve any of the KERN_PROF values will 903attempts to retrieve any of the KERN_PROF values will
890fail with 904fail with
891.Er EOPNOTSUPP . 905.Er EOPNOTSUPP .
892The third level names for the string and integer profiling information 906The third level names for the string and integer profiling information
893is detailed below. 907is detailed below.
894The changeable column shows whether a process with appropriate 908The changeable column shows whether a process with appropriate
895privilege may change the value. 909privilege may change the value.
896.Bl -column "kern.profiling.gmonparam" "struct gmonparam" "Changeable" -offset indent 910.Bl -column "kern.profiling.gmonparam" "struct gmonparam" "Changeable" -offset indent
897.It Sy Third level name Type Changeable 911.It Sy Third level name Type Changeable
898.It kern.profiling.count u_short[\|] yes 912.It kern.profiling.count u_short[\|] yes
899.It kern.profiling.froms u_short[\|] yes 913.It kern.profiling.froms u_short[\|] yes
900.It kern.profiling.gmonparam struct gmonparam no 914.It kern.profiling.gmonparam struct gmonparam no
901.It kern.profiling.state integer yes 915.It kern.profiling.state integer yes
902.It kern.profiling.tos struct tostruct yes 916.It kern.profiling.tos struct tostruct yes
903.El 917.El
904.Pp 918.Pp
905The variables are as follows: 919The variables are as follows:
906.Bl -tag -width "123456" 920.Bl -tag -width "123456"
907.It Li kern.profiling.count ( GPROF_COUNT ) 921.It Li kern.profiling.count ( GPROF_COUNT )
908Array of statistical program counter counts. 922Array of statistical program counter counts.
909.It Li kern.profiling.froms ( GPROF_FROMS ) 923.It Li kern.profiling.froms ( GPROF_FROMS )
910Array indexed by program counter of call-from points. 924Array indexed by program counter of call-from points.
911.It Li kern.profiling.gmonparams ( GPROF_GMONPARAM ) 925.It Li kern.profiling.gmonparams ( GPROF_GMONPARAM )
912Structure giving the sizes of the above arrays. 926Structure giving the sizes of the above arrays.
913.It Li kern.profiling.state ( GPROF_STATE ) 927.It Li kern.profiling.state ( GPROF_STATE )
914Profiling state. 928Profiling state.
915If set to GMON_PROF_ON, starts profiling. 929If set to GMON_PROF_ON, starts profiling.
916If set to GMON_PROF_OFF, stops profiling. 930If set to GMON_PROF_OFF, stops profiling.
917.It Li kern.profiling.tos ( GPROF_TOS ) 931.It Li kern.profiling.tos ( GPROF_TOS )
918Array of 932Array of
919.Va struct tostruct 933.Va struct tostruct
920describing destination of calls and their counts. 934describing destination of calls and their counts.
921.El 935.El
922.\" .It Li kern.pset 936.\" .It Li kern.pset
923.\" XXX: Undocumented. 937.\" XXX: Undocumented.
924.It Li kern.rawpartition ( KERN_RAWPARTITION ) 938.It Li kern.rawpartition ( KERN_RAWPARTITION )
925The raw partition of a disk (a == 0). 939The raw partition of a disk (a == 0).
926.It Li kern.root_device ( KERN_ROOT_DEVICE ) 940.It Li kern.root_device ( KERN_ROOT_DEVICE )
927The name of the root device (e.g., 941The name of the root device (e.g.,
928.Dq wd0 ) . 942.Dq wd0 ) .
929.It Li kern.root_partition ( KERN_ROOT_PARTITION ) 943.It Li kern.root_partition ( KERN_ROOT_PARTITION )
930The root partition on the root device (a == 0). 944The root partition on the root device (a == 0).
931.It Li kern.rtc_offset ( KERN_RTC_OFFSET ) 945.It Li kern.rtc_offset ( KERN_RTC_OFFSET )
932Return the offset of real time clock from UTC in minutes. 946Return the offset of real time clock from UTC in minutes.
933.It Li kern.saved_ids ( KERN_SAVED_IDS ) 947.It Li kern.saved_ids ( KERN_SAVED_IDS )
934Returns 1 if saved set-group and saved set-user ID is available. 948Returns 1 if saved set-group and saved set-user ID is available.
935.It Li kern.sbmax ( KERN_SBMAX ) 949.It Li kern.sbmax ( KERN_SBMAX )
936Maximum socket buffer size. 950Maximum socket buffer size.
937.\" XXX units? 951.\" XXX units?
938.It Li kern.securelevel ( KERN_SECURELVL ) 952.It Li kern.securelevel ( KERN_SECURELVL )
939See 953See
940.Xr secmodel_securelevel 9 . 954.Xr secmodel_securelevel 9 .
941.\" .It Li kern.sched 955.\" .It Li kern.sched
942.\" XXX: Undocumented. 956.\" XXX: Undocumented.
943.It Li kern.somaxkva ( KERN_SOMAXKVA ) 957.It Li kern.somaxkva ( KERN_SOMAXKVA )
944Maximum amount of kernel memory to be used for socket buffers. 958Maximum amount of kernel memory to be used for socket buffers.
945.\" XXX units? 959.\" XXX units?
946.It Li kern.synchronized_io ( KERN_SYNCHRONIZED_IO ) 960.It Li kern.synchronized_io ( KERN_SYNCHRONIZED_IO )
947Returns 1 if the POSIX 1003.1b Synchronized I/O Option is available 961Returns 1 if the POSIX 1003.1b Synchronized I/O Option is available
948on this system, 962on this system,
949otherwise 0. 963otherwise 0.
950.It Li kern.timecounter ( dynamic ) 964.It Li kern.timecounter ( dynamic )
951Display and control the timecounter source of the system. 965Display and control the timecounter source of the system.
952.Bl -column "kern.timecounter.timestepwarnings" "integer" "Changeable" -offset indent 966.Bl -column "kern.timecounter.timestepwarnings" "integer" "Changeable" -offset indent
953.It Sy Third level name Type Changeable 967.It Sy Third level name Type Changeable
954.It kern.timecounter.choice string no 968.It kern.timecounter.choice string no
955.It kern.timecounter.hardware string yes 969.It kern.timecounter.hardware string yes
956.It kern.timecounter.timestepwarnings integer yes 970.It kern.timecounter.timestepwarnings integer yes
957.El 971.El
958.Pp 972.Pp
959The variables are as follows: 973The variables are as follows:
960.Bl -tag -width "123456" 974.Bl -tag -width "123456"
961.It Li kern.timecounter.choice ( dynamic ) 975.It Li kern.timecounter.choice ( dynamic )
962The list of available timecounters with their quality and frequency. 976The list of available timecounters with their quality and frequency.
963.It Li kern.timecounter.hardware ( dynamic ) 977.It Li kern.timecounter.hardware ( dynamic )
964The currently selected timecounter source. 978The currently selected timecounter source.
965.It Li kern.timecounter.timestepwarnings ( dynamic ) 979.It Li kern.timecounter.timestepwarnings ( dynamic )
966If non-zero display a message each time the time is stepped. 980If non-zero display a message each time the time is stepped.
967.El 981.El
968.It Li kern.timex ( KERN_TIMEX ) 982.It Li kern.timex ( KERN_TIMEX )
969Not available. 983Not available.
970.It Li kern.tkstat ( KERN_TKSTAT ) 984.It Li kern.tkstat ( KERN_TKSTAT )
971Return information about the number of characters sent and received 985Return information about the number of characters sent and received
972on ttys. 986on ttys.
973The third level names for the tty statistic variables are detailed below. 987The third level names for the tty statistic variables are detailed below.
974The changeable column shows whether a process 988The changeable column shows whether a process
975with appropriate privilege may change the value. 989with appropriate privilege may change the value.
976.Bl -column "kern.tkstat.cancc" "quad" "Changeable" -offset indent 990.Bl -column "kern.tkstat.cancc" "quad" "Changeable" -offset indent
977.It Sy Third level name Type Changeable 991.It Sy Third level name Type Changeable
978.It kern.tkstat.cancc quad no 992.It kern.tkstat.cancc quad no
979.It kern.tkstat.nin quad no 993.It kern.tkstat.nin quad no
980.It kern.tkstat.nout quad no 994.It kern.tkstat.nout quad no
981.It kern.tkstat.rawcc quad no 995.It kern.tkstat.rawcc quad no
982.El 996.El
983.Pp 997.Pp
984The variables are as follows: 998The variables are as follows:
985.Bl -tag -width "123456" 999.Bl -tag -width "123456"
986.It Li kern.tkstat.cancc ( KERN_TKSTAT_CANCC ) 1000.It Li kern.tkstat.cancc ( KERN_TKSTAT_CANCC )
987The number of canonical input characters. 1001The number of canonical input characters.
988.It Li kern.tkstat.nin ( KERN_TKSTAT_NIN ) 1002.It Li kern.tkstat.nin ( KERN_TKSTAT_NIN )
989The total number of input characters. 1003The total number of input characters.
990.It Li kern.tkstat.nout ( KERN_TKSTAT_NOUT ) 1004.It Li kern.tkstat.nout ( KERN_TKSTAT_NOUT )
991The total number of output characters. 1005The total number of output characters.
992.It Li kern.tkstat.rawcc ( KERN_TKSTAT_RAWCC ) 1006.It Li kern.tkstat.rawcc ( KERN_TKSTAT_RAWCC )
993The number of raw input characters. 1007The number of raw input characters.
994.El 1008.El
995.It Li kern.urandom ( KERN_URND ) 1009.It Li kern.urandom ( KERN_URND )
996Random integer value. 1010Random integer value.
997.It Li kern.usercrypto 1011.It Li kern.usercrypto
998When enabled, allows userland to 1012When enabled, allows userland to
999.Xr open 2 1013.Xr open 2
1000the 1014the
1001.Pa /dev/crypto 1015.Pa /dev/crypto
1002special device, used by the 1016special device, used by the
1003.Xr crypto 4 1017.Xr crypto 4
1004system. 1018system.
1005.It Li kern.userasymcrypto 1019.It Li kern.userasymcrypto
1006Enables or disables the use of software asymmetric crypto support in the 1020Enables or disables the use of software asymmetric crypto support in the
1007.Xr crypto 4 1021.Xr crypto 4
1008system. 1022system.
1009.It Li kern.veriexec 1023.It Li kern.veriexec
1010Runtime information for 1024Runtime information for
1011.Xr veriexec 8 . 1025.Xr veriexec 8 .
1012.Bl -column "kern.veriexec.algorithms" "integer" "Changeable" -offset indent 1026.Bl -column "kern.veriexec.algorithms" "integer" "Changeable" -offset indent
1013.It Sy Third level name Type Changeable 1027.It Sy Third level name Type Changeable
1014.It kern.veriexec.algorithms string no 1028.It kern.veriexec.algorithms string no
1015.It kern.veriexec.count node not applicable 1029.It kern.veriexec.count node not applicable
1016.It kern.veriexec.strict integer yes 1030.It kern.veriexec.strict integer yes
1017.It kern.veriexec.verbose integer yes 1031.It kern.veriexec.verbose integer yes
1018.El 1032.El
1019.Bl -tag -width "123456" 1033.Bl -tag -width "123456"
1020.It Li kern.veriexec.algorithms 1034.It Li kern.veriexec.algorithms
1021Returns a string with the supported algorithms in Veriexec. 1035Returns a string with the supported algorithms in Veriexec.
1022.It Li kern.veriexec.count 1036.It Li kern.veriexec.count
1023Sub-nodes are added to this node as new mounts are monitored by Veriexec. 1037Sub-nodes are added to this node as new mounts are monitored by Veriexec.
1024Each mount will be under its own 1038Each mount will be under its own
1025.No tableN 1039.No tableN
1026node. 1040node.
1027Under each node there will be three variables, indicating the mount 1041Under each node there will be three variables, indicating the mount
1028point, the file-system type, and the number of entries. 1042point, the file-system type, and the number of entries.
1029.It Li kern.veriexec.strict 1043.It Li kern.veriexec.strict
1030Controls the strict level of Veriexec. 1044Controls the strict level of Veriexec.
1031See 1045See
1032.Xr security 8 1046.Xr security 8
1033for more information on each level's implications. 1047for more information on each level's implications.
1034.It Li kern.veriexec.verbose 1048.It Li kern.veriexec.verbose
1035Controls the verbosity level of Veriexec. 1049Controls the verbosity level of Veriexec.
1036If 0, only the minimal 1050If 0, only the minimal
1037indication required will be given about what's happening - fingerprint 1051indication required will be given about what's happening - fingerprint
1038mismatches, removal of entries from the tables, modification of a 1052mismatches, removal of entries from the tables, modification of a
1039fingerprinted file. 1053fingerprinted file.
1040If 1, more messages will be printed (ie., when a file with a valid 1054If 1, more messages will be printed (ie., when a file with a valid
1041fingerprint is accessed). 1055fingerprint is accessed).
1042Verbose level 2 is debug mode. 1056Verbose level 2 is debug mode.
1043.El 1057.El
1044.It Li kern.version ( KERN_VERSION ) 1058.It Li kern.version ( KERN_VERSION )
1045The system version string. 1059The system version string.
1046.It Li kern.vnode ( KERN_VNODE ) 1060.It Li kern.vnode ( KERN_VNODE )
1047Return the entire vnode table. 1061Return the entire vnode table.
1048Note, the vnode table is not necessarily a consistent snapshot of 1062Note, the vnode table is not necessarily a consistent snapshot of
1049the system. 1063the system.
1050The returned data consists of an array whose size depends on the 1064The returned data consists of an array whose size depends on the
1051current number of such objects in the system. 1065current number of such objects in the system.
1052Each element of the array contains the kernel address of a vnode 1066Each element of the array contains the kernel address of a vnode
1053.Va struct vnode * 1067.Va struct vnode *
1054followed by the vnode itself 1068followed by the vnode itself
1055.Va struct vnode . 1069.Va struct vnode .
1056.\" XXX: Undocumented: kern.lwp: no children? 1070.\" XXX: Undocumented: kern.lwp: no children?
1057.El 1071.El
1058.Ss The machdep.* subtree 1072.Ss The machdep.* subtree
1059The set of variables defined is architecture dependent. 1073The set of variables defined is architecture dependent.
1060Most architectures define at least the following variables. 1074Most architectures define at least the following variables.
1061.Bl -column "machdep.booted_kernel" "Type" "Changeable" -offset indent 1075.Bl -column "machdep.booted_kernel" "Type" "Changeable" -offset indent
1062.It Sy Second level name Type Changeable 1076.It Sy Second level name Type Changeable
1063.It Li machdep.booted_kernel string no 1077.It Li machdep.booted_kernel string no
1064.El 1078.El
1065.\" XXX: Document the above. 1079.\" XXX: Document the above.
1066.Ss The net.* subtree 1080.Ss The net.* subtree
1067The string and integer information available for the 1081The string and integer information available for the
1068.Li net 1082.Li net
1069level is detailed below. 1083level is detailed below.
1070The changeable column shows whether a process with appropriate 1084The changeable column shows whether a process with appropriate
1071privilege may change the value. 1085privilege may change the value.
1072The second and third levels are typically the protocol family and 1086The second and third levels are typically the protocol family and
1073protocol number, though this is not always the case. 1087protocol number, though this is not always the case.
1074.Bl -column "Second level name" "IPsec key management values" "Changeable" -offset indent 1088.Bl -column "Second level name" "IPsec key management values" "Changeable" -offset indent
1075.It Sy Second level name Type Changeable 1089.It Sy Second level name Type Changeable
1076.It net.route routing messages no 1090.It net.route routing messages no
1077.It net.inet IPv4 values yes 1091.It net.inet IPv4 values yes
1078.It net.inet6 IPv6 values yes 1092.It net.inet6 IPv6 values yes
1079.It net.key IPsec key management values yes 1093.It net.key IPsec key management values yes
1080.El 1094.El
1081.Pp 1095.Pp
1082.Bl -tag -width "123456" 1096.Bl -tag -width "123456"
1083.It Li net.route ( PF_ROUTE ) 1097.It Li net.route ( PF_ROUTE )
1084.\" XXX really? 1098.\" XXX really?
1085Return the entire routing table or a subset of it. 1099Return the entire routing table or a subset of it.
1086The data is returned as a sequence of routing messages (see 1100The data is returned as a sequence of routing messages (see
1087.Xr route 4 1101.Xr route 4
1088for the header file, format and meaning). 1102for the header file, format and meaning).
1089The length of each message is contained in the message header. 1103The length of each message is contained in the message header.
1090.Pp 1104.Pp
1091The third level name is a protocol number, which is currently always 0. 1105The third level name is a protocol number, which is currently always 0.
1092The fourth level name is an address family, which may be set to 0 to 1106The fourth level name is an address family, which may be set to 0 to
1093select all address families. 1107select all address families.
1094The fifth and sixth level names are as follows: 1108The fifth and sixth level names are as follows:
1095.Bl -column "Fifth level name" "Sixth level is:" -offset indent 1109.Bl -column "Fifth level name" "Sixth level is:" -offset indent
1096.It Sy Fifth level name Sixth level is: 1110.It Sy Fifth level name Sixth level is:
1097.It NET_RT_FLAGS rtflags 1111.It NET_RT_FLAGS rtflags
1098.It NET_RT_DUMP None 1112.It NET_RT_DUMP None
1099.It NET_RT_IFLIST None 1113.It NET_RT_IFLIST None
1100.El 1114.El
1101.It Li net.inet ( PF_INET ) 1115.It Li net.inet ( PF_INET )
1102Get or set various global information about the IPv4 1116Get or set various global information about the IPv4
1103.Pq Internet Protocol version 4 . 1117.Pq Internet Protocol version 4 .
1104The third level name is the protocol. 1118The third level name is the protocol.
1105The fourth level name is the variable name. 1119The fourth level name is the variable name.
1106The currently defined protocols and names are: 1120The currently defined protocols and names are:
1107.Bl -column "Protocol name" "sack.globalmaxholes" "integer" "Changeable" -offset 4n 1121.Bl -column "Protocol name" "sack.globalmaxholes" "integer" "Changeable" -offset 4n
1108.It Sy Protocol name Variable name Type Changeable 1122.It Sy Protocol name Variable name Type Changeable
1109.It arp down integer yes 1123.It arp down integer yes
1110.It arp keep integer yes 1124.It arp keep integer yes
1111.It arp prune integer yes 1125.It arp prune integer yes
1112.It arp refresh integer yes 1126.It arp refresh integer yes
1113.It carp allow integer yes 1127.It carp allow integer yes
1114.It carp preempt integer yes 1128.It carp preempt integer yes
1115.It carp log integer yes 1129.It carp log integer yes
1116.It carp arpbalance integer yes 1130.It carp arpbalance integer yes
1117.It icmp errppslimit integer yes 1131.It icmp errppslimit integer yes
1118.It icmp maskrepl integer yes 1132.It icmp maskrepl integer yes
1119.It icmp rediraccept integer yes 1133.It icmp rediraccept integer yes
1120.It icmp redirtimeout integer yes 1134.It icmp redirtimeout integer yes
1121.It icmp bmcastecho integer yes 1135.It icmp bmcastecho integer yes
1122.It ip allowsrcrt integer yes 1136.It ip allowsrcrt integer yes
1123.It ip anonportmax integer yes 1137.It ip anonportmax integer yes
1124.It ip anonportmin integer yes 1138.It ip anonportmin integer yes
1125.It ip checkinterface integer yes 1139.It ip checkinterface integer yes
1126.It ip directed-broadcast integer yes 1140.It ip directed-broadcast integer yes
1127.It ip do_loopback_cksum integer yes 1141.It ip do_loopback_cksum integer yes
1128.It ip forwarding integer yes 1142.It ip forwarding integer yes
1129.It ip forwsrcrt integer yes 1143.It ip forwsrcrt integer yes
1130.It ip gifttl integer yes 1144.It ip gifttl integer yes
1131.It ip grettl integer yes 1145.It ip grettl integer yes
1132.It ip hashsize integer yes 1146.It ip hashsize integer yes
1133.It ip hostzerobroadcast integer yes 1147.It ip hostzerobroadcast integer yes
1134.It ip lowportmin integer yes 1148.It ip lowportmin integer yes
1135.It ip lowportmax integer yes 1149.It ip lowportmax integer yes
1136.It ip maxflows integer yes 1150.It ip maxflows integer yes
1137.It ip maxfragpackets integer yes 1151.It ip maxfragpackets integer yes
1138.It ip mtudisc integer yes 1152.It ip mtudisc integer yes
1139.It ip mtudisctimeout integer yes 1153.It ip mtudisctimeout integer yes
1140.It ip random_id integer yes 1154.It ip random_id integer yes
1141.It ip redirect integer yes 1155.It ip redirect integer yes
1142.It ip subnetsarelocal integer yes 1156.It ip subnetsarelocal integer yes