1
0
mirror of https://git.FreeBSD.org/src.git synced 2025-01-13 14:40:22 +00:00
freebsd/sys/sys
Andrzej Bialecki bd3cdc3105 These patches implement dynamic sysctls. It's possible now to add
and remove sysctl oids at will during runtime - they don't rely on
linker sets. Also, the node oids can be referenced by more than
one kernel user, which means that it's possible to create partially
overlapping trees.

Add sysctl contexts to help programmers manage multiple dynamic
oids in convenient way.

Please see the manpages for detailed discussion, and example module
for typical use.

This work is based on ideas and code snippets coming from many
people, among them:  Arun Sharma, Jonathan Lemon, Doug Rabson,
Brian Feldman, Kelly Yancey, Poul-Henning Kamp and others. I'd like
to specially thank Brian Feldman for detailed review and style
fixes.

PR:		kern/16928
Reviewed by:	dfr, green, phk
2000-07-15 10:26:04 +00:00
..
_posix.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
_sigset.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
acct.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
acl.h Fix man page structures/constants to match recent changes in acl.h 2000-01-28 15:22:51 +00:00
agpio.h A driver for programming the AGP hardware. This is only very lightly 2000-06-09 16:04:30 +00:00
aio.h Back out the previous change to the queue(3) interface. 2000-05-26 02:09:24 +00:00
assym.h Use "nm | awk ..." instead of genassym(1) to generate symbol value headers. 2000-06-02 09:27:48 +00:00
bio.h Back out the previous change to the queue(3) interface. 2000-05-26 02:09:24 +00:00
bitstring.h
blist.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
buf.h Add snapshots to the fast filesystem. Most of the changes support 2000-07-11 22:07:57 +00:00
bus_dma.h Fixed syntax errors and style bugs in previous commit. The syntax 2000-06-14 18:48:39 +00:00
bus_private.h Add device_set_softc() which does the obvious. 2000-07-03 13:06:29 +00:00
bus.h Add device_set_softc() which does the obvious. 2000-07-03 13:06:29 +00:00
callout.h Back out the previous change to the queue(3) interface. 2000-05-26 02:09:24 +00:00
capability.h o Introduce cap_{get,set}_{file,fd}() syscall wrappers, associated with 2000-07-05 04:20:59 +00:00
ccdvar.h Cleanup some remaining bdev fluff. 2000-01-16 09:25:10 +00:00
cdefs.h Use __alias__ instead of alias in the definition of __strong_reference(). 2000-03-18 22:26:54 +00:00
cdio.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
cdrio.h New ATAPI burner utility. Replaces wormcontrol. 2000-01-06 22:46:20 +00:00
chio.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
clist.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
conf.h Pull the rug under block mode devices. they return ENXIO on open(2) now. 2000-07-03 13:48:37 +00:00
cons.h Add a new mechanism, cndbctl(), to tell the console driver that 2000-01-11 14:54:01 +00:00
consio.h Supported EGC 640x400, PEGC 640x400 and PEGC 640x480 graphics modes. 2000-04-27 13:34:32 +00:00
copyright.h MFS: adjust University of California's copyright. 2000-07-07 18:35:11 +00:00
ctype.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
dataacq.h Add $FreeBSD$ 2000-05-01 20:32:07 +00:00
devfsext.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
devicestat.h Back out the previous change to the queue(3) interface. 2000-05-26 02:09:24 +00:00
dir.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
dirent.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
disk.h Add disk_enumerate() for finding names of disks. Vinum and libh will 2000-06-15 20:30:53 +00:00
disklabel.h Define more DOSPTYP_* constants for different filesystem types 2000-04-30 02:33:40 +00:00
diskmbr.h Define more DOSPTYP_* constants for different filesystem types 2000-04-30 02:33:40 +00:00
diskpc98.h Define more DOSPTYP_* constants for different filesystem types 2000-04-30 02:33:40 +00:00
diskslice.h Removed a stale forward struct declaration. 2000-04-30 06:47:24 +00:00
dkstat.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
dmap.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
domain.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
dvdio.h Add support for the DVD ioctl interface. 2000-05-12 03:36:02 +00:00
elf32.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
elf64.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
elf_common.h Change our ELF binary branding to something more acceptable to the Binutils 2000-04-18 02:39:26 +00:00
elf_generic.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
errno.h Add ENOTSUP, which is specified as an error return value for various 2000-05-02 06:02:11 +00:00
event.h Back out the previous change to the queue(3) interface. 2000-05-26 02:09:24 +00:00
eventhandler.h Back out the previous change to the queue(3) interface. 2000-05-26 02:09:24 +00:00
eventvar.h Back out the previous change to the queue(3) interface. 2000-05-26 02:09:24 +00:00
exec.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
extattr.h Fix bde'isms in acl/extattr syscall interface, renaming syscalls to 2000-01-19 06:07:34 +00:00
fbio.h Supported EGC 640x400, PEGC 640x400 and PEGC 640x480 graphics modes. 2000-04-27 13:34:32 +00:00
fcntl.h Implement POSIX.1b shared memory objects. In this implementation, 2000-04-22 15:22:31 +00:00
fdcio.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
file.h Back out the previous change to the queue(3) interface. 2000-05-26 02:09:24 +00:00
filedesc.h Fixed disordering and misformatting in previous commit. 2000-06-14 18:38:44 +00:00
filio.h Commit the kernel part of our DVD support. Nothing much to say really, 1999-12-07 22:25:28 +00:00
gmon.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
imgact_aout.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
imgact_elf.h Change Elf64_Brandinfo::brand from char* to int. 2000-04-28 08:53:23 +00:00
imgact.h Fix #! script exec under linux emulation. If a script is exec'd from a 2000-04-26 20:58:40 +00:00
inflate.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
interrupt.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
inttypes.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
ioccom.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
ioctl_bt848.h Add multiple #include protection 2000-04-04 16:46:19 +00:00
ioctl_compat.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
ioctl_meteor.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
ioctl.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
ipc.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
jail.h o Modify jail to limit creation of sockets to UNIX domain sockets, 2000-06-04 04:28:31 +00:00
joystick.h Switch over to using the generic joy driver 1999-12-05 20:02:19 +00:00
kbio.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
kernel.h Back out the previous change to the queue(3) interface. 2000-05-26 02:09:24 +00:00
kobj.h Fixed a syntax error (a stray semicolon caused by a bogus #define). 2000-05-11 17:10:22 +00:00
kthread.h Introduce a mechanism to suspend/resume system processes. Suspend syncer 2000-01-07 08:36:44 +00:00
ktrace.h Modify ktrace's general I/O tracing, ktrgenio(), to use a struct uio * 2000-07-02 08:08:09 +00:00
libkern.h Zap c_index() and c_rindex(). Bruce prefers these to implicitly convert 1999-12-10 17:38:41 +00:00
linedisc.h Pull the rug under block mode devices. they return ENXIO on open(2) now. 2000-07-03 13:48:37 +00:00
link_aout.h $Id$ -> $FreeBSD$ 1999-08-27 23:45:13 +00:00
link_elf.h $Id$ -> $FreeBSD$ 1999-08-27 23:45:13 +00:00
linker_set.h Add a comment explaining the obscure lines: 2000-05-13 04:38:50 +00:00
linker.h Back out the previous change to the queue(3) interface. 2000-05-26 02:09:24 +00:00
lock.h Lock reporting and assertion changes. 1999-12-11 16:13:02 +00:00
lockf.h Back out the previous change to the queue(3) interface. 2000-05-26 02:09:24 +00:00
lockmgr.h Lock reporting and assertion changes. 1999-12-11 16:13:02 +00:00
malloc.h sys/malloc.h: 2000-06-14 18:31:42 +00:00
mbuf.h Make mbstat.m_mtypes seperate and viewable via sysctl, also 2000-07-15 06:02:48 +00:00
md5.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
mdioctl.h Fix a bug in the block number calculation for VN disks with a sector 1999-09-17 05:34:00 +00:00
memrange.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
mman.h Add MAP_NOCORE to mmap(2), and MADV_NOCORE and MADV_CORE to madvise(2). 2000-02-28 04:10:35 +00:00
module.h First round implementation of a fine grain enhanced module to module 2000-04-29 13:19:31 +00:00
mount.h Clean up warning about undeclared function by declaring softdep_fsync 2000-07-11 19:28:26 +00:00
mouse.h - Add Support for the following PS/2 mice: 2000-03-18 15:21:40 +00:00
msg.h Move the MSG* and SEM* options to opt_sysvipc.h 2000-05-01 13:33:56 +00:00
msgbuf.h Increase the default msgbuf size from 8k to 32k. Boot -v easily 2000-01-29 15:29:11 +00:00
mtio.h Default device not longer uses the "r" raw prefix. 2000-04-26 11:34:52 +00:00
namei.h Change NDFREE() from a macro to a function for the time being; the macro 2000-01-08 16:20:06 +00:00
nlist_aout.h $Id$ -> $FreeBSD$ 1999-08-27 23:45:13 +00:00
param.h Bump __FreeBSD_version to mark the ether_ifattach()/ether_ifdetach() changes. 2000-07-14 15:44:58 +00:00
pciio.h [ repository copy of sys/pci/pci_ioctl.h to sys/sys/pciio.h happened in the 1999-12-08 17:44:04 +00:00
pioctl.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
pipe.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
poll.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
posix4.h Fixed some type mismatches. p_retval[0] in struct proc has type 1999-12-27 10:22:09 +00:00
proc.h Add snapshots to the fast filesystem. Most of the changes support 2000-07-11 22:07:57 +00:00
procfs.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
protosw.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
ptio.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
ptrace.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
queue.h Back out the previous change to the queue(3) interface. 2000-05-26 02:09:24 +00:00
random.h Yarrow tweaks; separate the fast and slow reseed tasks so that they don't 2000-07-09 11:52:12 +00:00
reboot.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
resource.h Change the scheduler to actually respect the PUSER barrier. It's been 2000-04-30 18:33:43 +00:00
resourcevar.h Fix a bug that could crash the system if you press ^T while a slower 2000-01-28 20:40:29 +00:00
rman.h Back out the previous change to the queue(3) interface. 2000-05-26 02:09:24 +00:00
rtprio.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
select.h Introduce kqueue() and kevent(), a kernel event notification facility. 2000-04-16 18:53:38 +00:00
selinfo.h Introduce kqueue() and kevent(), a kernel event notification facility. 2000-04-16 18:53:38 +00:00
sem.h Move the MSG* and SEM* options to opt_sysvipc.h 2000-05-01 13:33:56 +00:00
semaphore.h Track libc_r addition of semaphores implementation. 2000-01-20 07:55:42 +00:00
shm.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
signal.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
signalvar.h fix warning, declare function static. 2000-06-22 22:09:31 +00:00
smp.h Further fixes for multiple-IO-APIC systems from Tor Egge: 2000-05-31 21:37:28 +00:00
snoop.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
socket.h return of the accept filter part II 2000-06-20 01:09:23 +00:00
socketvar.h return of the accept filter part II 2000-06-20 01:09:23 +00:00
sockio.h sync with kame tree as of july00. tons of bug fixes/improvements. 2000-07-04 16:35:15 +00:00
soundcard.h Finally merge newmidi. 2000-07-11 11:49:33 +00:00
stat.h Get userland visible flags added for snapshots to give a few days 2000-07-04 04:58:34 +00:00
syscall-hide.h o Commit two of two, introducing __cap_{get,set}_{fd,file} syscalls to 2000-07-13 20:38:52 +00:00
syscall.h o Commit two of two, introducing __cap_{get,set}_{fd,file} syscalls to 2000-07-13 20:38:52 +00:00
syscall.mk o Commit two of two, introducing __cap_{get,set}_{fd,file} syscalls to 2000-07-13 20:38:52 +00:00
sysctl.h These patches implement dynamic sysctls. It's possible now to add 2000-07-15 10:26:04 +00:00
sysent.h Fix #! script exec under linux emulation. If a script is exec'd from a 2000-04-26 20:58:40 +00:00
syslimits.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
syslog.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
sysproto.h o Commit two of two, introducing __cap_{get,set}_{fd,file} syscalls to 2000-07-13 20:38:52 +00:00
systm.h o bde suggested moving the SYSCTL from kern_mib to the more appropriate 2000-06-05 18:30:55 +00:00
taskqueue.h taskqueue_swi is a pointer, not a struct. Fix a comment that misleadingly 2000-06-09 22:32:36 +00:00
termios.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
time.h Isolate the Timecounter internals in their own two files. 2000-03-20 14:09:06 +00:00
timeb.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
timepps.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
timers.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
times.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
timetc.h Isolate the Timecounter internals in their own two files. 2000-03-20 14:09:06 +00:00
timex.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
tprintf.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
tty.h Back out the previous change to the queue(3) interface. 2000-05-26 02:09:24 +00:00
ttychars.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
ttycom.h Remove the TABLDISC line discipline number, it's not in the tree 2000-01-29 16:47:35 +00:00
ttydefaults.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
ttydev.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
types.h Followup to previous commit; change fd_mask from signed to unsigned as 2000-02-20 15:01:37 +00:00
ucontext.h Add a per-signal flag to mark handlers registered with osigaction, so we 1999-10-11 20:33:17 +00:00
ucred.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
uio.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
un.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
unistd.h Implement POSIX.1b shared memory objects. In this implementation, 2000-04-22 15:22:31 +00:00
unpcb.h Back out the previous change to the queue(3) interface. 2000-05-26 02:09:24 +00:00
user.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
utsname.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
vmmeter.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
vnioctl.h Fix a bug in the block number calculation for VN disks with a sector 1999-09-17 05:34:00 +00:00
vnode.h Add snapshots to the fast filesystem. Most of the changes support 2000-07-11 22:07:57 +00:00
wait.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
xrpuio.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00