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