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
936
937struct ctl_table;
938struct nsproxy;
939struct ctl_table_root;
940
941struct ctl_table_set {
942 struct list_head list;
943 struct ctl_table_set *parent;
944 int (*is_seen)(struct ctl_table_set *);
945};
946
947extern void setup_sysctl_set(struct ctl_table_set *p,
948 struct ctl_table_set *parent,
949 int (*is_seen)(struct ctl_table_set *));
950
951struct ctl_table_header;
952
953extern void sysctl_head_get(struct ctl_table_header *);
954extern void sysctl_head_put(struct ctl_table_header *);
955extern int sysctl_is_seen(struct ctl_table_header *);
956extern struct ctl_table_header *sysctl_head_grab(struct ctl_table_header *);
957extern struct ctl_table_header *sysctl_head_next(struct ctl_table_header *prev);
958extern struct ctl_table_header *__sysctl_head_next(struct nsproxy *namespaces,
959 struct ctl_table_header *prev);
960extern void sysctl_head_finish(struct ctl_table_header *prev);
961extern int sysctl_perm(struct ctl_table_root *root,
962 struct ctl_table *table, int op);
963
964typedef struct ctl_table ctl_table;
965
966typedef int proc_handler (struct ctl_table *ctl, int write,
967 void __user *buffer, size_t *lenp, loff_t *ppos);
968
969extern int proc_dostring(struct ctl_table *, int,
970 void __user *, size_t *, loff_t *);
971extern int proc_dointvec(struct ctl_table *, int,
972 void __user *, size_t *, loff_t *);
973extern int proc_dointvec_minmax(struct ctl_table *, int,
974 void __user *, size_t *, loff_t *);
975extern int proc_dointvec_jiffies(struct ctl_table *, int,
976 void __user *, size_t *, loff_t *);
977extern int proc_dointvec_userhz_jiffies(struct ctl_table *, int,
978 void __user *, size_t *, loff_t *);
979extern int proc_dointvec_ms_jiffies(struct ctl_table *, int,
980 void __user *, size_t *, loff_t *);
981extern int proc_doulongvec_minmax(struct ctl_table *, int,
982 void __user *, size_t *, loff_t *);
983extern int proc_doulongvec_ms_jiffies_minmax(struct ctl_table *table, int,
984 void __user *, size_t *, loff_t *);
985extern int proc_do_large_bitmap(struct ctl_table *, int,
986 void __user *, size_t *, loff_t *);
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016struct ctl_table_poll {
1017 atomic_t event;
1018 wait_queue_head_t wait;
1019};
1020
1021static inline void *proc_sys_poll_event(struct ctl_table_poll *poll)
1022{
1023 return (void *)(unsigned long)atomic_read(&poll->event);
1024}
1025
1026void proc_sys_poll_notify(struct ctl_table_poll *poll);
1027
1028#define __CTL_TABLE_POLL_INITIALIZER(name) { \
1029 .event = ATOMIC_INIT(0), \
1030 .wait = __WAIT_QUEUE_HEAD_INITIALIZER(name.wait) }
1031
1032#define DEFINE_CTL_TABLE_POLL(name) \
1033 struct ctl_table_poll name = __CTL_TABLE_POLL_INITIALIZER(name)
1034
1035
1036struct ctl_table
1037{
1038 const char *procname;
1039 void *data;
1040 int maxlen;
1041 umode_t mode;
1042 struct ctl_table *child;
1043 struct ctl_table *parent;
1044 proc_handler *proc_handler;
1045 struct ctl_table_poll *poll;
1046 void *extra1;
1047 void *extra2;
1048};
1049
1050struct ctl_table_root {
1051 struct list_head root_list;
1052 struct ctl_table_set default_set;
1053 struct ctl_table_set *(*lookup)(struct ctl_table_root *root,
1054 struct nsproxy *namespaces);
1055 int (*permissions)(struct ctl_table_root *root,
1056 struct nsproxy *namespaces, struct ctl_table *table);
1057};
1058
1059
1060
1061struct ctl_table_header
1062{
1063 union {
1064 struct {
1065 struct ctl_table *ctl_table;
1066 struct list_head ctl_entry;
1067 int used;
1068 int count;
1069 };
1070 struct rcu_head rcu;
1071 };
1072 struct completion *unregistering;
1073 struct ctl_table *ctl_table_arg;
1074 struct ctl_table_root *root;
1075 struct ctl_table_set *set;
1076 struct ctl_table *attached_by;
1077 struct ctl_table *attached_to;
1078 struct ctl_table_header *parent;
1079};
1080
1081
1082struct ctl_path {
1083 const char *procname;
1084};
1085
1086void register_sysctl_root(struct ctl_table_root *root);
1087struct ctl_table_header *__register_sysctl_paths(
1088 struct ctl_table_root *root, struct nsproxy *namespaces,
1089 const struct ctl_path *path, struct ctl_table *table);
1090struct ctl_table_header *register_sysctl_table(struct ctl_table * table);
1091struct ctl_table_header *register_sysctl_paths(const struct ctl_path *path,
1092 struct ctl_table *table);
1093
1094void unregister_sysctl_table(struct ctl_table_header * table);
1095int sysctl_check_table(struct nsproxy *namespaces, struct ctl_table *table);
1096
1097#endif
1098
1099#endif
1100