1{ 2 This file is part of the Free Pascal run time library. 3 Copyright (c) 2001 by Marco van de Voort 4 5 The OS dependant sysctl constants. 6 7 See the file COPYING.FPC, included in this distribution, 8 for details about the copyright. 9 10 This program is distributed in the hope that it will be useful, 11 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 13 14 **********************************************************************} 15 16 17CONST 18 19{ 20 * Definitions for sysctl call. The sysctl call uses a hierarchical name 21 * for objects that can be examined or modified. The name is expressed as 22 * a sequence of integers. Like a file path name, the meaning of each 23 * component depends on its place in the hierarchy. The top-level and kern 24 * identifiers are defined here, and other identifiers are defined in the 25 * respective subsystem header files. 26} 27 28 CTL_MAXNAME = 12; { largest number of components supported } 29 30{ 31 * Each subsystem defined by sysctl defines a list of variables 32 * for that subsystem. Each name is either a node with further 33 * levels defined below it, or it is a leaf of some particular 34 * type given below. Each sysctl level defines a set of name/type 35 * pairs to be used by sysctl(1) in manipulating the subsystem. 36} 37 38Type 39 ctlname = record 40 ctl_name : pchar; { subsystem name } 41 ctl_type : cint { type of name } 42 End; 43 44Const 45 CTLTYPE = $f; { Mask for the type } 46 CTLTYPE_NODE = 1; { name is a node } 47 CTLTYPE_INT = 2; { name describes an integer } 48 CTLTYPE_STRING = 3; { name describes a string } 49 CTLTYPE_QUAD = 4; { name describes a 64-bit number } 50 CTLTYPE_OPAQUE = 5; { name describes a structure } 51 CTLTYPE_STRUCT = CTLTYPE_OPAQUE; { name describes a structure } 52 CTLTYPE_UINT = 6; { name describes an unsigned integer } 53 CTLTYPE_LONG = 7; { name describes a long } 54 CTLTYPE_ULONG = 8; { name describes an unsigned long } 55 CTLTYPE_UQUAD = 9; { name describes an unsigned 64-bit number } 56 57 CTLFLAG_RD = $80000000; { Allow reads of variable } 58 CTLFLAG_WR = $40000000; { Allow writes to the variable } 59 CTLFLAG_RW = (CTLFLAG_RD OR CTLFLAG_WR); 60 CTLFLAG_NOLOCK = $20000000; { XXX Don't Lock } 61 CTLFLAG_ANYBODY = $10000000; { All users can set this var } 62 CTLFLAG_SECURE = $8000000; { Permit set only if securelevel<=0 } 63 CTLFLAG_PRISON = $4000000; { Prisoned roots can fiddle } 64 CTLFLAG_DYN = $2000000; { Dynamic oid - can be freed } 65 CTLFLAG_SKIP = $1000000; { Skip this sysctl when listing } 66 CTLMASK_SECURE = $F00000; { Secure level } 67 CTLFLAG_DYING = $1000; { Oid is being removed } 68 69{ 70 * USE THIS instead of a hardwired number from the categories below 71 * to get dynamically assigned sysctl entries using the linker-set 72 * technology. This is the way nearly all new sysctl variables should 73 * be implemented. 74 * e.g. SYSCTL_INT(_parent, OID_AUTO, name, CTLFLAG_RW, &variable, 0, ""); 75 } 76 OID_AUTO = (-1); 77 78{ 79 * Top-level identifiers 80 } 81 CTL_UNSPEC = 0; 82 CTL_KERN = 1; { "high kernel": proc, limits } 83 CTL_VM = 2; { virtual memory } 84 CTL_VFS = 3; { file system, mount type is next } 85 CTL_NET = 4; { network, see socket.h } 86 CTL_DEBUG = 5; { debugging parameters } 87 CTL_HW = 6; { generic cpu/io } 88 CTL_MACHDEP = 7; { machine dependent } 89 CTL_USER = 8; { user-level } 90 CTL_P1003_1B = 9; { POSIX 1003.1B } 91 CTL_LWKT = 10; { light-weight kernel threads } 92 CTL_MAXID = 11; { number of top-level ids } 93 94 95{ 96 * CTL_KERN identifiers 97 } 98 KERN_OSTYPE = 1; { string: system version } 99 KERN_OSRELEASE = 2; { string: system release } 100 KERN_OSREV = 3; { int: system revision } 101 KERN_VERSION = 4; { string: compile time info } 102 KERN_MAXVNODES = 5; { int: max vnodes } 103 KERN_MAXPROC = 6; { int: max processes } 104 KERN_MAXFILES = 7; { int: max open files } 105 KERN_ARGMAX = 8; { int: max arguments to exec } 106 KERN_SECURELVL = 9; { int: system security level } 107 KERN_HOSTNAME = 10; { string: hostname } 108 KERN_HOSTID = 11; { int: host identifier } 109 KERN_CLOCKRATE = 12; { struct: struct clockrate } 110 KERN_VNODE = 13; { struct: vnode structures } 111 KERN_PROC = 14; { struct: process entries } 112 KERN_FILE = 15; { struct: file entries } 113 KERN_PROF = 16; { node: kernel profiling info } 114 KERN_POSIX1 = 17; { int: POSIX.1 version } 115 KERN_NGROUPS = 18; { int: # of supplemental group ids } 116 KERN_JOB_CONTROL = 19; { int: is job control available } 117 KERN_SAVED_IDS = 20; { int: saved set-user/group-ID } 118 KERN_BOOTTIME = 21; { struct: time kernel was booted } 119 KERN_NISDOMAINNAME = 22; { string: YP domain name } 120 KERN_UPDATEINTERVAL = 23; { int: update process sleep time } 121 KERN_OSRELDATE = 24; { int: OS release date } 122 KERN_NTP_PLL = 25; { node: NTP PLL control } 123 KERN_BOOTFILE = 26; { string: name of booted kernel } 124 KERN_MAXFILESPERPROC = 27; { int: max open files per proc } 125 KERN_MAXPROCPERUID = 28; { int: max processes per uid } 126 KERN_DUMPDEV = 29; { dev_t: device to dump on } 127 KERN_IPC = 30; { node: anything related to IPC } 128 KERN_DUMMY = 31; { unused } 129 KERN_PS_STRINGS = 32; { int: address of PS_STRINGS } 130 KERN_USRSTACK = 33; { int: address of USRSTACK } 131 KERN_LOGSIGEXIT = 34; { int: do we log sigexit procs? } 132 KERN_IOV_MAX = 35; { int: value of UIO_MAXIOV } 133 KERN_MAXPOSIXLOCKSPERUID= 36; { int: max POSIX locks per uid } 134 KERN_MAXID = 37; { number of valid kern ids } 135 136 137{ 138 * KERN_PROC subtypes 139 } 140 KERN_PROC_ALL = 0; { everything } 141 KERN_PROC_PID = 1; { by process id } 142 KERN_PROC_PGRP = 2; { by process group id } 143 KERN_PROC_SESSION = 3; { by session of pid } 144 KERN_PROC_TTY = 4; { by controlling tty } 145 KERN_PROC_UID = 5; { by effective uid } 146 KERN_PROC_RUID = 6; { by real uid } 147 KERN_PROC_ARGS = 7; { get/set arguments/proctitle } 148 KERN_PROC_CWD = 8; { get cwd } 149 KERN_PROC_PATHNAME = 9; { path to executable } 150 151{ 152 * KERN_IPC identifiers 153 } 154 KIPC_MAXSOCKBUF = 1; { int: max size of a socket buffer } 155 KIPC_SOCKBUF_WASTE = 2; { int: wastage factor in sockbuf } 156 KIPC_SOMAXCONN = 3; { int: max length of connection q } 157 KIPC_MAX_LINKHDR = 4; { int: max length of link header } 158 KIPC_MAX_PROTOHDR = 5; { int: max length of network header } 159 KIPC_MAX_HDR = 6; { int: max total length of headers } 160 KIPC_MAX_DATALEN = 7; { int: max length of data? } 161 KIPC_MBSTAT = 8; { struct: mbuf usage statistics } 162 KIPC_NMBCLUSTERS = 9; { int: maximum mbuf clusters } 163 164{ 165 * CTL_HW identifiers 166 } 167 HW_MACHINE = 1; { string: machine class } 168 HW_MODEL = 2; { string: specific machine model } 169 HW_NCPU = 3; { int: number of cpus } 170 HW_BYTEORDER = 4; { int: machine byte order } 171 HW_PHYSMEM = 5; { int: total memory } 172 HW_USERMEM = 6; { int: non-kernel memory } 173 HW_PAGESIZE = 7; { int: software page size } 174 HW_DISKNAMES = 8; { strings: disk drive names } 175 HW_DISKSTATS = 9; { struct: diskstats[] } 176 HW_FLOATINGPT = 10; { int: has HW floating point? } 177 HW_MACHINE_ARCH = 11; { string: machine architecture } 178 HW_MACHINE_PLATFORM = 12; { string: platform architecture } 179 HW_SENSORS = 13; { node: hardware sensors } 180 HW_MAXID = 14; { number of valid hw ids } 181 182 183{ 184 * CTL_USER definitions 185 } 186 USER_CS_PATH = 1; { string: _CS_PATH } 187 USER_BC_BASE_MAX = 2; { int: BC_BASE_MAX } 188 USER_BC_DIM_MAX = 3; { int: BC_DIM_MAX } 189 USER_BC_SCALE_MAX = 4; { int: BC_SCALE_MAX } 190 USER_BC_STRING_MAX = 5; { int: BC_STRING_MAX } 191 USER_COLL_WEIGHTS_MAX = 6; { int: COLL_WEIGHTS_MAX } 192 USER_EXPR_NEST_MAX = 7; { int: EXPR_NEST_MAX } 193 USER_LINE_MAX = 8; { int: LINE_MAX } 194 USER_RE_DUP_MAX = 9; { int: RE_DUP_MAX } 195 USER_POSIX2_VERSION = 10; { int: POSIX2_VERSION } 196 USER_POSIX2_C_BIND = 11; { int: POSIX2_C_BIND } 197 USER_POSIX2_C_DEV = 12; { int: POSIX2_C_DEV } 198 USER_POSIX2_CHAR_TERM = 13; { int: POSIX2_CHAR_TERM } 199 USER_POSIX2_FORT_DEV = 14; { int: POSIX2_FORT_DEV } 200 USER_POSIX2_FORT_RUN = 15; { int: POSIX2_FORT_RUN } 201 USER_POSIX2_LOCALEDEF = 16; { int: POSIX2_LOCALEDEF } 202 USER_POSIX2_SW_DEV = 17; { int: POSIX2_SW_DEV } 203 USER_POSIX2_UPE = 18; { int: POSIX2_UPE } 204 USER_STREAM_MAX = 19; { int: POSIX2_STREAM_MAX } 205 USER_TZNAME_MAX = 20; { int: POSIX2_TZNAME_MAX } 206 USER_MAXID = 21; { number of valid user ids } 207 208 209 CTL_P1003_1B_ASYNCHRONOUS_IO = 1 ; { boolean } 210 CTL_P1003_1B_MAPPED_FILES = 2 ; { boolean } 211 CTL_P1003_1B_MEMLOCK = 3 ; { boolean } 212 CTL_P1003_1B_MEMLOCK_RANGE = 4 ; { boolean } 213 CTL_P1003_1B_MEMORY_PROTECTION = 5 ; { boolean } 214 CTL_P1003_1B_MESSAGE_PASSING = 6 ; { boolean } 215 CTL_P1003_1B_PRIORITIZED_IO = 7 ; { boolean } 216 CTL_P1003_1B_PRIORITY_SCHEDULING = 8 ; { boolean } 217 CTL_P1003_1B_REALTIME_SIGNALS = 9 ; { boolean } 218 CTL_P1003_1B_SEMAPHORES = 10; { boolean } 219 CTL_P1003_1B_FSYNC = 11; { boolean } 220 CTL_P1003_1B_SHARED_MEMORY_OBJECTS = 12; { boolean } 221 CTL_P1003_1B_SYNCHRONIZED_IO = 13; { boolean } 222 CTL_P1003_1B_TIMERS = 14; { boolean } 223 CTL_P1003_1B_AIO_LISTIO_MAX = 15; { int } 224 CTL_P1003_1B_AIO_MAX = 16; { int } 225 CTL_P1003_1B_AIO_PRIO_DELTA_MAX = 17; { int } 226 CTL_P1003_1B_DELAYTIMER_MAX = 18; { int } 227 CTL_P1003_1B_MQ_OPEN_MAX = 19; { int } 228 CTL_P1003_1B_PAGESIZE = 20; { int } 229 CTL_P1003_1B_RTSIG_MAX = 21; { int } 230 CTL_P1003_1B_SEM_NSEMS_MAX = 22; { int } 231 CTL_P1003_1B_SEM_VALUE_MAX = 23; { int } 232 CTL_P1003_1B_SIGQUEUE_MAX = 24; { int } 233 CTL_P1003_1B_TIMER_MAX = 25; { int } 234 235 CTL_P1003_1B_MAXID = 26; 236 237{ LongestStringInCtlNames = 21;} 238 239 240Const 241 242 CTL_NAMES : Array[0..10] OF CtlNameRec = ( 243 ( Name: ''; CtlType: 0 ), 244 ( Name: 'kern'; CtlType : CTLTYPE_NODE ), 245 ( Name: 'vm'; CtlType : CTLTYPE_NODE ), 246 ( Name: 'vfs'; CtlType : CTLTYPE_NODE ), 247 ( Name: 'net'; CtlType : CTLTYPE_NODE ), 248 ( Name: 'debug'; CtlType : CTLTYPE_NODE ), 249 ( Name: 'hw'; CtlType : CTLTYPE_NODE ), 250 ( Name: 'machdep'; CtlType : CTLTYPE_NODE ), 251 ( Name: 'user'; CtlType : CTLTYPE_NODE ), 252 ( Name: 'p1003_1b'; CtlType : CTLTYPE_NODE ), 253 ( Name: 'lwkt'; CtlType : CTLTYPE_NODE)); 254 255 CTL_KERN_NAME : Array[0..35] OF CtlNameRec = ( 256 ( Name: ''; CtlType: 0 ), 257 ( Name: 'ostype'; CtlType : CTLTYPE_STRING ), 258 ( Name: 'osrelease'; CtlType : CTLTYPE_STRING ), 259 ( Name: 'osrevision'; CtlType : CTLTYPE_INT ), 260 ( Name: 'version'; CtlType : CTLTYPE_STRING ), 261 ( Name: 'maxvnodes'; CtlType : CTLTYPE_INT ), 262 ( Name: 'maxproc'; CtlType : CTLTYPE_INT ), 263 ( Name: 'maxfiles'; CtlType : CTLTYPE_INT ), 264 ( Name: 'argmax'; CtlType : CTLTYPE_INT ), 265 ( Name: 'securelevel'; CtlType : CTLTYPE_INT ), 266 ( Name: 'hostname'; CtlType : CTLTYPE_STRING ), 267 ( Name: 'hostid'; CtlType : CTLTYPE_UINT ), 268 ( Name: 'clockrate'; CtlType : CTLTYPE_STRUCT ), 269 ( Name: 'vnode'; CtlType : CTLTYPE_STRUCT ), 270 ( Name: 'proc'; CtlType : CTLTYPE_STRUCT ), 271 ( Name: 'file'; CtlType : CTLTYPE_STRUCT ), 272 ( Name: 'profiling'; CtlType : CTLTYPE_NODE ), 273 ( Name: 'posix1version'; CtlType : CTLTYPE_INT ), 274 ( Name: 'ngroups'; CtlType : CTLTYPE_INT ), 275 ( Name: 'job_control'; CtlType : CTLTYPE_INT ), 276 ( Name: 'saved_ids'; CtlType : CTLTYPE_INT ), 277 ( Name: 'boottime'; CtlType : CTLTYPE_STRUCT ), 278 ( Name: 'nisdomainname'; CtlType : CTLTYPE_STRING ), 279 ( Name: 'update'; CtlType : CTLTYPE_INT ), 280 ( Name: 'osreldate'; CtlType : CTLTYPE_INT ), 281 ( Name: 'ntp_pll'; CtlType : CTLTYPE_NODE ), 282 ( Name: 'bootfile'; CtlType : CTLTYPE_STRING ), 283 ( Name: 'maxfilesperproc'; CtlType : CTLTYPE_INT ), 284 ( Name: 'maxprocperuid'; CtlType : CTLTYPE_INT ), 285 ( Name: 'dumpdev'; CtlType : CTLTYPE_STRUCT ), { we lie; don't print as int } 286 ( Name: 'ipc'; CtlType : CTLTYPE_NODE ), 287 ( Name: 'dummy'; CtlType : CTLTYPE_INT ), 288 ( Name: 'ps_strings'; CtlType : CTLTYPE_INT ), 289 ( Name: 'usrstack'; CtlType : CTLTYPE_INT ), 290 ( Name: 'iov_max'; CtlType : CTLTYPE_INT ), 291 ( Name: 'maxposixlocksperuid'; CtlType : CTLTYPE_INT )); 292 293{ 294 * CTL_VFS identifiers 295} 296 CTL_VFS_NAMES : array[0..0] of CTLNameRec = ( 297 ( Name: 'vfsconf'; CtlType : CTLTYPE_STRUCT )); 298 299 300 CTL_HW_NAMES : array[0..13] of CTLNameRec = ( 301 ( Name: ''; CtlType: 0 ), 302 ( Name: 'machine'; CtlType : CTLTYPE_STRING ), 303 ( Name: 'model'; CtlType : CTLTYPE_STRING ), 304 ( Name: 'ncpu'; CtlType : CTLTYPE_INT ), 305 ( Name: 'byteorder'; CtlType : CTLTYPE_INT ), 306 ( Name: 'physmem'; CtlType : CTLTYPE_UINT ), 307 ( Name: 'usermem'; CtlType : CTLTYPE_UINT ), 308 ( Name: 'pagesize'; CtlType : CTLTYPE_INT ), 309 ( Name: 'disknames'; CtlType : CTLTYPE_STRUCT ), 310 ( Name: 'diskstats'; CtlType : CTLTYPE_STRUCT ), 311 ( Name: 'floatingpoint'; CtlType : CTLTYPE_INT ), 312 ( Name: 'arch'; CtlType : CTLTYPE_STRING ), 313 ( Name: 'platform'; CtlType : CTLTYPE_STRING ), 314 ( Name: 'sensors'; CtlType : CTLTYPE_NODE )); 315 316 317 CTL_USER_NAMES : array[0..20] of CTLNameRec = ( 318 ( Name :''; CtlType: 0 ), 319 ( Name: 'cs_path'; CtlType : CTLTYPE_STRING ), 320 ( Name: 'bc_base_max'; CtlType : CTLTYPE_INT ), 321 ( Name: 'bc_dim_max'; CtlType : CTLTYPE_INT ), 322 ( Name: 'bc_scale_max'; CtlType : CTLTYPE_INT ), 323 ( Name: 'bc_string_max'; CtlType : CTLTYPE_INT ), 324 ( Name: 'coll_weights_max'; CtlType : CTLTYPE_INT ), 325 ( Name: 'expr_nest_max'; CtlType : CTLTYPE_INT ), 326 ( Name: 'line_max'; CtlType : CTLTYPE_INT ), 327 ( Name: 're_dup_max'; CtlType : CTLTYPE_INT ), 328 ( Name: 'posix2_version'; CtlType : CTLTYPE_INT ), 329 ( Name: 'posix2_c_bind'; CtlType : CTLTYPE_INT ), 330 ( Name: 'posix2_c_dev'; CtlType : CTLTYPE_INT ), 331 ( Name: 'posix2_char_term'; CtlType : CTLTYPE_INT ), 332 ( Name: 'posix2_fort_dev'; CtlType : CTLTYPE_INT ), 333 ( Name: 'posix2_fort_run'; CtlType : CTLTYPE_INT ), 334 ( Name: 'posix2_localedef'; CtlType : CTLTYPE_INT ), 335 ( Name: 'posix2_sw_dev'; CtlType : CTLTYPE_INT ), 336 ( Name: 'posix2_upe'; CtlType : CTLTYPE_INT ), 337 ( Name: 'stream_max'; CtlType : CTLTYPE_INT ), 338 ( Name: 'tzname_max'; CtlType : CTLTYPE_INT )); 339 340 CTL_P1003_1B_NAMES : array[0..25] of CTLNameRec = ( 341 ( Name: ''; CtlType: 0 ), 342 ( Name: 'asynchronous_io'; CtlType : CTLTYPE_INT ), 343 ( Name: 'mapped_files'; CtlType : CTLTYPE_INT ), 344 ( Name: 'memlock'; CtlType : CTLTYPE_INT ), 345 ( Name: 'memlock_range'; CtlType : CTLTYPE_INT ), 346 ( Name: 'memory_protection'; CtlType : CTLTYPE_INT ), 347 ( Name: 'message_passing'; CtlType : CTLTYPE_INT ), 348 ( Name: 'prioritized_io'; CtlType : CTLTYPE_INT ), 349 ( Name: 'priority_scheduling'; CtlType : CTLTYPE_INT ), 350 ( Name: 'realtime_signals'; CtlType : CTLTYPE_INT ), 351 ( Name: 'semaphores'; CtlType : CTLTYPE_INT ), 352 ( Name: 'fsync'; CtlType : CTLTYPE_INT ), 353 ( Name: 'shared_memory_objects'; CtlType : CTLTYPE_INT ), 354 ( Name: 'synchronized_io'; CtlType : CTLTYPE_INT ), 355 ( Name: 'timers'; CtlType : CTLTYPE_INT ), 356 ( Name: 'aio_listio_max'; CtlType : CTLTYPE_INT ), 357 ( Name: 'aio_max'; CtlType : CTLTYPE_INT ), 358 ( Name: 'aio_prio_delta_max'; CtlType : CTLTYPE_INT ), 359 ( Name: 'delaytimer_max'; CtlType : CTLTYPE_INT ), 360 ( Name: 'mq_open_max'; CtlType : CTLTYPE_INT ), 361 ( Name: 'pagesize'; CtlType : CTLTYPE_INT ), 362 ( Name: 'rtsig_max'; CtlType : CTLTYPE_INT ), 363 ( Name: 'nsems_max'; CtlType : CTLTYPE_INT ), 364 ( Name: 'sem_value_max'; CtlType : CTLTYPE_INT ), 365 ( Name: 'sigqueue_max'; CtlType : CTLTYPE_INT ), 366 ( Name: 'timer_max'; CtlType : CTLTYPE_INT )); 367 368 369const 370{ 371 * Types 372} 373 SOCK_STREAM = 1; { stream socket } 374 SOCK_DGRAM = 2; { datagram socket } 375 SOCK_RAW = 3; { raw-protocol interface } 376 SOCK_RDM = 4; { reliably-delivered message } 377 SOCK_SEQPACKET = 5; { sequenced packet stream } 378 379{ 380 * Address families. 381} 382 AF_UNSPEC = 0; { unspecified } 383 AF_LOCAL = 1; { local to host (Name:pipes;CtlType: portals) } 384 AF_UNIX = AF_LOCAL; { backward compatibility } 385 AF_INET = 2; { internetwork: UDP, TCP, etc. } 386 AF_IMPLINK = 3; { arpanet imp addresses } 387 AF_PUP = 4; { pup protocols: e.g. BSP } 388 AF_CHAOS = 5; { mit CHAOS protocols } 389 AF_NS = 6; { XEROX NS protocols } 390 AF_ISO = 7; { ISO protocols } 391 AF_OSI = AF_ISO; 392 AF_ECMA = 8; { European computer manufacturers } 393 AF_DATAKIT = 9; { datakit protocols } 394 AF_CCITT = 10; { CCITT protocols, X.25 etc } 395 AF_SNA = 11; { IBM SNA } 396 AF_DECnet = 12; { DECnet } 397 AF_DLI = 13; { DEC Direct data link interface } 398 AF_LAT = 14; { LAT } 399 AF_HYLINK = 15; { NSC Hyperchannel } 400 AF_APPLETALK = 16; { Apple Talk } 401 AF_ROUTE = 17; { Internal Routing Protocol } 402 AF_LINK = 18; { Link layer interface } 403 pseudo_AF_XTP = 19; { eXpress Transfer Protocol (Name:no AF) } 404 AF_COIP = 20; { connection-oriented IP, aka ST II } 405 AF_CNT = 21; { Computer Network Technology } 406 pseudo_AF_RTIP = 22; { Help Identify RTIP packets } 407 AF_IPX = 23; { Novell Internet Protocol } 408 AF_SIP = 24; { Simple Internet Protocol } 409 pseudo_AF_PIP = 25; { Help Identify PIP packets } 410 AF_ISDN = 26; { Integrated Services Digital Network} 411 AF_E164 = AF_ISDN; { CCITT E.164 recommendation } 412 pseudo_AF_KEY = 27; { Internal key-management function } 413 AF_INET6 = 28; { IPv6 } 414 AF_NATM = 29; { native ATM access } 415 AF_ATM = 30; { ATM } 416 pseudo_AF_HDRCMPLT = 31; { Used by BPF to not rewrite headers } 417 AF_NETGRAPH = 32; { Netgraph sockets } 418 AF_BLUETOOTH = 33; { Bluetooth } 419 AF_MPLS = 34; { Multi-Protocol Label Switching } 420 AF_IEEE80211 = 35; { IEEE 802.11 protocol } 421 422 AF_MAX = 36; 423 424{ 425 * Protocol families, same as address families for now. 426} 427 428{ 429 * Definitions for network related sysctl, CTL_NET. 430 * 431 * Second level is protocol family. 432 * Third level is protocol number. 433 * 434 * Further levels are defined by the individual families below. 435} 436 NET_MAXID = AF_MAX; 437 438 CTL_NET_NAMES : Array[0..33] OF CtlNameRec = ( 439 (Name: '';CtlType: 0 ), 440 (Name: 'unix';CtlType: CTLTYPE_NODE ), 441 (Name: 'inet';CtlType: CTLTYPE_NODE ), 442 (Name: 'implink';CtlType: CTLTYPE_NODE ), 443 (Name: 'pup';CtlType: CTLTYPE_NODE ), 444 (Name: 'chaos';CtlType: CTLTYPE_NODE ), 445 (Name: 'xerox_ns';CtlType: CTLTYPE_NODE ), 446 (Name: 'iso';CtlType: CTLTYPE_NODE ), 447 (Name: 'emca';CtlType: CTLTYPE_NODE ), 448 (Name: 'datakit';CtlType: CTLTYPE_NODE ), 449 (Name: 'ccitt';CtlType: CTLTYPE_NODE ), 450 (Name: 'ibm_sna';CtlType: CTLTYPE_NODE ), 451 (Name: 'decnet';CtlType: CTLTYPE_NODE ), 452 (Name: 'dec_dli';CtlType: CTLTYPE_NODE ), 453 (Name: 'lat';CtlType: CTLTYPE_NODE ), 454 (Name: 'hylink';CtlType: CTLTYPE_NODE ), 455 (Name: 'appletalk';CtlType: CTLTYPE_NODE ), 456 (Name: 'route';CtlType: CTLTYPE_NODE ), 457 (Name: 'link_layer';CtlType: CTLTYPE_NODE ), 458 (Name: 'xtp';CtlType: CTLTYPE_NODE ), 459 (Name: 'coip';CtlType: CTLTYPE_NODE ), 460 (Name: 'cnt';CtlType: CTLTYPE_NODE ), 461 (Name: 'rtip';CtlType: CTLTYPE_NODE ), 462 (Name: 'ipx';CtlType: CTLTYPE_NODE ), 463 (Name: 'sip';CtlType: CTLTYPE_NODE ), 464 (Name: 'pip';CtlType: CTLTYPE_NODE ), 465 (Name: 'isdn';CtlType: CTLTYPE_NODE ), 466 (Name: 'key';CtlType: CTLTYPE_NODE ), 467 (Name: 'inet6';CtlType: CTLTYPE_NODE ), 468 (Name: 'natm';CtlType: CTLTYPE_NODE ), 469 (Name: 'atm';CtlType: CTLTYPE_NODE ), 470 (Name: 'hdrcomplete';CtlType: CTLTYPE_NODE ), 471 (Name: 'netgraph';CtlType: CTLTYPE_NODE ), 472 (Name: 'bluetooth';CtlType: CTLTYPE_NODE )); 473 474{ 475 * PF_ROUTE - Routing table 476 * 477 * Three additional levels are defined: 478 * Fourth: address family, 0 is wildcard 479 * Fifth: type of info, defined below 480 * Sixth: flag(Name:s) to mask with for NET_RT_FLAGS 481} 482 NET_RT_DUMP = 1; { dump; may limit to a.f. } 483 NET_RT_FLAGS = 2; { by flags, e.g. RESOLVING } 484 NET_RT_IFLIST = 3; { survey interface list } 485 NET_RT_MAXID = 4; 486 487 CTL_NET_RT_NAMES : Array[0..3] OF CtlNameRec = ( 488 (Name: '';CtlType: 0 ), 489 (Name: 'dump';CtlType: CTLTYPE_STRUCT ), 490 (Name: 'flags';CtlType: CTLTYPE_STRUCT ), 491 (Name: 'iflist';CtlType: CTLTYPE_STRUCT )); 492 493{ 494 * Possible states of profiling. 495} 496 GMON_PROF_ON = 0; 497 GMON_PROF_BUSY = 1; 498 GMON_PROF_ERROR = 2; 499 GMON_PROF_OFF = 3; 500 GMON_PROF_HIRES = 4; 501 502{ 503 * Sysctl definitions for extracting profiling information from the kernel. 504} 505 GPROF_STATE = 0; { int: profiling enabling variable } 506 GPROF_COUNT = 1; { struct: profile tick count buffer } 507 GPROF_FROMS = 2; { struct: from location hash bucket } 508 GPROF_TOS = 3; { struct: destination/count structure } 509 GPROF_GMONPARAM = 4; { struct: profiling parameters (Name:see above) } 510 511{ 512 * CTL_VM identifiers 513} 514 VM_METER = 1; { struct vmmeter } 515 VM_LOADAVG = 2; { struct loadavg } 516 VM_V_FREE_MIN = 3; { cnt.v_free_min } 517 VM_V_FREE_TARGET = 4; { cnt.v_free_target } 518 VM_V_FREE_RESERVED = 5; { cnt.v_free_reserved } 519 VM_V_INACTIVE_TARGET = 6; { cnt.v_inactive_target } 520 VM_V_CACHE_MIN = 7; { cnt.v_cache_max } 521 VM_V_CACHE_MAX = 8; { cnt.v_cache_min } 522 VM_V_PAGEOUT_FREE_MIN = 9; { cnt.v_pageout_free_min } 523 VM_PAGEOUT_ALGORITHM = 10; { pageout algorithm } 524 VM_SWAPPING_ENABLED = 11; { swapping enabled } 525 VM_MAXID = 12; { number of valid vm ids } 526 527 CTL_VM_NAMES : Array[0..11] OF CtlNameRec = ( 528 (Name: '';CtlType: 0 ), 529 (Name: 'vmmeter';CtlType: CTLTYPE_STRUCT ), 530 (Name: 'loadavg';CtlType: CTLTYPE_STRUCT ), 531 (Name: 'v_free_min';CtlType: CTLTYPE_INT ), 532 (Name: 'v_free_target';CtlType: CTLTYPE_INT ), 533 (Name: 'v_free_reserved';CtlType: CTLTYPE_INT ), 534 (Name: 'v_inactive_target';CtlType: CTLTYPE_INT ), 535 (Name: 'v_cache_min';CtlType: CTLTYPE_INT ), 536 (Name: 'v_cache_max';CtlType: CTLTYPE_INT ), 537 (Name: 'v_pageout_free_min';CtlType: CTLTYPE_INT), 538 (Name: 'pageout_algorithm';CtlType: CTLTYPE_INT), 539 (Name: 'swapping_enabled';CtlType: CTLTYPE_INT)); 540 541{ 542 * Protocols (Name:RFC 1700) 543} 544 IPPROTO_IP = 0; { dummy for IP } 545 IPPROTO_HOPOPTS = 0; { IP6 hop-by-hop options } 546 IPPROTO_ICMP = 1; { control message protocol } 547 IPPROTO_IGMP = 2; { group mgmt protocol } 548 IPPROTO_GGP = 3; { gateway^2 (Name:deprecated) } 549 IPPROTO_IPV4 = 4; { IPv4 encapsulation } 550 IPPROTO_IPIP = IPPROTO_IPV4; { for compatibility } 551 IPPROTO_TCP = 6; { tcp } 552 IPPROTO_ST = 7; { Stream protocol II } 553 IPPROTO_EGP = 8; { exterior gateway protocol } 554 IPPROTO_PIGP = 9; { private interior gateway } 555 IPPROTO_RCCMON = 10; { BBN RCC Monitoring } 556 IPPROTO_NVPII = 11; { network voice protocol} 557 IPPROTO_PUP = 12; { pup } 558 IPPROTO_ARGUS = 13; { Argus } 559 IPPROTO_EMCON = 14; { EMCON } 560 IPPROTO_XNET = 15; { Cross Net Debugger } 561 IPPROTO_CHAOS = 16; { Chaos} 562 IPPROTO_UDP = 17; { user datagram protocol } 563 IPPROTO_MUX = 18; { Multiplexing } 564 IPPROTO_MEAS = 19; { DCN Measurement Subsystems } 565 IPPROTO_HMP = 20; { Host Monitoring } 566 IPPROTO_PRM = 21; { Packet Radio Measurement } 567 IPPROTO_IDP = 22; { xns idp } 568 IPPROTO_TRUNK1 = 23; { Trunk-1 } 569 IPPROTO_TRUNK2 = 24; { Trunk-2 } 570 IPPROTO_LEAF1 = 25; { Leaf-1 } 571 IPPROTO_LEAF2 = 26; { Leaf-2 } 572 IPPROTO_RDP = 27; { Reliable Data } 573 IPPROTO_IRTP = 28; { Reliable Transaction } 574 IPPROTO_TP = 29; { tp-4 w/ class negotiation } 575 IPPROTO_BLT = 30; { Bulk Data Transfer } 576 IPPROTO_NSP = 31; { Network Services } 577 IPPROTO_INP = 32; { Merit Internodal } 578 IPPROTO_SEP = 33; { Sequential Exchange } 579 IPPROTO_3PC = 34; { Third Party Connect } 580 IPPROTO_IDPR = 35; { InterDomain Policy Routing } 581 IPPROTO_XTP = 36; { XTP } 582 IPPROTO_DDP = 37; { Datagram Delivery } 583 IPPROTO_CMTP = 38; { Control Message Transport } 584 IPPROTO_TPXX = 39; { TP++ Transport } 585 IPPROTO_IL = 40; { IL transport protocol } 586 IPPROTO_IPV6 = 41; { IP6 header } 587 IPPROTO_SDRP = 42; { Source Demand Routing } 588 IPPROTO_ROUTING = 43; { IP6 routing header } 589 IPPROTO_FRAGMENT = 44; { IP6 fragmentation header } 590 IPPROTO_IDRP = 45; { InterDomain Routing} 591 IPPROTO_RSVP = 46; { resource reservation } 592 IPPROTO_GRE = 47; { General Routing Encap. } 593 IPPROTO_MHRP = 48; { Mobile Host Routing } 594 IPPROTO_BHA = 49; { BHA } 595 IPPROTO_ESP = 50; { IP6 Encap Sec. Payload } 596 IPPROTO_AH = 51; { IP6 Auth Header } 597 IPPROTO_INLSP = 52; { Integ. Net Layer Security } 598 IPPROTO_SWIPE = 53; { IP with encryption } 599 IPPROTO_NHRP = 54; { Next Hop Resolution } 600{ 55-57: Unassigned } 601 IPPROTO_ICMPV6 = 58; { ICMP6 } 602 IPPROTO_NONE = 59; { IP6 no next header } 603 IPPROTO_DSTOPTS = 60; { IP6 destination option } 604 IPPROTO_AHIP = 61; { any host internal protocol } 605 IPPROTO_CFTP = 62; { CFTP } 606 IPPROTO_HELLO = 63; { 'hello' routing protocol } 607 IPPROTO_SATEXPAK = 64; { SATNET/Backroom EXPAK } 608 IPPROTO_KRYPTOLAN = 65; { Kryptolan } 609 IPPROTO_RVD = 66; { Remote Virtual Disk } 610 IPPROTO_IPPC = 67; { Pluribus Packet Core } 611 IPPROTO_ADFS = 68; { Any distributed FS } 612 IPPROTO_SATMON = 69; { Satnet Monitoring } 613 IPPROTO_VISA = 70; { VISA Protocol } 614 IPPROTO_IPCV = 71; { Packet Core Utility } 615 IPPROTO_CPNX = 72; { Comp. Prot. Net. Executive } 616 IPPROTO_CPHB = 73; { Comp. Prot. HeartBeat } 617 IPPROTO_WSN = 74; { Wang Span Network } 618 IPPROTO_PVP = 75; { Packet Video Protocol } 619 IPPROTO_BRSATMON = 76; { BackRoom SATNET Monitoring } 620 IPPROTO_ND = 77; { Sun net disk proto (Name:temp.) } 621 IPPROTO_WBMON = 78; { WIDEBAND Monitoring } 622 IPPROTO_WBEXPAK = 79; { WIDEBAND EXPAK } 623 IPPROTO_EON = 80; { ISO cnlp } 624 IPPROTO_VMTP = 81; { VMTP } 625 IPPROTO_SVMTP = 82; { Secure VMTP } 626 IPPROTO_VINES = 83; { Banyon VINES } 627 IPPROTO_TTP = 84; { TTP } 628 IPPROTO_IGP = 85; { NSFNET-IGP } 629 IPPROTO_DGP = 86; { dissimilar gateway prot. } 630 IPPROTO_TCF = 87; { TCF } 631 IPPROTO_IGRP = 88; { Cisco/GXS IGRP } 632 IPPROTO_OSPFIGP = 89; { OSPFIGP } 633 IPPROTO_SRPC = 90; { Strite RPC protocol } 634 IPPROTO_LARP = 91; { Locus Address Resoloution } 635 IPPROTO_MTP = 92; { Multicast Transport } 636 IPPROTO_AX25 = 93; { AX.25 Frames } 637 IPPROTO_IPEIP = 94; { IP encapsulated in IP } 638 IPPROTO_MICP = 95; { Mobile Int.ing control } 639 IPPROTO_SCCSP = 96; { Semaphore Comm. security } 640 IPPROTO_ETHERIP = 97; { Ethernet IP encapsulation } 641 IPPROTO_ENCAP = 98; { encapsulation header } 642 IPPROTO_APES = 99; { any private encr. scheme } 643 IPPROTO_GMTP = 100; { GMTP} 644 IPPROTO_IPCOMP = 108; { payload compression (Name:IPComp) } 645{ 101-254: Partly Unassigned } 646 IPPROTO_PIM = 103; { Protocol Independent Mcast } 647 IPPROTO_PGM = 113; { PGM } 648{ 255: Reserved } 649{ BSD Private, local use, namespace incursion } 650 IPPROTO_DIVERT = 254; { divert pseudo-protocol } 651 IPPROTO_RAW = 255; { raw IP packet } 652 IPPROTO_MAX = 256; 653 654{ last return value of *_input(Name:);CtlType: meaning 'all job for this pkt is done'. } 655 IPPROTO_DONE = 257; 656 657 658{ 659 * Options for use with [gs]etsockopt at the IP level. 660 * First word of comment is data type; bool is stored in int. 661} 662 IP_OPTIONS = 1; { buf/ip_opts; set/get IP options } 663 IP_HDRINCL = 2; { int; header is included with data } 664 IP_TOS = 3; { int; IP type of service and preced. } 665 IP_TTL = 4; { int; IP time to live } 666 IP_RECVOPTS = 5; { bool; receive all IP opts w/dgram } 667 IP_RECVRETOPTS = 6; { bool; receive IP opts for response } 668 IP_RECVDSTADDR = 7; { bool; receive IP dst addr w/dgram } 669 IP_RETOPTS = 8; { ip_opts; set/get IP options } 670 IP_MULTICAST_IF = 9; { u_char; set/get IP multicast i/f } 671 IP_MULTICAST_TTL = 10; { u_char; set/get IP multicast ttl } 672 IP_MULTICAST_LOOP = 11; { u_char; set/get IP multicast loopback } 673 IP_ADD_MEMBERSHIP = 12; { ip_mreq; add an IP group membership } 674 IP_DROP_MEMBERSHIP = 13; { ip_mreq; drop an IP group membership } 675 IP_MULTICAST_VIF = 14; { set/get IP mcast virt. iface } 676 IP_RSVP_ON = 15; { enable RSVP in kernel } 677 IP_RSVP_OFF = 16; { disable RSVP in kernel } 678 IP_RSVP_VIF_ON = 17; { set RSVP per-vif socket } 679 IP_RSVP_VIF_OFF = 18; { unset RSVP per-vif socket } 680 IP_PORTRANGE = 19; { int; range to choose for unspec port } 681 IP_RECVIF = 20; { bool; receive reception if w/dgram } 682{ for IPSEC } 683 IP_IPSEC_POLICY = 21; { int; set/get security policy } 684 IP_FAITH = 22; { bool; accept FAITH'ed connections } 685 686 IP_FW_ADD = 50; { add a firewall rule to chain } 687 IP_FW_DEL = 51; { delete a firewall rule from chain } 688 IP_FW_FLUSH = 52; { flush firewall rule chain } 689 IP_FW_ZERO = 53; { clear single/all firewall counter(Name:s) } 690 IP_FW_GET = 54; { get entire firewall rule chain } 691 IP_FW_RESETLOG = 55; { reset logging counters } 692 693 IP_DUMMYNET_CONFIGURE = 60; { add/configure a dummynet pipe } 694 IP_DUMMYNET_DEL = 61; { delete a dummynet pipe from chain } 695 IP_DUMMYNET_FLUSH = 62; { flush dummynet } 696 IP_DUMMYNET_GET = 64; { get entire dummynet pipes } 697 698 IP_RECVTTL = 65; { bool; receive IP TTL } 699 IP_MINTTL = 66; { minimum TTL for packet or drop } 700 701{ 702 * Defaults and limits for options 703} 704 IP_DEFAULT_MULTICAST_TTL = 1; { normally limit m'casts to 1 hop } 705 IP_DEFAULT_MULTICAST_LOOP = 1; { normally hear sends if a member } 706 IP_MAX_MEMBERSHIPS = 20; { per socket } 707 708{ 709 * Argument for IP_PORTRANGE: 710 * - which range to search when port is unspecified at bind(Name:) or connect() 711} 712 IP_PORTRANGE_DEFAULT = 0; { default range } 713 IP_PORTRANGE_HIGH = 1; { 'high' - request firewall bypass } 714 IP_PORTRANGE_LOW = 2; { 'low' - vouchsafe security } 715 716{ 717 * Definitions for inet sysctl operations. 718 * 719 * Third level is protocol number. 720 * Fourth level is desired variable within that protocol. 721} 722 IPPROTO_MAXID = (IPPROTO_AH + 1); { don't list to IPPROTO_MAX } 723 724 CTL_IPPROTO_NAMES : Array[0..51] OF CtlNameRec = ( 725 (Name: 'ip';CtlType: CTLTYPE_NODE ), 726 (Name: 'icmp';CtlType: CTLTYPE_NODE ), 727 (Name: 'igmp';CtlType: CTLTYPE_NODE ), 728 (Name: 'ggp';CtlType: CTLTYPE_NODE ), 729 (Name: '';CtlType: 0 ), 730 (Name: '';CtlType: 0 ), 731 (Name: 'tcp';CtlType: CTLTYPE_NODE ), 732 (Name: '';CtlType: 0 ), 733 (Name: 'egp';CtlType: CTLTYPE_NODE ), 734 (Name: '';CtlType: 0 ), 735 (Name: '';CtlType: 0 ), 736 (Name: '';CtlType: 0 ), 737 (Name: 'pup';CtlType: CTLTYPE_NODE ), 738 (Name: '';CtlType: 0 ), 739 (Name: '';CtlType: 0 ), 740 (Name: '';CtlType: 0 ), 741 (Name: '';CtlType: 0 ), 742 (Name: 'udp';CtlType: CTLTYPE_NODE ), 743 (Name: '';CtlType: 0 ), 744 (Name: '';CtlType: 0 ), 745 (Name: '';CtlType: 0 ), 746 (Name: '';CtlType: 0 ), 747 (Name: 'idp';CtlType: CTLTYPE_NODE ), 748 (Name: '';CtlType: 0 ), 749 (Name: '';CtlType: 0 ), 750 (Name: '';CtlType: 0 ), 751 (Name: '';CtlType: 0 ), 752 (Name: '';CtlType: 0 ), 753 (Name: '';CtlType: 0 ), 754 (Name: '';CtlType: 0 ), 755 (Name: '';CtlType: 0 ), 756 (Name: '';CtlType: 0 ), 757 (Name: '';CtlType: 0 ), 758 (Name: '';CtlType: 0 ), 759 (Name: '';CtlType: 0 ), 760 (Name: '';CtlType: 0 ), 761 (Name: '';CtlType: 0 ), 762 (Name: '';CtlType: 0 ), 763 (Name: '';CtlType: 0 ), 764 (Name: '';CtlType: 0 ), 765 (Name: '';CtlType: 0 ), 766 (Name: '';CtlType: 0 ), 767 (Name: '';CtlType: 0 ), 768 (Name: '';CtlType: 0 ), 769 (Name: '';CtlType: 0 ), 770 (Name: '';CtlType: 0 ), 771 (Name: '';CtlType: 0 ), 772 (Name: '';CtlType: 0 ), 773 (Name: '';CtlType: 0 ), 774 (Name: '';CtlType: 0 ), 775 (Name: '';CtlType: 0 ), 776 (Name: 'ipsec';CtlType: CTLTYPE_NODE )); 777 778{ 779 * Names for IP sysctl objects 780} 781 IPCTL_FORWARDING = 1; { act as router } 782 IPCTL_SENDREDIRECTS = 2; { may send redirects when forwarding } 783 IPCTL_DEFTTL = 3; { default TTL } 784{$ifdef notyettunable} 785 IPCTL_DEFMTU = 4; { default MTU } 786{$endif} 787 IPCTL_RTEXPIRE = 5; { cloned route expiration time } 788 IPCTL_RTMINEXPIRE = 6; { min value for expiration time } 789 IPCTL_RTMAXCACHE = 7; { trigger level for dynamic expire } 790 IPCTL_SOURCEROUTE = 8; { may perform source routes } 791 IPCTL_DIRECTEDBROADCAST = 9; { may re-broadcast received packets } 792 IPCTL_INTRQMAXLEN = 10; { max length of netisr queue } 793 IPCTL_INTRQDROPS = 11; { number of netisr q drops } 794 IPCTL_STATS = 12; { ipstat structure } 795 IPCTL_ACCEPTSOURCEROUTE = 13; { may accept source routed packets } 796 IPCTL_FASTFORWARDING = 14; { use fast IP forwarding code } 797 IPCTL_KEEPFAITH = 15; { FAITH IPv4->IPv6 translater ctl } 798 IPCTL_GIF_TTL = 16; { default TTL for gif encap packet } 799 IPCTL_MAXID = 17; 800 801 IPCTL_NAMES : Array[0..14] OF CtlNameRec = ( 802 (Name: '';CtlType: 0 ), 803 (Name: 'forwarding';CtlType: CTLTYPE_INT ), 804 (Name: 'redirect';CtlType: CTLTYPE_INT ), 805 (Name: 'ttl';CtlType: CTLTYPE_INT ), 806 (Name: 'mtu';CtlType: CTLTYPE_INT ), 807 (Name: 'rtexpire';CtlType: CTLTYPE_INT ), 808 (Name: 'rtminexpire';CtlType: CTLTYPE_INT ), 809 (Name: 'rtmaxcache';CtlType: CTLTYPE_INT ), 810 (Name: 'sourceroute';CtlType: CTLTYPE_INT ), 811 (Name: 'directed-broadcast';CtlType: CTLTYPE_INT ), 812 (Name: 'intr-queue-maxlen';CtlType: CTLTYPE_INT ), 813 (Name: 'intr-queue-drops';CtlType: CTLTYPE_INT ), 814 (Name: 'stats';CtlType: CTLTYPE_STRUCT ), 815 (Name: 'accept_sourceroute';CtlType: CTLTYPE_INT ), 816 (Name: 'fastforwarding';CtlType: CTLTYPE_INT )); 817 818{ 819 * Names for ICMP sysctl objects 820} 821 ICMPCTL_MASKREPL = 1; { allow replies to netmask requests } 822 ICMPCTL_STATS = 2; { statistics (Name:read-only) } 823 ICMPCTL_ICMPLIM = 3; 824 ICMPCTL_MAXID = 4; 825 826 ICMPCTL_NAMES : Array[0..3] OF CtlNameRec = ( 827 (Name: '';CtlType: 0 ), 828 (Name: 'maskrepl';CtlType: CTLTYPE_INT ), 829 (Name: 'stats';CtlType: CTLTYPE_STRUCT ), 830 (Name: 'icmplim';CtlType: CTLTYPE_INT )); 831 832{ 833 * Names for ICMP sysctl objects 834} 835 ICMPV6CTL_STATS = 1; 836 ICMPV6CTL_REDIRACCEPT = 2; { accept/process redirects } 837 ICMPV6CTL_REDIRTIMEOUT = 3; { redirect cache time } 838{$ifdef obsolete} {obsoleted} 839 ICMPV6CTL_ERRRATELIMIT = 5; { ICMPv6 error rate limitation } 840{$endif} 841 ICMPV6CTL_ND6_PRUNE = 6; 842 ICMPV6CTL_ND6_DELAY = 8; 843 ICMPV6CTL_ND6_UMAXTRIES = 9; 844 ICMPV6CTL_ND6_MMAXTRIES = 10; 845 ICMPV6CTL_ND6_USELOOPBACK = 11; 846//define ICMPV6CTL_ND6_PROXYALL = 12; obsoleted, do not reuse here 847 ICMPV6CTL_NODEINFO = 13; 848 ICMPV6CTL_ERRPPSLIMIT = 14; { ICMPv6 error pps limitation } 849 ICMPV6CTL_ND6_MAXNUDHINT= 15; 850 ICMPV6CTL_MTUDISC_HIWAT = 16; 851 ICMPV6CTL_MTUDISC_LOWAT = 17; 852 ICMPV6CTL_ND6_DEBUG = 18; 853 ICMPV6CTL_ND6_DRLIST = 19; 854 ICMPV6CTL_ND6_PRLIST = 20; 855 ICMPV6CTL_MAXID = 21; 856 857 ICMPV6CTL_NAMES : Array[0..20] OF CtlNameRec = ( 858 (Name: '';CtlType: 0 ), 859 (Name: '';CtlType: 0 ), 860 (Name: 'rediraccept';CtlType: CTLTYPE_INT ), 861 (Name: 'redirtimeout';CtlType: CTLTYPE_INT ), 862 (Name: '';CtlType: 0 ), 863 (Name: '';CtlType: 0 ), 864 (Name: 'nd6_prune';CtlType: CTLTYPE_INT ), 865 (Name: '';CtlType: 0 ), 866 (Name: 'nd6_delay';CtlType: CTLTYPE_INT ), 867 (Name: 'nd6_umaxtries';CtlType: CTLTYPE_INT ), 868 (Name: 'nd6_mmaxtries';CtlType: CTLTYPE_INT ), 869 (Name: 'nd6_useloopback';CtlType: CTLTYPE_INT ), 870 (Name: '';CtlType: 0 ), 871 (Name: 'nodeinfo';CtlType: CTLTYPE_INT ), 872 (Name: 'errppslimit';CtlType: CTLTYPE_INT ), 873 (Name: 'nd6_maxnudhint';CtlType: CTLTYPE_INT ), 874 (Name: 'mtudisc_hiwat';CtlType: CTLTYPE_INT ), 875 (Name: 'mtudisc_lowat';CtlType: CTLTYPE_INT ), 876 (Name: 'nd6_debug';CtlType: CTLTYPE_INT ), 877 (Name: '';CtlType: 0 ), 878 (Name: '';CtlType: 0 )); 879 880 881{ 882 * Names for UDP sysctl objects 883} 884 UDPCTL_CHECKSUM = 1; { checksum UDP packets } 885 UDPCTL_STATS = 2; { statistics (Name:read-only) } 886 UDPCTL_MAXDGRAM = 3; { max datagram size } 887 UDPCTL_RECVSPACE = 4; { default receive buffer space } 888 UDPCTL_PCBLIST = 5; { list of PCBs for UDP sockets } 889 UDPCTL_MAXID = 6; 890 891 UDPCTL_NAMES : Array[0..5] OF CtlNameRec = ( 892 (Name: '';CtlType: 0 ), 893 (Name: 'checksum';CtlType: CTLTYPE_INT ), 894 (Name: 'stats';CtlType: CTLTYPE_STRUCT ), 895 (Name: 'maxdgram';CtlType: CTLTYPE_INT ), 896 (Name: 'recvspace';CtlType: CTLTYPE_INT ), 897 (Name: 'pcblist';CtlType: CTLTYPE_STRUCT )); 898 899