mirror of
				https://gitlab.com/freepascal.org/fpc/source.git
				synced 2025-10-29 10:41:36 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			1167 lines
		
	
	
		
			52 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			1167 lines
		
	
	
		
			52 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| {
 | |
|     This file is part of the Free Pascal run time library.
 | |
|     Copyright (c) 2001 by Marco van de Voort
 | |
| 
 | |
|     The OS dependant sysctl constants.
 | |
| 
 | |
|     See the file COPYING.FPC, included in this distribution,
 | |
|     for details about the copyright.
 | |
| 
 | |
|     This program is distributed in the hope that it will be useful,
 | |
|     but WITHOUT ANY WARRANTY; without even the implied warranty of
 | |
|     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 | |
| 
 | |
|  **********************************************************************}
 | |
| 
 | |
| {
 | |
|  * Copyright (c) 1989;1993
 | |
|  *      The Regents of the University of California.  All rights reserved.
 | |
|  *
 | |
|  * This code is derived from software contributed to Berkeley by
 | |
|  * Mike Karels at Berkeley Software Design, Inc.
 | |
|  *
 | |
|  * Redistribution and use in source and binary forms, with or without
 | |
|  * modification, are permitted provided that the following conditions
 | |
|  * are met:
 | |
|  * 1. Redistributions of source code must retain the above copyright
 | |
|  *    notice, this list of conditions and the following disclaimer.
 | |
|  * 2. Redistributions in binary form must reproduce the above copyright
 | |
|  *    notice, this list of conditions and the following disclaimer in the
 | |
|  *    documentation and/or other materials provided with the distribution.
 | |
|  * 3. All advertising materials mentioning features or use of this software
 | |
|  *    must display the following acknowledgement:
 | |
|  *      This product includes software developed by the University of
 | |
|  *      California, Berkeley and its contributors.
 | |
|  * 4. Neither the name of the University nor the names of its contributors
 | |
|  *    may be used to endorse or promote products derived from this software
 | |
|  *    without specific prior written permission.
 | |
|  *
 | |
|  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
 | |
|  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 | |
|  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 | |
|  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
 | |
|  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 | |
|  * DAMAGES (Name:INCLUDING;CtlType: BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
 | |
|  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 | |
|  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 | |
|  * LIABILITY;CtlType: OR TORT (Name:INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 | |
|  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 | |
|  * SUCH DAMAGE.
 | |
|  *
 | |
|  *      @(Name:#)sysctl.h (and others)  8.2 (Berkeley) 3/30/95
 | |
| }
 | |
| 
 | |
| CONST
 | |
| 
 | |
| {
 | |
|  * Definitions for sysctl call.  The sysctl call uses a hierarchical name
 | |
|  * for objects that can be examined or modified.  The name is expressed as
 | |
|  * a sequence of integers.  Like a file path name, the meaning of each
 | |
|  * component depends on its place in the hierarchy.  The top-level and kern
 | |
|  * identifiers are defined here, and other identifiers are defined in the
 | |
|  * respective subsystem header files.
 | |
| }
 | |
| 
 | |
|         CTL_MAXNAME     = 12;   { largest number of components supported }
 | |
| 
 | |
|         CTLTYPE_NODE    = 1;    { name is a node }
 | |
|         CTLTYPE_INT     = 2;    { name describes an integer }
 | |
|         CTLTYPE_STRING  = 3;    { name describes a string }
 | |
|         CTLTYPE_QUAD    = 4;    { name describes a 64-bit number }
 | |
|         CTLTYPE_STRUCT  = 5;    { name describes a structure }
 | |
| 
 | |
| {
 | |
|  * Top-level identifiers
 | |
| }
 | |
|         CTL_UNSPEC      = 0;            { unused }
 | |
|         CTL_KERN        = 1;            { 'high kernel': proc, limits }
 | |
|         CTL_VM          = 2;            { virtual memory }
 | |
|         CTL_FS          = 3;            { file system, mount type is next }
 | |
|         CTL_NET         = 4;            { network, see socket.h }
 | |
|         CTL_DEBUG       = 5;            { debugging parameters }
 | |
|         CTL_HW          = 6;            { generic cpu/io }
 | |
|         CTL_MACHDEP     = 7;            { machine dependent }
 | |
|         CTL_USER        = 8;            { user-level }
 | |
|         CTL_DDB         = 9;            { DDB user interface, see db_var.h }
 | |
|         CTL_VFS         = 10;           { VFS sysctl's }
 | |
|         CTL_MAXID       = 11;           { number of valid top-level ids }
 | |
| 
 | |
|         CTL_NAMES   : array [0..10] OF CtlNameRec = (
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: 'kern';CtlType: CTLTYPE_NODE ),
 | |
|         (Name: 'vm';CtlType: CTLTYPE_NODE ),
 | |
|         (Name: 'fs';CtlType: CTLTYPE_NODE ),
 | |
|         (Name: 'net';CtlType: CTLTYPE_NODE ),
 | |
|         (Name: 'debug';CtlType: CTLTYPE_NODE ),
 | |
|         (Name: 'hw';CtlType: CTLTYPE_NODE ),
 | |
|         (Name: 'machdep';CtlType: CTLTYPE_NODE ),
 | |
|         (Name: 'user';CtlType: CTLTYPE_NODE ),
 | |
|         (Name: 'ddb';CtlType: CTLTYPE_NODE ),
 | |
|         (Name: 'vfs';CtlType: CTLTYPE_NODE ));
 | |
| 
 | |
| {
 | |
|  * CTL_KERN identifiers
 | |
| }
 | |
|         KERN_OSTYPE              = 1;   { string: system version }
 | |
|         KERN_OSRELEASE           = 2;   { string: system release }
 | |
|         KERN_OSREV               = 3;   { int: system revision }
 | |
|         KERN_VERSION             = 4;   { string: compile time info }
 | |
|         KERN_MAXVNODES           = 5;   { int: max vnodes }
 | |
|         KERN_MAXPROC             = 6;   { int: max processes }
 | |
|         KERN_MAXFILES            = 7;   { int: max open files }
 | |
|         KERN_ARGMAX              = 8;   { int: max arguments to exec }
 | |
|         KERN_SECURELVL           = 9;   { int: system security level }
 | |
|         KERN_HOSTNAME           = 10;   { string: hostname }
 | |
|         KERN_HOSTID             = 11;   { int: host identifier }
 | |
|         KERN_CLOCKRATE          = 12;   { struct: struct clockinfo }
 | |
|         KERN_VNODE              = 13;   { struct: vnode structures }
 | |
|         KERN_PROC               = 14;   { struct: process entries }
 | |
|         KERN_FILE               = 15;   { struct: file entries }
 | |
|         KERN_PROF               = 16;   { node: kernel profiling info }
 | |
|         KERN_POSIX1             = 17;   { int: POSIX.1 version }
 | |
|         KERN_NGROUPS            = 18;   { int: # of supplemental group ids }
 | |
|         KERN_JOB_CONTROL        = 19;   { int: is job control available }
 | |
|         KERN_SAVED_IDS          = 20;   { int: saved set-user/group-ID }
 | |
|         KERN_BOOTTIME           = 21;   { struct: time kernel was booted }
 | |
|         KERN_DOMAINNAME         = 22;   { string: (Name:YP) domainname }
 | |
|         KERN_MAXPARTITIONS      = 23;   { int: number of partitions/disk }
 | |
|         KERN_RAWPARTITION       = 24;   { int: raw partition number }
 | |
| { define gap                    25      }
 | |
| { define gap                    26      }
 | |
|         KERN_OSVERSION          = 27;   { string: kernel build version }
 | |
|         KERN_SOMAXCONN          = 28;   { int: listen queue maximum }
 | |
|         KERN_SOMINCONN          = 29;   { int: half-open controllable param }
 | |
|         KERN_USERMOUNT          = 30;   { int: users may mount filesystems }
 | |
|         KERN_RND                = 31;   { struct: rnd(Name:4) statistics }
 | |
|         KERN_NOSUIDCOREDUMP     = 32;   { int: no setuid coredumps ever }
 | |
|         KERN_FSYNC              = 33;   { int: file synchronization support }
 | |
|         KERN_SYSVMSG            = 34;   { int: SysV message queue suppoprt }
 | |
|         KERN_SYSVSEM            = 35;   { int: SysV semaphore support }
 | |
|         KERN_SYSVSHM            = 36;   { int: SysV shared memory support }
 | |
|         KERN_ARND               = 37;   { int: random integer from arc4rnd }
 | |
|         KERN_MSGBUFSIZE         = 38;   { int: size of message buffer }
 | |
|         KERN_MALLOCSTATS        = 39;   { node: malloc statistics }
 | |
|         KERN_CPTIME             = 40;   { array: cp_time }
 | |
|         KERN_NCHSTATS           = 41;   { struct: vfs cache statistics }
 | |
|         KERN_FORKSTAT           = 42;   { struct: fork statistics }
 | |
|         KERN_NSELCOLL           = 43;   { int: select(Name:2) collisions }
 | |
|         KERN_TTY                = 44;   { node: tty information }
 | |
|         KERN_CCPU               = 45;   { int: ccpu }
 | |
|         KERN_FSCALE             = 46;   { int: fscale }
 | |
|         KERN_NPROCS             = 47;   { int: number of processes }
 | |
|         KERN_MSGBUF             = 48;   { message buffer, KERN_MSGBUFSIZE }
 | |
|         KERN_POOL               = 49;   { struct: pool information }
 | |
|         KERN_STACKGAPRANDOM     = 50;   { int: stackgap_random }
 | |
|         KERN_SYSVIPC_INFO       = 51;   { struct: SysV sem/shm/msg info }
 | |
|         KERN_USERCRYPTO         = 52;   { int: usercrypto }
 | |
|         KERN_CRYPTODEVALLOWSOFT = 53;   { int: cryptodevallowsoft }
 | |
|         KERN_SPLASSERT          = 54;   { int: splassert }
 | |
|         KERN_PROC_ARGS          = 55;   { node: proc args and env }
 | |
|         KERN_NFILES             = 56;   { int: number of open files }
 | |
|         KERN_TTYCOUNT           = 57;   { int: number of tty devices }
 | |
|         KERN_NUMVNODES          = 58;   { int: number of vnodes in use }
 | |
|         KERN_MBSTAT             = 59;   { struct: mbuf statistics }
 | |
|         KERN_USERASYMCRYPTO     = 60;   { int: usercrypto }
 | |
|         KERN_MAXID              = 61;   { number of valid kern ids }
 | |
| 
 | |
|         CTL_KERN_NAMES   : array [0..60] OF CtlNameRec = (
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: 'ostype';CtlType: CTLTYPE_STRING ),
 | |
|         (Name: 'osrelease';CtlType: CTLTYPE_STRING ),
 | |
|         (Name: 'osrevision';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'version';CtlType: CTLTYPE_STRING ),
 | |
|         (Name: 'maxvnodes';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'maxproc';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'maxfiles';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'argmax';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'securelevel';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'hostname';CtlType: CTLTYPE_STRING ),
 | |
|         (Name: 'hostid';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'clockrate';CtlType: CTLTYPE_STRUCT ),
 | |
|         (Name: 'vnode';CtlType: CTLTYPE_STRUCT ),
 | |
|         (Name: 'proc';CtlType: CTLTYPE_STRUCT ),
 | |
|         (Name: 'file';CtlType: CTLTYPE_STRUCT ),
 | |
|         (Name: 'profiling';CtlType: CTLTYPE_NODE ),
 | |
|         (Name: 'posix1version';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'ngroups';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'job_control';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'saved_ids';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'boottime';CtlType: CTLTYPE_STRUCT ),
 | |
|         (Name: 'domainname';CtlType: CTLTYPE_STRING ),
 | |
|         (Name: 'maxpartitions';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'rawpartition';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'gap';CtlType: 0 ),
 | |
|         (Name: 'gap';CtlType: 0 ),
 | |
|         (Name: 'osversion';CtlType: CTLTYPE_STRING ),
 | |
|         (Name: 'somaxconn';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'sominconn';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'usermount';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'random';CtlType: CTLTYPE_STRUCT ),
 | |
|         (Name: 'nosuidcoredump';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'fsync';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'sysvmsg';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'sysvsem';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'sysvshm';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'arandom';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'msgbufsize';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'malloc';CtlType: CTLTYPE_NODE ),
 | |
|         (Name: 'cp_time';CtlType: CTLTYPE_STRUCT ),
 | |
|         (Name: 'nchstats';CtlType: CTLTYPE_STRUCT ),
 | |
|         (Name: 'forkstat';CtlType: CTLTYPE_STRUCT ),
 | |
|         (Name: 'nselcoll';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'tty';CtlType: CTLTYPE_NODE ),
 | |
|         (Name: 'ccpu';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'fscale';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'nprocs';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'msgbuf';CtlType: CTLTYPE_STRUCT ),
 | |
|         (Name: 'pool';CtlType: CTLTYPE_NODE ),
 | |
|         (Name: 'stackgap_random';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'sysvipc_info';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'usercrypto';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'cryptodevallowsoft';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'splassert';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'procargs';CtlType: CTLTYPE_NODE ),
 | |
|         (Name: 'nfiles';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'ttycount';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'numvnodes';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'mbstat';CtlType: CTLTYPE_STRUCT ),
 | |
|         (Name: 'userasymcrypto';CtlType: CTLTYPE_INT ));
 | |
| 
 | |
| {
 | |
|  * KERN_PROC subtypes
 | |
| }
 | |
|         KERN_PROC_ALL           = 0;    { everything but kernel threads }
 | |
|         KERN_PROC_PID           = 1;    { by process id }
 | |
|         KERN_PROC_PGRP          = 2;    { by process group id }
 | |
|         KERN_PROC_SESSION       = 3;    { by session of pid }
 | |
|         KERN_PROC_TTY           = 4;    { by controlling tty }
 | |
|         KERN_PROC_UID           = 5;    { by effective uid }
 | |
|         KERN_PROC_RUID          = 6;    { by real uid }
 | |
|         KERN_PROC_KTHREAD       = 7;    { also return kernel threads }
 | |
| 
 | |
| {
 | |
|  * KERN_SYSVIPC_INFO subtypes
 | |
| }
 | |
|         KERN_SYSVIPC_MSG_INFO   = 1;    { msginfo and msqid_ds }
 | |
|         KERN_SYSVIPC_SEM_INFO   = 2;    { seminfo and semid_ds }
 | |
|         KERN_SYSVIPC_SHM_INFO   = 3;    { shminfo and shmid_ds }
 | |
| 
 | |
| {
 | |
|  * KERN_PROC_ARGS subtypes
 | |
| }
 | |
|         KERN_PROC_ARGV          = 1;
 | |
|         KERN_PROC_NARGV         = 2;
 | |
|         KERN_PROC_ENV           = 3;
 | |
|         KERN_PROC_NENV          = 4;
 | |
| 
 | |
| {
 | |
|  * CTL_FS identifiers
 | |
| }
 | |
|         FS_POSIX        = 1;            { POSIX flags }
 | |
|         FS_MAXID        = 2;
 | |
| 
 | |
|         CTL_FS_NAMES   : array [0..1] OF CtlNameRec = (
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: 'posix';CtlType: CTLTYPE_NODE ));
 | |
| 
 | |
| {
 | |
|  * CTL_FS identifiers
 | |
| }
 | |
|         FS_POSIX_SETUID = 1;            { int: always clear SGID/SUID bit when owner change }
 | |
|         FS_POSIX_MAXID  = 2;
 | |
| 
 | |
|         CTL_FS_POSIX_NAMES   : array [0..1] OF CtlNameRec = (
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: 'setuid';CtlType: CTLTYPE_INT ));
 | |
| 
 | |
| {
 | |
|  * CTL_HW identifiers
 | |
| }
 | |
|         HW_MACHINE       = 1;           { string: machine class }
 | |
|         HW_MODEL         = 2;           { string: specific machine model }
 | |
|         HW_NCPU          = 3;           { int: number of cpus }
 | |
|         HW_BYTEORDER     = 4;           { int: machine byte order }
 | |
|         HW_PHYSMEM       = 5;           { int: total memory }
 | |
|         HW_USERMEM       = 6;           { int: non-kernel memory }
 | |
|         HW_PAGESIZE      = 7;           { int: software page size }
 | |
|         HW_DISKNAMES     = 8;           { strings: disk drive names }
 | |
|         HW_DISKSTATS     = 9;           { struct: diskstats[] }
 | |
|         HW_DISKCOUNT    = 10;           { int: number of disks }
 | |
|         HW_MAXID        = 11;           { number of valid hw ids }
 | |
| 
 | |
|         CTL_HW_NAMES   : array [0..10] OF CtlNameRec = (
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: 'machine';CtlType: CTLTYPE_STRING ),
 | |
|         (Name: 'model';CtlType: CTLTYPE_STRING ),
 | |
|         (Name: 'ncpu';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'byteorder';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'physmem';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'usermem';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'pagesize';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'disknames';CtlType: CTLTYPE_STRING ),
 | |
|         (Name: 'diskstats';CtlType: CTLTYPE_STRUCT ),
 | |
|         (Name: 'diskcount';CtlType: CTLTYPE_INT ));
 | |
| 
 | |
| {
 | |
|  * CTL_USER definitions
 | |
| }
 | |
|         USER_CS_PATH             = 1;   { string: _CS_PATH }
 | |
|         USER_BC_BASE_MAX         = 2;   { int: BC_BASE_MAX }
 | |
|         USER_BC_DIM_MAX          = 3;   { int: BC_DIM_MAX }
 | |
|         USER_BC_SCALE_MAX        = 4;   { int: BC_SCALE_MAX }
 | |
|         USER_BC_STRING_MAX       = 5;   { int: BC_STRING_MAX }
 | |
|         USER_COLL_WEIGHTS_MAX    = 6;   { int: COLL_WEIGHTS_MAX }
 | |
|         USER_EXPR_NEST_MAX       = 7;   { int: EXPR_NEST_MAX }
 | |
|         USER_LINE_MAX            = 8;   { int: LINE_MAX }
 | |
|         USER_RE_DUP_MAX          = 9;   { int: RE_DUP_MAX }
 | |
|         USER_POSIX2_VERSION     = 10;   { int: POSIX2_VERSION }
 | |
|         USER_POSIX2_C_BIND      = 11;   { int: POSIX2_C_BIND }
 | |
|         USER_POSIX2_C_DEV       = 12;   { int: POSIX2_C_DEV }
 | |
|         USER_POSIX2_CHAR_TERM   = 13;   { int: POSIX2_CHAR_TERM }
 | |
|         USER_POSIX2_FORT_DEV    = 14;   { int: POSIX2_FORT_DEV }
 | |
|         USER_POSIX2_FORT_RUN    = 15;   { int: POSIX2_FORT_RUN }
 | |
|         USER_POSIX2_LOCALEDEF   = 16;   { int: POSIX2_LOCALEDEF }
 | |
|         USER_POSIX2_SW_DEV      = 17;   { int: POSIX2_SW_DEV }
 | |
|         USER_POSIX2_UPE         = 18;   { int: POSIX2_UPE }
 | |
|         USER_STREAM_MAX         = 19;   { int: POSIX2_STREAM_MAX }
 | |
|         USER_TZNAME_MAX         = 20;   { int: POSIX2_TZNAME_MAX }
 | |
|         USER_MAXID              = 21;   { number of valid user ids }
 | |
| 
 | |
|         CTL_USER_NAMES   : array [0..20] OF CtlNameRec = (
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: 'cs_path';CtlType: CTLTYPE_STRING ),
 | |
|         (Name: 'bc_base_max';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'bc_dim_max';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'bc_scale_max';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'bc_string_max';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'coll_weights_max';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'expr_nest_max';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'line_max';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 're_dup_max';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'posix2_version';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'posix2_c_bind';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'posix2_c_dev';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'posix2_char_term';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'posix2_fort_dev';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'posix2_fort_run';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'posix2_localedef';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'posix2_sw_dev';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'posix2_upe';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'stream_max';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'tzname_max';CtlType: CTLTYPE_INT ));
 | |
| 
 | |
| {
 | |
|  * CTL_DEBUG definitions
 | |
|  *
 | |
|  * Second level identifier specifies which debug variable.
 | |
|  * Third level identifier specifies which stucture component.
 | |
| }
 | |
|         CTL_DEBUG_NAME          = 0;    { string: variable name }
 | |
|         CTL_DEBUG_VALUE         = 1;    { int: variable value }
 | |
|         CTL_DEBUG_MAXID         = 20;
 | |
| 
 | |
|         POOLWORDS = 1024;       { Power of 2 - note that this is 32-bit words }
 | |
| 
 | |
|         RND_RND         = 0;    { real randomness like nuclear chips }
 | |
|         RND_SRND        = 1;    { strong random source }
 | |
|         RND_URND        = 2;    { less strong random source }
 | |
|         RND_PRND        = 3;    { pseudo random source }
 | |
|         RND_ARND        = 4;    { aRC4 based random number generator }
 | |
|         RND_NODEV       = 5;    { First invalid minor device number }
 | |
| 
 | |
|         RND_SRC_TRUE    = 0;
 | |
|         RND_SRC_TIMER   = 1;
 | |
|         RND_SRC_MOUSE   = 2;
 | |
|         RND_SRC_TTY     = 3;
 | |
|         RND_SRC_DISK    = 4;
 | |
|         RND_SRC_NET     = 5;
 | |
|         RND_SRC_AUDIO   = 6;
 | |
|         RND_SRC_VIDEO   = 7;
 | |
|         RND_SRC_NUM     = 8;
 | |
| 
 | |
| 
 | |
| {
 | |
|  * Types
 | |
| }
 | |
|         SOCK_STREAM     = 1;            { stream socket }
 | |
|         SOCK_DGRAM      = 2;            { datagram socket }
 | |
|         SOCK_RAW        = 3;            { raw-protocol interface }
 | |
|         SOCK_RDM        = 4;            { reliably-delivered message }
 | |
|         SOCK_SEQPACKET  = 5;            { sequenced packet stream }
 | |
| 
 | |
| {
 | |
|  * Option flags per-socket.
 | |
| }
 | |
|         SO_DEBUG        = $00001;               { turn on debugging info recording }
 | |
|         SO_ACCEPTCONN   = $00002;               { socket has had listen(Name:) }
 | |
|         SO_REUSEADDR    = $00004;               { allow local address reuse }
 | |
|         SO_KEEPALIVE    = $00008;               { keep connections alive }
 | |
|         SO_DONTROUTE    = $00010;               { just use interface addresses }
 | |
|         SO_BROADCAST    = $00020;               { permit sending of broadcast msgs }
 | |
|         SO_USELOOPBACK  = $00040;               { bypass hardware when possible }
 | |
|         SO_LINGER       = $00080;               { linger on close if data present }
 | |
|         SO_OOBINLINE    = $00100;               { leave received OOB data in line }
 | |
|         SO_REUSEPORT    = $00200;               { allow local address & port reuse }
 | |
| 
 | |
| {
 | |
|  * Additional options, not kept in so_options.
 | |
| }
 | |
|         SO_SNDBUF       = $01001;               { send buffer size }
 | |
|         SO_RCVBUF       = $01002;               { receive buffer size }
 | |
|         SO_SNDLOWAT     = $01003;               { send low-water mark }
 | |
|         SO_RCVLOWAT     = $01004;               { receive low-water mark }
 | |
|         SO_SNDTIMEO     = $01005;               { send timeout }
 | |
|         SO_RCVTIMEO     = $01006;               { receive timeout }
 | |
|         SO_ERROR        = $01007;               { get error status and clear }
 | |
|         SO_TYPE         = $01008;               { get socket type }
 | |
|         SO_NETPROC      = $01020;               { multiplex; network processing }
 | |
| 
 | |
| 
 | |
| {
 | |
|  * Level number for (Name:get/set)sockopt() to apply to socket itself.
 | |
| }
 | |
|         SOL_SOCKET      = $0ffff;               { options for socket level }
 | |
| 
 | |
| {
 | |
|  * Address families.
 | |
| }
 | |
|         AF_UNSPEC       = 0;            { unspecified }
 | |
|         AF_LOCAL        = 1;            { local to host (Name:pipes;CtlType: portals) }
 | |
|         AF_UNIX         = AF_LOCAL;     { backward compatibility }
 | |
|         AF_INET         = 2;            { internetwork: UDP, TCP, etc. }
 | |
|         AF_IMPLINK      = 3;            { arpanet imp addresses }
 | |
|         AF_PUP          = 4;            { pup protocols: e.g. BSP }
 | |
|         AF_CHAOS        = 5;            { mit CHAOS protocols }
 | |
|         AF_NS           = 6;            { XEROX NS protocols }
 | |
|         AF_ISO          = 7;            { ISO protocols }
 | |
|         AF_OSI          = AF_ISO;
 | |
|         AF_ECMA         = 8;            { european computer manufacturers }
 | |
|         AF_DATAKIT      = 9;            { datakit protocols }
 | |
|         AF_CCITT        = 10;           { CCITT protocols, X.25 etc }
 | |
|         AF_SNA          = 11;           { IBM SNA }
 | |
|         AF_DECnet       = 12;           { DECnet }
 | |
|         AF_DLI          = 13;           { DEC Direct data link interface }
 | |
|         AF_LAT          = 14;           { LAT }
 | |
|         AF_HYLINK       = 15;           { NSC Hyperchannel }
 | |
|         AF_APPLETALK    = 16;           { Apple Talk }
 | |
|         AF_ROUTE        = 17;           { Internal Routing Protocol }
 | |
|         AF_LINK         = 18;           { Link layer interface }
 | |
|         pseudo_AF_XTP   = 19;           { eXpress Transfer Protocol (Name:no AF) }
 | |
|         AF_COIP         = 20;           { connection-oriented IP, aka ST II }
 | |
|         AF_CNT          = 21;           { Computer Network Technology }
 | |
|         pseudo_AF_RTIP  = 22;           { Help Identify RTIP packets }
 | |
|         AF_IPX          = 23;           { Novell Internet Protocol }
 | |
|         AF_INET6        = 24;           { IPv6 }
 | |
|         pseudo_AF_PIP   = 25;           { Help Identify PIP packets }
 | |
|         AF_ISDN         = 26;           { Integrated Services Digital Network}
 | |
|         AF_E164         = AF_ISDN;              { CCITT E.164 recommendation }
 | |
|         AF_NATM         = 27;           { native ATM access }
 | |
|         AF_ENCAP        = 28;
 | |
|         AF_SIP          = 29;           { Simple Internet Protocol }
 | |
|         AF_KEY          = 30;
 | |
|         pseudo_AF_HDRCMPLT = 31;                { Used by BPF to not rewrite headers
 | |
|                                            in interface output routine }
 | |
|         AF_MAX          = 32;
 | |
| 
 | |
| {
 | |
|  * Protocol families, same as address families for now.
 | |
| }
 | |
|         PF_UNSPEC       = AF_UNSPEC  ;
 | |
|         PF_LOCAL        = AF_LOCAL   ;
 | |
|         PF_UNIX         = PF_LOCAL   ;  { backward compatibility }
 | |
|         PF_INET         = AF_INET    ;
 | |
|         PF_IMPLINK      = AF_IMPLINK ;
 | |
|         PF_PUP          = AF_PUP     ;
 | |
|         PF_CHAOS        = AF_CHAOS   ;
 | |
|         PF_NS           = AF_NS      ;
 | |
|         PF_ISO          = AF_ISO     ;
 | |
|         PF_OSI          = AF_ISO     ;
 | |
|         PF_ECMA         = AF_ECMA    ;
 | |
|         PF_DATAKIT      = AF_DATAKIT ;
 | |
|         PF_CCITT        = AF_CCITT   ;
 | |
|         PF_SNA          = AF_SNA     ;
 | |
|         PF_DECnet       = AF_DECnet  ;
 | |
|         PF_DLI          = AF_DLI     ;
 | |
|         PF_LAT          = AF_LAT     ;
 | |
|         PF_HYLINK       = AF_HYLINK  ;
 | |
|         PF_APPLETALK    = AF_APPLETALK ;
 | |
|         PF_ROUTE        = AF_ROUTE     ;
 | |
|         PF_LINK         = AF_LINK      ;
 | |
|         PF_XTP          = pseudo_AF_XTP;        { really just proto family, no AF }
 | |
|         PF_COIP         = AF_COIP      ;
 | |
|         PF_CNT          = AF_CNT       ;
 | |
|         PF_IPX          = AF_IPX          ;             { same format as AF_NS }
 | |
|         PF_INET6        = AF_INET6  ;
 | |
|         PF_PIP          = pseudo_AF_PIP;
 | |
|         PF_ISDN         = AF_ISDN        ;
 | |
|         PF_NATM         = AF_NATM        ;
 | |
|         PF_ENCAP        = AF_ENCAP       ;
 | |
|         PF_SIP          = AF_SIP         ;
 | |
|         PF_KEY          = AF_KEY         ;
 | |
|         PF_MAX          = AF_MAX         ;
 | |
| 
 | |
| {
 | |
|  * These are the valid values for the 'how' field used by shutdown(Name:2).
 | |
| }
 | |
|         SHUT_RD         = 0;
 | |
|         SHUT_WR         = 1;
 | |
|         SHUT_RDWR       = 2;
 | |
| 
 | |
| {
 | |
|  * Definitions for network related sysctl, CTL_NET.
 | |
|  *
 | |
|  * Second level is protocol family.
 | |
|  * Third level is protocol number.
 | |
|  *
 | |
|  * Further levels are defined by the individual families below.
 | |
| }
 | |
|         NET_MAXID       = AF_MAX;
 | |
| 
 | |
|         CTL_NET_NAMES   : array [0..30] OF CtlNameRec = (
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: 'unix';CtlType: CTLTYPE_NODE ),
 | |
|         (Name: 'inet';CtlType: CTLTYPE_NODE ),
 | |
|         (Name: 'implink';CtlType: CTLTYPE_NODE ),
 | |
|         (Name: 'pup';CtlType: CTLTYPE_NODE ),
 | |
|         (Name: 'chaos';CtlType: CTLTYPE_NODE ),
 | |
|         (Name: 'xerox_ns';CtlType: CTLTYPE_NODE ),
 | |
|         (Name: 'iso';CtlType: CTLTYPE_NODE ),
 | |
|         (Name: 'emca';CtlType: CTLTYPE_NODE ),
 | |
|         (Name: 'datakit';CtlType: CTLTYPE_NODE ),
 | |
|         (Name: 'ccitt';CtlType: CTLTYPE_NODE ),
 | |
|         (Name: 'ibm_sna';CtlType: CTLTYPE_NODE ),
 | |
|         (Name: 'decnet';CtlType: CTLTYPE_NODE ),
 | |
|         (Name: 'dec_dli';CtlType: CTLTYPE_NODE ),
 | |
|         (Name: 'lat';CtlType: CTLTYPE_NODE ),
 | |
|         (Name: 'hylink';CtlType: CTLTYPE_NODE ),
 | |
|         (Name: 'appletalk';CtlType: CTLTYPE_NODE ),
 | |
|         (Name: 'route';CtlType: CTLTYPE_NODE ),
 | |
|         (Name: 'link_layer';CtlType: CTLTYPE_NODE ),
 | |
|         (Name: 'xtp';CtlType: CTLTYPE_NODE ),
 | |
|         (Name: 'coip';CtlType: CTLTYPE_NODE ),
 | |
|         (Name: 'cnt';CtlType: CTLTYPE_NODE ),
 | |
|         (Name: 'rtip';CtlType: CTLTYPE_NODE ),
 | |
|         (Name: 'ipx';CtlType: CTLTYPE_NODE ),
 | |
|         (Name: 'inet6';CtlType: CTLTYPE_NODE ),
 | |
|         (Name: 'pip';CtlType: CTLTYPE_NODE ),
 | |
|         (Name: 'isdn';CtlType: CTLTYPE_NODE ),
 | |
|         (Name: 'natm';CtlType: CTLTYPE_NODE ),
 | |
|         (Name: 'encap';CtlType: CTLTYPE_NODE ),
 | |
|         (Name: 'sip';CtlType: CTLTYPE_NODE ),
 | |
|         (Name: 'key';CtlType: CTLTYPE_NODE ));
 | |
| 
 | |
| {
 | |
|  * PF_ROUTE - Routing table
 | |
|  *
 | |
|  * Three additional levels are defined:
 | |
|  *      Fourth: address family, 0 is wildcard
 | |
|  *      Fifth: type of info, defined below
 | |
|  *      Sixth: flag(Name:s) to mask with for NET_RT_FLAGS
 | |
| }
 | |
|         NET_RT_DUMP     = 1;            { dump; may limit to a.f. }
 | |
|         NET_RT_FLAGS    = 2;            { by flags, e.g. RESOLVING }
 | |
|         NET_RT_IFLIST   = 3;            { survey interface list }
 | |
|         NET_RT_MAXID    = 4;
 | |
| 
 | |
|         CTL_NET_RT_NAMES   : array [0..3] OF CtlNameRec = (
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: 'dump';CtlType: CTLTYPE_STRUCT ),
 | |
|         (Name: 'flags';CtlType: CTLTYPE_STRUCT ),
 | |
|         (Name: 'iflist';CtlType: CTLTYPE_STRUCT ));
 | |
| 
 | |
|         MSG_OOB         = $01;          { process out-of-band data }
 | |
|         MSG_PEEK        = $02;          { peek at incoming message }
 | |
|         MSG_DONTROUTE   = $04;          { send without using routing tables }
 | |
|         MSG_EOR         = $08;          { data completes record }
 | |
|         MSG_TRUNC       = $010;         { data discarded before delivery }
 | |
|         MSG_CTRUNC      = $020;         { control data lost before delivery }
 | |
|         MSG_WAITALL     = $040;         { wait for full request or error }
 | |
|         MSG_DONTWAIT    = $080;         { this message should be nonblocking }
 | |
|         MSG_BCAST       = $0100;                { this message rec'd as broadcast }
 | |
|         MSG_MCAST       = $0200;                { this message rec'd as multicast }
 | |
| 
 | |
| {
 | |
|  * Possible states of profiling.
 | |
| }
 | |
|         GMON_PROF_ON    = 0;
 | |
|         GMON_PROF_BUSY  = 1;
 | |
|         GMON_PROF_ERROR = 2;
 | |
|         GMON_PROF_OFF   = 3;
 | |
| 
 | |
| {
 | |
|  * Sysctl definitions for extracting profiling information from the kernel.
 | |
| }
 | |
|         GPROF_STATE     = 0;    { int: profiling enabling variable }
 | |
|         GPROF_COUNT     = 1;    { struct: profile tick count buffer }
 | |
|         GPROF_FROMS     = 2;    { struct: from location hash bucket }
 | |
|         GPROF_TOS       = 3;    { struct: destination/count structure }
 | |
|         GPROF_GMONPARAM = 4;    { struct: profiling parameters (Name:see above) }
 | |
| 
 | |
| {
 | |
|  * CTL_VM identifiers
 | |
| }
 | |
|         VM_METER        = 1;            { struct vmmeter }
 | |
|         VM_LOADAVG      = 2;            { struct loadavg }
 | |
|         VM_PSSTRINGS    = 3;            { PSSTRINGS }
 | |
|         VM_UVMEXP       = 4;            { struct uvmexp }
 | |
|         VM_SWAPENCRYPT  = 5;            { int }
 | |
|         VM_NKMEMPAGES   = 6;            { int - # kmem_map pages }
 | |
|         VM_ANONMIN      = 7;
 | |
|         VM_VTEXTMIN     = 8;
 | |
|         VM_VNODEMIN     = 9;
 | |
|         VM_MAXSLP       = 10;
 | |
|         VM_USPACE       = 11;
 | |
|         VM_MAXID        = 12;           { number of valid vm ids }
 | |
| 
 | |
|         CTL_VM_NAMES   : array [0..11] OF CtlNameRec = (
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: 'vmmeter';CtlType: CTLTYPE_STRUCT ),
 | |
|         (Name: 'loadavg';CtlType: CTLTYPE_STRUCT ),
 | |
|         (Name: 'psstrings';CtlType: CTLTYPE_STRUCT ),
 | |
|         (Name: 'uvmexp';CtlType: CTLTYPE_STRUCT ),
 | |
|         (Name: 'swapencrypt';CtlType: CTLTYPE_NODE ),
 | |
|         (Name: 'nkmempages';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'anonmin';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'vtextmin';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'vnodemin';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'maxslp';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'uspace';CtlType: CTLTYPE_INT ));
 | |
| 
 | |
|         SWPENC_ENABLE   = 0;
 | |
|         SWPENC_CREATED  = 1;
 | |
|         SWPENC_DELETED  = 2;
 | |
|         SWPENC_MAXID    = 3;
 | |
| 
 | |
|         CTL_SWPENC_NAMES   : array [0..2] OF CtlNameRec = (
 | |
|         (Name: 'enable';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'keyscreated';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'keysdeleted';CtlType: CTLTYPE_INT ));
 | |
| 
 | |
| {
 | |
|  * Protocols
 | |
| }
 | |
|         IPPROTO_IP              = 0;            { dummy for IP }
 | |
|         IPPROTO_HOPOPTS         = IPPROTO_IP;   { Hop-by-hop option header }
 | |
|         IPPROTO_ICMP            = 1;            { control message protocol }
 | |
|         IPPROTO_IGMP            = 2;            { group mgmt protocol }
 | |
|         IPPROTO_GGP             = 3;            { gateway^2 (Name:deprecated) }
 | |
|         IPPROTO_IPIP            = 4;            { IP inside IP }
 | |
|         IPPROTO_IPV4            = IPPROTO_IPIP; { IP inside IP }
 | |
|         IPPROTO_TCP             = 6;            { tcp }
 | |
|         IPPROTO_EGP             = 8;            { exterior gateway protocol }
 | |
|         IPPROTO_PUP             = 12;           { pup }
 | |
|         IPPROTO_UDP             = 17;           { user datagram protocol }
 | |
|         IPPROTO_IDP             = 22;           { xns idp }
 | |
|         IPPROTO_TP              = 29;           { tp-4 w/ class negotiation }
 | |
|         IPPROTO_IPV6            = 41;           { IPv6 in IPv6 }
 | |
|         IPPROTO_ROUTING         = 43;           { Routing header }
 | |
|         IPPROTO_FRAGMENT        = 44;           { Fragmentation/reassembly header }
 | |
|         IPPROTO_RSVP            = 46;           { resource reservation }
 | |
|         IPPROTO_GRE             = 47;           { GRE encap, RFCs 1701/1702 }
 | |
|         IPPROTO_ESP             = 50;           { Encap. Security Payload }
 | |
|         IPPROTO_AH              = 51;           { Authentication header }
 | |
|         IPPROTO_MOBILE          = 55;           { IP Mobility, RFC 2004 }
 | |
|         IPPROTO_ICMPV6          = 58;           { ICMP for IPv6 }
 | |
|         IPPROTO_NONE            = 59;           { No next header }
 | |
|         IPPROTO_DSTOPTS         = 60;           { Destination options header }
 | |
|         IPPROTO_EON             = 80;           { ISO cnlp }
 | |
|         IPPROTO_ETHERIP         = 97;           { Ethernet in IPv4 }
 | |
|         IPPROTO_ENCAP           = 98;           { encapsulation header }
 | |
|         IPPROTO_PIM             = 103;          { Protocol indep. multicast }
 | |
|         IPPROTO_IPCOMP          = 108;          { IP Payload Comp. Protocol }
 | |
|         IPPROTO_RAW             = 255;          { raw IP packet }
 | |
| 
 | |
|         IPPROTO_MAX             = 256;
 | |
| 
 | |
| 
 | |
| {
 | |
|  * Options for use with [gs]etsockopt at the IP level.
 | |
|  * First word of comment is data type; bool is stored in int.
 | |
| }
 | |
|         IP_OPTIONS              = 1;    { buf/ip_opts; set/get IP options }
 | |
|         IP_HDRINCL              = 2;    { int; header is included with data }
 | |
|         IP_TOS                  = 3;    { int; IP type of service and preced. }
 | |
|         IP_TTL                  = 4;    { int; IP time to live }
 | |
|         IP_RECVOPTS             = 5;    { bool; receive all IP opts w/dgram }
 | |
|         IP_RECVRETOPTS          = 6;    { bool; receive IP opts for response }
 | |
|         IP_RECVDSTADDR          = 7;    { bool; receive IP dst addr w/dgram }
 | |
|         IP_RETOPTS              = 8;    { ip_opts; set/get IP options }
 | |
|         IP_MULTICAST_IF         = 9;    { in_addr; set/get IP multicast i/f  }
 | |
|         IP_MULTICAST_TTL        = 10;   { u_char; set/get IP multicast ttl }
 | |
|         IP_MULTICAST_LOOP       = 11;   { u_char; set/get IP multicast loopback }
 | |
|         IP_ADD_MEMBERSHIP       = 12;   { ip_mreq; add an IP group membership }
 | |
|         IP_DROP_MEMBERSHIP      = 13;   { ip_mreq; drop an IP group membership }
 | |
| 
 | |
| { 14-17 left empty for future compatibility with FreeBSD }
 | |
| 
 | |
|         IP_PORTRANGE            = 19;   { int; range to choose for unspec port }
 | |
|         IP_AUTH_LEVEL           = 20;   { int; authentication used }
 | |
|         IP_ESP_TRANS_LEVEL      = 21;   { int; transport encryption }
 | |
|         IP_ESP_NETWORK_LEVEL    = 22;   { int; full-packet encryption }
 | |
|         IP_IPSEC_LOCAL_ID       = 23;   { buf; IPsec local ID }
 | |
|         IP_IPSEC_REMOTE_ID      = 24;   { buf; IPsec remote ID }
 | |
|         IP_IPSEC_LOCAL_CRED     = 25;   { buf; IPsec local credentials }
 | |
|         IP_IPSEC_REMOTE_CRED    = 26;   { buf; IPsec remote credentials }
 | |
|         IP_IPSEC_LOCAL_AUTH     = 27;   { buf; IPsec local auth material }
 | |
|         IP_IPSEC_REMOTE_AUTH    = 28;   { buf; IPsec remote auth material }
 | |
|         IP_IPCOMP_LEVEL         = 29;   { int; compression used }
 | |
| 
 | |
| {
 | |
|  * Security levels - IPsec, not IPSO
 | |
| }
 | |
| 
 | |
|         IPSEC_LEVEL_BYPASS      = $000;    { Bypass policy altogether }
 | |
|         IPSEC_LEVEL_NONE        = $000;    { Send clear, accept any }
 | |
|         IPSEC_LEVEL_AVAIL       = $001;    { Send secure if SA available }
 | |
|         IPSEC_LEVEL_USE         = $002;    { Send secure, accept any }
 | |
|         IPSEC_LEVEL_REQUIRE     = $003;    { Require secure inbound, also use }
 | |
|         IPSEC_LEVEL_UNIQUE      = $004;    { Use outbound SA that is unique }
 | |
|         IPSEC_LEVEL_DEFAULT     = IPSEC_LEVEL_AVAIL;
 | |
| 
 | |
| 
 | |
| {
 | |
|  * Defaults and limits for options
 | |
| }
 | |
|         IP_DEFAULT_MULTICAST_TTL  = 1;  { normally limit m'casts to 1 hop  }
 | |
|         IP_DEFAULT_MULTICAST_LOOP = 1;  { normally hear sends if a member  }
 | |
|         IP_MAX_MEMBERSHIPS      = 20;   { per socket; must fit in one mbuf }
 | |
| 
 | |
| {
 | |
|  * Argument for IP_PORTRANGE:
 | |
|  * - which range to search when port is unspecified at bind(Name:) or connect()
 | |
| }
 | |
|         IP_PORTRANGE_DEFAULT    = 0;    { default range }
 | |
|         IP_PORTRANGE_HIGH       = 1;    { 'high' - request firewall bypass }
 | |
|         IP_PORTRANGE_LOW        = 2;    { 'low' - vouchsafe security }
 | |
| 
 | |
| {
 | |
|  * Buffer lengths for strings containing printable IP addresses
 | |
| }
 | |
|         INET_ADDRSTRLEN         = 16;
 | |
| 
 | |
| {
 | |
|  * Definitions for inet sysctl operations.
 | |
|  *
 | |
|  * Third level is protocol number.
 | |
|  * Fourth level is desired variable within that protocol.
 | |
| }
 | |
|         IPPROTO_MAXID   = (IPPROTO_IPCOMP + 1); { don't list to IPPROTO_MAX }
 | |
| 
 | |
|         CTL_IPPROTO_NAMES   : array [0..108] OF CtlNameRec = (
 | |
|         (Name: 'ip';CtlType: CTLTYPE_NODE ),
 | |
|         (Name: 'icmp';CtlType: CTLTYPE_NODE ),
 | |
|         (Name: 'igmp';CtlType: CTLTYPE_NODE ),
 | |
|         (Name: 'ggp';CtlType: CTLTYPE_NODE ),
 | |
|         (Name: 'ipip';CtlType: CTLTYPE_NODE ),
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: 'tcp';CtlType: CTLTYPE_NODE ),
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: 'egp';CtlType: CTLTYPE_NODE ),
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: 'pup';CtlType: CTLTYPE_NODE ),
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: 'udp';CtlType: CTLTYPE_NODE ),
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: 'gre';CtlType: CTLTYPE_NODE ),
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: 'esp';CtlType: CTLTYPE_NODE ),
 | |
|         (Name: 'ah';CtlType: CTLTYPE_NODE ),
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: 'mobileip';CtlType: CTLTYPE_NODE ),
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: 'etherip';CtlType: CTLTYPE_NODE ),
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: 'ipcomp';CtlType: CTLTYPE_NODE ));
 | |
| 
 | |
| {
 | |
|  * Names for IP sysctl objects
 | |
| }
 | |
|         IPCTL_FORWARDING        = 1;    { act as router }
 | |
|         IPCTL_SENDREDIRECTS     = 2;    { may send redirects when forwarding }
 | |
|         IPCTL_DEFTTL            = 3;    { default TTL }
 | |
| {$ifdef notyet}
 | |
|         IPCTL_DEFMTU            = 4;    { default MTU }
 | |
| {$endif}
 | |
|         IPCTL_SOURCEROUTE       = 5;    { may perform source routes }
 | |
|         IPCTL_DIRECTEDBCAST     = 6;    { default broadcast behavior }
 | |
|         IPCTL_IPPORT_FIRSTAUTO  = 7;
 | |
|         IPCTL_IPPORT_LASTAUTO   = 8;
 | |
|         IPCTL_IPPORT_HIFIRSTAUTO = 9;
 | |
|         IPCTL_IPPORT_HILASTAUTO = 10;
 | |
|         IPCTL_IPPORT_MAXQUEUE   = 11;
 | |
|         IPCTL_ENCDEBUG          = 12;
 | |
| {$ifdef obssolete}
 | |
|         IPCTL_GIF_TTL           = 13;   { default TTL for gif encap packet }
 | |
| {$endif}
 | |
|         IPCTL_IPSEC_EXPIRE_ACQUIRE = 14;   { How long to wait for key mgmt. }
 | |
|         IPCTL_IPSEC_EMBRYONIC_SA_TIMEOUT        = 15; { new SA lifetime }
 | |
|         IPCTL_IPSEC_REQUIRE_PFS = 16;
 | |
|         IPCTL_IPSEC_SOFT_ALLOCATIONS            = 17;
 | |
|         IPCTL_IPSEC_ALLOCATIONS = 18;
 | |
|         IPCTL_IPSEC_SOFT_BYTES  = 19;
 | |
|         IPCTL_IPSEC_BYTES       = 20;
 | |
|         IPCTL_IPSEC_TIMEOUT     = 21;
 | |
|         IPCTL_IPSEC_SOFT_TIMEOUT = 22;
 | |
|         IPCTL_IPSEC_SOFT_FIRSTUSE = 23;
 | |
|         IPCTL_IPSEC_FIRSTUSE    = 24;
 | |
|         IPCTL_IPSEC_ENC_ALGORITHM = 25;
 | |
|         IPCTL_IPSEC_AUTH_ALGORITHM = 26;
 | |
|         IPCTL_MTUDISC           = 27;   { allow path MTU discovery }
 | |
|         IPCTL_MTUDISCTIMEOUT    = 28;   { allow path MTU discovery }
 | |
|         IPCTL_IPSEC_IPCOMP_ALGORITHM    = 29;
 | |
|         IPCTL_MAXID             = 30;
 | |
| 
 | |
|         IPCTL_NAMES   : array [0..29] OF CtlNameRec = (
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: 'forwarding';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'redirect';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'ttl';CtlType: CTLTYPE_INT ),
 | |
|         {(Name: 'mtu';CtlType: CTLTYPE_INT ), }
 | |
|         (Name: ''; CTLTYPE:0 ),
 | |
|         (Name: 'sourceroute';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'directed-broadcast';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'portfirst';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'portlast';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'porthifirst';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'porthilast';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'maxqueue';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'encdebug';CtlType: CTLTYPE_INT ),
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: 'ipsec-expire-acquire';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'ipsec-invalid-life';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'ipsec-pfs';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'ipsec-soft-allocs';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'ipsec-allocs';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'ipsec-soft-bytes';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'ipsec-bytes';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'ipsec-timeout';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'ipsec-soft-timeout';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'ipsec-soft-firstuse';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'ipsec-firstuse';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'ipsec-enc-alg';CtlType: CTLTYPE_STRING ),
 | |
|         (Name: 'ipsec-auth-alg';CtlType: CTLTYPE_STRING ),
 | |
|         (Name: 'mtudisc';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'mtudisctimeout';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'ipsec-comp-alg';CtlType: CTLTYPE_STRING ));
 | |
| 
 | |
| {
 | |
|  * Names for ICMP sysctl objects
 | |
| }
 | |
|         ICMPCTL_MASKREPL        = 1;    { allow replies to netmask requests }
 | |
|         ICMPCTL_BMCASTECHO      = 2;    { reply to icmps to broadcast/mcast }
 | |
|         ICMPCTL_ERRPPSLIMIT     = 3;    { ICMP error pps limitation }
 | |
|         ICMPCTL_REDIRACCEPT     = 4;    { Accept redirects from routers }
 | |
|         ICMPCTL_REDIRTIMEOUT    = 5;    { Remove routes added via redirects }
 | |
|         ICMPCTL_TSTAMPREPL      = 6;    { allow replies to timestamp requests }
 | |
|         ICMPCTL_MAXID           = 7;
 | |
| 
 | |
|         ICMPCTL_NAMES   : array [0..6] OF CtlNameRec = (
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: 'maskrepl';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'bmcastecho';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'errppslimit';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'rediraccept';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'redirtimeout';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'tstamprepl';CtlType: CTLTYPE_INT ));
 | |
| 
 | |
| {
 | |
|  * Names for ICMP sysctl objects
 | |
| }
 | |
|         ICMPV6CTL_STATS         = 1;
 | |
|         ICMPV6CTL_REDIRACCEPT   = 2;    { accept/process redirects }
 | |
|         ICMPV6CTL_REDIRTIMEOUT  = 3;    { redirect cache time }
 | |
| {$ifdef obsolete_false}
 | |
|         ICMPV6CTL_ERRRATELIMIT  = 5;    { ICMPv6 error rate limitation }
 | |
| {$endif}
 | |
|         ICMPV6CTL_ND6_PRUNE     = 6;
 | |
|         ICMPV6CTL_ND6_DELAY     = 8;
 | |
|         ICMPV6CTL_ND6_UMAXTRIES = 9;
 | |
|         ICMPV6CTL_ND6_MMAXTRIES         = 10;
 | |
|         ICMPV6CTL_ND6_USELOOPBACK       = 11;
 | |
| { #define ICMPV6CTL_ND6_PROXYALL        12;     obsoleted, do not reuse here }
 | |
|         ICMPV6CTL_NODEINFO      = 13;
 | |
|         ICMPV6CTL_ERRPPSLIMIT   = 14;   { ICMPv6 error pps limitation }
 | |
|         ICMPV6CTL_ND6_MAXNUDHINT        = 15;
 | |
|         ICMPV6CTL_MTUDISC_HIWAT = 16;
 | |
|         ICMPV6CTL_MTUDISC_LOWAT = 17;
 | |
|         ICMPV6CTL_ND6_DEBUG     = 18;
 | |
|         ICMPV6CTL_ND6_DRLIST    = 19;
 | |
|         ICMPV6CTL_ND6_PRLIST    = 20;
 | |
|         ICMPV6CTL_MAXID         = 21;
 | |
| 
 | |
|         ICMPV6CTL_NAMES   : array [0..20] OF CtlNameRec = (
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: 'rediraccept';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'redirtimeout';CtlType: CTLTYPE_INT ),
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: 'nd6_prune';CtlType: CTLTYPE_INT ),
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: 'nd6_delay';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'nd6_umaxtries';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'nd6_mmaxtries';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'nd6_useloopback';CtlType: CTLTYPE_INT ),
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: 'nodeinfo';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'errppslimit';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'nd6_maxnudhint';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'mtudisc_hiwat';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'mtudisc_lowat';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'nd6_debug';CtlType: CTLTYPE_INT ),
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: '';CtlType: 0 ));
 | |
| 
 | |
| {
 | |
|  * Names for TCP sysctl objects.
 | |
| }
 | |
| 
 | |
|         TCPCTL_RFC1323          = 1; { enable/disable RFC1323 timestamps/scaling }
 | |
|         TCPCTL_KEEPINITTIME     = 2; { TCPT_KEEP value }
 | |
|         TCPCTL_KEEPIDLE         = 3; { allow tcp_keepidle to be changed }
 | |
|         TCPCTL_KEEPINTVL        = 4; { allow tcp_keepintvl to be changed }
 | |
|         TCPCTL_SLOWHZ           = 5; { return kernel idea of PR_SLOWHZ }
 | |
|         TCPCTL_BADDYNAMIC       = 6; { return bad dynamic port bitmap }
 | |
|         TCPCTL_RECVSPACE        = 7; { receive buffer space }
 | |
|         TCPCTL_SENDSPACE        = 8; { send buffer space }
 | |
|         TCPCTL_IDENT            = 9; { get connection owner }
 | |
|         TCPCTL_SACK            = 10; { selective acknowledgement, rfc 2018 }
 | |
|         TCPCTL_MSSDFLT         = 11; { Default maximum segment size }
 | |
|         TCPCTL_RSTPPSLIMIT     = 12; { RST pps limit }
 | |
|         TCPCTL_ACK_ON_PUSH     = 13; { ACK immediately on PUSH }
 | |
|         TCPCTL_ECN             = 14; { RFC3168 ECN }
 | |
|         TCPCTL_MAXID           = 15;
 | |
| 
 | |
|         TCPCTL_NAMES  : array [0..14] OF CtlNameRec = (
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: 'rfc1323';CtlType:       CTLTYPE_INT ),
 | |
|         (Name: 'keepinittime';CtlType:  CTLTYPE_INT ),
 | |
|         (Name: 'keepidle';CtlType:      CTLTYPE_INT ),
 | |
|         (Name: 'keepintvl';CtlType:     CTLTYPE_INT ),
 | |
|         (Name: 'slowhz';CtlType:        CTLTYPE_INT ),
 | |
|         (Name: 'baddynamic';CtlType: CTLTYPE_STRUCT ),
 | |
|         (Name: 'recvspace';CtlType:     CTLTYPE_INT ),
 | |
|         (Name: 'sendspace';CtlType:     CTLTYPE_INT ),
 | |
|         (Name: 'ident';CtlType:         CTLTYPE_STRUCT ),
 | |
|         (Name: 'sack';CtlType:  CTLTYPE_INT ),
 | |
|         (Name: 'mssdflt';CtlType:       CTLTYPE_INT ),
 | |
|         (Name: 'rstppslimit';CtlType:   CTLTYPE_INT ),
 | |
|         (Name: 'ackonpush';CtlType:     CTLTYPE_INT ),
 | |
|         (Name: 'ecn';CtlType:   CTLTYPE_INT ));
 | |
| 
 | |
| {
 | |
|  * Names for UDP sysctl objects
 | |
| }
 | |
|         UDPCTL_CHECKSUM         = 1; { checksum UDP packets }
 | |
|         UDPCTL_BADDYNAMIC       = 2; { return bad dynamic port bitmap }
 | |
|         UDPCTL_RECVSPACE        = 3; { receive buffer space }
 | |
|         UDPCTL_SENDSPACE        = 4; { send buffer space }
 | |
|         UDPCTL_MAXID            = 5;
 | |
| 
 | |
|         UDPCTL_NAMES  : array [0..4] OF CtlNameRec = (
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: 'checksum';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'baddynamic';CtlType: CTLTYPE_STRUCT ),
 | |
|         (Name: 'recvspace';CtlType:  CTLTYPE_INT ),
 | |
|         (Name: 'sendspace';CtlType:  CTLTYPE_INT ));
 | |
| 
 | |
| {
 | |
|  * Names for IPX sysctl objects.
 | |
| }
 | |
| 
 | |
|         IPXCTL_CHECKSUM         = 1;
 | |
|         IPXCTL_FORWARDING       = 2;
 | |
|         IPXCTL_NETBIOS          = 3;
 | |
|         IPXCTL_RECVSPACE        = 4;
 | |
|         IPXCTL_SENDSPACE        = 5;
 | |
|         IPXCTL_MAXID            = 6;
 | |
| 
 | |
|         IPXCTL_NAMES  : array [0..5] OF CtlNameRec = (
 | |
|         (Name: '';CtlType: 0),
 | |
|         (Name: 'checksum';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'forwarding';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'netbios';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'recvspace';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'sendspace';CtlType: CTLTYPE_INT ));
 | |
| 
 | |
|         DBCTL_RADIX     = 1;
 | |
|         DBCTL_MAXWIDTH  = 2;
 | |
|         DBCTL_MAXLINE   = 3;
 | |
|         DBCTL_TABSTOP   = 4;
 | |
|         DBCTL_PANIC     = 5;
 | |
|         DBCTL_CONSOLE   = 6;
 | |
|         DBCTL_MAXID     = 7;
 | |
| 
 | |
|         CTL_DDB_NAMES  : array [0..6] OF CtlNameRec = (
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: 'radix';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'max_width';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'max_line';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'tab_stop_width';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'panic';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'console';CtlType: CTLTYPE_INT ));
 | |
| 
 | |
| {
 | |
|  * Sysctl CTL_VFS definitions.
 | |
|  *
 | |
|  * Second level identifier specifies which filesystem. Second level
 | |
|  * identifier VFS_GENERIC returns information about all filesystems.
 | |
| }
 | |
|         VFS_GENERIC     = 0;    { generic filesystem information }
 | |
| {
 | |
|  * Third level identifiers for VFS_GENERIC are given below; third
 | |
|  * level identifiers for specific filesystems are given in their
 | |
|  * mount specific header files.
 | |
| }
 | |
|         VFS_MAXTYPENUM  = 1;    { int: highest defined filesystem type }
 | |
|         VFS_CONF        = 2;    { struct: vfsconf for filesystem given
 | |
|                                    as next argument }
 | |
|         VFSGEN_MAXID    = 3;    { max number of vfs.generic ids }
 | |
| 
 | |
|         CTL_VFSGENCTL_NAMES  : array [0..2] OF CtlNameRec = (
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: 'maxtypenum';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'conf';CtlType: CTLTYPE_NODE ));
 | |
| 
 | |
| {
 | |
|  * fs.nfs sysctl(Name:3) identifiers
 | |
| }
 | |
|         NFS_NFSSTATS    = 1;    { struct: struct nfsstats }
 | |
|         NFS_NIOTHREADS  = 2;    { number of i/o threads }
 | |
|         NFS_MAXID       = 3;
 | |
| 
 | |
|         FS_NFS_NAMES  : array [0..2] OF CtlNameRec = (
 | |
|                         (Name: '';CtlType: 0 ),
 | |
|                         (Name: 'nfsstats';CtlType: CTLTYPE_STRUCT ),
 | |
|                         (Name: 'iothreads';CtlType: CTLTYPE_INT ));
 | |
| 
 | |
|         FFS_CLUSTERREAD         = 1;    { cluster reading enabled }
 | |
|         FFS_CLUSTERWRITE        = 2;    { cluster writing enabled }
 | |
|         FFS_REALLOCBLKS         = 3;    { block reallocation enabled }
 | |
|         FFS_ASYNCFREE           = 4;    { asynchronous block freeing enabled }
 | |
|         FFS_MAX_SOFTDEPS        = 5;    { maximum structs before slowdown }
 | |
|         FFS_SD_TICKDELAY        = 6;    { ticks to pause during slowdown }
 | |
|         FFS_SD_WORKLIST_PUSH    = 7;    { # of worklist cleanups }
 | |
|         FFS_SD_BLK_LIMIT_PUSH   = 8;    { # of times block limit neared }
 | |
|         FFS_SD_INO_LIMIT_PUSH   = 9;    { # of times inode limit neared }
 | |
|         FFS_SD_BLK_LIMIT_HIT    = 10;   { # of times block slowdown imposed }
 | |
|         FFS_SD_INO_LIMIT_HIT    = 11;   { # of times inode slowdown imposed }
 | |
|         FFS_SD_SYNC_LIMIT_HIT   = 12;   { # of synchronous slowdowns imposed }
 | |
|         FFS_SD_INDIR_BLK_PTRS   = 13;   { bufs redirtied as indir ptrs not written }
 | |
|         FFS_SD_INODE_BITMAP     = 14;   { bufs redirtied as inode bitmap not written }
 | |
|         FFS_SD_DIRECT_BLK_PTRS  = 15;   { bufs redirtied as direct ptrs not written }
 | |
|         FFS_SD_DIR_ENTRY        = 16;   { bufs redirtied as dir entry cannot write }
 | |
|         FFS_MAXID               = 17;   { number of valid ffs ids }
 | |
| 
 | |
|         FFS_NAMES  : array [0..16] OF CtlNameRec = (
 | |
|         (Name: '';CtlType: 0 ),
 | |
|         (Name: 'doclusterread';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'doclusterwrite';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'doreallocblks';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'doasyncfree';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'max_softdeps';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'sd_tickdelay';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'sd_worklist_push';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'sd_blk_limit_push';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'sd_ino_limit_push';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'sd_blk_limit_hit';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'sd_ino_limit_hit';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'sd_sync_limit_hit';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'sd_indir_blk_ptrs';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'sd_inode_bitmap';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'sd_direct_blk_ptrs';CtlType: CTLTYPE_INT ),
 | |
|         (Name: 'sd_dir_entry';CtlType: CTLTYPE_INT ));
 | |
| 
 | |
| {
 | |
| 
 | |
| 
 | |
|   Revision 1.3  2005/02/14 17:13:31  peter
 | |
|     * truncate log
 | |
| 
 | |
| }
 | 
