]>
Commit | Line | Data |
---|---|---|
1da177e4 LT |
1 | /* |
2 | * sysctl.h: General linux system control interface | |
3 | * | |
4 | * Begun 24 March 1995, Stephen Tweedie | |
5 | * | |
6 | **************************************************************** | |
7 | **************************************************************** | |
8 | ** | |
7cc13edc | 9 | ** WARNING: |
1da177e4 | 10 | ** The values in this file are exported to user space via |
7cc13edc EB |
11 | ** the sysctl() binary interface. Do *NOT* change the |
12 | ** numbering of any existing values here, and do not change | |
13 | ** any numbers within any one set of values. If you have to | |
93aec204 | 14 | ** redefine an existing interface, use a new number for it. |
7cc13edc EB |
15 | ** The kernel will then return -ENOTDIR to any application using |
16 | ** the old binary interface. | |
17 | ** | |
18 | ** For new interfaces unless you really need a binary number | |
19 | ** please use CTL_UNNUMBERED. | |
1da177e4 LT |
20 | ** |
21 | **************************************************************** | |
22 | **************************************************************** | |
23 | */ | |
24 | ||
25 | #ifndef _LINUX_SYSCTL_H | |
26 | #define _LINUX_SYSCTL_H | |
27 | ||
28 | #include <linux/kernel.h> | |
29 | #include <linux/types.h> | |
1da177e4 LT |
30 | #include <linux/compiler.h> |
31 | ||
32 | struct file; | |
330d57fb | 33 | struct completion; |
1da177e4 LT |
34 | |
35 | #define CTL_MAXNAME 10 /* how many path components do we allow in a | |
36 | call to sysctl? In other words, what is | |
37 | the largest acceptable value for the nlen | |
38 | member of a struct __sysctl_args to have? */ | |
39 | ||
40 | struct __sysctl_args { | |
41 | int __user *name; | |
42 | int nlen; | |
43 | void __user *oldval; | |
44 | size_t __user *oldlenp; | |
45 | void __user *newval; | |
46 | size_t newlen; | |
47 | unsigned long __unused[4]; | |
48 | }; | |
49 | ||
50 | /* Define sysctl names first */ | |
51 | ||
52 | /* Top-level names: */ | |
53 | ||
54 | /* For internal pattern-matching use only: */ | |
55 | #ifdef __KERNEL__ | |
1da177e4 | 56 | #define CTL_NONE 0 |
7cc13edc | 57 | #define CTL_UNNUMBERED CTL_NONE /* sysctl without a binary number */ |
1da177e4 LT |
58 | #endif |
59 | ||
60 | enum | |
61 | { | |
62 | CTL_KERN=1, /* General kernel info and control */ | |
63 | CTL_VM=2, /* VM management */ | |
64 | CTL_NET=3, /* Networking */ | |
0d0ed42e | 65 | CTL_PROC=4, /* removal breaks strace(1) compilation */ |
1da177e4 LT |
66 | CTL_FS=5, /* Filesystems */ |
67 | CTL_DEBUG=6, /* Debugging */ | |
68 | CTL_DEV=7, /* Devices */ | |
69 | CTL_BUS=8, /* Busses */ | |
70 | CTL_ABI=9, /* Binary emulation */ | |
50d851f7 | 71 | CTL_CPU=10, /* CPU stuff (speed scaling, etc) */ |
59fc5313 | 72 | CTL_ARLAN=254, /* arlan wireless driver */ |
feceb63e | 73 | CTL_S390DBF=5677, /* s390 debug */ |
50d851f7 | 74 | CTL_SUNRPC=7249, /* sunrpc debug */ |
462591b8 | 75 | CTL_PM=9899, /* frv power management */ |
77f6dfb1 | 76 | CTL_FRV=9898, /* frv specific sysctls */ |
1da177e4 LT |
77 | }; |
78 | ||
79 | /* CTL_BUS names: */ | |
80 | enum | |
81 | { | |
82 | CTL_BUS_ISA=1 /* ISA */ | |
83 | }; | |
84 | ||
0399cb08 | 85 | /* /proc/sys/fs/inotify/ */ |
0eeca283 RL |
86 | enum |
87 | { | |
0399cb08 RL |
88 | INOTIFY_MAX_USER_INSTANCES=1, /* max instances per user */ |
89 | INOTIFY_MAX_USER_WATCHES=2, /* max watches per user */ | |
90 | INOTIFY_MAX_QUEUED_EVENTS=3 /* max queued events per instance */ | |
0eeca283 RL |
91 | }; |
92 | ||
1da177e4 LT |
93 | /* CTL_KERN names: */ |
94 | enum | |
95 | { | |
96 | KERN_OSTYPE=1, /* string: system version */ | |
97 | KERN_OSRELEASE=2, /* string: system release */ | |
98 | KERN_OSREV=3, /* int: system revision */ | |
99 | KERN_VERSION=4, /* string: compile time info */ | |
100 | KERN_SECUREMASK=5, /* struct: maximum rights mask */ | |
101 | KERN_PROF=6, /* table: profiling information */ | |
102 | KERN_NODENAME=7, | |
103 | KERN_DOMAINNAME=8, | |
104 | ||
1da177e4 LT |
105 | KERN_PANIC=15, /* int: panic timeout */ |
106 | KERN_REALROOTDEV=16, /* real root device to mount after initrd */ | |
107 | ||
108 | KERN_SPARC_REBOOT=21, /* reboot command on Sparc */ | |
109 | KERN_CTLALTDEL=22, /* int: allow ctl-alt-del to reboot */ | |
110 | KERN_PRINTK=23, /* struct: control printk logging parameters */ | |
111 | KERN_NAMETRANS=24, /* Name translation */ | |
112 | KERN_PPC_HTABRECLAIM=25, /* turn htab reclaimation on/off on PPC */ | |
113 | KERN_PPC_ZEROPAGED=26, /* turn idle page zeroing on/off on PPC */ | |
114 | KERN_PPC_POWERSAVE_NAP=27, /* use nap mode for power saving */ | |
115 | KERN_MODPROBE=28, | |
116 | KERN_SG_BIG_BUFF=29, | |
117 | KERN_ACCT=30, /* BSD process accounting parameters */ | |
118 | KERN_PPC_L2CR=31, /* l2cr register on PPC */ | |
119 | ||
120 | KERN_RTSIGNR=32, /* Number of rt sigs queued */ | |
121 | KERN_RTSIGMAX=33, /* Max queuable */ | |
122 | ||
123 | KERN_SHMMAX=34, /* long: Maximum shared memory segment */ | |
124 | KERN_MSGMAX=35, /* int: Maximum size of a messege */ | |
125 | KERN_MSGMNB=36, /* int: Maximum message queue size */ | |
126 | KERN_MSGPOOL=37, /* int: Maximum system message pool size */ | |
127 | KERN_SYSRQ=38, /* int: Sysreq enable */ | |
128 | KERN_MAX_THREADS=39, /* int: Maximum nr of threads in the system */ | |
129 | KERN_RANDOM=40, /* Random driver */ | |
130 | KERN_SHMALL=41, /* int: Maximum size of shared memory */ | |
131 | KERN_MSGMNI=42, /* int: msg queue identifiers */ | |
132 | KERN_SEM=43, /* struct: sysv semaphore limits */ | |
133 | KERN_SPARC_STOP_A=44, /* int: Sparc Stop-A enable */ | |
134 | KERN_SHMMNI=45, /* int: shm array identifiers */ | |
135 | KERN_OVERFLOWUID=46, /* int: overflow UID */ | |
136 | KERN_OVERFLOWGID=47, /* int: overflow GID */ | |
137 | KERN_SHMPATH=48, /* string: path to shm fs */ | |
312c004d | 138 | KERN_HOTPLUG=49, /* string: path to uevent helper (deprecated) */ |
1da177e4 LT |
139 | KERN_IEEE_EMULATION_WARNINGS=50, /* int: unimplemented ieee instructions */ |
140 | KERN_S390_USER_DEBUG_LOGGING=51, /* int: dumps of user faults */ | |
141 | KERN_CORE_USES_PID=52, /* int: use core or core.%pid */ | |
142 | KERN_TAINTED=53, /* int: various kernel tainted flags */ | |
143 | KERN_CADPID=54, /* int: PID of the process to notify on CAD */ | |
144 | KERN_PIDMAX=55, /* int: PID # limit */ | |
145 | KERN_CORE_PATTERN=56, /* string: pattern for core-file names */ | |
146 | KERN_PANIC_ON_OOPS=57, /* int: whether we will panic on an oops */ | |
147 | KERN_HPPA_PWRSW=58, /* int: hppa soft-power enable */ | |
148 | KERN_HPPA_UNALIGNED=59, /* int: hppa unaligned-trap enable */ | |
149 | KERN_PRINTK_RATELIMIT=60, /* int: tune printk ratelimiting */ | |
150 | KERN_PRINTK_RATELIMIT_BURST=61, /* int: tune printk ratelimiting */ | |
151 | KERN_PTY=62, /* dir: pty driver */ | |
152 | KERN_NGROUPS_MAX=63, /* int: NGROUPS_MAX */ | |
153 | KERN_SPARC_SCONS_PWROFF=64, /* int: serial console power-off halt */ | |
154 | KERN_HZ_TIMER=65, /* int: hz timer on or off */ | |
155 | KERN_UNKNOWN_NMI_PANIC=66, /* int: unknown nmi panic flag */ | |
156 | KERN_BOOTLOADER_TYPE=67, /* int: boot loader type */ | |
157 | KERN_RANDOMIZE=68, /* int: randomize virtual address space */ | |
d6e71144 | 158 | KERN_SETUID_DUMPABLE=69, /* int: behaviour of dumps for setuid core */ |
951f22d5 | 159 | KERN_SPIN_RETRY=70, /* int: number of spinlock retries */ |
c255d844 | 160 | KERN_ACPI_VIDEO_FLAGS=71, /* int: flags for setting up video after ACPI sleep */ |
d2b176ed | 161 | KERN_IA64_UNALIGNED=72, /* int: ia64 unaligned userland trap enable */ |
bebfa101 | 162 | KERN_COMPAT_LOG=73, /* int: print compat layer messages */ |
23f78d4a | 163 | KERN_MAX_LOCK_DEPTH=74, |
407984f1 | 164 | KERN_NMI_WATCHDOG=75, /* int: enable/disable nmi watchdog */ |
8da5adda | 165 | KERN_PANIC_ON_NMI=76, /* int: whether we will panic on an unrecovered */ |
1da177e4 LT |
166 | }; |
167 | ||
168 | ||
bebfa101 | 169 | |
1da177e4 LT |
170 | /* CTL_VM names: */ |
171 | enum | |
172 | { | |
173 | VM_UNUSED1=1, /* was: struct: Set vm swapping control */ | |
174 | VM_UNUSED2=2, /* was; int: Linear or sqrt() swapout for hogs */ | |
175 | VM_UNUSED3=3, /* was: struct: Set free page thresholds */ | |
176 | VM_UNUSED4=4, /* Spare */ | |
177 | VM_OVERCOMMIT_MEMORY=5, /* Turn off the virtual memory safety limit */ | |
178 | VM_UNUSED5=6, /* was: struct: Set buffer memory thresholds */ | |
179 | VM_UNUSED7=7, /* was: struct: Set cache memory thresholds */ | |
180 | VM_UNUSED8=8, /* was: struct: Control kswapd behaviour */ | |
181 | VM_UNUSED9=9, /* was: struct: Set page table cache parameters */ | |
182 | VM_PAGE_CLUSTER=10, /* int: set number of pages to swap together */ | |
183 | VM_DIRTY_BACKGROUND=11, /* dirty_background_ratio */ | |
184 | VM_DIRTY_RATIO=12, /* dirty_ratio */ | |
185 | VM_DIRTY_WB_CS=13, /* dirty_writeback_centisecs */ | |
186 | VM_DIRTY_EXPIRE_CS=14, /* dirty_expire_centisecs */ | |
187 | VM_NR_PDFLUSH_THREADS=15, /* nr_pdflush_threads */ | |
188 | VM_OVERCOMMIT_RATIO=16, /* percent of RAM to allow overcommit in */ | |
189 | VM_PAGEBUF=17, /* struct: Control pagebuf parameters */ | |
190 | VM_HUGETLB_PAGES=18, /* int: Number of available Huge Pages */ | |
191 | VM_SWAPPINESS=19, /* Tendency to steal mapped memory */ | |
192 | VM_LOWMEM_RESERVE_RATIO=20,/* reservation ratio for lower memory zones */ | |
193 | VM_MIN_FREE_KBYTES=21, /* Minimum free kilobytes to maintain */ | |
194 | VM_MAX_MAP_COUNT=22, /* int: Maximum number of mmaps/address-space */ | |
195 | VM_LAPTOP_MODE=23, /* vm laptop mode */ | |
196 | VM_BLOCK_DUMP=24, /* block dump mode */ | |
197 | VM_HUGETLB_GROUP=25, /* permitted hugetlb group */ | |
198 | VM_VFS_CACHE_PRESSURE=26, /* dcache/icache reclaim pressure */ | |
199 | VM_LEGACY_VA_LAYOUT=27, /* legacy/compatibility virtual address space layout */ | |
200 | VM_SWAP_TOKEN_TIMEOUT=28, /* default time for token time out */ | |
9d0243bc | 201 | VM_DROP_PAGECACHE=29, /* int: nuke lots of pagecache */ |
8ad4b1fb | 202 | VM_PERCPU_PAGELIST_FRACTION=30,/* int: fraction of pages in each percpu_pagelist */ |
2a11ff06 | 203 | VM_ZONE_RECLAIM_MODE=31, /* reclaim local zone memory before going off node */ |
9614634f | 204 | VM_MIN_UNMAPPED=32, /* Set min percent of unmapped pages */ |
fadd8fbd | 205 | VM_PANIC_ON_OOM=33, /* panic at out-of-memory */ |
e6e5494c | 206 | VM_VDSO_ENABLED=34, /* map VDSO into new processes? */ |
0ff38490 | 207 | VM_MIN_SLAB=35, /* Percent pages ignored by zone reclaim */ |
1da177e4 LT |
208 | }; |
209 | ||
210 | ||
211 | /* CTL_NET names: */ | |
212 | enum | |
213 | { | |
214 | NET_CORE=1, | |
215 | NET_ETHER=2, | |
216 | NET_802=3, | |
217 | NET_UNIX=4, | |
218 | NET_IPV4=5, | |
219 | NET_IPX=6, | |
220 | NET_ATALK=7, | |
221 | NET_NETROM=8, | |
222 | NET_AX25=9, | |
223 | NET_BRIDGE=10, | |
224 | NET_ROSE=11, | |
225 | NET_IPV6=12, | |
226 | NET_X25=13, | |
227 | NET_TR=14, | |
228 | NET_DECNET=15, | |
229 | NET_ECONET=16, | |
590232a7 ACM |
230 | NET_SCTP=17, |
231 | NET_LLC=18, | |
9fb9cbb1 | 232 | NET_NETFILTER=19, |
e55d912f | 233 | NET_DCCP=20, |
f429cd37 | 234 | NET_IRDA=412, |
1da177e4 LT |
235 | }; |
236 | ||
237 | /* /proc/sys/kernel/random */ | |
238 | enum | |
239 | { | |
240 | RANDOM_POOLSIZE=1, | |
241 | RANDOM_ENTROPY_COUNT=2, | |
242 | RANDOM_READ_THRESH=3, | |
243 | RANDOM_WRITE_THRESH=4, | |
244 | RANDOM_BOOT_ID=5, | |
245 | RANDOM_UUID=6 | |
246 | }; | |
247 | ||
248 | /* /proc/sys/kernel/pty */ | |
249 | enum | |
250 | { | |
251 | PTY_MAX=1, | |
252 | PTY_NR=2 | |
253 | }; | |
254 | ||
255 | /* /proc/sys/bus/isa */ | |
256 | enum | |
257 | { | |
258 | BUS_ISA_MEM_BASE=1, | |
259 | BUS_ISA_PORT_BASE=2, | |
260 | BUS_ISA_PORT_SHIFT=3 | |
261 | }; | |
262 | ||
263 | /* /proc/sys/net/core */ | |
264 | enum | |
265 | { | |
266 | NET_CORE_WMEM_MAX=1, | |
267 | NET_CORE_RMEM_MAX=2, | |
268 | NET_CORE_WMEM_DEFAULT=3, | |
269 | NET_CORE_RMEM_DEFAULT=4, | |
270 | /* was NET_CORE_DESTROY_DELAY */ | |
271 | NET_CORE_MAX_BACKLOG=6, | |
272 | NET_CORE_FASTROUTE=7, | |
273 | NET_CORE_MSG_COST=8, | |
274 | NET_CORE_MSG_BURST=9, | |
275 | NET_CORE_OPTMEM_MAX=10, | |
276 | NET_CORE_HOT_LIST_LENGTH=11, | |
277 | NET_CORE_DIVERT_VERSION=12, | |
278 | NET_CORE_NO_CONG_THRESH=13, | |
279 | NET_CORE_NO_CONG=14, | |
280 | NET_CORE_LO_CONG=15, | |
281 | NET_CORE_MOD_CONG=16, | |
282 | NET_CORE_DEV_WEIGHT=17, | |
283 | NET_CORE_SOMAXCONN=18, | |
51b0bded | 284 | NET_CORE_BUDGET=19, |
f8cd5488 JHS |
285 | NET_CORE_AEVENT_ETIME=20, |
286 | NET_CORE_AEVENT_RSEQTH=21, | |
a2a316fd | 287 | NET_CORE_WARNINGS=22, |
1da177e4 LT |
288 | }; |
289 | ||
290 | /* /proc/sys/net/ethernet */ | |
291 | ||
292 | /* /proc/sys/net/802 */ | |
293 | ||
294 | /* /proc/sys/net/unix */ | |
295 | ||
296 | enum | |
297 | { | |
298 | NET_UNIX_DESTROY_DELAY=1, | |
299 | NET_UNIX_DELETE_DELAY=2, | |
300 | NET_UNIX_MAX_DGRAM_QLEN=3, | |
301 | }; | |
302 | ||
9fb9cbb1 YK |
303 | /* /proc/sys/net/netfilter */ |
304 | enum | |
305 | { | |
306 | NET_NF_CONNTRACK_MAX=1, | |
307 | NET_NF_CONNTRACK_TCP_TIMEOUT_SYN_SENT=2, | |
308 | NET_NF_CONNTRACK_TCP_TIMEOUT_SYN_RECV=3, | |
309 | NET_NF_CONNTRACK_TCP_TIMEOUT_ESTABLISHED=4, | |
310 | NET_NF_CONNTRACK_TCP_TIMEOUT_FIN_WAIT=5, | |
311 | NET_NF_CONNTRACK_TCP_TIMEOUT_CLOSE_WAIT=6, | |
312 | NET_NF_CONNTRACK_TCP_TIMEOUT_LAST_ACK=7, | |
313 | NET_NF_CONNTRACK_TCP_TIMEOUT_TIME_WAIT=8, | |
314 | NET_NF_CONNTRACK_TCP_TIMEOUT_CLOSE=9, | |
315 | NET_NF_CONNTRACK_UDP_TIMEOUT=10, | |
316 | NET_NF_CONNTRACK_UDP_TIMEOUT_STREAM=11, | |
317 | NET_NF_CONNTRACK_ICMP_TIMEOUT=12, | |
318 | NET_NF_CONNTRACK_GENERIC_TIMEOUT=13, | |
319 | NET_NF_CONNTRACK_BUCKETS=14, | |
320 | NET_NF_CONNTRACK_LOG_INVALID=15, | |
321 | NET_NF_CONNTRACK_TCP_TIMEOUT_MAX_RETRANS=16, | |
322 | NET_NF_CONNTRACK_TCP_LOOSE=17, | |
323 | NET_NF_CONNTRACK_TCP_BE_LIBERAL=18, | |
324 | NET_NF_CONNTRACK_TCP_MAX_RETRANS=19, | |
325 | NET_NF_CONNTRACK_SCTP_TIMEOUT_CLOSED=20, | |
326 | NET_NF_CONNTRACK_SCTP_TIMEOUT_COOKIE_WAIT=21, | |
327 | NET_NF_CONNTRACK_SCTP_TIMEOUT_COOKIE_ECHOED=22, | |
328 | NET_NF_CONNTRACK_SCTP_TIMEOUT_ESTABLISHED=23, | |
329 | NET_NF_CONNTRACK_SCTP_TIMEOUT_SHUTDOWN_SENT=24, | |
330 | NET_NF_CONNTRACK_SCTP_TIMEOUT_SHUTDOWN_RECD=25, | |
331 | NET_NF_CONNTRACK_SCTP_TIMEOUT_SHUTDOWN_ACK_SENT=26, | |
332 | NET_NF_CONNTRACK_COUNT=27, | |
333 | NET_NF_CONNTRACK_ICMPV6_TIMEOUT=28, | |
334 | NET_NF_CONNTRACK_FRAG6_TIMEOUT=29, | |
335 | NET_NF_CONNTRACK_FRAG6_LOW_THRESH=30, | |
336 | NET_NF_CONNTRACK_FRAG6_HIGH_THRESH=31, | |
39a27a35 | 337 | NET_NF_CONNTRACK_CHECKSUM=32, |
9fb9cbb1 YK |
338 | }; |
339 | ||
1da177e4 LT |
340 | /* /proc/sys/net/ipv4 */ |
341 | enum | |
342 | { | |
343 | /* v2.0 compatibile variables */ | |
344 | NET_IPV4_FORWARD=8, | |
345 | NET_IPV4_DYNADDR=9, | |
346 | ||
347 | NET_IPV4_CONF=16, | |
348 | NET_IPV4_NEIGH=17, | |
349 | NET_IPV4_ROUTE=18, | |
350 | NET_IPV4_FIB_HASH=19, | |
351 | NET_IPV4_NETFILTER=20, | |
352 | ||
353 | NET_IPV4_TCP_TIMESTAMPS=33, | |
354 | NET_IPV4_TCP_WINDOW_SCALING=34, | |
355 | NET_IPV4_TCP_SACK=35, | |
356 | NET_IPV4_TCP_RETRANS_COLLAPSE=36, | |
357 | NET_IPV4_DEFAULT_TTL=37, | |
358 | NET_IPV4_AUTOCONFIG=38, | |
359 | NET_IPV4_NO_PMTU_DISC=39, | |
360 | NET_IPV4_TCP_SYN_RETRIES=40, | |
361 | NET_IPV4_IPFRAG_HIGH_THRESH=41, | |
362 | NET_IPV4_IPFRAG_LOW_THRESH=42, | |
363 | NET_IPV4_IPFRAG_TIME=43, | |
364 | NET_IPV4_TCP_MAX_KA_PROBES=44, | |
365 | NET_IPV4_TCP_KEEPALIVE_TIME=45, | |
366 | NET_IPV4_TCP_KEEPALIVE_PROBES=46, | |
367 | NET_IPV4_TCP_RETRIES1=47, | |
368 | NET_IPV4_TCP_RETRIES2=48, | |
369 | NET_IPV4_TCP_FIN_TIMEOUT=49, | |
370 | NET_IPV4_IP_MASQ_DEBUG=50, | |
371 | NET_TCP_SYNCOOKIES=51, | |
372 | NET_TCP_STDURG=52, | |
373 | NET_TCP_RFC1337=53, | |
374 | NET_TCP_SYN_TAILDROP=54, | |
375 | NET_TCP_MAX_SYN_BACKLOG=55, | |
376 | NET_IPV4_LOCAL_PORT_RANGE=56, | |
377 | NET_IPV4_ICMP_ECHO_IGNORE_ALL=57, | |
378 | NET_IPV4_ICMP_ECHO_IGNORE_BROADCASTS=58, | |
379 | NET_IPV4_ICMP_SOURCEQUENCH_RATE=59, | |
380 | NET_IPV4_ICMP_DESTUNREACH_RATE=60, | |
381 | NET_IPV4_ICMP_TIMEEXCEED_RATE=61, | |
382 | NET_IPV4_ICMP_PARAMPROB_RATE=62, | |
383 | NET_IPV4_ICMP_ECHOREPLY_RATE=63, | |
384 | NET_IPV4_ICMP_IGNORE_BOGUS_ERROR_RESPONSES=64, | |
385 | NET_IPV4_IGMP_MAX_MEMBERSHIPS=65, | |
386 | NET_TCP_TW_RECYCLE=66, | |
387 | NET_IPV4_ALWAYS_DEFRAG=67, | |
388 | NET_IPV4_TCP_KEEPALIVE_INTVL=68, | |
389 | NET_IPV4_INET_PEER_THRESHOLD=69, | |
390 | NET_IPV4_INET_PEER_MINTTL=70, | |
391 | NET_IPV4_INET_PEER_MAXTTL=71, | |
392 | NET_IPV4_INET_PEER_GC_MINTIME=72, | |
393 | NET_IPV4_INET_PEER_GC_MAXTIME=73, | |
394 | NET_TCP_ORPHAN_RETRIES=74, | |
395 | NET_TCP_ABORT_ON_OVERFLOW=75, | |
396 | NET_TCP_SYNACK_RETRIES=76, | |
397 | NET_TCP_MAX_ORPHANS=77, | |
398 | NET_TCP_MAX_TW_BUCKETS=78, | |
399 | NET_TCP_FACK=79, | |
400 | NET_TCP_REORDERING=80, | |
401 | NET_TCP_ECN=81, | |
402 | NET_TCP_DSACK=82, | |
403 | NET_TCP_MEM=83, | |
404 | NET_TCP_WMEM=84, | |
405 | NET_TCP_RMEM=85, | |
406 | NET_TCP_APP_WIN=86, | |
407 | NET_TCP_ADV_WIN_SCALE=87, | |
408 | NET_IPV4_NONLOCAL_BIND=88, | |
409 | NET_IPV4_ICMP_RATELIMIT=89, | |
410 | NET_IPV4_ICMP_RATEMASK=90, | |
411 | NET_TCP_TW_REUSE=91, | |
412 | NET_TCP_FRTO=92, | |
413 | NET_TCP_LOW_LATENCY=93, | |
414 | NET_IPV4_IPFRAG_SECRET_INTERVAL=94, | |
1da177e4 LT |
415 | NET_IPV4_IGMP_MAX_MSF=96, |
416 | NET_TCP_NO_METRICS_SAVE=97, | |
1da177e4 LT |
417 | NET_TCP_DEFAULT_WIN_SCALE=105, |
418 | NET_TCP_MODERATE_RCVBUF=106, | |
419 | NET_TCP_TSO_WIN_DIVISOR=107, | |
420 | NET_TCP_BIC_BETA=108, | |
1c2fb7f9 | 421 | NET_IPV4_ICMP_ERRORS_USE_INBOUND_IFADDR=109, |
317a76f9 | 422 | NET_TCP_CONG_CONTROL=110, |
9772efb9 | 423 | NET_TCP_ABC=111, |
89cee8b1 | 424 | NET_IPV4_IPFRAG_MAX_DIST=112, |
5d424d5a JH |
425 | NET_TCP_MTU_PROBING=113, |
426 | NET_TCP_BASE_MSS=114, | |
15d99e02 | 427 | NET_IPV4_TCP_WORKAROUND_SIGNED_WINDOWS=115, |
95937825 | 428 | NET_TCP_DMA_COPYBREAK=116, |
35089bb2 | 429 | NET_TCP_SLOW_START_AFTER_IDLE=117, |
446fda4f PM |
430 | NET_CIPSOV4_CACHE_ENABLE=118, |
431 | NET_CIPSOV4_CACHE_BUCKET_SIZE=119, | |
432 | NET_CIPSOV4_RBM_OPTFMT=120, | |
433 | NET_CIPSOV4_RBM_STRICTVALID=121, | |
3ff825b2 | 434 | NET_TCP_AVAIL_CONG_CONTROL=122, |
ce7bc3bf | 435 | NET_TCP_ALLOWED_CONG_CONTROL=123, |
886236c1 | 436 | NET_TCP_MAX_SSTHRESH=124, |
3cfe3baa | 437 | NET_TCP_FRTO_RESPONSE=125, |
1da177e4 LT |
438 | }; |
439 | ||
440 | enum { | |
441 | NET_IPV4_ROUTE_FLUSH=1, | |
29e75252 ED |
442 | NET_IPV4_ROUTE_MIN_DELAY=2, /* obsolete since 2.6.25 */ |
443 | NET_IPV4_ROUTE_MAX_DELAY=3, /* obsolete since 2.6.25 */ | |
1da177e4 LT |
444 | NET_IPV4_ROUTE_GC_THRESH=4, |
445 | NET_IPV4_ROUTE_MAX_SIZE=5, | |
446 | NET_IPV4_ROUTE_GC_MIN_INTERVAL=6, | |
447 | NET_IPV4_ROUTE_GC_TIMEOUT=7, | |
448 | NET_IPV4_ROUTE_GC_INTERVAL=8, | |
449 | NET_IPV4_ROUTE_REDIRECT_LOAD=9, | |
450 | NET_IPV4_ROUTE_REDIRECT_NUMBER=10, | |
451 | NET_IPV4_ROUTE_REDIRECT_SILENCE=11, | |
452 | NET_IPV4_ROUTE_ERROR_COST=12, | |
453 | NET_IPV4_ROUTE_ERROR_BURST=13, | |
454 | NET_IPV4_ROUTE_GC_ELASTICITY=14, | |
455 | NET_IPV4_ROUTE_MTU_EXPIRES=15, | |
456 | NET_IPV4_ROUTE_MIN_PMTU=16, | |
457 | NET_IPV4_ROUTE_MIN_ADVMSS=17, | |
458 | NET_IPV4_ROUTE_SECRET_INTERVAL=18, | |
459 | NET_IPV4_ROUTE_GC_MIN_INTERVAL_MS=19, | |
460 | }; | |
461 | ||
462 | enum | |
463 | { | |
464 | NET_PROTO_CONF_ALL=-2, | |
465 | NET_PROTO_CONF_DEFAULT=-3 | |
466 | ||
467 | /* And device ifindices ... */ | |
468 | }; | |
469 | ||
470 | enum | |
471 | { | |
472 | NET_IPV4_CONF_FORWARDING=1, | |
473 | NET_IPV4_CONF_MC_FORWARDING=2, | |
474 | NET_IPV4_CONF_PROXY_ARP=3, | |
475 | NET_IPV4_CONF_ACCEPT_REDIRECTS=4, | |
476 | NET_IPV4_CONF_SECURE_REDIRECTS=5, | |
477 | NET_IPV4_CONF_SEND_REDIRECTS=6, | |
478 | NET_IPV4_CONF_SHARED_MEDIA=7, | |
479 | NET_IPV4_CONF_RP_FILTER=8, | |
480 | NET_IPV4_CONF_ACCEPT_SOURCE_ROUTE=9, | |
481 | NET_IPV4_CONF_BOOTP_RELAY=10, | |
482 | NET_IPV4_CONF_LOG_MARTIANS=11, | |
483 | NET_IPV4_CONF_TAG=12, | |
484 | NET_IPV4_CONF_ARPFILTER=13, | |
485 | NET_IPV4_CONF_MEDIUM_ID=14, | |
486 | NET_IPV4_CONF_NOXFRM=15, | |
487 | NET_IPV4_CONF_NOPOLICY=16, | |
488 | NET_IPV4_CONF_FORCE_IGMP_VERSION=17, | |
489 | NET_IPV4_CONF_ARP_ANNOUNCE=18, | |
490 | NET_IPV4_CONF_ARP_IGNORE=19, | |
8f937c60 | 491 | NET_IPV4_CONF_PROMOTE_SECONDARIES=20, |
abd596a4 | 492 | NET_IPV4_CONF_ARP_ACCEPT=21, |
1da177e4 LT |
493 | __NET_IPV4_CONF_MAX |
494 | }; | |
495 | ||
496 | /* /proc/sys/net/ipv4/netfilter */ | |
497 | enum | |
498 | { | |
499 | NET_IPV4_NF_CONNTRACK_MAX=1, | |
500 | NET_IPV4_NF_CONNTRACK_TCP_TIMEOUT_SYN_SENT=2, | |
501 | NET_IPV4_NF_CONNTRACK_TCP_TIMEOUT_SYN_RECV=3, | |
502 | NET_IPV4_NF_CONNTRACK_TCP_TIMEOUT_ESTABLISHED=4, | |
503 | NET_IPV4_NF_CONNTRACK_TCP_TIMEOUT_FIN_WAIT=5, | |
504 | NET_IPV4_NF_CONNTRACK_TCP_TIMEOUT_CLOSE_WAIT=6, | |
505 | NET_IPV4_NF_CONNTRACK_TCP_TIMEOUT_LAST_ACK=7, | |
506 | NET_IPV4_NF_CONNTRACK_TCP_TIMEOUT_TIME_WAIT=8, | |
507 | NET_IPV4_NF_CONNTRACK_TCP_TIMEOUT_CLOSE=9, | |
508 | NET_IPV4_NF_CONNTRACK_UDP_TIMEOUT=10, | |
509 | NET_IPV4_NF_CONNTRACK_UDP_TIMEOUT_STREAM=11, | |
510 | NET_IPV4_NF_CONNTRACK_ICMP_TIMEOUT=12, | |
511 | NET_IPV4_NF_CONNTRACK_GENERIC_TIMEOUT=13, | |
512 | NET_IPV4_NF_CONNTRACK_BUCKETS=14, | |
513 | NET_IPV4_NF_CONNTRACK_LOG_INVALID=15, | |
514 | NET_IPV4_NF_CONNTRACK_TCP_TIMEOUT_MAX_RETRANS=16, | |
515 | NET_IPV4_NF_CONNTRACK_TCP_LOOSE=17, | |
516 | NET_IPV4_NF_CONNTRACK_TCP_BE_LIBERAL=18, | |
517 | NET_IPV4_NF_CONNTRACK_TCP_MAX_RETRANS=19, | |
518 | NET_IPV4_NF_CONNTRACK_SCTP_TIMEOUT_CLOSED=20, | |
519 | NET_IPV4_NF_CONNTRACK_SCTP_TIMEOUT_COOKIE_WAIT=21, | |
520 | NET_IPV4_NF_CONNTRACK_SCTP_TIMEOUT_COOKIE_ECHOED=22, | |
521 | NET_IPV4_NF_CONNTRACK_SCTP_TIMEOUT_ESTABLISHED=23, | |
522 | NET_IPV4_NF_CONNTRACK_SCTP_TIMEOUT_SHUTDOWN_SENT=24, | |
523 | NET_IPV4_NF_CONNTRACK_SCTP_TIMEOUT_SHUTDOWN_RECD=25, | |
524 | NET_IPV4_NF_CONNTRACK_SCTP_TIMEOUT_SHUTDOWN_ACK_SENT=26, | |
525 | NET_IPV4_NF_CONNTRACK_COUNT=27, | |
39a27a35 | 526 | NET_IPV4_NF_CONNTRACK_CHECKSUM=28, |
1da177e4 LT |
527 | }; |
528 | ||
529 | /* /proc/sys/net/ipv6 */ | |
530 | enum { | |
531 | NET_IPV6_CONF=16, | |
532 | NET_IPV6_NEIGH=17, | |
533 | NET_IPV6_ROUTE=18, | |
534 | NET_IPV6_ICMP=19, | |
535 | NET_IPV6_BINDV6ONLY=20, | |
536 | NET_IPV6_IP6FRAG_HIGH_THRESH=21, | |
537 | NET_IPV6_IP6FRAG_LOW_THRESH=22, | |
538 | NET_IPV6_IP6FRAG_TIME=23, | |
539 | NET_IPV6_IP6FRAG_SECRET_INTERVAL=24, | |
540 | NET_IPV6_MLD_MAX_MSF=25, | |
541 | }; | |
542 | ||
543 | enum { | |
544 | NET_IPV6_ROUTE_FLUSH=1, | |
545 | NET_IPV6_ROUTE_GC_THRESH=2, | |
546 | NET_IPV6_ROUTE_MAX_SIZE=3, | |
547 | NET_IPV6_ROUTE_GC_MIN_INTERVAL=4, | |
548 | NET_IPV6_ROUTE_GC_TIMEOUT=5, | |
549 | NET_IPV6_ROUTE_GC_INTERVAL=6, | |
550 | NET_IPV6_ROUTE_GC_ELASTICITY=7, | |
551 | NET_IPV6_ROUTE_MTU_EXPIRES=8, | |
552 | NET_IPV6_ROUTE_MIN_ADVMSS=9, | |
553 | NET_IPV6_ROUTE_GC_MIN_INTERVAL_MS=10 | |
554 | }; | |
555 | ||
556 | enum { | |
557 | NET_IPV6_FORWARDING=1, | |
558 | NET_IPV6_HOP_LIMIT=2, | |
559 | NET_IPV6_MTU=3, | |
560 | NET_IPV6_ACCEPT_RA=4, | |
561 | NET_IPV6_ACCEPT_REDIRECTS=5, | |
562 | NET_IPV6_AUTOCONF=6, | |
563 | NET_IPV6_DAD_TRANSMITS=7, | |
564 | NET_IPV6_RTR_SOLICITS=8, | |
565 | NET_IPV6_RTR_SOLICIT_INTERVAL=9, | |
566 | NET_IPV6_RTR_SOLICIT_DELAY=10, | |
567 | NET_IPV6_USE_TEMPADDR=11, | |
568 | NET_IPV6_TEMP_VALID_LFT=12, | |
569 | NET_IPV6_TEMP_PREFERED_LFT=13, | |
570 | NET_IPV6_REGEN_MAX_RETRY=14, | |
571 | NET_IPV6_MAX_DESYNC_FACTOR=15, | |
572 | NET_IPV6_MAX_ADDRESSES=16, | |
573 | NET_IPV6_FORCE_MLD_VERSION=17, | |
65f5c7c1 | 574 | NET_IPV6_ACCEPT_RA_DEFRTR=18, |
c4fd30eb | 575 | NET_IPV6_ACCEPT_RA_PINFO=19, |
930d6ff2 | 576 | NET_IPV6_ACCEPT_RA_RTR_PREF=20, |
52e16356 | 577 | NET_IPV6_RTR_PROBE_INTERVAL=21, |
09c884d4 | 578 | NET_IPV6_ACCEPT_RA_RT_INFO_MAX_PLEN=22, |
fbea49e1 | 579 | NET_IPV6_PROXY_NDP=23, |
0bcbc926 | 580 | NET_IPV6_ACCEPT_SOURCE_ROUTE=25, |
1da177e4 LT |
581 | __NET_IPV6_MAX |
582 | }; | |
583 | ||
584 | /* /proc/sys/net/ipv6/icmp */ | |
585 | enum { | |
586 | NET_IPV6_ICMP_RATELIMIT=1 | |
587 | }; | |
588 | ||
589 | /* /proc/sys/net/<protocol>/neigh/<dev> */ | |
590 | enum { | |
591 | NET_NEIGH_MCAST_SOLICIT=1, | |
592 | NET_NEIGH_UCAST_SOLICIT=2, | |
593 | NET_NEIGH_APP_SOLICIT=3, | |
594 | NET_NEIGH_RETRANS_TIME=4, | |
595 | NET_NEIGH_REACHABLE_TIME=5, | |
596 | NET_NEIGH_DELAY_PROBE_TIME=6, | |
597 | NET_NEIGH_GC_STALE_TIME=7, | |
598 | NET_NEIGH_UNRES_QLEN=8, | |
599 | NET_NEIGH_PROXY_QLEN=9, | |
600 | NET_NEIGH_ANYCAST_DELAY=10, | |
601 | NET_NEIGH_PROXY_DELAY=11, | |
602 | NET_NEIGH_LOCKTIME=12, | |
603 | NET_NEIGH_GC_INTERVAL=13, | |
604 | NET_NEIGH_GC_THRESH1=14, | |
605 | NET_NEIGH_GC_THRESH2=15, | |
606 | NET_NEIGH_GC_THRESH3=16, | |
607 | NET_NEIGH_RETRANS_TIME_MS=17, | |
608 | NET_NEIGH_REACHABLE_TIME_MS=18, | |
609 | __NET_NEIGH_MAX | |
610 | }; | |
611 | ||
e55d912f ACM |
612 | /* /proc/sys/net/dccp */ |
613 | enum { | |
614 | NET_DCCP_DEFAULT=1, | |
615 | }; | |
616 | ||
1da177e4 LT |
617 | /* /proc/sys/net/ipx */ |
618 | enum { | |
619 | NET_IPX_PPROP_BROADCASTING=1, | |
620 | NET_IPX_FORWARDING=2 | |
621 | }; | |
622 | ||
590232a7 ACM |
623 | /* /proc/sys/net/llc */ |
624 | enum { | |
625 | NET_LLC2=1, | |
626 | NET_LLC_STATION=2, | |
627 | }; | |
628 | ||
629 | /* /proc/sys/net/llc/llc2 */ | |
630 | enum { | |
631 | NET_LLC2_TIMEOUT=1, | |
632 | }; | |
633 | ||
634 | /* /proc/sys/net/llc/station */ | |
635 | enum { | |
636 | NET_LLC_STATION_ACK_TIMEOUT=1, | |
637 | }; | |
638 | ||
639 | /* /proc/sys/net/llc/llc2/timeout */ | |
640 | enum { | |
641 | NET_LLC2_ACK_TIMEOUT=1, | |
642 | NET_LLC2_P_TIMEOUT=2, | |
643 | NET_LLC2_REJ_TIMEOUT=3, | |
644 | NET_LLC2_BUSY_TIMEOUT=4, | |
645 | }; | |
1da177e4 LT |
646 | |
647 | /* /proc/sys/net/appletalk */ | |
648 | enum { | |
649 | NET_ATALK_AARP_EXPIRY_TIME=1, | |
650 | NET_ATALK_AARP_TICK_TIME=2, | |
651 | NET_ATALK_AARP_RETRANSMIT_LIMIT=3, | |
652 | NET_ATALK_AARP_RESOLVE_TIME=4 | |
653 | }; | |
654 | ||
655 | ||
656 | /* /proc/sys/net/netrom */ | |
657 | enum { | |
658 | NET_NETROM_DEFAULT_PATH_QUALITY=1, | |
659 | NET_NETROM_OBSOLESCENCE_COUNT_INITIALISER=2, | |
660 | NET_NETROM_NETWORK_TTL_INITIALISER=3, | |
661 | NET_NETROM_TRANSPORT_TIMEOUT=4, | |
662 | NET_NETROM_TRANSPORT_MAXIMUM_TRIES=5, | |
663 | NET_NETROM_TRANSPORT_ACKNOWLEDGE_DELAY=6, | |
664 | NET_NETROM_TRANSPORT_BUSY_DELAY=7, | |
665 | NET_NETROM_TRANSPORT_REQUESTED_WINDOW_SIZE=8, | |
666 | NET_NETROM_TRANSPORT_NO_ACTIVITY_TIMEOUT=9, | |
667 | NET_NETROM_ROUTING_CONTROL=10, | |
e21ce8c7 RB |
668 | NET_NETROM_LINK_FAILS_COUNT=11, |
669 | NET_NETROM_RESET=12 | |
1da177e4 LT |
670 | }; |
671 | ||
672 | /* /proc/sys/net/ax25 */ | |
673 | enum { | |
674 | NET_AX25_IP_DEFAULT_MODE=1, | |
675 | NET_AX25_DEFAULT_MODE=2, | |
676 | NET_AX25_BACKOFF_TYPE=3, | |
677 | NET_AX25_CONNECT_MODE=4, | |
678 | NET_AX25_STANDARD_WINDOW=5, | |
679 | NET_AX25_EXTENDED_WINDOW=6, | |
680 | NET_AX25_T1_TIMEOUT=7, | |
681 | NET_AX25_T2_TIMEOUT=8, | |
682 | NET_AX25_T3_TIMEOUT=9, | |
683 | NET_AX25_IDLE_TIMEOUT=10, | |
684 | NET_AX25_N2=11, | |
685 | NET_AX25_PACLEN=12, | |
686 | NET_AX25_PROTOCOL=13, | |
687 | NET_AX25_DAMA_SLAVE_TIMEOUT=14 | |
688 | }; | |
689 | ||
690 | /* /proc/sys/net/rose */ | |
691 | enum { | |
692 | NET_ROSE_RESTART_REQUEST_TIMEOUT=1, | |
693 | NET_ROSE_CALL_REQUEST_TIMEOUT=2, | |
694 | NET_ROSE_RESET_REQUEST_TIMEOUT=3, | |
695 | NET_ROSE_CLEAR_REQUEST_TIMEOUT=4, | |
696 | NET_ROSE_ACK_HOLD_BACK_TIMEOUT=5, | |
697 | NET_ROSE_ROUTING_CONTROL=6, | |
698 | NET_ROSE_LINK_FAIL_TIMEOUT=7, | |
699 | NET_ROSE_MAX_VCS=8, | |
700 | NET_ROSE_WINDOW_SIZE=9, | |
701 | NET_ROSE_NO_ACTIVITY_TIMEOUT=10 | |
702 | }; | |
703 | ||
704 | /* /proc/sys/net/x25 */ | |
705 | enum { | |
706 | NET_X25_RESTART_REQUEST_TIMEOUT=1, | |
707 | NET_X25_CALL_REQUEST_TIMEOUT=2, | |
708 | NET_X25_RESET_REQUEST_TIMEOUT=3, | |
709 | NET_X25_CLEAR_REQUEST_TIMEOUT=4, | |
39e21c0d AH |
710 | NET_X25_ACK_HOLD_BACK_TIMEOUT=5, |
711 | NET_X25_FORWARD=6 | |
1da177e4 LT |
712 | }; |
713 | ||
714 | /* /proc/sys/net/token-ring */ | |
715 | enum | |
716 | { | |
717 | NET_TR_RIF_TIMEOUT=1 | |
718 | }; | |
719 | ||
720 | /* /proc/sys/net/decnet/ */ | |
721 | enum { | |
722 | NET_DECNET_NODE_TYPE = 1, | |
723 | NET_DECNET_NODE_ADDRESS = 2, | |
724 | NET_DECNET_NODE_NAME = 3, | |
725 | NET_DECNET_DEFAULT_DEVICE = 4, | |
726 | NET_DECNET_TIME_WAIT = 5, | |
727 | NET_DECNET_DN_COUNT = 6, | |
728 | NET_DECNET_DI_COUNT = 7, | |
729 | NET_DECNET_DR_COUNT = 8, | |
730 | NET_DECNET_DST_GC_INTERVAL = 9, | |
731 | NET_DECNET_CONF = 10, | |
732 | NET_DECNET_NO_FC_MAX_CWND = 11, | |
1f12bcc9 SW |
733 | NET_DECNET_MEM = 12, |
734 | NET_DECNET_RMEM = 13, | |
735 | NET_DECNET_WMEM = 14, | |
1da177e4 LT |
736 | NET_DECNET_DEBUG_LEVEL = 255 |
737 | }; | |
738 | ||
739 | /* /proc/sys/net/decnet/conf/<dev> */ | |
740 | enum { | |
741 | NET_DECNET_CONF_LOOPBACK = -2, | |
742 | NET_DECNET_CONF_DDCMP = -3, | |
743 | NET_DECNET_CONF_PPP = -4, | |
744 | NET_DECNET_CONF_X25 = -5, | |
745 | NET_DECNET_CONF_GRE = -6, | |
746 | NET_DECNET_CONF_ETHER = -7 | |
747 | ||
748 | /* ... and ifindex of devices */ | |
749 | }; | |
750 | ||
751 | /* /proc/sys/net/decnet/conf/<dev>/ */ | |
752 | enum { | |
753 | NET_DECNET_CONF_DEV_PRIORITY = 1, | |
754 | NET_DECNET_CONF_DEV_T1 = 2, | |
755 | NET_DECNET_CONF_DEV_T2 = 3, | |
756 | NET_DECNET_CONF_DEV_T3 = 4, | |
757 | NET_DECNET_CONF_DEV_FORWARDING = 5, | |
758 | NET_DECNET_CONF_DEV_BLKSIZE = 6, | |
759 | NET_DECNET_CONF_DEV_STATE = 7 | |
760 | }; | |
761 | ||
762 | /* /proc/sys/net/sctp */ | |
763 | enum { | |
764 | NET_SCTP_RTO_INITIAL = 1, | |
765 | NET_SCTP_RTO_MIN = 2, | |
766 | NET_SCTP_RTO_MAX = 3, | |
767 | NET_SCTP_RTO_ALPHA = 4, | |
768 | NET_SCTP_RTO_BETA = 5, | |
769 | NET_SCTP_VALID_COOKIE_LIFE = 6, | |
770 | NET_SCTP_ASSOCIATION_MAX_RETRANS = 7, | |
771 | NET_SCTP_PATH_MAX_RETRANS = 8, | |
772 | NET_SCTP_MAX_INIT_RETRANSMITS = 9, | |
773 | NET_SCTP_HB_INTERVAL = 10, | |
774 | NET_SCTP_PRESERVE_ENABLE = 11, | |
775 | NET_SCTP_MAX_BURST = 12, | |
776 | NET_SCTP_ADDIP_ENABLE = 13, | |
777 | NET_SCTP_PRSCTP_ENABLE = 14, | |
4eb701df | 778 | NET_SCTP_SNDBUF_POLICY = 15, |
2f85a429 | 779 | NET_SCTP_SACK_TIMEOUT = 16, |
049b3ff5 | 780 | NET_SCTP_RCVBUF_POLICY = 17, |
1da177e4 LT |
781 | }; |
782 | ||
783 | /* /proc/sys/net/bridge */ | |
784 | enum { | |
785 | NET_BRIDGE_NF_CALL_ARPTABLES = 1, | |
786 | NET_BRIDGE_NF_CALL_IPTABLES = 2, | |
787 | NET_BRIDGE_NF_CALL_IP6TABLES = 3, | |
788 | NET_BRIDGE_NF_FILTER_VLAN_TAGGED = 4, | |
516299d2 | 789 | NET_BRIDGE_NF_FILTER_PPPOE_TAGGED = 5, |
1da177e4 LT |
790 | }; |
791 | ||
f429cd37 EB |
792 | /* proc/sys/net/irda */ |
793 | enum { | |
794 | NET_IRDA_DISCOVERY=1, | |
795 | NET_IRDA_DEVNAME=2, | |
796 | NET_IRDA_DEBUG=3, | |
797 | NET_IRDA_FAST_POLL=4, | |
798 | NET_IRDA_DISCOVERY_SLOTS=5, | |
799 | NET_IRDA_DISCOVERY_TIMEOUT=6, | |
800 | NET_IRDA_SLOT_TIMEOUT=7, | |
801 | NET_IRDA_MAX_BAUD_RATE=8, | |
802 | NET_IRDA_MIN_TX_TURN_TIME=9, | |
803 | NET_IRDA_MAX_TX_DATA_SIZE=10, | |
804 | NET_IRDA_MAX_TX_WINDOW=11, | |
805 | NET_IRDA_MAX_NOREPLY_TIME=12, | |
806 | NET_IRDA_WARN_NOREPLY_TIME=13, | |
807 | NET_IRDA_LAP_KEEPALIVE_TIME=14, | |
808 | }; | |
809 | ||
810 | ||
1da177e4 LT |
811 | /* CTL_FS names: */ |
812 | enum | |
813 | { | |
814 | FS_NRINODE=1, /* int:current number of allocated inodes */ | |
815 | FS_STATINODE=2, | |
816 | FS_MAXINODE=3, /* int:maximum number of inodes that can be allocated */ | |
817 | FS_NRDQUOT=4, /* int:current number of allocated dquots */ | |
818 | FS_MAXDQUOT=5, /* int:maximum number of dquots that can be allocated */ | |
819 | FS_NRFILE=6, /* int:current number of allocated filedescriptors */ | |
820 | FS_MAXFILE=7, /* int:maximum number of filedescriptors that can be allocated */ | |
821 | FS_DENTRY=8, | |
822 | FS_NRSUPER=9, /* int:current number of allocated super_blocks */ | |
823 | FS_MAXSUPER=10, /* int:maximum number of super_blocks that can be allocated */ | |
824 | FS_OVERFLOWUID=11, /* int: overflow UID */ | |
825 | FS_OVERFLOWGID=12, /* int: overflow GID */ | |
826 | FS_LEASES=13, /* int: leases enabled */ | |
827 | FS_DIR_NOTIFY=14, /* int: directory notification enabled */ | |
828 | FS_LEASE_TIME=15, /* int: maximum time to wait for a lease break */ | |
829 | FS_DQSTATS=16, /* disc quota usage statistics and control */ | |
830 | FS_XFS=17, /* struct: control xfs parameters */ | |
831 | FS_AIO_NR=18, /* current system-wide number of aio requests */ | |
832 | FS_AIO_MAX_NR=19, /* system-wide maximum number of aio requests */ | |
0399cb08 | 833 | FS_INOTIFY=20, /* inotify submenu */ |
0e03036c | 834 | FS_OCFS2=988, /* ocfs2 */ |
1da177e4 LT |
835 | }; |
836 | ||
837 | /* /proc/sys/fs/quota/ */ | |
838 | enum { | |
839 | FS_DQ_LOOKUPS = 1, | |
840 | FS_DQ_DROPS = 2, | |
841 | FS_DQ_READS = 3, | |
842 | FS_DQ_WRITES = 4, | |
843 | FS_DQ_CACHE_HITS = 5, | |
844 | FS_DQ_ALLOCATED = 6, | |
845 | FS_DQ_FREE = 7, | |
846 | FS_DQ_SYNCS = 8, | |
847 | FS_DQ_WARNINGS = 9, | |
848 | }; | |
849 | ||
850 | /* CTL_DEBUG names: */ | |
851 | ||
852 | /* CTL_DEV names: */ | |
853 | enum { | |
854 | DEV_CDROM=1, | |
855 | DEV_HWMON=2, | |
856 | DEV_PARPORT=3, | |
857 | DEV_RAID=4, | |
858 | DEV_MAC_HID=5, | |
859 | DEV_SCSI=6, | |
8c702e16 | 860 | DEV_IPMI=7, |
1da177e4 LT |
861 | }; |
862 | ||
863 | /* /proc/sys/dev/cdrom */ | |
864 | enum { | |
865 | DEV_CDROM_INFO=1, | |
866 | DEV_CDROM_AUTOCLOSE=2, | |
867 | DEV_CDROM_AUTOEJECT=3, | |
868 | DEV_CDROM_DEBUG=4, | |
869 | DEV_CDROM_LOCK=5, | |
870 | DEV_CDROM_CHECK_MEDIA=6 | |
871 | }; | |
872 | ||
873 | /* /proc/sys/dev/parport */ | |
874 | enum { | |
875 | DEV_PARPORT_DEFAULT=-3 | |
876 | }; | |
877 | ||
878 | /* /proc/sys/dev/raid */ | |
879 | enum { | |
880 | DEV_RAID_SPEED_LIMIT_MIN=1, | |
881 | DEV_RAID_SPEED_LIMIT_MAX=2 | |
882 | }; | |
883 | ||
884 | /* /proc/sys/dev/parport/default */ | |
885 | enum { | |
886 | DEV_PARPORT_DEFAULT_TIMESLICE=1, | |
887 | DEV_PARPORT_DEFAULT_SPINTIME=2 | |
888 | }; | |
889 | ||
890 | /* /proc/sys/dev/parport/parport n */ | |
891 | enum { | |
892 | DEV_PARPORT_SPINTIME=1, | |
893 | DEV_PARPORT_BASE_ADDR=2, | |
894 | DEV_PARPORT_IRQ=3, | |
895 | DEV_PARPORT_DMA=4, | |
896 | DEV_PARPORT_MODES=5, | |
897 | DEV_PARPORT_DEVICES=6, | |
898 | DEV_PARPORT_AUTOPROBE=16 | |
899 | }; | |
900 | ||
901 | /* /proc/sys/dev/parport/parport n/devices/ */ | |
902 | enum { | |
903 | DEV_PARPORT_DEVICES_ACTIVE=-3, | |
904 | }; | |
905 | ||
906 | /* /proc/sys/dev/parport/parport n/devices/device n */ | |
907 | enum { | |
908 | DEV_PARPORT_DEVICE_TIMESLICE=1, | |
909 | }; | |
910 | ||
911 | /* /proc/sys/dev/mac_hid */ | |
912 | enum { | |
913 | DEV_MAC_HID_KEYBOARD_SENDS_LINUX_KEYCODES=1, | |
914 | DEV_MAC_HID_KEYBOARD_LOCK_KEYCODES=2, | |
915 | DEV_MAC_HID_MOUSE_BUTTON_EMULATION=3, | |
916 | DEV_MAC_HID_MOUSE_BUTTON2_KEYCODE=4, | |
917 | DEV_MAC_HID_MOUSE_BUTTON3_KEYCODE=5, | |
918 | DEV_MAC_HID_ADB_MOUSE_SENDS_KEYCODES=6 | |
919 | }; | |
920 | ||
921 | /* /proc/sys/dev/scsi */ | |
922 | enum { | |
923 | DEV_SCSI_LOGGING_LEVEL=1, | |
924 | }; | |
925 | ||
8c702e16 CM |
926 | /* /proc/sys/dev/ipmi */ |
927 | enum { | |
928 | DEV_IPMI_POWEROFF_POWERCYCLE=1, | |
929 | }; | |
930 | ||
1da177e4 LT |
931 | /* /proc/sys/abi */ |
932 | enum | |
933 | { | |
934 | ABI_DEFHANDLER_COFF=1, /* default handler for coff binaries */ | |
935 | ABI_DEFHANDLER_ELF=2, /* default handler for ELF binaries */ | |
936 | ABI_DEFHANDLER_LCALL7=3,/* default handler for procs using lcall7 */ | |
937 | ABI_DEFHANDLER_LIBCSO=4,/* default handler for an libc.so ELF interp */ | |
938 | ABI_TRACE=5, /* tracing flags */ | |
939 | ABI_FAKE_UTSNAME=6, /* fake target utsname information */ | |
940 | }; | |
941 | ||
942 | #ifdef __KERNEL__ | |
d4ed803c | 943 | #include <linux/list.h> |
1da177e4 | 944 | |
805b5d5e | 945 | /* For the /proc/sys support */ |
1ff007eb | 946 | struct ctl_table; |
e51b6ba0 | 947 | struct nsproxy; |
d7321cd6 PE |
948 | struct ctl_table_root; |
949 | ||
73455092 AV |
950 | struct ctl_table_set { |
951 | struct list_head list; | |
952 | struct ctl_table_set *parent; | |
953 | int (*is_seen)(struct ctl_table_set *); | |
954 | }; | |
955 | ||
956 | extern void setup_sysctl_set(struct ctl_table_set *p, | |
957 | struct ctl_table_set *parent, | |
958 | int (*is_seen)(struct ctl_table_set *)); | |
959 | ||
f7e6ced4 AV |
960 | struct ctl_table_header; |
961 | ||
962 | extern void sysctl_head_get(struct ctl_table_header *); | |
963 | extern void sysctl_head_put(struct ctl_table_header *); | |
9043476f | 964 | extern int sysctl_is_seen(struct ctl_table_header *); |
f7e6ced4 | 965 | extern struct ctl_table_header *sysctl_head_grab(struct ctl_table_header *); |
805b5d5e | 966 | extern struct ctl_table_header *sysctl_head_next(struct ctl_table_header *prev); |
e51b6ba0 EB |
967 | extern struct ctl_table_header *__sysctl_head_next(struct nsproxy *namespaces, |
968 | struct ctl_table_header *prev); | |
805b5d5e | 969 | extern void sysctl_head_finish(struct ctl_table_header *prev); |
d7321cd6 PE |
970 | extern int sysctl_perm(struct ctl_table_root *root, |
971 | struct ctl_table *table, int op); | |
805b5d5e | 972 | |
1da177e4 LT |
973 | typedef struct ctl_table ctl_table; |
974 | ||
d8217f07 | 975 | typedef int ctl_handler (struct ctl_table *table, int __user *name, int nlen, |
1da177e4 | 976 | void __user *oldval, size_t __user *oldlenp, |
1f29bcd7 | 977 | void __user *newval, size_t newlen); |
1da177e4 | 978 | |
d8217f07 | 979 | typedef int proc_handler (struct ctl_table *ctl, int write, struct file * filp, |
1da177e4 LT |
980 | void __user *buffer, size_t *lenp, loff_t *ppos); |
981 | ||
d8217f07 | 982 | extern int proc_dostring(struct ctl_table *, int, struct file *, |
1da177e4 | 983 | void __user *, size_t *, loff_t *); |
d8217f07 | 984 | extern int proc_dointvec(struct ctl_table *, int, struct file *, |
1da177e4 | 985 | void __user *, size_t *, loff_t *); |
d8217f07 | 986 | extern int proc_dointvec_minmax(struct ctl_table *, int, struct file *, |
1da177e4 | 987 | void __user *, size_t *, loff_t *); |
d8217f07 | 988 | extern int proc_dointvec_jiffies(struct ctl_table *, int, struct file *, |
1da177e4 | 989 | void __user *, size_t *, loff_t *); |
d8217f07 | 990 | extern int proc_dointvec_userhz_jiffies(struct ctl_table *, int, struct file *, |
1da177e4 | 991 | void __user *, size_t *, loff_t *); |
d8217f07 | 992 | extern int proc_dointvec_ms_jiffies(struct ctl_table *, int, struct file *, |
1da177e4 | 993 | void __user *, size_t *, loff_t *); |
d8217f07 | 994 | extern int proc_doulongvec_minmax(struct ctl_table *, int, struct file *, |
1da177e4 | 995 | void __user *, size_t *, loff_t *); |
d8217f07 | 996 | extern int proc_doulongvec_ms_jiffies_minmax(struct ctl_table *table, int, |
1da177e4 LT |
997 | struct file *, void __user *, size_t *, loff_t *); |
998 | ||
999 | extern int do_sysctl (int __user *name, int nlen, | |
1000 | void __user *oldval, size_t __user *oldlenp, | |
1001 | void __user *newval, size_t newlen); | |
1002 | ||
49a0c458 | 1003 | extern ctl_handler sysctl_data; |
1da177e4 LT |
1004 | extern ctl_handler sysctl_string; |
1005 | extern ctl_handler sysctl_intvec; | |
1006 | extern ctl_handler sysctl_jiffies; | |
1007 | extern ctl_handler sysctl_ms_jiffies; | |
1008 | ||
1009 | ||
1010 | /* | |
1011 | * Register a set of sysctl names by calling register_sysctl_table | |
d8217f07 | 1012 | * with an initialised array of struct ctl_table's. An entry with zero |
d99f160a EB |
1013 | * ctl_name and NULL procname terminates the table. table->de will be |
1014 | * set up by the registration and need not be initialised in advance. | |
1da177e4 LT |
1015 | * |
1016 | * sysctl names can be mirrored automatically under /proc/sys. The | |
1017 | * procname supplied controls /proc naming. | |
1018 | * | |
1019 | * The table's mode will be honoured both for sys_sysctl(2) and | |
1020 | * proc-fs access. | |
1021 | * | |
1022 | * Leaf nodes in the sysctl tree will be represented by a single file | |
1023 | * under /proc; non-leaf nodes will be represented by directories. A | |
1024 | * null procname disables /proc mirroring at this node. | |
d99f160a EB |
1025 | * |
1026 | * sysctl entries with a zero ctl_name will not be available through | |
1027 | * the binary sysctl interface. | |
1028 | * | |
1da177e4 LT |
1029 | * sysctl(2) can automatically manage read and write requests through |
1030 | * the sysctl table. The data and maxlen fields of the ctl_table | |
1031 | * struct enable minimal validation of the values being written to be | |
1032 | * performed, and the mode field allows minimal authentication. | |
1033 | * | |
1034 | * More sophisticated management can be enabled by the provision of a | |
1035 | * strategy routine with the table entry. This will be called before | |
1036 | * any automatic read or write of the data is performed. | |
1037 | * | |
1038 | * The strategy routine may return: | |
1039 | * <0: Error occurred (error is passed to user process) | |
1040 | * 0: OK - proceed with automatic read or write. | |
1041 | * >0: OK - read or write has been done by the strategy routine, so | |
1042 | * return immediately. | |
1043 | * | |
1044 | * There must be a proc_handler routine for any terminal nodes | |
1045 | * mirrored under /proc/sys (non-terminals are handled by a built-in | |
1046 | * directory handler). Several default handlers are available to | |
1047 | * cover common cases. | |
1048 | */ | |
1049 | ||
1050 | /* A sysctl table is an array of struct ctl_table: */ | |
1051 | struct ctl_table | |
1052 | { | |
1053 | int ctl_name; /* Binary ID */ | |
1054 | const char *procname; /* Text ID for /proc/sys, or zero */ | |
1055 | void *data; | |
1056 | int maxlen; | |
1057 | mode_t mode; | |
d8217f07 EB |
1058 | struct ctl_table *child; |
1059 | struct ctl_table *parent; /* Automatically set */ | |
1da177e4 LT |
1060 | proc_handler *proc_handler; /* Callback for text formatting */ |
1061 | ctl_handler *strategy; /* Callback function for all r/w */ | |
1da177e4 LT |
1062 | void *extra1; |
1063 | void *extra2; | |
1064 | }; | |
1065 | ||
e51b6ba0 EB |
1066 | struct ctl_table_root { |
1067 | struct list_head root_list; | |
73455092 AV |
1068 | struct ctl_table_set default_set; |
1069 | struct ctl_table_set *(*lookup)(struct ctl_table_root *root, | |
e51b6ba0 | 1070 | struct nsproxy *namespaces); |
d7321cd6 PE |
1071 | int (*permissions)(struct ctl_table_root *root, |
1072 | struct nsproxy *namespaces, struct ctl_table *table); | |
e51b6ba0 EB |
1073 | }; |
1074 | ||
1da177e4 | 1075 | /* struct ctl_table_header is used to maintain dynamic lists of |
d8217f07 | 1076 | struct ctl_table trees. */ |
1da177e4 LT |
1077 | struct ctl_table_header |
1078 | { | |
d8217f07 | 1079 | struct ctl_table *ctl_table; |
1da177e4 | 1080 | struct list_head ctl_entry; |
330d57fb | 1081 | int used; |
f7e6ced4 | 1082 | int count; |
330d57fb | 1083 | struct completion *unregistering; |
23eb06de | 1084 | struct ctl_table *ctl_table_arg; |
e51b6ba0 | 1085 | struct ctl_table_root *root; |
73455092 | 1086 | struct ctl_table_set *set; |
ae7edecc AV |
1087 | struct ctl_table *attached_by; |
1088 | struct ctl_table *attached_to; | |
1089 | struct ctl_table_header *parent; | |
1da177e4 LT |
1090 | }; |
1091 | ||
29e796fd EB |
1092 | /* struct ctl_path describes where in the hierarchy a table is added */ |
1093 | struct ctl_path { | |
1094 | const char *procname; | |
1095 | int ctl_name; | |
1096 | }; | |
1097 | ||
e51b6ba0 EB |
1098 | void register_sysctl_root(struct ctl_table_root *root); |
1099 | struct ctl_table_header *__register_sysctl_paths( | |
1100 | struct ctl_table_root *root, struct nsproxy *namespaces, | |
1101 | const struct ctl_path *path, struct ctl_table *table); | |
d8217f07 | 1102 | struct ctl_table_header *register_sysctl_table(struct ctl_table * table); |
29e796fd EB |
1103 | struct ctl_table_header *register_sysctl_paths(const struct ctl_path *path, |
1104 | struct ctl_table *table); | |
0b4d4147 | 1105 | |
1da177e4 | 1106 | void unregister_sysctl_table(struct ctl_table_header * table); |
e51b6ba0 | 1107 | int sysctl_check_table(struct nsproxy *namespaces, struct ctl_table *table); |
1da177e4 | 1108 | |
1da177e4 LT |
1109 | #endif /* __KERNEL__ */ |
1110 | ||
1111 | #endif /* _LINUX_SYSCTL_H */ |