Blame view

include/linux/sysctl.h 31 KB
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1
2
3
4
5
6
7
8
  /*
   * sysctl.h: General linux system control interface
   *
   * Begun 24 March 1995, Stephen Tweedie
   *
   ****************************************************************
   ****************************************************************
   **
7cc13edc1   Eric W. Biederman   [PATCH] sysctl: i...
9
   **  WARNING:
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
10
   **  The values in this file are exported to user space via 
7cc13edc1   Eric W. Biederman   [PATCH] sysctl: i...
11
12
13
   **  the sysctl() binary interface.  Do *NOT* change the
   **  numbering of any existing values here, and do not change
   **  any numbers within any one set of values.  If you have to
93aec2040   Rolf Eike Beer   Remove duplicate ...
14
   **  redefine an existing interface, use a new number for it.
7cc13edc1   Eric W. Biederman   [PATCH] sysctl: i...
15
16
17
   **  The kernel will then return -ENOTDIR to any application using
   **  the old binary interface.
   **
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
18
19
20
21
22
23
24
25
26
   ****************************************************************
   ****************************************************************
   */
  
  #ifndef _LINUX_SYSCTL_H
  #define _LINUX_SYSCTL_H
  
  #include <linux/kernel.h>
  #include <linux/types.h>
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
27
  #include <linux/compiler.h>
330d57fb9   Al Viro   [PATCH] Fix sysct...
28
  struct completion;
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
  
  #define CTL_MAXNAME 10		/* how many path components do we allow in a
  				   call to sysctl?   In other words, what is
  				   the largest acceptable value for the nlen
  				   member of a struct __sysctl_args to have? */
  
  struct __sysctl_args {
  	int __user *name;
  	int nlen;
  	void __user *oldval;
  	size_t __user *oldlenp;
  	void __user *newval;
  	size_t newlen;
  	unsigned long __unused[4];
  };
  
  /* Define sysctl names first */
  
  /* Top-level names: */
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
48
49
50
51
52
  enum
  {
  	CTL_KERN=1,		/* General kernel info and control */
  	CTL_VM=2,		/* VM management */
  	CTL_NET=3,		/* Networking */
0d0ed42e5   Alexey Dobriyan   Add CTL_PROC back
53
  	CTL_PROC=4,		/* removal breaks strace(1) compilation */
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
54
55
56
57
58
  	CTL_FS=5,		/* Filesystems */
  	CTL_DEBUG=6,		/* Debugging */
  	CTL_DEV=7,		/* Devices */
  	CTL_BUS=8,		/* Busses */
  	CTL_ABI=9,		/* Binary emulation */
50d851f72   Eric W. Biederman   [PATCH] sysctl: m...
59
  	CTL_CPU=10,		/* CPU stuff (speed scaling, etc) */
59fc5313b   Eric W. Biederman   [PATCH] sysctl: r...
60
  	CTL_ARLAN=254,		/* arlan wireless driver */
feceb63ec   Eric W. Biederman   [PATCH] sysctl: s...
61
  	CTL_S390DBF=5677,	/* s390 debug */
50d851f72   Eric W. Biederman   [PATCH] sysctl: m...
62
  	CTL_SUNRPC=7249,	/* sunrpc debug */
462591b88   Eric W. Biederman   [PATCH] sysctl: m...
63
  	CTL_PM=9899,		/* frv power management */
77f6dfb12   Eric W. Biederman   [PATCH] sysctl: m...
64
  	CTL_FRV=9898,		/* frv specific sysctls */
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
65
66
67
68
69
70
71
  };
  
  /* CTL_BUS names: */
  enum
  {
  	CTL_BUS_ISA=1		/* ISA */
  };
0399cb08c   Robert Love   [PATCH] inotify: ...
72
  /* /proc/sys/fs/inotify/ */
0eeca2830   Robert Love   [PATCH] inotify
73
74
  enum
  {
0399cb08c   Robert Love   [PATCH] inotify: ...
75
76
77
  	INOTIFY_MAX_USER_INSTANCES=1,	/* max instances per user */
  	INOTIFY_MAX_USER_WATCHES=2,	/* max watches per user */
  	INOTIFY_MAX_QUEUED_EVENTS=3	/* max queued events per instance */
0eeca2830   Robert Love   [PATCH] inotify
78
  };
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
79
80
81
82
83
84
85
86
87
  /* CTL_KERN names: */
  enum
  {
  	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_SECUREMASK=5,	/* struct: maximum rights mask */
  	KERN_PROF=6,		/* table: profiling information */
8a7477035   Thadeu Lima de Souza Cascardo   sysctl: add missi...
88
89
  	KERN_NODENAME=7,	/* string: hostname */
  	KERN_DOMAINNAME=8,	/* string: domainname */
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
90

1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
91
92
93
94
95
96
97
98
99
100
  	KERN_PANIC=15,		/* int: panic timeout */
  	KERN_REALROOTDEV=16,	/* real root device to mount after initrd */
  
  	KERN_SPARC_REBOOT=21,	/* reboot command on Sparc */
  	KERN_CTLALTDEL=22,	/* int: allow ctl-alt-del to reboot */
  	KERN_PRINTK=23,		/* struct: control printk logging parameters */
  	KERN_NAMETRANS=24,	/* Name translation */
  	KERN_PPC_HTABRECLAIM=25, /* turn htab reclaimation on/off on PPC */
  	KERN_PPC_ZEROPAGED=26,	/* turn idle page zeroing on/off on PPC */
  	KERN_PPC_POWERSAVE_NAP=27, /* use nap mode for power saving */
8a7477035   Thadeu Lima de Souza Cascardo   sysctl: add missi...
101
102
  	KERN_MODPROBE=28,	/* string: modprobe path */
  	KERN_SG_BIG_BUFF=29,	/* int: sg driver reserved buffer size */
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
  	KERN_ACCT=30,		/* BSD process accounting parameters */
  	KERN_PPC_L2CR=31,	/* l2cr register on PPC */
  
  	KERN_RTSIGNR=32,	/* Number of rt sigs queued */
  	KERN_RTSIGMAX=33,	/* Max queuable */
  	
  	KERN_SHMMAX=34,         /* long: Maximum shared memory segment */
  	KERN_MSGMAX=35,         /* int: Maximum size of a messege */
  	KERN_MSGMNB=36,         /* int: Maximum message queue size */
  	KERN_MSGPOOL=37,        /* int: Maximum system message pool size */
  	KERN_SYSRQ=38,		/* int: Sysreq enable */
  	KERN_MAX_THREADS=39,	/* int: Maximum nr of threads in the system */
   	KERN_RANDOM=40,		/* Random driver */
   	KERN_SHMALL=41,		/* int: Maximum size of shared memory */
   	KERN_MSGMNI=42,		/* int: msg queue identifiers */
   	KERN_SEM=43,		/* struct: sysv semaphore limits */
   	KERN_SPARC_STOP_A=44,	/* int: Sparc Stop-A enable */
   	KERN_SHMMNI=45,		/* int: shm array identifiers */
  	KERN_OVERFLOWUID=46,	/* int: overflow UID */
  	KERN_OVERFLOWGID=47,	/* int: overflow GID */
  	KERN_SHMPATH=48,	/* string: path to shm fs */
312c004d3   Kay Sievers   [PATCH] driver co...
124
  	KERN_HOTPLUG=49,	/* string: path to uevent helper (deprecated) */
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
  	KERN_IEEE_EMULATION_WARNINGS=50, /* int: unimplemented ieee instructions */
  	KERN_S390_USER_DEBUG_LOGGING=51,  /* int: dumps of user faults */
  	KERN_CORE_USES_PID=52,		/* int: use core or core.%pid */
  	KERN_TAINTED=53,	/* int: various kernel tainted flags */
  	KERN_CADPID=54,		/* int: PID of the process to notify on CAD */
  	KERN_PIDMAX=55,		/* int: PID # limit */
    	KERN_CORE_PATTERN=56,	/* string: pattern for core-file names */
  	KERN_PANIC_ON_OOPS=57,  /* int: whether we will panic on an oops */
  	KERN_HPPA_PWRSW=58,	/* int: hppa soft-power enable */
  	KERN_HPPA_UNALIGNED=59,	/* int: hppa unaligned-trap enable */
  	KERN_PRINTK_RATELIMIT=60, /* int: tune printk ratelimiting */
  	KERN_PRINTK_RATELIMIT_BURST=61,	/* int: tune printk ratelimiting */
  	KERN_PTY=62,		/* dir: pty driver */
  	KERN_NGROUPS_MAX=63,	/* int: NGROUPS_MAX */
  	KERN_SPARC_SCONS_PWROFF=64, /* int: serial console power-off halt */
  	KERN_HZ_TIMER=65,	/* int: hz timer on or off */
  	KERN_UNKNOWN_NMI_PANIC=66, /* int: unknown nmi panic flag */
  	KERN_BOOTLOADER_TYPE=67, /* int: boot loader type */
  	KERN_RANDOMIZE=68, /* int: randomize virtual address space */
d6e711448   Alan Cox   [PATCH] setuid co...
144
  	KERN_SETUID_DUMPABLE=69, /* int: behaviour of dumps for setuid core */
951f22d5b   Martin Schwidefsky   [PATCH] s390: spi...
145
  	KERN_SPIN_RETRY=70,	/* int: number of spinlock retries */
c255d844d   Pavel Machek   [PATCH] suspend-t...
146
  	KERN_ACPI_VIDEO_FLAGS=71, /* int: flags for setting up video after ACPI sleep */
d2b176ed8   Jes Sorensen   [IA64] sysctl opt...
147
  	KERN_IA64_UNALIGNED=72, /* int: ia64 unaligned userland trap enable */
bebfa1013   Andi Kleen   [PATCH] x86_64: A...
148
  	KERN_COMPAT_LOG=73,	/* int: print compat layer  messages */
8a7477035   Thadeu Lima de Souza Cascardo   sysctl: add missi...
149
  	KERN_MAX_LOCK_DEPTH=74, /* int: rtmutex's maximum lock depth */
407984f1a   Don Zickus   [PATCH] x86: Add ...
150
  	KERN_NMI_WATCHDOG=75, /* int: enable/disable nmi watchdog */
8da5adda9   Don Zickus   [PATCH] x86: Allo...
151
  	KERN_PANIC_ON_NMI=76, /* int: whether we will panic on an unrecovered */
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
152
  };
bebfa1013   Andi Kleen   [PATCH] x86_64: A...
153

1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
  /* CTL_VM names: */
  enum
  {
  	VM_UNUSED1=1,		/* was: struct: Set vm swapping control */
  	VM_UNUSED2=2,		/* was; int: Linear or sqrt() swapout for hogs */
  	VM_UNUSED3=3,		/* was: struct: Set free page thresholds */
  	VM_UNUSED4=4,		/* Spare */
  	VM_OVERCOMMIT_MEMORY=5,	/* Turn off the virtual memory safety limit */
  	VM_UNUSED5=6,		/* was: struct: Set buffer memory thresholds */
  	VM_UNUSED7=7,		/* was: struct: Set cache memory thresholds */
  	VM_UNUSED8=8,		/* was: struct: Control kswapd behaviour */
  	VM_UNUSED9=9,		/* was: struct: Set page table cache parameters */
  	VM_PAGE_CLUSTER=10,	/* int: set number of pages to swap together */
  	VM_DIRTY_BACKGROUND=11,	/* dirty_background_ratio */
  	VM_DIRTY_RATIO=12,	/* dirty_ratio */
  	VM_DIRTY_WB_CS=13,	/* dirty_writeback_centisecs */
  	VM_DIRTY_EXPIRE_CS=14,	/* dirty_expire_centisecs */
  	VM_NR_PDFLUSH_THREADS=15, /* nr_pdflush_threads */
  	VM_OVERCOMMIT_RATIO=16, /* percent of RAM to allow overcommit in */
  	VM_PAGEBUF=17,		/* struct: Control pagebuf parameters */
  	VM_HUGETLB_PAGES=18,	/* int: Number of available Huge Pages */
  	VM_SWAPPINESS=19,	/* Tendency to steal mapped memory */
  	VM_LOWMEM_RESERVE_RATIO=20,/* reservation ratio for lower memory zones */
  	VM_MIN_FREE_KBYTES=21,	/* Minimum free kilobytes to maintain */
  	VM_MAX_MAP_COUNT=22,	/* int: Maximum number of mmaps/address-space */
  	VM_LAPTOP_MODE=23,	/* vm laptop mode */
  	VM_BLOCK_DUMP=24,	/* block dump mode */
  	VM_HUGETLB_GROUP=25,	/* permitted hugetlb group */
  	VM_VFS_CACHE_PRESSURE=26, /* dcache/icache reclaim pressure */
  	VM_LEGACY_VA_LAYOUT=27, /* legacy/compatibility virtual address space layout */
  	VM_SWAP_TOKEN_TIMEOUT=28, /* default time for token time out */
9d0243bca   Andrew Morton   [PATCH] drop-page...
185
  	VM_DROP_PAGECACHE=29,	/* int: nuke lots of pagecache */
8ad4b1fb8   Rohit Seth   [PATCH] Make high...
186
  	VM_PERCPU_PAGELIST_FRACTION=30,/* int: fraction of pages in each percpu_pagelist */
2a11ff06d   Christoph Lameter   [PATCH] zone_recl...
187
  	VM_ZONE_RECLAIM_MODE=31, /* reclaim local zone memory before going off node */
9614634fe   Christoph Lameter   [PATCH] ZVC/zone_...
188
  	VM_MIN_UNMAPPED=32,	/* Set min percent of unmapped pages */
fadd8fbd1   KAMEZAWA Hiroyuki   [PATCH] support f...
189
  	VM_PANIC_ON_OOM=33,	/* panic at out-of-memory */
e6e5494cb   Ingo Molnar   [PATCH] vdso: ran...
190
  	VM_VDSO_ENABLED=34,	/* map VDSO into new processes? */
0ff38490c   Christoph Lameter   [PATCH] zone_recl...
191
  	VM_MIN_SLAB=35,		 /* Percent pages ignored by zone reclaim */
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
  };
  
  
  /* CTL_NET names: */
  enum
  {
  	NET_CORE=1,
  	NET_ETHER=2,
  	NET_802=3,
  	NET_UNIX=4,
  	NET_IPV4=5,
  	NET_IPX=6,
  	NET_ATALK=7,
  	NET_NETROM=8,
  	NET_AX25=9,
  	NET_BRIDGE=10,
  	NET_ROSE=11,
  	NET_IPV6=12,
  	NET_X25=13,
  	NET_TR=14,
  	NET_DECNET=15,
  	NET_ECONET=16,
590232a71   Arnaldo Carvalho de Melo   [LLC]: Add sysctl...
214
215
  	NET_SCTP=17,
  	NET_LLC=18,
9fb9cbb10   Yasuyuki Kozakai   [NETFILTER]: Add ...
216
  	NET_NETFILTER=19,
e55d912f5   Arnaldo Carvalho de Melo   [DCCP] feat: Intr...
217
  	NET_DCCP=20,
f429cd37a   Eric W. Biederman   sysctl: properly ...
218
  	NET_IRDA=412,
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
  };
  
  /* /proc/sys/kernel/random */
  enum
  {
  	RANDOM_POOLSIZE=1,
  	RANDOM_ENTROPY_COUNT=2,
  	RANDOM_READ_THRESH=3,
  	RANDOM_WRITE_THRESH=4,
  	RANDOM_BOOT_ID=5,
  	RANDOM_UUID=6
  };
  
  /* /proc/sys/kernel/pty */
  enum
  {
  	PTY_MAX=1,
  	PTY_NR=2
  };
  
  /* /proc/sys/bus/isa */
  enum
  {
  	BUS_ISA_MEM_BASE=1,
  	BUS_ISA_PORT_BASE=2,
  	BUS_ISA_PORT_SHIFT=3
  };
  
  /* /proc/sys/net/core */
  enum
  {
  	NET_CORE_WMEM_MAX=1,
  	NET_CORE_RMEM_MAX=2,
  	NET_CORE_WMEM_DEFAULT=3,
  	NET_CORE_RMEM_DEFAULT=4,
  /* was	NET_CORE_DESTROY_DELAY */
  	NET_CORE_MAX_BACKLOG=6,
  	NET_CORE_FASTROUTE=7,
  	NET_CORE_MSG_COST=8,
  	NET_CORE_MSG_BURST=9,
  	NET_CORE_OPTMEM_MAX=10,
  	NET_CORE_HOT_LIST_LENGTH=11,
  	NET_CORE_DIVERT_VERSION=12,
  	NET_CORE_NO_CONG_THRESH=13,
  	NET_CORE_NO_CONG=14,
  	NET_CORE_LO_CONG=15,
  	NET_CORE_MOD_CONG=16,
  	NET_CORE_DEV_WEIGHT=17,
  	NET_CORE_SOMAXCONN=18,
51b0bdedb   Stephen Hemminger   [NET]: Separate t...
268
  	NET_CORE_BUDGET=19,
f8cd54884   Jamal Hadi Salim   [IPSEC]: Sync ser...
269
270
  	NET_CORE_AEVENT_ETIME=20,
  	NET_CORE_AEVENT_RSEQTH=21,
a2a316fd0   Stephen Hemminger   [NET]: Replace CO...
271
  	NET_CORE_WARNINGS=22,
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
272
273
274
275
276
277
278
279
280
281
282
283
284
285
  };
  
  /* /proc/sys/net/ethernet */
  
  /* /proc/sys/net/802 */
  
  /* /proc/sys/net/unix */
  
  enum
  {
  	NET_UNIX_DESTROY_DELAY=1,
  	NET_UNIX_DELETE_DELAY=2,
  	NET_UNIX_MAX_DGRAM_QLEN=3,
  };
9fb9cbb10   Yasuyuki Kozakai   [NETFILTER]: Add ...
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
  /* /proc/sys/net/netfilter */
  enum
  {
  	NET_NF_CONNTRACK_MAX=1,
  	NET_NF_CONNTRACK_TCP_TIMEOUT_SYN_SENT=2,
  	NET_NF_CONNTRACK_TCP_TIMEOUT_SYN_RECV=3,
  	NET_NF_CONNTRACK_TCP_TIMEOUT_ESTABLISHED=4,
  	NET_NF_CONNTRACK_TCP_TIMEOUT_FIN_WAIT=5,
  	NET_NF_CONNTRACK_TCP_TIMEOUT_CLOSE_WAIT=6,
  	NET_NF_CONNTRACK_TCP_TIMEOUT_LAST_ACK=7,
  	NET_NF_CONNTRACK_TCP_TIMEOUT_TIME_WAIT=8,
  	NET_NF_CONNTRACK_TCP_TIMEOUT_CLOSE=9,
  	NET_NF_CONNTRACK_UDP_TIMEOUT=10,
  	NET_NF_CONNTRACK_UDP_TIMEOUT_STREAM=11,
  	NET_NF_CONNTRACK_ICMP_TIMEOUT=12,
  	NET_NF_CONNTRACK_GENERIC_TIMEOUT=13,
  	NET_NF_CONNTRACK_BUCKETS=14,
  	NET_NF_CONNTRACK_LOG_INVALID=15,
  	NET_NF_CONNTRACK_TCP_TIMEOUT_MAX_RETRANS=16,
  	NET_NF_CONNTRACK_TCP_LOOSE=17,
  	NET_NF_CONNTRACK_TCP_BE_LIBERAL=18,
  	NET_NF_CONNTRACK_TCP_MAX_RETRANS=19,
  	NET_NF_CONNTRACK_SCTP_TIMEOUT_CLOSED=20,
  	NET_NF_CONNTRACK_SCTP_TIMEOUT_COOKIE_WAIT=21,
  	NET_NF_CONNTRACK_SCTP_TIMEOUT_COOKIE_ECHOED=22,
  	NET_NF_CONNTRACK_SCTP_TIMEOUT_ESTABLISHED=23,
  	NET_NF_CONNTRACK_SCTP_TIMEOUT_SHUTDOWN_SENT=24,
  	NET_NF_CONNTRACK_SCTP_TIMEOUT_SHUTDOWN_RECD=25,
  	NET_NF_CONNTRACK_SCTP_TIMEOUT_SHUTDOWN_ACK_SENT=26,
  	NET_NF_CONNTRACK_COUNT=27,
  	NET_NF_CONNTRACK_ICMPV6_TIMEOUT=28,
  	NET_NF_CONNTRACK_FRAG6_TIMEOUT=29,
  	NET_NF_CONNTRACK_FRAG6_LOW_THRESH=30,
  	NET_NF_CONNTRACK_FRAG6_HIGH_THRESH=31,
39a27a35c   Patrick McHardy   [NETFILTER]: conn...
320
  	NET_NF_CONNTRACK_CHECKSUM=32,
9fb9cbb10   Yasuyuki Kozakai   [NETFILTER]: Add ...
321
  };
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
  /* /proc/sys/net/ipv4 */
  enum
  {
  	/* v2.0 compatibile variables */
  	NET_IPV4_FORWARD=8,
  	NET_IPV4_DYNADDR=9,
  
  	NET_IPV4_CONF=16,
  	NET_IPV4_NEIGH=17,
  	NET_IPV4_ROUTE=18,
  	NET_IPV4_FIB_HASH=19,
  	NET_IPV4_NETFILTER=20,
  
  	NET_IPV4_TCP_TIMESTAMPS=33,
  	NET_IPV4_TCP_WINDOW_SCALING=34,
  	NET_IPV4_TCP_SACK=35,
  	NET_IPV4_TCP_RETRANS_COLLAPSE=36,
  	NET_IPV4_DEFAULT_TTL=37,
  	NET_IPV4_AUTOCONFIG=38,
  	NET_IPV4_NO_PMTU_DISC=39,
  	NET_IPV4_TCP_SYN_RETRIES=40,
  	NET_IPV4_IPFRAG_HIGH_THRESH=41,
  	NET_IPV4_IPFRAG_LOW_THRESH=42,
  	NET_IPV4_IPFRAG_TIME=43,
  	NET_IPV4_TCP_MAX_KA_PROBES=44,
  	NET_IPV4_TCP_KEEPALIVE_TIME=45,
  	NET_IPV4_TCP_KEEPALIVE_PROBES=46,
  	NET_IPV4_TCP_RETRIES1=47,
  	NET_IPV4_TCP_RETRIES2=48,
  	NET_IPV4_TCP_FIN_TIMEOUT=49,
  	NET_IPV4_IP_MASQ_DEBUG=50,
  	NET_TCP_SYNCOOKIES=51,
  	NET_TCP_STDURG=52,
  	NET_TCP_RFC1337=53,
  	NET_TCP_SYN_TAILDROP=54,
  	NET_TCP_MAX_SYN_BACKLOG=55,
  	NET_IPV4_LOCAL_PORT_RANGE=56,
  	NET_IPV4_ICMP_ECHO_IGNORE_ALL=57,
  	NET_IPV4_ICMP_ECHO_IGNORE_BROADCASTS=58,
  	NET_IPV4_ICMP_SOURCEQUENCH_RATE=59,
  	NET_IPV4_ICMP_DESTUNREACH_RATE=60,
  	NET_IPV4_ICMP_TIMEEXCEED_RATE=61,
  	NET_IPV4_ICMP_PARAMPROB_RATE=62,
  	NET_IPV4_ICMP_ECHOREPLY_RATE=63,
  	NET_IPV4_ICMP_IGNORE_BOGUS_ERROR_RESPONSES=64,
  	NET_IPV4_IGMP_MAX_MEMBERSHIPS=65,
  	NET_TCP_TW_RECYCLE=66,
  	NET_IPV4_ALWAYS_DEFRAG=67,
  	NET_IPV4_TCP_KEEPALIVE_INTVL=68,
  	NET_IPV4_INET_PEER_THRESHOLD=69,
  	NET_IPV4_INET_PEER_MINTTL=70,
  	NET_IPV4_INET_PEER_MAXTTL=71,
  	NET_IPV4_INET_PEER_GC_MINTIME=72,
  	NET_IPV4_INET_PEER_GC_MAXTIME=73,
  	NET_TCP_ORPHAN_RETRIES=74,
  	NET_TCP_ABORT_ON_OVERFLOW=75,
  	NET_TCP_SYNACK_RETRIES=76,
  	NET_TCP_MAX_ORPHANS=77,
  	NET_TCP_MAX_TW_BUCKETS=78,
  	NET_TCP_FACK=79,
  	NET_TCP_REORDERING=80,
  	NET_TCP_ECN=81,
  	NET_TCP_DSACK=82,
  	NET_TCP_MEM=83,
  	NET_TCP_WMEM=84,
  	NET_TCP_RMEM=85,
  	NET_TCP_APP_WIN=86,
  	NET_TCP_ADV_WIN_SCALE=87,
  	NET_IPV4_NONLOCAL_BIND=88,
  	NET_IPV4_ICMP_RATELIMIT=89,
  	NET_IPV4_ICMP_RATEMASK=90,
  	NET_TCP_TW_REUSE=91,
  	NET_TCP_FRTO=92,
  	NET_TCP_LOW_LATENCY=93,
  	NET_IPV4_IPFRAG_SECRET_INTERVAL=94,
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
397
398
  	NET_IPV4_IGMP_MAX_MSF=96,
  	NET_TCP_NO_METRICS_SAVE=97,
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
399
400
401
402
  	NET_TCP_DEFAULT_WIN_SCALE=105,
  	NET_TCP_MODERATE_RCVBUF=106,
  	NET_TCP_TSO_WIN_DIVISOR=107,
  	NET_TCP_BIC_BETA=108,
1c2fb7f93   J. Simonetti   [IPV4]: Sysctl co...
403
  	NET_IPV4_ICMP_ERRORS_USE_INBOUND_IFADDR=109,
317a76f9a   Stephen Hemminger   [TCP]: Add plugga...
404
  	NET_TCP_CONG_CONTROL=110,
9772efb97   Stephen Hemminger   [TCP]: Appropriat...
405
  	NET_TCP_ABC=111,
89cee8b1c   Herbert Xu   [IPV4]: Safer rea...
406
  	NET_IPV4_IPFRAG_MAX_DIST=112,
5d424d5a6   John Heffner   [TCP]: MTU probing
407
408
   	NET_TCP_MTU_PROBING=113,
  	NET_TCP_BASE_MSS=114,
15d99e02b   Rick Jones   [TCP]: sysctl to ...
409
  	NET_IPV4_TCP_WORKAROUND_SIGNED_WINDOWS=115,
959378258   Chris Leech   [I/OAT]: Add a sy...
410
  	NET_TCP_DMA_COPYBREAK=116,
35089bb20   David S. Miller   [TCP]: Add tcp_sl...
411
  	NET_TCP_SLOW_START_AFTER_IDLE=117,
446fda4f2   Paul Moore   [NetLabel]: CIPSO...
412
413
414
415
  	NET_CIPSOV4_CACHE_ENABLE=118,
  	NET_CIPSOV4_CACHE_BUCKET_SIZE=119,
  	NET_CIPSOV4_RBM_OPTFMT=120,
  	NET_CIPSOV4_RBM_STRICTVALID=121,
3ff825b28   Stephen Hemminger   [TCP]: Add tcp_av...
416
  	NET_TCP_AVAIL_CONG_CONTROL=122,
ce7bc3bf1   Stephen Hemminger   [TCP]: Restrict c...
417
  	NET_TCP_ALLOWED_CONG_CONTROL=123,
886236c12   John Heffner   [TCP]: Add RFC374...
418
  	NET_TCP_MAX_SSTHRESH=124,
3cfe3baaf   Ilpo Järvinen   [TCP]: Add two ne...
419
  	NET_TCP_FRTO_RESPONSE=125,
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
420
421
422
423
  };
  
  enum {
  	NET_IPV4_ROUTE_FLUSH=1,
29e75252d   Eric Dumazet   [IPV4] route cach...
424
425
  	NET_IPV4_ROUTE_MIN_DELAY=2, /* obsolete since 2.6.25 */
  	NET_IPV4_ROUTE_MAX_DELAY=3, /* obsolete since 2.6.25 */
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
426
427
428
429
  	NET_IPV4_ROUTE_GC_THRESH=4,
  	NET_IPV4_ROUTE_MAX_SIZE=5,
  	NET_IPV4_ROUTE_GC_MIN_INTERVAL=6,
  	NET_IPV4_ROUTE_GC_TIMEOUT=7,
349d2895c   Vasily Averin   ipv4: NET_IPV4_RO...
430
  	NET_IPV4_ROUTE_GC_INTERVAL=8, /* obsolete since 2.6.38 */
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
  	NET_IPV4_ROUTE_REDIRECT_LOAD=9,
  	NET_IPV4_ROUTE_REDIRECT_NUMBER=10,
  	NET_IPV4_ROUTE_REDIRECT_SILENCE=11,
  	NET_IPV4_ROUTE_ERROR_COST=12,
  	NET_IPV4_ROUTE_ERROR_BURST=13,
  	NET_IPV4_ROUTE_GC_ELASTICITY=14,
  	NET_IPV4_ROUTE_MTU_EXPIRES=15,
  	NET_IPV4_ROUTE_MIN_PMTU=16,
  	NET_IPV4_ROUTE_MIN_ADVMSS=17,
  	NET_IPV4_ROUTE_SECRET_INTERVAL=18,
  	NET_IPV4_ROUTE_GC_MIN_INTERVAL_MS=19,
  };
  
  enum
  {
  	NET_PROTO_CONF_ALL=-2,
  	NET_PROTO_CONF_DEFAULT=-3
  
  	/* And device ifindices ... */
  };
  
  enum
  {
  	NET_IPV4_CONF_FORWARDING=1,
  	NET_IPV4_CONF_MC_FORWARDING=2,
  	NET_IPV4_CONF_PROXY_ARP=3,
  	NET_IPV4_CONF_ACCEPT_REDIRECTS=4,
  	NET_IPV4_CONF_SECURE_REDIRECTS=5,
  	NET_IPV4_CONF_SEND_REDIRECTS=6,
  	NET_IPV4_CONF_SHARED_MEDIA=7,
  	NET_IPV4_CONF_RP_FILTER=8,
  	NET_IPV4_CONF_ACCEPT_SOURCE_ROUTE=9,
  	NET_IPV4_CONF_BOOTP_RELAY=10,
  	NET_IPV4_CONF_LOG_MARTIANS=11,
  	NET_IPV4_CONF_TAG=12,
  	NET_IPV4_CONF_ARPFILTER=13,
  	NET_IPV4_CONF_MEDIUM_ID=14,
  	NET_IPV4_CONF_NOXFRM=15,
  	NET_IPV4_CONF_NOPOLICY=16,
  	NET_IPV4_CONF_FORCE_IGMP_VERSION=17,
  	NET_IPV4_CONF_ARP_ANNOUNCE=18,
  	NET_IPV4_CONF_ARP_IGNORE=19,
8f937c609   Harald Welte   [IPV4]: Primary a...
473
  	NET_IPV4_CONF_PROMOTE_SECONDARIES=20,
abd596a4b   Neil Horman   [IPV4] ARP: Alloc...
474
  	NET_IPV4_CONF_ARP_ACCEPT=21,
eefef1cf7   Stephen Hemminger   net: add ARP noti...
475
  	NET_IPV4_CONF_ARP_NOTIFY=22,
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
  };
  
  /* /proc/sys/net/ipv4/netfilter */
  enum
  {
  	NET_IPV4_NF_CONNTRACK_MAX=1,
  	NET_IPV4_NF_CONNTRACK_TCP_TIMEOUT_SYN_SENT=2,
  	NET_IPV4_NF_CONNTRACK_TCP_TIMEOUT_SYN_RECV=3,
  	NET_IPV4_NF_CONNTRACK_TCP_TIMEOUT_ESTABLISHED=4,
  	NET_IPV4_NF_CONNTRACK_TCP_TIMEOUT_FIN_WAIT=5,
  	NET_IPV4_NF_CONNTRACK_TCP_TIMEOUT_CLOSE_WAIT=6,
  	NET_IPV4_NF_CONNTRACK_TCP_TIMEOUT_LAST_ACK=7,
  	NET_IPV4_NF_CONNTRACK_TCP_TIMEOUT_TIME_WAIT=8,
  	NET_IPV4_NF_CONNTRACK_TCP_TIMEOUT_CLOSE=9,
  	NET_IPV4_NF_CONNTRACK_UDP_TIMEOUT=10,
  	NET_IPV4_NF_CONNTRACK_UDP_TIMEOUT_STREAM=11,
  	NET_IPV4_NF_CONNTRACK_ICMP_TIMEOUT=12,
  	NET_IPV4_NF_CONNTRACK_GENERIC_TIMEOUT=13,
  	NET_IPV4_NF_CONNTRACK_BUCKETS=14,
  	NET_IPV4_NF_CONNTRACK_LOG_INVALID=15,
  	NET_IPV4_NF_CONNTRACK_TCP_TIMEOUT_MAX_RETRANS=16,
  	NET_IPV4_NF_CONNTRACK_TCP_LOOSE=17,
  	NET_IPV4_NF_CONNTRACK_TCP_BE_LIBERAL=18,
  	NET_IPV4_NF_CONNTRACK_TCP_MAX_RETRANS=19,
   	NET_IPV4_NF_CONNTRACK_SCTP_TIMEOUT_CLOSED=20,
   	NET_IPV4_NF_CONNTRACK_SCTP_TIMEOUT_COOKIE_WAIT=21,
   	NET_IPV4_NF_CONNTRACK_SCTP_TIMEOUT_COOKIE_ECHOED=22,
   	NET_IPV4_NF_CONNTRACK_SCTP_TIMEOUT_ESTABLISHED=23,
   	NET_IPV4_NF_CONNTRACK_SCTP_TIMEOUT_SHUTDOWN_SENT=24,
   	NET_IPV4_NF_CONNTRACK_SCTP_TIMEOUT_SHUTDOWN_RECD=25,
   	NET_IPV4_NF_CONNTRACK_SCTP_TIMEOUT_SHUTDOWN_ACK_SENT=26,
  	NET_IPV4_NF_CONNTRACK_COUNT=27,
39a27a35c   Patrick McHardy   [NETFILTER]: conn...
508
  	NET_IPV4_NF_CONNTRACK_CHECKSUM=28,
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
  };
   
  /* /proc/sys/net/ipv6 */
  enum {
  	NET_IPV6_CONF=16,
  	NET_IPV6_NEIGH=17,
  	NET_IPV6_ROUTE=18,
  	NET_IPV6_ICMP=19,
  	NET_IPV6_BINDV6ONLY=20,
  	NET_IPV6_IP6FRAG_HIGH_THRESH=21,
  	NET_IPV6_IP6FRAG_LOW_THRESH=22,
  	NET_IPV6_IP6FRAG_TIME=23,
  	NET_IPV6_IP6FRAG_SECRET_INTERVAL=24,
  	NET_IPV6_MLD_MAX_MSF=25,
  };
  
  enum {
  	NET_IPV6_ROUTE_FLUSH=1,
  	NET_IPV6_ROUTE_GC_THRESH=2,
  	NET_IPV6_ROUTE_MAX_SIZE=3,
  	NET_IPV6_ROUTE_GC_MIN_INTERVAL=4,
  	NET_IPV6_ROUTE_GC_TIMEOUT=5,
  	NET_IPV6_ROUTE_GC_INTERVAL=6,
  	NET_IPV6_ROUTE_GC_ELASTICITY=7,
  	NET_IPV6_ROUTE_MTU_EXPIRES=8,
  	NET_IPV6_ROUTE_MIN_ADVMSS=9,
  	NET_IPV6_ROUTE_GC_MIN_INTERVAL_MS=10
  };
  
  enum {
  	NET_IPV6_FORWARDING=1,
  	NET_IPV6_HOP_LIMIT=2,
  	NET_IPV6_MTU=3,
  	NET_IPV6_ACCEPT_RA=4,
  	NET_IPV6_ACCEPT_REDIRECTS=5,
  	NET_IPV6_AUTOCONF=6,
  	NET_IPV6_DAD_TRANSMITS=7,
  	NET_IPV6_RTR_SOLICITS=8,
  	NET_IPV6_RTR_SOLICIT_INTERVAL=9,
  	NET_IPV6_RTR_SOLICIT_DELAY=10,
  	NET_IPV6_USE_TEMPADDR=11,
  	NET_IPV6_TEMP_VALID_LFT=12,
  	NET_IPV6_TEMP_PREFERED_LFT=13,
  	NET_IPV6_REGEN_MAX_RETRY=14,
  	NET_IPV6_MAX_DESYNC_FACTOR=15,
  	NET_IPV6_MAX_ADDRESSES=16,
  	NET_IPV6_FORCE_MLD_VERSION=17,
65f5c7c11   YOSHIFUJI Hideaki   [IPV6]: ROUTE: Ad...
556
  	NET_IPV6_ACCEPT_RA_DEFRTR=18,
c4fd30eb1   YOSHIFUJI Hideaki   [IPV6]: ADDRCONF:...
557
  	NET_IPV6_ACCEPT_RA_PINFO=19,
930d6ff2e   YOSHIFUJI Hideaki   [IPV6]: ROUTE: Ad...
558
  	NET_IPV6_ACCEPT_RA_RTR_PREF=20,
52e163563   YOSHIFUJI Hideaki   [IPV6]: ROUTE: Ad...
559
  	NET_IPV6_RTR_PROBE_INTERVAL=21,
09c884d4c   YOSHIFUJI Hideaki   [IPV6]: ROUTE: Ad...
560
  	NET_IPV6_ACCEPT_RA_RT_INFO_MAX_PLEN=22,
fbea49e1e   YOSHIFUJI Hideaki   [IPV6] NDISC: Add...
561
  	NET_IPV6_PROXY_NDP=23,
0bcbc9262   YOSHIFUJI Hideaki   [IPV6]: Disallow ...
562
  	NET_IPV6_ACCEPT_SOURCE_ROUTE=25,
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
  	__NET_IPV6_MAX
  };
  
  /* /proc/sys/net/ipv6/icmp */
  enum {
  	NET_IPV6_ICMP_RATELIMIT=1
  };
  
  /* /proc/sys/net/<protocol>/neigh/<dev> */
  enum {
  	NET_NEIGH_MCAST_SOLICIT=1,
  	NET_NEIGH_UCAST_SOLICIT=2,
  	NET_NEIGH_APP_SOLICIT=3,
  	NET_NEIGH_RETRANS_TIME=4,
  	NET_NEIGH_REACHABLE_TIME=5,
  	NET_NEIGH_DELAY_PROBE_TIME=6,
  	NET_NEIGH_GC_STALE_TIME=7,
  	NET_NEIGH_UNRES_QLEN=8,
  	NET_NEIGH_PROXY_QLEN=9,
  	NET_NEIGH_ANYCAST_DELAY=10,
  	NET_NEIGH_PROXY_DELAY=11,
  	NET_NEIGH_LOCKTIME=12,
  	NET_NEIGH_GC_INTERVAL=13,
  	NET_NEIGH_GC_THRESH1=14,
  	NET_NEIGH_GC_THRESH2=15,
  	NET_NEIGH_GC_THRESH3=16,
  	NET_NEIGH_RETRANS_TIME_MS=17,
  	NET_NEIGH_REACHABLE_TIME_MS=18,
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
591
  };
e55d912f5   Arnaldo Carvalho de Melo   [DCCP] feat: Intr...
592
593
594
595
  /* /proc/sys/net/dccp */
  enum {
  	NET_DCCP_DEFAULT=1,
  };
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
596
597
598
599
600
  /* /proc/sys/net/ipx */
  enum {
  	NET_IPX_PPROP_BROADCASTING=1,
  	NET_IPX_FORWARDING=2
  };
590232a71   Arnaldo Carvalho de Melo   [LLC]: Add sysctl...
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
  /* /proc/sys/net/llc */
  enum {
  	NET_LLC2=1,
  	NET_LLC_STATION=2,
  };
  
  /* /proc/sys/net/llc/llc2 */
  enum {
  	NET_LLC2_TIMEOUT=1,
  };
  
  /* /proc/sys/net/llc/station */
  enum {
  	NET_LLC_STATION_ACK_TIMEOUT=1,
  };
  
  /* /proc/sys/net/llc/llc2/timeout */
  enum {
  	NET_LLC2_ACK_TIMEOUT=1,
  	NET_LLC2_P_TIMEOUT=2,
  	NET_LLC2_REJ_TIMEOUT=3,
  	NET_LLC2_BUSY_TIMEOUT=4,
  };
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
  
  /* /proc/sys/net/appletalk */
  enum {
  	NET_ATALK_AARP_EXPIRY_TIME=1,
  	NET_ATALK_AARP_TICK_TIME=2,
  	NET_ATALK_AARP_RETRANSMIT_LIMIT=3,
  	NET_ATALK_AARP_RESOLVE_TIME=4
  };
  
  
  /* /proc/sys/net/netrom */
  enum {
  	NET_NETROM_DEFAULT_PATH_QUALITY=1,
  	NET_NETROM_OBSOLESCENCE_COUNT_INITIALISER=2,
  	NET_NETROM_NETWORK_TTL_INITIALISER=3,
  	NET_NETROM_TRANSPORT_TIMEOUT=4,
  	NET_NETROM_TRANSPORT_MAXIMUM_TRIES=5,
  	NET_NETROM_TRANSPORT_ACKNOWLEDGE_DELAY=6,
  	NET_NETROM_TRANSPORT_BUSY_DELAY=7,
  	NET_NETROM_TRANSPORT_REQUESTED_WINDOW_SIZE=8,
  	NET_NETROM_TRANSPORT_NO_ACTIVITY_TIMEOUT=9,
  	NET_NETROM_ROUTING_CONTROL=10,
e21ce8c7c   Ralf Baechle   [NETROM]: Impleme...
646
647
  	NET_NETROM_LINK_FAILS_COUNT=11,
  	NET_NETROM_RESET=12
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
  };
  
  /* /proc/sys/net/ax25 */
  enum {
  	NET_AX25_IP_DEFAULT_MODE=1,
  	NET_AX25_DEFAULT_MODE=2,
  	NET_AX25_BACKOFF_TYPE=3,
  	NET_AX25_CONNECT_MODE=4,
  	NET_AX25_STANDARD_WINDOW=5,
  	NET_AX25_EXTENDED_WINDOW=6,
  	NET_AX25_T1_TIMEOUT=7,
  	NET_AX25_T2_TIMEOUT=8,
  	NET_AX25_T3_TIMEOUT=9,
  	NET_AX25_IDLE_TIMEOUT=10,
  	NET_AX25_N2=11,
  	NET_AX25_PACLEN=12,
  	NET_AX25_PROTOCOL=13,
  	NET_AX25_DAMA_SLAVE_TIMEOUT=14
  };
  
  /* /proc/sys/net/rose */
  enum {
  	NET_ROSE_RESTART_REQUEST_TIMEOUT=1,
  	NET_ROSE_CALL_REQUEST_TIMEOUT=2,
  	NET_ROSE_RESET_REQUEST_TIMEOUT=3,
  	NET_ROSE_CLEAR_REQUEST_TIMEOUT=4,
  	NET_ROSE_ACK_HOLD_BACK_TIMEOUT=5,
  	NET_ROSE_ROUTING_CONTROL=6,
  	NET_ROSE_LINK_FAIL_TIMEOUT=7,
  	NET_ROSE_MAX_VCS=8,
  	NET_ROSE_WINDOW_SIZE=9,
  	NET_ROSE_NO_ACTIVITY_TIMEOUT=10
  };
  
  /* /proc/sys/net/x25 */
  enum {
  	NET_X25_RESTART_REQUEST_TIMEOUT=1,
  	NET_X25_CALL_REQUEST_TIMEOUT=2,
  	NET_X25_RESET_REQUEST_TIMEOUT=3,
  	NET_X25_CLEAR_REQUEST_TIMEOUT=4,
39e21c0d3   Andrew Hendry   [X.25]: Adds /pro...
688
689
  	NET_X25_ACK_HOLD_BACK_TIMEOUT=5,
  	NET_X25_FORWARD=6
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
  };
  
  /* /proc/sys/net/token-ring */
  enum
  {
  	NET_TR_RIF_TIMEOUT=1
  };
  
  /* /proc/sys/net/decnet/ */
  enum {
  	NET_DECNET_NODE_TYPE = 1,
  	NET_DECNET_NODE_ADDRESS = 2,
  	NET_DECNET_NODE_NAME = 3,
  	NET_DECNET_DEFAULT_DEVICE = 4,
  	NET_DECNET_TIME_WAIT = 5,
  	NET_DECNET_DN_COUNT = 6,
  	NET_DECNET_DI_COUNT = 7,
  	NET_DECNET_DR_COUNT = 8,
  	NET_DECNET_DST_GC_INTERVAL = 9,
  	NET_DECNET_CONF = 10,
  	NET_DECNET_NO_FC_MAX_CWND = 11,
1f12bcc9d   Steven Whitehouse   [DECNET]: add mem...
711
712
713
  	NET_DECNET_MEM = 12,
  	NET_DECNET_RMEM = 13,
  	NET_DECNET_WMEM = 14,
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
  	NET_DECNET_DEBUG_LEVEL = 255
  };
  
  /* /proc/sys/net/decnet/conf/<dev> */
  enum {
  	NET_DECNET_CONF_LOOPBACK = -2,
  	NET_DECNET_CONF_DDCMP = -3,
  	NET_DECNET_CONF_PPP = -4,
  	NET_DECNET_CONF_X25 = -5,
  	NET_DECNET_CONF_GRE = -6,
  	NET_DECNET_CONF_ETHER = -7
  
  	/* ... and ifindex of devices */
  };
  
  /* /proc/sys/net/decnet/conf/<dev>/ */
  enum {
  	NET_DECNET_CONF_DEV_PRIORITY = 1,
  	NET_DECNET_CONF_DEV_T1 = 2,
  	NET_DECNET_CONF_DEV_T2 = 3,
  	NET_DECNET_CONF_DEV_T3 = 4,
  	NET_DECNET_CONF_DEV_FORWARDING = 5,
  	NET_DECNET_CONF_DEV_BLKSIZE = 6,
  	NET_DECNET_CONF_DEV_STATE = 7
  };
  
  /* /proc/sys/net/sctp */
  enum {
  	NET_SCTP_RTO_INITIAL = 1,
  	NET_SCTP_RTO_MIN     = 2,
  	NET_SCTP_RTO_MAX     = 3,
  	NET_SCTP_RTO_ALPHA   = 4,
  	NET_SCTP_RTO_BETA    = 5,
  	NET_SCTP_VALID_COOKIE_LIFE       =  6,
  	NET_SCTP_ASSOCIATION_MAX_RETRANS =  7,
  	NET_SCTP_PATH_MAX_RETRANS        =  8,
  	NET_SCTP_MAX_INIT_RETRANSMITS    =  9,
  	NET_SCTP_HB_INTERVAL             = 10,
  	NET_SCTP_PRESERVE_ENABLE         = 11,
  	NET_SCTP_MAX_BURST               = 12,
  	NET_SCTP_ADDIP_ENABLE		 = 13,
  	NET_SCTP_PRSCTP_ENABLE		 = 14,
4eb701dfc   Neil Horman   [SCTP] Fix SCTP s...
756
  	NET_SCTP_SNDBUF_POLICY		 = 15,
2f85a4296   Vlad Yasevich   [SCTP] Make init ...
757
  	NET_SCTP_SACK_TIMEOUT		 = 16,
049b3ff5a   Neil Horman   [SCTP]: Include u...
758
  	NET_SCTP_RCVBUF_POLICY		 = 17,
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
759
760
761
762
763
764
765
766
  };
  
  /* /proc/sys/net/bridge */
  enum {
  	NET_BRIDGE_NF_CALL_ARPTABLES = 1,
  	NET_BRIDGE_NF_CALL_IPTABLES = 2,
  	NET_BRIDGE_NF_CALL_IP6TABLES = 3,
  	NET_BRIDGE_NF_FILTER_VLAN_TAGGED = 4,
516299d2f   Michael Milner   [NETFILTER]: brid...
767
  	NET_BRIDGE_NF_FILTER_PPPOE_TAGGED = 5,
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
768
  };
f429cd37a   Eric W. Biederman   sysctl: properly ...
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
  /* proc/sys/net/irda */
  enum {
  	NET_IRDA_DISCOVERY=1,
  	NET_IRDA_DEVNAME=2,
  	NET_IRDA_DEBUG=3,
  	NET_IRDA_FAST_POLL=4,
  	NET_IRDA_DISCOVERY_SLOTS=5,
  	NET_IRDA_DISCOVERY_TIMEOUT=6,
  	NET_IRDA_SLOT_TIMEOUT=7,
  	NET_IRDA_MAX_BAUD_RATE=8,
  	NET_IRDA_MIN_TX_TURN_TIME=9,
  	NET_IRDA_MAX_TX_DATA_SIZE=10,
  	NET_IRDA_MAX_TX_WINDOW=11,
  	NET_IRDA_MAX_NOREPLY_TIME=12,
  	NET_IRDA_WARN_NOREPLY_TIME=13,
  	NET_IRDA_LAP_KEEPALIVE_TIME=14,
  };
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
  /* CTL_FS names: */
  enum
  {
  	FS_NRINODE=1,	/* int:current number of allocated inodes */
  	FS_STATINODE=2,
  	FS_MAXINODE=3,	/* int:maximum number of inodes that can be allocated */
  	FS_NRDQUOT=4,	/* int:current number of allocated dquots */
  	FS_MAXDQUOT=5,	/* int:maximum number of dquots that can be allocated */
  	FS_NRFILE=6,	/* int:current number of allocated filedescriptors */
  	FS_MAXFILE=7,	/* int:maximum number of filedescriptors that can be allocated */
  	FS_DENTRY=8,
  	FS_NRSUPER=9,	/* int:current number of allocated super_blocks */
  	FS_MAXSUPER=10,	/* int:maximum number of super_blocks that can be allocated */
  	FS_OVERFLOWUID=11,	/* int: overflow UID */
  	FS_OVERFLOWGID=12,	/* int: overflow GID */
  	FS_LEASES=13,	/* int: leases enabled */
  	FS_DIR_NOTIFY=14,	/* int: directory notification enabled */
  	FS_LEASE_TIME=15,	/* int: maximum time to wait for a lease break */
  	FS_DQSTATS=16,	/* disc quota usage statistics and control */
  	FS_XFS=17,	/* struct: control xfs parameters */
  	FS_AIO_NR=18,	/* current system-wide number of aio requests */
  	FS_AIO_MAX_NR=19,	/* system-wide maximum number of aio requests */
0399cb08c   Robert Love   [PATCH] inotify: ...
808
  	FS_INOTIFY=20,	/* inotify submenu */
0e03036c9   Eric W. Biederman   [PATCH] sysctl: r...
809
  	FS_OCFS2=988,	/* ocfs2 */
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
  };
  
  /* /proc/sys/fs/quota/ */
  enum {
  	FS_DQ_LOOKUPS = 1,
  	FS_DQ_DROPS = 2,
  	FS_DQ_READS = 3,
  	FS_DQ_WRITES = 4,
  	FS_DQ_CACHE_HITS = 5,
  	FS_DQ_ALLOCATED = 6,
  	FS_DQ_FREE = 7,
  	FS_DQ_SYNCS = 8,
  	FS_DQ_WARNINGS = 9,
  };
  
  /* CTL_DEBUG names: */
  
  /* CTL_DEV names: */
  enum {
  	DEV_CDROM=1,
  	DEV_HWMON=2,
  	DEV_PARPORT=3,
  	DEV_RAID=4,
  	DEV_MAC_HID=5,
  	DEV_SCSI=6,
8c702e162   Corey Minyard   [PATCH] ipmi powe...
835
  	DEV_IPMI=7,
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
  };
  
  /* /proc/sys/dev/cdrom */
  enum {
  	DEV_CDROM_INFO=1,
  	DEV_CDROM_AUTOCLOSE=2,
  	DEV_CDROM_AUTOEJECT=3,
  	DEV_CDROM_DEBUG=4,
  	DEV_CDROM_LOCK=5,
  	DEV_CDROM_CHECK_MEDIA=6
  };
  
  /* /proc/sys/dev/parport */
  enum {
  	DEV_PARPORT_DEFAULT=-3
  };
  
  /* /proc/sys/dev/raid */
  enum {
  	DEV_RAID_SPEED_LIMIT_MIN=1,
  	DEV_RAID_SPEED_LIMIT_MAX=2
  };
  
  /* /proc/sys/dev/parport/default */
  enum {
  	DEV_PARPORT_DEFAULT_TIMESLICE=1,
  	DEV_PARPORT_DEFAULT_SPINTIME=2
  };
  
  /* /proc/sys/dev/parport/parport n */
  enum {
  	DEV_PARPORT_SPINTIME=1,
  	DEV_PARPORT_BASE_ADDR=2,
  	DEV_PARPORT_IRQ=3,
  	DEV_PARPORT_DMA=4,
  	DEV_PARPORT_MODES=5,
  	DEV_PARPORT_DEVICES=6,
  	DEV_PARPORT_AUTOPROBE=16
  };
  
  /* /proc/sys/dev/parport/parport n/devices/ */
  enum {
  	DEV_PARPORT_DEVICES_ACTIVE=-3,
  };
  
  /* /proc/sys/dev/parport/parport n/devices/device n */
  enum {
  	DEV_PARPORT_DEVICE_TIMESLICE=1,
  };
  
  /* /proc/sys/dev/mac_hid */
  enum {
  	DEV_MAC_HID_KEYBOARD_SENDS_LINUX_KEYCODES=1,
  	DEV_MAC_HID_KEYBOARD_LOCK_KEYCODES=2,
  	DEV_MAC_HID_MOUSE_BUTTON_EMULATION=3,
  	DEV_MAC_HID_MOUSE_BUTTON2_KEYCODE=4,
  	DEV_MAC_HID_MOUSE_BUTTON3_KEYCODE=5,
  	DEV_MAC_HID_ADB_MOUSE_SENDS_KEYCODES=6
  };
  
  /* /proc/sys/dev/scsi */
  enum {
  	DEV_SCSI_LOGGING_LEVEL=1,
  };
8c702e162   Corey Minyard   [PATCH] ipmi powe...
900
901
902
903
  /* /proc/sys/dev/ipmi */
  enum {
  	DEV_IPMI_POWEROFF_POWERCYCLE=1,
  };
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
904
905
906
907
908
909
910
911
912
913
914
915
  /* /proc/sys/abi */
  enum
  {
  	ABI_DEFHANDLER_COFF=1,	/* default handler for coff binaries */
  	ABI_DEFHANDLER_ELF=2, 	/* default handler for ELF binaries */
  	ABI_DEFHANDLER_LCALL7=3,/* default handler for procs using lcall7 */
  	ABI_DEFHANDLER_LIBCSO=4,/* default handler for an libc.so ELF interp */
  	ABI_TRACE=5,		/* tracing flags */
  	ABI_FAKE_UTSNAME=6,	/* fake target utsname information */
  };
  
  #ifdef __KERNEL__
d4ed803c5   Harald Welte   [PATCH] Make sysc...
916
  #include <linux/list.h>
684adca4f   Stephen Rothwell   sysctl: the inclu...
917
  #include <linux/rcupdate.h>
f1ecf0685   Lucas De Marchi   sysctl: add suppo...
918
  #include <linux/wait.h>
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
919

805b5d5e0   Eric W. Biederman   [PATCH] sysctl: f...
920
  /* For the /proc/sys support */
1ff007eb8   Eric W. Biederman   [PATCH] sysctl: a...
921
  struct ctl_table;
e51b6ba07   Eric W. Biederman   sysctl: Infrastru...
922
  struct nsproxy;
d7321cd62   Pavel Emelyanov   sysctl: add the -...
923
  struct ctl_table_root;
734550921   Al Viro   [PATCH] beginning...
924
925
926
927
928
929
930
931
932
  struct ctl_table_set {
  	struct list_head list;
  	struct ctl_table_set *parent;
  	int (*is_seen)(struct ctl_table_set *);
  };
  
  extern void setup_sysctl_set(struct ctl_table_set *p,
  	struct ctl_table_set *parent,
  	int (*is_seen)(struct ctl_table_set *));
f7e6ced40   Al Viro   [PATCH] allow del...
933
934
935
936
  struct ctl_table_header;
  
  extern void sysctl_head_get(struct ctl_table_header *);
  extern void sysctl_head_put(struct ctl_table_header *);
9043476f7   Al Viro   [PATCH] sanitize ...
937
  extern int sysctl_is_seen(struct ctl_table_header *);
f7e6ced40   Al Viro   [PATCH] allow del...
938
  extern struct ctl_table_header *sysctl_head_grab(struct ctl_table_header *);
805b5d5e0   Eric W. Biederman   [PATCH] sysctl: f...
939
  extern struct ctl_table_header *sysctl_head_next(struct ctl_table_header *prev);
e51b6ba07   Eric W. Biederman   sysctl: Infrastru...
940
941
  extern struct ctl_table_header *__sysctl_head_next(struct nsproxy *namespaces,
  						struct ctl_table_header *prev);
805b5d5e0   Eric W. Biederman   [PATCH] sysctl: f...
942
  extern void sysctl_head_finish(struct ctl_table_header *prev);
d7321cd62   Pavel Emelyanov   sysctl: add the -...
943
944
  extern int sysctl_perm(struct ctl_table_root *root,
  		struct ctl_table *table, int op);
805b5d5e0   Eric W. Biederman   [PATCH] sysctl: f...
945

1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
946
  typedef struct ctl_table ctl_table;
8d65af789   Alexey Dobriyan   sysctl: remove "s...
947
  typedef int proc_handler (struct ctl_table *ctl, int write,
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
948
  			  void __user *buffer, size_t *lenp, loff_t *ppos);
8d65af789   Alexey Dobriyan   sysctl: remove "s...
949
  extern int proc_dostring(struct ctl_table *, int,
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
950
  			 void __user *, size_t *, loff_t *);
8d65af789   Alexey Dobriyan   sysctl: remove "s...
951
  extern int proc_dointvec(struct ctl_table *, int,
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
952
  			 void __user *, size_t *, loff_t *);
8d65af789   Alexey Dobriyan   sysctl: remove "s...
953
  extern int proc_dointvec_minmax(struct ctl_table *, int,
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
954
  				void __user *, size_t *, loff_t *);
8d65af789   Alexey Dobriyan   sysctl: remove "s...
955
  extern int proc_dointvec_jiffies(struct ctl_table *, int,
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
956
  				 void __user *, size_t *, loff_t *);
8d65af789   Alexey Dobriyan   sysctl: remove "s...
957
  extern int proc_dointvec_userhz_jiffies(struct ctl_table *, int,
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
958
  					void __user *, size_t *, loff_t *);
8d65af789   Alexey Dobriyan   sysctl: remove "s...
959
  extern int proc_dointvec_ms_jiffies(struct ctl_table *, int,
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
960
  				    void __user *, size_t *, loff_t *);
8d65af789   Alexey Dobriyan   sysctl: remove "s...
961
  extern int proc_doulongvec_minmax(struct ctl_table *, int,
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
962
  				  void __user *, size_t *, loff_t *);
d8217f076   Eric W. Biederman   sysctl core: Stop...
963
  extern int proc_doulongvec_ms_jiffies_minmax(struct ctl_table *table, int,
8d65af789   Alexey Dobriyan   sysctl: remove "s...
964
  				      void __user *, size_t *, loff_t *);
9f977fb7a   Octavian Purdila   sysctl: add proc_...
965
966
  extern int proc_do_large_bitmap(struct ctl_table *, int,
  				void __user *, size_t *, loff_t *);
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
967

1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
968
969
  /*
   * Register a set of sysctl names by calling register_sysctl_table
2315ffa0a   Eric W. Biederman   sysctl: Don't loo...
970
971
   * with an initialised array of struct ctl_table's.  An entry with 
   * NULL procname terminates the table.  table->de will be
d99f160ac   Eric W. Biederman   [PATCH] sysctl: a...
972
   * set up by the registration and need not be initialised in advance.
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
973
974
975
976
977
978
979
980
981
982
   *
   * sysctl names can be mirrored automatically under /proc/sys.  The
   * procname supplied controls /proc naming.
   *
   * The table's mode will be honoured both for sys_sysctl(2) and
   * proc-fs access.
   *
   * Leaf nodes in the sysctl tree will be represented by a single file
   * under /proc; non-leaf nodes will be represented by directories.  A
   * null procname disables /proc mirroring at this node.
d99f160ac   Eric W. Biederman   [PATCH] sysctl: a...
983
   *
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
984
985
986
987
988
   * sysctl(2) can automatically manage read and write requests through
   * the sysctl table.  The data and maxlen fields of the ctl_table
   * struct enable minimal validation of the values being written to be
   * performed, and the mode field allows minimal authentication.
   * 
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
989
990
991
992
993
   * There must be a proc_handler routine for any terminal nodes
   * mirrored under /proc/sys (non-terminals are handled by a built-in
   * directory handler).  Several default handlers are available to
   * cover common cases.
   */
f1ecf0685   Lucas De Marchi   sysctl: add suppo...
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
  /* Support for userspace poll() to watch for changes */
  struct ctl_table_poll {
  	atomic_t event;
  	wait_queue_head_t wait;
  };
  
  static inline void *proc_sys_poll_event(struct ctl_table_poll *poll)
  {
  	return (void *)(unsigned long)atomic_read(&poll->event);
  }
  
  void proc_sys_poll_notify(struct ctl_table_poll *poll);
  
  #define __CTL_TABLE_POLL_INITIALIZER(name) {				\
  	.event = ATOMIC_INIT(0),					\
  	.wait = __WAIT_QUEUE_HEAD_INITIALIZER(name.wait) }
  
  #define DEFINE_CTL_TABLE_POLL(name)					\
  	struct ctl_table_poll name = __CTL_TABLE_POLL_INITIALIZER(name)
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1013
1014
1015
  /* A sysctl table is an array of struct ctl_table: */
  struct ctl_table 
  {
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1016
1017
1018
  	const char *procname;		/* Text ID for /proc/sys, or zero */
  	void *data;
  	int maxlen;
36fcb589e   Al Viro   sysctl: use umode...
1019
  	umode_t mode;
d8217f076   Eric W. Biederman   sysctl core: Stop...
1020
1021
  	struct ctl_table *child;
  	struct ctl_table *parent;	/* Automatically set */
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1022
  	proc_handler *proc_handler;	/* Callback for text formatting */
f1ecf0685   Lucas De Marchi   sysctl: add suppo...
1023
  	struct ctl_table_poll *poll;
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1024
1025
1026
  	void *extra1;
  	void *extra2;
  };
e51b6ba07   Eric W. Biederman   sysctl: Infrastru...
1027
1028
  struct ctl_table_root {
  	struct list_head root_list;
734550921   Al Viro   [PATCH] beginning...
1029
1030
  	struct ctl_table_set default_set;
  	struct ctl_table_set *(*lookup)(struct ctl_table_root *root,
e51b6ba07   Eric W. Biederman   sysctl: Infrastru...
1031
  					   struct nsproxy *namespaces);
d7321cd62   Pavel Emelyanov   sysctl: add the -...
1032
1033
  	int (*permissions)(struct ctl_table_root *root,
  			struct nsproxy *namespaces, struct ctl_table *table);
e51b6ba07   Eric W. Biederman   sysctl: Infrastru...
1034
  };
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1035
  /* struct ctl_table_header is used to maintain dynamic lists of
d8217f076   Eric W. Biederman   sysctl core: Stop...
1036
     struct ctl_table trees. */
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1037
1038
  struct ctl_table_header
  {
dfef6dcd3   Al Viro   unfuck proc_sysct...
1039
1040
1041
1042
1043
1044
1045
1046
1047
  	union {
  		struct {
  			struct ctl_table *ctl_table;
  			struct list_head ctl_entry;
  			int used;
  			int count;
  		};
  		struct rcu_head rcu;
  	};
330d57fb9   Al Viro   [PATCH] Fix sysct...
1048
  	struct completion *unregistering;
23eb06de7   Eric W. Biederman   sysctl: Remember ...
1049
  	struct ctl_table *ctl_table_arg;
e51b6ba07   Eric W. Biederman   sysctl: Infrastru...
1050
  	struct ctl_table_root *root;
734550921   Al Viro   [PATCH] beginning...
1051
  	struct ctl_table_set *set;
ae7edecc9   Al Viro   [PATCH] sysctl: k...
1052
1053
1054
  	struct ctl_table *attached_by;
  	struct ctl_table *attached_to;
  	struct ctl_table_header *parent;
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1055
  };
29e796fd4   Eric W. Biederman   sysctl: Add regis...
1056
1057
1058
  /* struct ctl_path describes where in the hierarchy a table is added */
  struct ctl_path {
  	const char *procname;
29e796fd4   Eric W. Biederman   sysctl: Add regis...
1059
  };
e51b6ba07   Eric W. Biederman   sysctl: Infrastru...
1060
1061
1062
1063
  void register_sysctl_root(struct ctl_table_root *root);
  struct ctl_table_header *__register_sysctl_paths(
  	struct ctl_table_root *root, struct nsproxy *namespaces,
  	const struct ctl_path *path, struct ctl_table *table);
d8217f076   Eric W. Biederman   sysctl core: Stop...
1064
  struct ctl_table_header *register_sysctl_table(struct ctl_table * table);
29e796fd4   Eric W. Biederman   sysctl: Add regis...
1065
1066
  struct ctl_table_header *register_sysctl_paths(const struct ctl_path *path,
  						struct ctl_table *table);
0b4d41471   Eric W. Biederman   [PATCH] sysctl: r...
1067

1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1068
  void unregister_sysctl_table(struct ctl_table_header * table);
e51b6ba07   Eric W. Biederman   sysctl: Infrastru...
1069
  int sysctl_check_table(struct nsproxy *namespaces, struct ctl_table *table);
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1070

1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1071
1072
1073
  #endif /* __KERNEL__ */
  
  #endif /* _LINUX_SYSCTL_H */