~ubuntu-branches/debian/lenny/fpc/lenny

« back to all changes in this revision

Viewing changes to fpcsrc/rtl/netbsd/sysctlh.inc

  • Committer: Bazaar Package Importer
  • Author(s): Mazen Neifer, Torsten Werner, Mazen Neifer
  • Date: 2008-05-17 17:12:11 UTC
  • mfrom: (3.1.9 intrepid)
  • Revision ID: james.westby@ubuntu.com-20080517171211-9qi33xhd9evfa0kg
Tags: 2.2.0-dfsg1-9
[ Torsten Werner ]
* Add Mazen Neifer to Uploaders field.

[ Mazen Neifer ]
* Moved FPC sources into a version dependent directory from /usr/share/fpcsrc
  to /usr/share/fpcsrc/${FPCVERSION}. This allow installing more than on FPC
  release.
* Fixed far call issue in compiler preventing building huge binearies.
  (closes: #477743)
* Updated building dependencies, recomennded and suggested packages.
* Moved fppkg to fp-utils as it is just a helper tool and is not required by
  compiler.

Show diffs side-by-side

added added

removed removed

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