sysctl.3.patch   [plain text]


--- sysctl.3.orig	2008-10-21 16:45:53.000000000 -0700
+++ sysctl.3	2008-10-22 09:33:13.000000000 -0700
@@ -32,7 +32,7 @@
 .\"	@(#)sysctl.3	8.4 (Berkeley) 5/9/95
 .\" $FreeBSD: src/lib/libc/gen/sysctl.3,v 1.63 2004/07/02 23:52:10 ru Exp $
 .\"
-.Dd January 23, 2001
+.Dd October 21, 2008
 .Dt SYSCTL 3
 .Os
 .Sh NAME
@@ -182,13 +182,21 @@
 }
 .Ed
 .Pp
+Note:  Implementation of
+.Fn printkproc
+-- to print whatever data deemed necessary from the large
+.Vt kinfo_proc
+structure (
+.In sysctl.h
+) -- is left as an exercise for the reader.
+.Pp
 The top level names are defined with a CTL_ prefix in
 .In sys/sysctl.h ,
 and are as follows.
 The next and subsequent levels down are found in the include files
 listed here, and described in separate sections below.
 .Pp
-.Bl -column CTLXMACHDEPXXX "Next level namesXXXXXX" -offset indent
+.Bl -column CTLXMACHDEP "Next level names" -offset indent
 .It Sy "Name	Next level names	Description"
 .It "CTL_DEBUG	sys/sysctl.h	Debugging"
 .It "CTL_VFS	sys/mount.h	File system"
@@ -197,7 +205,8 @@
 .It "CTL_MACHDEP	sys/sysctl.h	Machine dependent"
 .It "CTL_NET	sys/socket.h	Networking"
 .It "CTL_USER	sys/sysctl.h	User-level"
-.It "CTL_VM	vm/vm_param.h	Virtual memory"
+.It "CTL_VM	sys/resources.h	Virtual memory (struct loadavg)"
+.It "CTL_VM	sys/vmmeter.h	Virtual memory (struct vmtotal)"
 .El
 .Pp
 For example, the following retrieves the maximum number of processes allowed
@@ -456,16 +465,6 @@
 .It "KERN_PROC_UID	A user ID"
 .It "KERN_PROC_RUID	A real user ID"
 .El
-.Pp
-If the third level name is KERN_PROC_ARGS then the command line argument
-array is returned in a flattened form, i.e., zero-terminated arguments
-follow each other.
-The total size of array is returned.
-It is also possible for a process to set its own process title this way.
-.Bl -column "Third level nameXXXXXX" "Fourth level is:XXXXXX" -offset indent
-.It Sy "Third level name	Fourth level is:"
-.It "KERN_PROC_ARGS	A process ID"
-.El
 .It Li KERN_PROF
 Return profiling information about the kernel.
 If the kernel is not compiled for profiling,
@@ -731,7 +730,6 @@
 .Bl -column "Second level nameXXXXXX" "struct loadavgXXX" -offset indent
 .It Sy "Second level name	Type	Changeable"
 .It "VM_LOADAVG	struct loadavg	no"
-.It "VM_METER	struct vmtotal	no"
 .It "VM_PAGEOUT_ALGORITHM	integer	yes"
 .It "VM_SWAPPING_ENABLED	integer	maybe"
 .It "VM_V_CACHE_MAX	integer	yes"
@@ -748,10 +746,6 @@
 Return the load average history.
 The returned data consists of a
 .Va struct loadavg .
-.It Li VM_METER
-Return the system wide virtual memory statistics.
-The returned data consists of a
-.Va struct vmtotal .
 .It Li VM_PAGEOUT_ALGORITHM
 0 if the statistics-based page management algorithm is in use
 or 1 if the near-LRU algorithm is in use.
@@ -848,7 +842,7 @@
 definitions for second level network identifiers
 .It In sys/gmon.h
 definitions for third level profiling identifiers
-.It In vm/vm_param.h
+.It In mach/vm_param.h
 definitions for second level virtual memory identifiers
 .It In netinet/in.h
 definitions for third level IPv4/IPv6 identifiers and