blob: 97819d43cdd8372f7fe2da2ef0b3e3d9d643c16a [file] [log] [blame]
Nicholas Flintham1e3d3112013-04-10 10:48:38 +01001
2#ifndef _LINUX_SYSCTL_H
3#define _LINUX_SYSCTL_H
4
5#include <linux/kernel.h>
6#include <linux/types.h>
7#include <linux/compiler.h>
8
9struct completion;
10
11#define CTL_MAXNAME 10
12
13struct __sysctl_args {
14 int __user *name;
15 int nlen;
16 void __user *oldval;
17 size_t __user *oldlenp;
18 void __user *newval;
19 size_t newlen;
20 unsigned long __unused[4];
21};
22
23
24
25enum
26{
27 CTL_KERN=1,
28 CTL_VM=2,
29 CTL_NET=3,
30 CTL_PROC=4,
31 CTL_FS=5,
32 CTL_DEBUG=6,
33 CTL_DEV=7,
34 CTL_BUS=8,
35 CTL_ABI=9,
36 CTL_CPU=10,
37 CTL_ARLAN=254,
38 CTL_S390DBF=5677,
39 CTL_SUNRPC=7249,
40 CTL_PM=9899,
41 CTL_FRV=9898,
42};
43
44enum
45{
46 CTL_BUS_ISA=1
47};
48
49enum
50{
51 INOTIFY_MAX_USER_INSTANCES=1,
52 INOTIFY_MAX_USER_WATCHES=2,
53 INOTIFY_MAX_QUEUED_EVENTS=3
54};
55
56enum
57{
58 KERN_OSTYPE=1,
59 KERN_OSRELEASE=2,
60 KERN_OSREV=3,
61 KERN_VERSION=4,
62 KERN_SECUREMASK=5,
63 KERN_PROF=6,
64 KERN_NODENAME=7,
65 KERN_DOMAINNAME=8,
66
67 KERN_PANIC=15,
68 KERN_REALROOTDEV=16,
69
70 KERN_SPARC_REBOOT=21,
71 KERN_CTLALTDEL=22,
72 KERN_PRINTK=23,
73 KERN_NAMETRANS=24,
74 KERN_PPC_HTABRECLAIM=25,
75 KERN_PPC_ZEROPAGED=26,
76 KERN_PPC_POWERSAVE_NAP=27,
77 KERN_MODPROBE=28,
78 KERN_SG_BIG_BUFF=29,
79 KERN_ACCT=30,
80 KERN_PPC_L2CR=31,
81
82 KERN_RTSIGNR=32,
83 KERN_RTSIGMAX=33,
84
85 KERN_SHMMAX=34,
86 KERN_MSGMAX=35,
87 KERN_MSGMNB=36,
88 KERN_MSGPOOL=37,
89 KERN_SYSRQ=38,
90 KERN_MAX_THREADS=39,
91 KERN_RANDOM=40,
92 KERN_SHMALL=41,
93 KERN_MSGMNI=42,
94 KERN_SEM=43,
95 KERN_SPARC_STOP_A=44,
96 KERN_SHMMNI=45,
97 KERN_OVERFLOWUID=46,
98 KERN_OVERFLOWGID=47,
99 KERN_SHMPATH=48,
100 KERN_HOTPLUG=49,
101 KERN_IEEE_EMULATION_WARNINGS=50,
102 KERN_S390_USER_DEBUG_LOGGING=51,
103 KERN_CORE_USES_PID=52,
104 KERN_TAINTED=53,
105 KERN_CADPID=54,
106 KERN_PIDMAX=55,
107 KERN_CORE_PATTERN=56,
108 KERN_PANIC_ON_OOPS=57,
109 KERN_HPPA_PWRSW=58,
110 KERN_HPPA_UNALIGNED=59,
111 KERN_PRINTK_RATELIMIT=60,
112 KERN_PRINTK_RATELIMIT_BURST=61,
113 KERN_PTY=62,
114 KERN_NGROUPS_MAX=63,
115 KERN_SPARC_SCONS_PWROFF=64,
116 KERN_HZ_TIMER=65,
117 KERN_UNKNOWN_NMI_PANIC=66,
118 KERN_BOOTLOADER_TYPE=67,
119 KERN_RANDOMIZE=68,
120 KERN_SETUID_DUMPABLE=69,
121 KERN_SPIN_RETRY=70,
122 KERN_ACPI_VIDEO_FLAGS=71,
123 KERN_IA64_UNALIGNED=72,
124 KERN_COMPAT_LOG=73,
125 KERN_MAX_LOCK_DEPTH=74,
126 KERN_NMI_WATCHDOG=75,
127 KERN_PANIC_ON_NMI=76,
128 KERN_BOOT_REASON = 77,
129};
130
131
132
133enum
134{
135 VM_UNUSED1=1,
136 VM_UNUSED2=2,
137 VM_UNUSED3=3,
138 VM_UNUSED4=4,
139 VM_OVERCOMMIT_MEMORY=5,
140 VM_UNUSED5=6,
141 VM_UNUSED7=7,
142 VM_UNUSED8=8,
143 VM_UNUSED9=9,
144 VM_PAGE_CLUSTER=10,
145 VM_DIRTY_BACKGROUND=11,
146 VM_DIRTY_RATIO=12,
147 VM_DIRTY_WB_CS=13,
148 VM_DIRTY_EXPIRE_CS=14,
149 VM_NR_PDFLUSH_THREADS=15,
150 VM_OVERCOMMIT_RATIO=16,
151 VM_PAGEBUF=17,
152 VM_HUGETLB_PAGES=18,
153 VM_SWAPPINESS=19,
154 VM_LOWMEM_RESERVE_RATIO=20,
155 VM_MIN_FREE_KBYTES=21,
156 VM_MAX_MAP_COUNT=22,
157 VM_LAPTOP_MODE=23,
158 VM_BLOCK_DUMP=24,
159 VM_HUGETLB_GROUP=25,
160 VM_VFS_CACHE_PRESSURE=26,
161 VM_LEGACY_VA_LAYOUT=27,
162 VM_SWAP_TOKEN_TIMEOUT=28,
163 VM_DROP_PAGECACHE=29,
164 VM_PERCPU_PAGELIST_FRACTION=30,
165 VM_ZONE_RECLAIM_MODE=31,
166 VM_MIN_UNMAPPED=32,
167 VM_PANIC_ON_OOM=33,
168 VM_VDSO_ENABLED=34,
169 VM_MIN_SLAB=35,
170};
171
172
173enum
174{
175 NET_CORE=1,
176 NET_ETHER=2,
177 NET_802=3,
178 NET_UNIX=4,
179 NET_IPV4=5,
180 NET_IPX=6,
181 NET_ATALK=7,
182 NET_NETROM=8,
183 NET_AX25=9,
184 NET_BRIDGE=10,
185 NET_ROSE=11,
186 NET_IPV6=12,
187 NET_X25=13,
188 NET_TR=14,
189 NET_DECNET=15,
190 NET_ECONET=16,
191 NET_SCTP=17,
192 NET_LLC=18,
193 NET_NETFILTER=19,
194 NET_DCCP=20,
195 NET_IRDA=412,
196};
197
198enum
199{
200 RANDOM_POOLSIZE=1,
201 RANDOM_ENTROPY_COUNT=2,
202 RANDOM_READ_THRESH=3,
203 RANDOM_WRITE_THRESH=4,
204 RANDOM_BOOT_ID=5,
205 RANDOM_UUID=6
206};
207
208enum
209{
210 PTY_MAX=1,
211 PTY_NR=2
212};
213
214enum
215{
216 BUS_ISA_MEM_BASE=1,
217 BUS_ISA_PORT_BASE=2,
218 BUS_ISA_PORT_SHIFT=3
219};
220
221enum
222{
223 NET_CORE_WMEM_MAX=1,
224 NET_CORE_RMEM_MAX=2,
225 NET_CORE_WMEM_DEFAULT=3,
226 NET_CORE_RMEM_DEFAULT=4,
227 NET_CORE_MAX_BACKLOG=6,
228 NET_CORE_FASTROUTE=7,
229 NET_CORE_MSG_COST=8,
230 NET_CORE_MSG_BURST=9,
231 NET_CORE_OPTMEM_MAX=10,
232 NET_CORE_HOT_LIST_LENGTH=11,
233 NET_CORE_DIVERT_VERSION=12,
234 NET_CORE_NO_CONG_THRESH=13,
235 NET_CORE_NO_CONG=14,
236 NET_CORE_LO_CONG=15,
237 NET_CORE_MOD_CONG=16,
238 NET_CORE_DEV_WEIGHT=17,
239 NET_CORE_SOMAXCONN=18,
240 NET_CORE_BUDGET=19,
241 NET_CORE_AEVENT_ETIME=20,
242 NET_CORE_AEVENT_RSEQTH=21,
243 NET_CORE_WARNINGS=22,
244};
245
246
247
248
249enum
250{
251 NET_UNIX_DESTROY_DELAY=1,
252 NET_UNIX_DELETE_DELAY=2,
253 NET_UNIX_MAX_DGRAM_QLEN=3,
254};
255
256enum
257{
258 NET_NF_CONNTRACK_MAX=1,
259 NET_NF_CONNTRACK_TCP_TIMEOUT_SYN_SENT=2,
260 NET_NF_CONNTRACK_TCP_TIMEOUT_SYN_RECV=3,
261 NET_NF_CONNTRACK_TCP_TIMEOUT_ESTABLISHED=4,
262 NET_NF_CONNTRACK_TCP_TIMEOUT_FIN_WAIT=5,
263 NET_NF_CONNTRACK_TCP_TIMEOUT_CLOSE_WAIT=6,
264 NET_NF_CONNTRACK_TCP_TIMEOUT_LAST_ACK=7,
265 NET_NF_CONNTRACK_TCP_TIMEOUT_TIME_WAIT=8,
266 NET_NF_CONNTRACK_TCP_TIMEOUT_CLOSE=9,
267 NET_NF_CONNTRACK_UDP_TIMEOUT=10,
268 NET_NF_CONNTRACK_UDP_TIMEOUT_STREAM=11,
269 NET_NF_CONNTRACK_ICMP_TIMEOUT=12,
270 NET_NF_CONNTRACK_GENERIC_TIMEOUT=13,
271 NET_NF_CONNTRACK_BUCKETS=14,
272 NET_NF_CONNTRACK_LOG_INVALID=15,
273 NET_NF_CONNTRACK_TCP_TIMEOUT_MAX_RETRANS=16,
274 NET_NF_CONNTRACK_TCP_LOOSE=17,
275 NET_NF_CONNTRACK_TCP_BE_LIBERAL=18,
276 NET_NF_CONNTRACK_TCP_MAX_RETRANS=19,
277 NET_NF_CONNTRACK_SCTP_TIMEOUT_CLOSED=20,
278 NET_NF_CONNTRACK_SCTP_TIMEOUT_COOKIE_WAIT=21,
279 NET_NF_CONNTRACK_SCTP_TIMEOUT_COOKIE_ECHOED=22,
280 NET_NF_CONNTRACK_SCTP_TIMEOUT_ESTABLISHED=23,
281 NET_NF_CONNTRACK_SCTP_TIMEOUT_SHUTDOWN_SENT=24,
282 NET_NF_CONNTRACK_SCTP_TIMEOUT_SHUTDOWN_RECD=25,
283 NET_NF_CONNTRACK_SCTP_TIMEOUT_SHUTDOWN_ACK_SENT=26,
284 NET_NF_CONNTRACK_COUNT=27,
285 NET_NF_CONNTRACK_ICMPV6_TIMEOUT=28,
286 NET_NF_CONNTRACK_FRAG6_TIMEOUT=29,
287 NET_NF_CONNTRACK_FRAG6_LOW_THRESH=30,
288 NET_NF_CONNTRACK_FRAG6_HIGH_THRESH=31,
289 NET_NF_CONNTRACK_CHECKSUM=32,
290};
291
292enum
293{
294
295 NET_IPV4_FORWARD=8,
296 NET_IPV4_DYNADDR=9,
297
298 NET_IPV4_CONF=16,
299 NET_IPV4_NEIGH=17,
300 NET_IPV4_ROUTE=18,
301 NET_IPV4_FIB_HASH=19,
302 NET_IPV4_NETFILTER=20,
303
304 NET_IPV4_TCP_TIMESTAMPS=33,
305 NET_IPV4_TCP_WINDOW_SCALING=34,
306 NET_IPV4_TCP_SACK=35,
307 NET_IPV4_TCP_RETRANS_COLLAPSE=36,
308 NET_IPV4_DEFAULT_TTL=37,
309 NET_IPV4_AUTOCONFIG=38,
310 NET_IPV4_NO_PMTU_DISC=39,
311 NET_IPV4_TCP_SYN_RETRIES=40,
312 NET_IPV4_IPFRAG_HIGH_THRESH=41,
313 NET_IPV4_IPFRAG_LOW_THRESH=42,
314 NET_IPV4_IPFRAG_TIME=43,
315 NET_IPV4_TCP_MAX_KA_PROBES=44,
316 NET_IPV4_TCP_KEEPALIVE_TIME=45,
317 NET_IPV4_TCP_KEEPALIVE_PROBES=46,
318 NET_IPV4_TCP_RETRIES1=47,
319 NET_IPV4_TCP_RETRIES2=48,
320 NET_IPV4_TCP_FIN_TIMEOUT=49,
321 NET_IPV4_IP_MASQ_DEBUG=50,
322 NET_TCP_SYNCOOKIES=51,
323 NET_TCP_STDURG=52,
324 NET_TCP_RFC1337=53,
325 NET_TCP_SYN_TAILDROP=54,
326 NET_TCP_MAX_SYN_BACKLOG=55,
327 NET_IPV4_LOCAL_PORT_RANGE=56,
328 NET_IPV4_ICMP_ECHO_IGNORE_ALL=57,
329 NET_IPV4_ICMP_ECHO_IGNORE_BROADCASTS=58,
330 NET_IPV4_ICMP_SOURCEQUENCH_RATE=59,
331 NET_IPV4_ICMP_DESTUNREACH_RATE=60,
332 NET_IPV4_ICMP_TIMEEXCEED_RATE=61,
333 NET_IPV4_ICMP_PARAMPROB_RATE=62,
334 NET_IPV4_ICMP_ECHOREPLY_RATE=63,
335 NET_IPV4_ICMP_IGNORE_BOGUS_ERROR_RESPONSES=64,
336 NET_IPV4_IGMP_MAX_MEMBERSHIPS=65,
337 NET_TCP_TW_RECYCLE=66,
338 NET_IPV4_ALWAYS_DEFRAG=67,
339 NET_IPV4_TCP_KEEPALIVE_INTVL=68,
340 NET_IPV4_INET_PEER_THRESHOLD=69,
341 NET_IPV4_INET_PEER_MINTTL=70,
342 NET_IPV4_INET_PEER_MAXTTL=71,
343 NET_IPV4_INET_PEER_GC_MINTIME=72,
344 NET_IPV4_INET_PEER_GC_MAXTIME=73,
345 NET_TCP_ORPHAN_RETRIES=74,
346 NET_TCP_ABORT_ON_OVERFLOW=75,
347 NET_TCP_SYNACK_RETRIES=76,
348 NET_TCP_MAX_ORPHANS=77,
349 NET_TCP_MAX_TW_BUCKETS=78,
350 NET_TCP_FACK=79,
351 NET_TCP_REORDERING=80,
352 NET_TCP_ECN=81,
353 NET_TCP_DSACK=82,
354 NET_TCP_MEM=83,
355 NET_TCP_WMEM=84,
356 NET_TCP_RMEM=85,
357 NET_TCP_APP_WIN=86,
358 NET_TCP_ADV_WIN_SCALE=87,
359 NET_IPV4_NONLOCAL_BIND=88,
360 NET_IPV4_ICMP_RATELIMIT=89,
361 NET_IPV4_ICMP_RATEMASK=90,
362 NET_TCP_TW_REUSE=91,
363 NET_TCP_FRTO=92,
364 NET_TCP_LOW_LATENCY=93,
365 NET_IPV4_IPFRAG_SECRET_INTERVAL=94,
366 NET_IPV4_IGMP_MAX_MSF=96,
367 NET_TCP_NO_METRICS_SAVE=97,
368 NET_TCP_DEFAULT_WIN_SCALE=105,
369 NET_TCP_MODERATE_RCVBUF=106,
370 NET_TCP_TSO_WIN_DIVISOR=107,
371 NET_TCP_BIC_BETA=108,
372 NET_IPV4_ICMP_ERRORS_USE_INBOUND_IFADDR=109,
373 NET_TCP_CONG_CONTROL=110,
374 NET_TCP_ABC=111,
375 NET_IPV4_IPFRAG_MAX_DIST=112,
376 NET_TCP_MTU_PROBING=113,
377 NET_TCP_BASE_MSS=114,
378 NET_IPV4_TCP_WORKAROUND_SIGNED_WINDOWS=115,
379 NET_TCP_DMA_COPYBREAK=116,
380 NET_TCP_SLOW_START_AFTER_IDLE=117,
381 NET_CIPSOV4_CACHE_ENABLE=118,
382 NET_CIPSOV4_CACHE_BUCKET_SIZE=119,
383 NET_CIPSOV4_RBM_OPTFMT=120,
384 NET_CIPSOV4_RBM_STRICTVALID=121,
385 NET_TCP_AVAIL_CONG_CONTROL=122,
386 NET_TCP_ALLOWED_CONG_CONTROL=123,
387 NET_TCP_MAX_SSTHRESH=124,
388 NET_TCP_FRTO_RESPONSE=125,
389};
390
391enum {
392 NET_IPV4_ROUTE_FLUSH=1,
393 NET_IPV4_ROUTE_MIN_DELAY=2,
394 NET_IPV4_ROUTE_MAX_DELAY=3,
395 NET_IPV4_ROUTE_GC_THRESH=4,
396 NET_IPV4_ROUTE_MAX_SIZE=5,
397 NET_IPV4_ROUTE_GC_MIN_INTERVAL=6,
398 NET_IPV4_ROUTE_GC_TIMEOUT=7,
399 NET_IPV4_ROUTE_GC_INTERVAL=8,
400 NET_IPV4_ROUTE_REDIRECT_LOAD=9,
401 NET_IPV4_ROUTE_REDIRECT_NUMBER=10,
402 NET_IPV4_ROUTE_REDIRECT_SILENCE=11,
403 NET_IPV4_ROUTE_ERROR_COST=12,
404 NET_IPV4_ROUTE_ERROR_BURST=13,
405 NET_IPV4_ROUTE_GC_ELASTICITY=14,
406 NET_IPV4_ROUTE_MTU_EXPIRES=15,
407 NET_IPV4_ROUTE_MIN_PMTU=16,
408 NET_IPV4_ROUTE_MIN_ADVMSS=17,
409 NET_IPV4_ROUTE_SECRET_INTERVAL=18,
410 NET_IPV4_ROUTE_GC_MIN_INTERVAL_MS=19,
411};
412
413enum
414{
415 NET_PROTO_CONF_ALL=-2,
416 NET_PROTO_CONF_DEFAULT=-3
417
418
419};
420
421enum
422{
423 NET_IPV4_CONF_FORWARDING=1,
424 NET_IPV4_CONF_MC_FORWARDING=2,
425 NET_IPV4_CONF_PROXY_ARP=3,
426 NET_IPV4_CONF_ACCEPT_REDIRECTS=4,
427 NET_IPV4_CONF_SECURE_REDIRECTS=5,
428 NET_IPV4_CONF_SEND_REDIRECTS=6,
429 NET_IPV4_CONF_SHARED_MEDIA=7,
430 NET_IPV4_CONF_RP_FILTER=8,
431 NET_IPV4_CONF_ACCEPT_SOURCE_ROUTE=9,
432 NET_IPV4_CONF_BOOTP_RELAY=10,
433 NET_IPV4_CONF_LOG_MARTIANS=11,
434 NET_IPV4_CONF_TAG=12,
435 NET_IPV4_CONF_ARPFILTER=13,
436 NET_IPV4_CONF_MEDIUM_ID=14,
437 NET_IPV4_CONF_NOXFRM=15,
438 NET_IPV4_CONF_NOPOLICY=16,
439 NET_IPV4_CONF_FORCE_IGMP_VERSION=17,
440 NET_IPV4_CONF_ARP_ANNOUNCE=18,
441 NET_IPV4_CONF_ARP_IGNORE=19,
442 NET_IPV4_CONF_PROMOTE_SECONDARIES=20,
443 NET_IPV4_CONF_ARP_ACCEPT=21,
444 NET_IPV4_CONF_ARP_NOTIFY=22,
445};
446
447enum
448{
449 NET_IPV4_NF_CONNTRACK_MAX=1,
450 NET_IPV4_NF_CONNTRACK_TCP_TIMEOUT_SYN_SENT=2,
451 NET_IPV4_NF_CONNTRACK_TCP_TIMEOUT_SYN_RECV=3,
452 NET_IPV4_NF_CONNTRACK_TCP_TIMEOUT_ESTABLISHED=4,
453 NET_IPV4_NF_CONNTRACK_TCP_TIMEOUT_FIN_WAIT=5,
454 NET_IPV4_NF_CONNTRACK_TCP_TIMEOUT_CLOSE_WAIT=6,
455 NET_IPV4_NF_CONNTRACK_TCP_TIMEOUT_LAST_ACK=7,
456 NET_IPV4_NF_CONNTRACK_TCP_TIMEOUT_TIME_WAIT=8,
457 NET_IPV4_NF_CONNTRACK_TCP_TIMEOUT_CLOSE=9,
458 NET_IPV4_NF_CONNTRACK_UDP_TIMEOUT=10,
459 NET_IPV4_NF_CONNTRACK_UDP_TIMEOUT_STREAM=11,
460 NET_IPV4_NF_CONNTRACK_ICMP_TIMEOUT=12,
461 NET_IPV4_NF_CONNTRACK_GENERIC_TIMEOUT=13,
462 NET_IPV4_NF_CONNTRACK_BUCKETS=14,
463 NET_IPV4_NF_CONNTRACK_LOG_INVALID=15,
464 NET_IPV4_NF_CONNTRACK_TCP_TIMEOUT_MAX_RETRANS=16,
465 NET_IPV4_NF_CONNTRACK_TCP_LOOSE=17,
466 NET_IPV4_NF_CONNTRACK_TCP_BE_LIBERAL=18,
467 NET_IPV4_NF_CONNTRACK_TCP_MAX_RETRANS=19,
468 NET_IPV4_NF_CONNTRACK_SCTP_TIMEOUT_CLOSED=20,
469 NET_IPV4_NF_CONNTRACK_SCTP_TIMEOUT_COOKIE_WAIT=21,
470 NET_IPV4_NF_CONNTRACK_SCTP_TIMEOUT_COOKIE_ECHOED=22,
471 NET_IPV4_NF_CONNTRACK_SCTP_TIMEOUT_ESTABLISHED=23,
472 NET_IPV4_NF_CONNTRACK_SCTP_TIMEOUT_SHUTDOWN_SENT=24,
473 NET_IPV4_NF_CONNTRACK_SCTP_TIMEOUT_SHUTDOWN_RECD=25,
474 NET_IPV4_NF_CONNTRACK_SCTP_TIMEOUT_SHUTDOWN_ACK_SENT=26,
475 NET_IPV4_NF_CONNTRACK_COUNT=27,
476 NET_IPV4_NF_CONNTRACK_CHECKSUM=28,
477};
478
479enum {
480 NET_IPV6_CONF=16,
481 NET_IPV6_NEIGH=17,
482 NET_IPV6_ROUTE=18,
483 NET_IPV6_ICMP=19,
484 NET_IPV6_BINDV6ONLY=20,
485 NET_IPV6_IP6FRAG_HIGH_THRESH=21,
486 NET_IPV6_IP6FRAG_LOW_THRESH=22,
487 NET_IPV6_IP6FRAG_TIME=23,
488 NET_IPV6_IP6FRAG_SECRET_INTERVAL=24,
489 NET_IPV6_MLD_MAX_MSF=25,
490};
491
492enum {
493 NET_IPV6_ROUTE_FLUSH=1,
494 NET_IPV6_ROUTE_GC_THRESH=2,
495 NET_IPV6_ROUTE_MAX_SIZE=3,
496 NET_IPV6_ROUTE_GC_MIN_INTERVAL=4,
497 NET_IPV6_ROUTE_GC_TIMEOUT=5,
498 NET_IPV6_ROUTE_GC_INTERVAL=6,
499 NET_IPV6_ROUTE_GC_ELASTICITY=7,
500 NET_IPV6_ROUTE_MTU_EXPIRES=8,
501 NET_IPV6_ROUTE_MIN_ADVMSS=9,
502 NET_IPV6_ROUTE_GC_MIN_INTERVAL_MS=10
503};
504
505enum {
506 NET_IPV6_FORWARDING=1,
507 NET_IPV6_HOP_LIMIT=2,
508 NET_IPV6_MTU=3,
509 NET_IPV6_ACCEPT_RA=4,
510 NET_IPV6_ACCEPT_REDIRECTS=5,
511 NET_IPV6_AUTOCONF=6,
512 NET_IPV6_DAD_TRANSMITS=7,
513 NET_IPV6_RTR_SOLICITS=8,
514 NET_IPV6_RTR_SOLICIT_INTERVAL=9,
515 NET_IPV6_RTR_SOLICIT_DELAY=10,
516 NET_IPV6_USE_TEMPADDR=11,
517 NET_IPV6_TEMP_VALID_LFT=12,
518 NET_IPV6_TEMP_PREFERED_LFT=13,
519 NET_IPV6_REGEN_MAX_RETRY=14,
520 NET_IPV6_MAX_DESYNC_FACTOR=15,
521 NET_IPV6_MAX_ADDRESSES=16,
522 NET_IPV6_FORCE_MLD_VERSION=17,
523 NET_IPV6_ACCEPT_RA_DEFRTR=18,
524 NET_IPV6_ACCEPT_RA_PINFO=19,
525 NET_IPV6_ACCEPT_RA_RTR_PREF=20,
526 NET_IPV6_RTR_PROBE_INTERVAL=21,
527 NET_IPV6_ACCEPT_RA_RT_INFO_MAX_PLEN=22,
528 NET_IPV6_PROXY_NDP=23,
529 NET_IPV6_ACCEPT_SOURCE_ROUTE=25,
530 __NET_IPV6_MAX
531};
532
533enum {
534 NET_IPV6_ICMP_RATELIMIT=1
535};
536
537enum {
538 NET_NEIGH_MCAST_SOLICIT=1,
539 NET_NEIGH_UCAST_SOLICIT=2,
540 NET_NEIGH_APP_SOLICIT=3,
541 NET_NEIGH_RETRANS_TIME=4,
542 NET_NEIGH_REACHABLE_TIME=5,
543 NET_NEIGH_DELAY_PROBE_TIME=6,
544 NET_NEIGH_GC_STALE_TIME=7,
545 NET_NEIGH_UNRES_QLEN=8,
546 NET_NEIGH_PROXY_QLEN=9,
547 NET_NEIGH_ANYCAST_DELAY=10,
548 NET_NEIGH_PROXY_DELAY=11,
549 NET_NEIGH_LOCKTIME=12,
550 NET_NEIGH_GC_INTERVAL=13,
551 NET_NEIGH_GC_THRESH1=14,
552 NET_NEIGH_GC_THRESH2=15,
553 NET_NEIGH_GC_THRESH3=16,
554 NET_NEIGH_RETRANS_TIME_MS=17,
555 NET_NEIGH_REACHABLE_TIME_MS=18,
556};
557
558enum {
559 NET_DCCP_DEFAULT=1,
560};
561
562enum {
563 NET_IPX_PPROP_BROADCASTING=1,
564 NET_IPX_FORWARDING=2
565};
566
567enum {
568 NET_LLC2=1,
569 NET_LLC_STATION=2,
570};
571
572enum {
573 NET_LLC2_TIMEOUT=1,
574};
575
576enum {
577 NET_LLC_STATION_ACK_TIMEOUT=1,
578};
579
580enum {
581 NET_LLC2_ACK_TIMEOUT=1,
582 NET_LLC2_P_TIMEOUT=2,
583 NET_LLC2_REJ_TIMEOUT=3,
584 NET_LLC2_BUSY_TIMEOUT=4,
585};
586
587enum {
588 NET_ATALK_AARP_EXPIRY_TIME=1,
589 NET_ATALK_AARP_TICK_TIME=2,
590 NET_ATALK_AARP_RETRANSMIT_LIMIT=3,
591 NET_ATALK_AARP_RESOLVE_TIME=4
592};
593
594
595enum {
596 NET_NETROM_DEFAULT_PATH_QUALITY=1,
597 NET_NETROM_OBSOLESCENCE_COUNT_INITIALISER=2,
598 NET_NETROM_NETWORK_TTL_INITIALISER=3,
599 NET_NETROM_TRANSPORT_TIMEOUT=4,
600 NET_NETROM_TRANSPORT_MAXIMUM_TRIES=5,
601 NET_NETROM_TRANSPORT_ACKNOWLEDGE_DELAY=6,
602 NET_NETROM_TRANSPORT_BUSY_DELAY=7,
603 NET_NETROM_TRANSPORT_REQUESTED_WINDOW_SIZE=8,
604 NET_NETROM_TRANSPORT_NO_ACTIVITY_TIMEOUT=9,
605 NET_NETROM_ROUTING_CONTROL=10,
606 NET_NETROM_LINK_FAILS_COUNT=11,
607 NET_NETROM_RESET=12
608};
609
610enum {
611 NET_AX25_IP_DEFAULT_MODE=1,
612 NET_AX25_DEFAULT_MODE=2,
613 NET_AX25_BACKOFF_TYPE=3,
614 NET_AX25_CONNECT_MODE=4,
615 NET_AX25_STANDARD_WINDOW=5,
616 NET_AX25_EXTENDED_WINDOW=6,
617 NET_AX25_T1_TIMEOUT=7,
618 NET_AX25_T2_TIMEOUT=8,
619 NET_AX25_T3_TIMEOUT=9,
620 NET_AX25_IDLE_TIMEOUT=10,
621 NET_AX25_N2=11,
622 NET_AX25_PACLEN=12,
623 NET_AX25_PROTOCOL=13,
624 NET_AX25_DAMA_SLAVE_TIMEOUT=14
625};
626
627enum {
628 NET_ROSE_RESTART_REQUEST_TIMEOUT=1,
629 NET_ROSE_CALL_REQUEST_TIMEOUT=2,
630 NET_ROSE_RESET_REQUEST_TIMEOUT=3,
631 NET_ROSE_CLEAR_REQUEST_TIMEOUT=4,
632 NET_ROSE_ACK_HOLD_BACK_TIMEOUT=5,
633 NET_ROSE_ROUTING_CONTROL=6,
634 NET_ROSE_LINK_FAIL_TIMEOUT=7,
635 NET_ROSE_MAX_VCS=8,
636 NET_ROSE_WINDOW_SIZE=9,
637 NET_ROSE_NO_ACTIVITY_TIMEOUT=10
638};
639
640enum {
641 NET_X25_RESTART_REQUEST_TIMEOUT=1,
642 NET_X25_CALL_REQUEST_TIMEOUT=2,
643 NET_X25_RESET_REQUEST_TIMEOUT=3,
644 NET_X25_CLEAR_REQUEST_TIMEOUT=4,
645 NET_X25_ACK_HOLD_BACK_TIMEOUT=5,
646 NET_X25_FORWARD=6
647};
648
649enum
650{
651 NET_TR_RIF_TIMEOUT=1
652};
653
654enum {
655 NET_DECNET_NODE_TYPE = 1,
656 NET_DECNET_NODE_ADDRESS = 2,
657 NET_DECNET_NODE_NAME = 3,
658 NET_DECNET_DEFAULT_DEVICE = 4,
659 NET_DECNET_TIME_WAIT = 5,
660 NET_DECNET_DN_COUNT = 6,
661 NET_DECNET_DI_COUNT = 7,
662 NET_DECNET_DR_COUNT = 8,
663 NET_DECNET_DST_GC_INTERVAL = 9,
664 NET_DECNET_CONF = 10,
665 NET_DECNET_NO_FC_MAX_CWND = 11,
666 NET_DECNET_MEM = 12,
667 NET_DECNET_RMEM = 13,
668 NET_DECNET_WMEM = 14,
669 NET_DECNET_DEBUG_LEVEL = 255
670};
671
672enum {
673 NET_DECNET_CONF_LOOPBACK = -2,
674 NET_DECNET_CONF_DDCMP = -3,
675 NET_DECNET_CONF_PPP = -4,
676 NET_DECNET_CONF_X25 = -5,
677 NET_DECNET_CONF_GRE = -6,
678 NET_DECNET_CONF_ETHER = -7
679
680
681};
682
683enum {
684 NET_DECNET_CONF_DEV_PRIORITY = 1,
685 NET_DECNET_CONF_DEV_T1 = 2,
686 NET_DECNET_CONF_DEV_T2 = 3,
687 NET_DECNET_CONF_DEV_T3 = 4,
688 NET_DECNET_CONF_DEV_FORWARDING = 5,
689 NET_DECNET_CONF_DEV_BLKSIZE = 6,
690 NET_DECNET_CONF_DEV_STATE = 7
691};
692
693enum {
694 NET_SCTP_RTO_INITIAL = 1,
695 NET_SCTP_RTO_MIN = 2,
696 NET_SCTP_RTO_MAX = 3,
697 NET_SCTP_RTO_ALPHA = 4,
698 NET_SCTP_RTO_BETA = 5,
699 NET_SCTP_VALID_COOKIE_LIFE = 6,
700 NET_SCTP_ASSOCIATION_MAX_RETRANS = 7,
701 NET_SCTP_PATH_MAX_RETRANS = 8,
702 NET_SCTP_MAX_INIT_RETRANSMITS = 9,
703 NET_SCTP_HB_INTERVAL = 10,
704 NET_SCTP_PRESERVE_ENABLE = 11,
705 NET_SCTP_MAX_BURST = 12,
706 NET_SCTP_ADDIP_ENABLE = 13,
707 NET_SCTP_PRSCTP_ENABLE = 14,
708 NET_SCTP_SNDBUF_POLICY = 15,
709 NET_SCTP_SACK_TIMEOUT = 16,
710 NET_SCTP_RCVBUF_POLICY = 17,
711};
712
713enum {
714 NET_BRIDGE_NF_CALL_ARPTABLES = 1,
715 NET_BRIDGE_NF_CALL_IPTABLES = 2,
716 NET_BRIDGE_NF_CALL_IP6TABLES = 3,
717 NET_BRIDGE_NF_FILTER_VLAN_TAGGED = 4,
718 NET_BRIDGE_NF_FILTER_PPPOE_TAGGED = 5,
719};
720
721enum {
722 NET_IRDA_DISCOVERY=1,
723 NET_IRDA_DEVNAME=2,
724 NET_IRDA_DEBUG=3,
725 NET_IRDA_FAST_POLL=4,
726 NET_IRDA_DISCOVERY_SLOTS=5,
727 NET_IRDA_DISCOVERY_TIMEOUT=6,
728 NET_IRDA_SLOT_TIMEOUT=7,
729 NET_IRDA_MAX_BAUD_RATE=8,
730 NET_IRDA_MIN_TX_TURN_TIME=9,
731 NET_IRDA_MAX_TX_DATA_SIZE=10,
732 NET_IRDA_MAX_TX_WINDOW=11,
733 NET_IRDA_MAX_NOREPLY_TIME=12,
734 NET_IRDA_WARN_NOREPLY_TIME=13,
735 NET_IRDA_LAP_KEEPALIVE_TIME=14,
736};
737
738
739enum
740{
741 FS_NRINODE=1,
742 FS_STATINODE=2,
743 FS_MAXINODE=3,
744 FS_NRDQUOT=4,
745 FS_MAXDQUOT=5,
746 FS_NRFILE=6,
747 FS_MAXFILE=7,
748 FS_DENTRY=8,
749 FS_NRSUPER=9,
750 FS_MAXSUPER=10,
751 FS_OVERFLOWUID=11,
752 FS_OVERFLOWGID=12,
753 FS_LEASES=13,
754 FS_DIR_NOTIFY=14,
755 FS_LEASE_TIME=15,
756 FS_DQSTATS=16,
757 FS_XFS=17,
758 FS_AIO_NR=18,
759 FS_AIO_MAX_NR=19,
760 FS_INOTIFY=20,
761 FS_OCFS2=988,
762};
763
764enum {
765 FS_DQ_LOOKUPS = 1,
766 FS_DQ_DROPS = 2,
767 FS_DQ_READS = 3,
768 FS_DQ_WRITES = 4,
769 FS_DQ_CACHE_HITS = 5,
770 FS_DQ_ALLOCATED = 6,
771 FS_DQ_FREE = 7,
772 FS_DQ_SYNCS = 8,
773 FS_DQ_WARNINGS = 9,
774};
775
776
777enum {
778 DEV_CDROM=1,
779 DEV_HWMON=2,
780 DEV_PARPORT=3,
781 DEV_RAID=4,
782 DEV_MAC_HID=5,
783 DEV_SCSI=6,
784 DEV_IPMI=7,
785};
786
787enum {
788 DEV_CDROM_INFO=1,
789 DEV_CDROM_AUTOCLOSE=2,
790 DEV_CDROM_AUTOEJECT=3,
791 DEV_CDROM_DEBUG=4,
792 DEV_CDROM_LOCK=5,
793 DEV_CDROM_CHECK_MEDIA=6
794};
795
796enum {
797 DEV_PARPORT_DEFAULT=-3
798};
799
800enum {
801 DEV_RAID_SPEED_LIMIT_MIN=1,
802 DEV_RAID_SPEED_LIMIT_MAX=2
803};
804
805enum {
806 DEV_PARPORT_DEFAULT_TIMESLICE=1,
807 DEV_PARPORT_DEFAULT_SPINTIME=2
808};
809
810enum {
811 DEV_PARPORT_SPINTIME=1,
812 DEV_PARPORT_BASE_ADDR=2,
813 DEV_PARPORT_IRQ=3,
814 DEV_PARPORT_DMA=4,
815 DEV_PARPORT_MODES=5,
816 DEV_PARPORT_DEVICES=6,
817 DEV_PARPORT_AUTOPROBE=16
818};
819
820enum {
821 DEV_PARPORT_DEVICES_ACTIVE=-3,
822};
823
824enum {
825 DEV_PARPORT_DEVICE_TIMESLICE=1,
826};
827
828enum {
829 DEV_MAC_HID_KEYBOARD_SENDS_LINUX_KEYCODES=1,
830 DEV_MAC_HID_KEYBOARD_LOCK_KEYCODES=2,
831 DEV_MAC_HID_MOUSE_BUTTON_EMULATION=3,
832 DEV_MAC_HID_MOUSE_BUTTON2_KEYCODE=4,
833 DEV_MAC_HID_MOUSE_BUTTON3_KEYCODE=5,
834 DEV_MAC_HID_ADB_MOUSE_SENDS_KEYCODES=6
835};
836
837enum {
838 DEV_SCSI_LOGGING_LEVEL=1,
839};
840
841enum {
842 DEV_IPMI_POWEROFF_POWERCYCLE=1,
843};
844
845enum
846{
847 ABI_DEFHANDLER_COFF=1,
848 ABI_DEFHANDLER_ELF=2,
849 ABI_DEFHANDLER_LCALL7=3,
850 ABI_DEFHANDLER_LIBCSO=4,
851 ABI_TRACE=5,
852 ABI_FAKE_UTSNAME=6,
853};
854
855#ifdef __KERNEL__
856#include <linux/list.h>
857#include <linux/rcupdate.h>
858#include <linux/wait.h>
859#include <linux/rbtree.h>
860
861struct ctl_table;
862struct nsproxy;
863struct ctl_table_root;
864struct ctl_table_header;
865struct ctl_dir;
866
867typedef struct ctl_table ctl_table;
868
869typedef int proc_handler (struct ctl_table *ctl, int write,
870 void __user *buffer, size_t *lenp, loff_t *ppos);
871
872extern int proc_dostring(struct ctl_table *, int,
873 void __user *, size_t *, loff_t *);
874extern int proc_dointvec(struct ctl_table *, int,
875 void __user *, size_t *, loff_t *);
876extern int proc_dointvec_minmax(struct ctl_table *, int,
877 void __user *, size_t *, loff_t *);
878extern int proc_dointvec_jiffies(struct ctl_table *, int,
879 void __user *, size_t *, loff_t *);
880extern int proc_dointvec_userhz_jiffies(struct ctl_table *, int,
881 void __user *, size_t *, loff_t *);
882extern int proc_dointvec_ms_jiffies(struct ctl_table *, int,
883 void __user *, size_t *, loff_t *);
884extern int proc_doulongvec_minmax(struct ctl_table *, int,
885 void __user *, size_t *, loff_t *);
886extern int proc_doulongvec_ms_jiffies_minmax(struct ctl_table *table, int,
887 void __user *, size_t *, loff_t *);
888extern int proc_do_large_bitmap(struct ctl_table *, int,
889 void __user *, size_t *, loff_t *);
890
891/*
892 * Register a set of sysctl names by calling register_sysctl_table
893 * with an initialised array of struct ctl_table's. An entry with
894 * NULL procname terminates the table. table->de will be
895 * set up by the registration and need not be initialised in advance.
896 *
897 * sysctl names can be mirrored automatically under /proc/sys. The
898 * procname supplied controls /proc naming.
899 *
900 * The table's mode will be honoured both for sys_sysctl(2) and
901 * proc-fs access.
902 *
903 * Leaf nodes in the sysctl tree will be represented by a single file
904 * under /proc; non-leaf nodes will be represented by directories. A
905 * null procname disables /proc mirroring at this node.
906 *
907 * sysctl(2) can automatically manage read and write requests through
908 * the sysctl table. The data and maxlen fields of the ctl_table
909 * struct enable minimal validation of the values being written to be
910 * performed, and the mode field allows minimal authentication.
911 *
912 * There must be a proc_handler routine for any terminal nodes
913 * mirrored under /proc/sys (non-terminals are handled by a built-in
914 * directory handler). Several default handlers are available to
915 * cover common cases.
916 */
917
918struct ctl_table_poll {
919 atomic_t event;
920 wait_queue_head_t wait;
921};
922
923static inline void *proc_sys_poll_event(struct ctl_table_poll *poll)
924{
925 return (void *)(unsigned long)atomic_read(&poll->event);
926}
927
928#define __CTL_TABLE_POLL_INITIALIZER(name) { \
929 .event = ATOMIC_INIT(0), \
930 .wait = __WAIT_QUEUE_HEAD_INITIALIZER(name.wait) }
931
932#define DEFINE_CTL_TABLE_POLL(name) \
933 struct ctl_table_poll name = __CTL_TABLE_POLL_INITIALIZER(name)
934
935struct ctl_table
936{
937 const char *procname;
938 void *data;
939 int maxlen;
940 umode_t mode;
941 struct ctl_table *child;
942 proc_handler *proc_handler;
943 struct ctl_table_poll *poll;
944 void *extra1;
945 void *extra2;
946};
947
948struct ctl_node {
949 struct rb_node node;
950 struct ctl_table_header *header;
951};
952
953struct ctl_table_header
954{
955 union {
956 struct {
957 struct ctl_table *ctl_table;
958 int used;
959 int count;
960 int nreg;
961 };
962 struct rcu_head rcu;
963 };
964 struct completion *unregistering;
965 struct ctl_table *ctl_table_arg;
966 struct ctl_table_root *root;
967 struct ctl_table_set *set;
968 struct ctl_dir *parent;
969 struct ctl_node *node;
970};
971
972struct ctl_dir {
973
974 struct ctl_table_header header;
975 struct rb_root root;
976};
977
978struct ctl_table_set {
979 int (*is_seen)(struct ctl_table_set *);
980 struct ctl_dir dir;
981};
982
983struct ctl_table_root {
984 struct ctl_table_set default_set;
985 struct ctl_table_set *(*lookup)(struct ctl_table_root *root,
986 struct nsproxy *namespaces);
987 int (*permissions)(struct ctl_table_root *root,
988 struct nsproxy *namespaces, struct ctl_table *table);
989};
990
991struct ctl_path {
992 const char *procname;
993};
994
995#ifdef CONFIG_SYSCTL
996
997void proc_sys_poll_notify(struct ctl_table_poll *poll);
998
999extern void setup_sysctl_set(struct ctl_table_set *p,
1000 struct ctl_table_root *root,
1001 int (*is_seen)(struct ctl_table_set *));
1002extern void retire_sysctl_set(struct ctl_table_set *set);
1003
1004void register_sysctl_root(struct ctl_table_root *root);
1005struct ctl_table_header *__register_sysctl_table(
1006 struct ctl_table_set *set,
1007 const char *path, struct ctl_table *table);
1008struct ctl_table_header *__register_sysctl_paths(
1009 struct ctl_table_set *set,
1010 const struct ctl_path *path, struct ctl_table *table);
1011struct ctl_table_header *register_sysctl(const char *path, struct ctl_table *table);
1012struct ctl_table_header *register_sysctl_table(struct ctl_table * table);
1013struct ctl_table_header *register_sysctl_paths(const struct ctl_path *path,
1014 struct ctl_table *table);
1015
1016void unregister_sysctl_table(struct ctl_table_header * table);
1017
1018extern int sysctl_init(void);
1019#else
1020static inline struct ctl_table_header *register_sysctl_table(struct ctl_table * table)
1021{
1022 return NULL;
1023}
1024
1025static inline struct ctl_table_header *register_sysctl_paths(
1026 const struct ctl_path *path, struct ctl_table *table)
1027{
1028 return NULL;
1029}
1030
1031static inline void unregister_sysctl_table(struct ctl_table_header * table)
1032{
1033}
1034
1035static inline void setup_sysctl_set(struct ctl_table_set *p,
1036 struct ctl_table_root *root,
1037 int (*is_seen)(struct ctl_table_set *))
1038{
1039}
1040
1041#endif
1042
1043#endif
1044
1045#endif