diff options
author | Maxime Henrion <mux@FreeBSD.org> | 2002-08-10 19:56:45 +0000 |
---|---|---|
committer | Maxime Henrion <mux@FreeBSD.org> | 2002-08-10 19:56:45 +0000 |
commit | 306e6b83936d0560c96775d3dbf0767138825040 (patch) | |
tree | e659d5f8bcd3cf7ee0a07c311845f496f90d100e /sys/kern/kern_sysctl.c | |
parent | 2f4bfb29bbc532abdce6e56377fe0227ba9a944e (diff) | |
download | src-306e6b83936d0560c96775d3dbf0767138825040.tar.gz src-306e6b83936d0560c96775d3dbf0767138825040.zip |
Introduce a new sysctl flag, CTLFLAG_SKIP, which will cause
sysctl_sysctl_next() to skip this sysctl. The sysctl is
still available, but doesn't appear in a "sysctl -a".
This is especially useful when you want to deprecate a sysctl,
and add a warning into it to warn users that they are using
an old interface. Without this flag, the warning would get
echoed when running "sysctl -a" (which happens at boot).
Notes
Notes:
svn path=/head/; revision=101650
Diffstat (limited to 'sys/kern/kern_sysctl.c')
-rw-r--r-- | sys/kern/kern_sysctl.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/sys/kern/kern_sysctl.c b/sys/kern/kern_sysctl.c index eb219dcc4aa0..57c6be808fba 100644 --- a/sys/kern/kern_sysctl.c +++ b/sys/kern/kern_sysctl.c @@ -542,6 +542,9 @@ sysctl_sysctl_next_ls(struct sysctl_oid_list *lsp, int *name, u_int namelen, *next = oidp->oid_number; *oidpp = oidp; + if (oidp->oid_kind & CTLFLAG_SKIP) + continue; + if (!namelen) { if ((oidp->oid_kind & CTLTYPE) != CTLTYPE_NODE) return 0; |