Back out last change to sysctl.

It was nay'ed before committing on the grounds that this is not
the way to do it, and has been decided as such several times in
the past.

There is not point in loading gobs of ascii into the kernel when
the only use of that ascii is presentation to the user.

Next thing we'd be adding all section 4 man pages to the loaded
kernel as well.

The argument about KLD's is bogus, klds can store a file in
/usr/share/doc/sysctl/dev/foo/thisvar.txt with a description and
sysctl or other facilities can pick it up there.

Proper documentation will take several K worth of text for many
sysctl variables, we don't want that in the kernel under any
circumstances.

I will welcome any well thought out attempt at improving the
situation wrt. sysctl documentation, but this wasn't it.
This commit is contained in:
Poul-Henning Kamp 1999-01-10 07:45:33 +00:00
parent 302a110207
commit 86415b71f9
6 changed files with 2 additions and 67 deletions

View File

@ -772,9 +772,6 @@ options VINUMDEBUG #enable Vinum debugging hooks
# Size of the kernel message buffer. Should be N * pagesize.
options "MSGBUF_SIZE=40960"
# Conserve space by not including sysctl descriptions (see sysctl(8))
#options NO_SYSCTL_DESCRIPTIONS
#####################################################################
# HARDWARE DEVICE CONFIGURATION

View File

@ -254,7 +254,6 @@ DIAGNOSTIC opt_global.h
ENABLE_VFS_IOOPT opt_global.h
INVARIANT_SUPPORT opt_global.h
INVARIANTS opt_global.h
NO_SYSCTL_DESCRIPTIONS opt_global.h
SIMPLELOCK_DEBUG opt_global.h
VFS_BIO_DEBUG opt_global.h

View File

@ -772,9 +772,6 @@ options VINUMDEBUG #enable Vinum debugging hooks
# Size of the kernel message buffer. Should be N * pagesize.
options "MSGBUF_SIZE=40960"
# Conserve space by not including sysctl descriptions (see sysctl(8))
#options NO_SYSCTL_DESCRIPTIONS
#####################################################################
# HARDWARE DEVICE CONFIGURATION

View File

@ -772,9 +772,6 @@ options VINUMDEBUG #enable Vinum debugging hooks
# Size of the kernel message buffer. Should be N * pagesize.
options "MSGBUF_SIZE=40960"
# Conserve space by not including sysctl descriptions (see sysctl(8))
#options NO_SYSCTL_DESCRIPTIONS
#####################################################################
# HARDWARE DEVICE CONFIGURATION

View File

@ -155,10 +155,9 @@ sysctl_order_all(void)
*
* {0,0} printf the entire MIB-tree.
* {0,1,...} return the name of the "..." OID.
* {0,2} return the next OID.
* {0,2,...} return the next OID.
* {0,3} return the OID of the name in "new"
* {0,4,...} return the kind & format info for the "..." OID.
* {0,5,...} return the description for the "..." OID.
*/
static void
@ -490,53 +489,9 @@ sysctl_sysctl_oidfmt SYSCTL_HANDLER_ARGS
return (error);
}
SYSCTL_NODE(_sysctl, 4, oidfmt, CTLFLAG_RD, sysctl_sysctl_oidfmt, "");
static int
sysctl_sysctl_descr SYSCTL_HANDLER_ARGS
{
#ifndef NO_SYSCTL_DESCRIPTIONS
int *name = (int *) arg1;
u_int namelen = arg2;
int i, j, error = 0;
struct sysctl_oid **oidpp;
struct linker_set *lsp = &sysctl_;
if (!lsp || !namelen)
return (SYSCTL_OUT(req, "", 1));
while (namelen) {
oidpp = (struct sysctl_oid **) lsp->ls_items;
j = lsp->ls_length;
lsp = 0;
for (i = 0; i < j; i++, oidpp++) {
if (*oidpp && ((*oidpp)->oid_number != *name))
continue;
namelen--;
name++;
if (((*oidpp)->oid_kind & CTLTYPE) != CTLTYPE_NODE)
break;
if ((*oidpp)->oid_handler)
break;
lsp = (struct linker_set*)(*oidpp)->oid_arg1;
break;
}
}
error = SYSCTL_OUT(req, (*oidpp)->oid_descr,
strlen((*oidpp)->oid_descr) + 1);
return (error);
#else
return (SYSCTL_OUT(req, "", 1));
#endif /* !NO_SYSCTL_DESCRIPTIONS */
}
SYSCTL_NODE(_sysctl, 5, descr, CTLFLAG_RD, sysctl_sysctl_descr, "");
/*
* Default "handler" functions.
*/

View File

@ -122,9 +122,6 @@ struct sysctl_oid {
const char *oid_name;
int (*oid_handler) SYSCTL_HANDLER_ARGS;
const char *oid_fmt;
#ifndef NO_SYSCTL_DESCRIPTIONS
const char *oid_descr;
#endif /* !NO_SYSCTL_DESCRIPTIONS */
};
#define SYSCTL_IN(r, p, l) (r->newfunc)(r, p, l)
@ -137,17 +134,10 @@ int sysctl_handle_string SYSCTL_HANDLER_ARGS;
int sysctl_handle_opaque SYSCTL_HANDLER_ARGS;
/* This constructs a "raw" MIB oid. */
#ifndef NO_SYSCTL_DESCRIPTIONS
#define SYSCTL_OID(parent, nbr, name, kind, a1, a2, handler, fmt, descr) \
static struct sysctl_oid sysctl__##parent##_##name = { \
nbr, kind, a1, a2, #name, handler, fmt, descr }; \
DATA_SET(sysctl_##parent, sysctl__##parent##_##name)
#else
#define SYSCTL_OID(parent, nbr, name, kind, a1, a2, handler, fmt, descr) \
static struct sysctl_oid sysctl__##parent##_##name = { \
nbr, kind, a1, a2, #name, handler, fmt }; \
DATA_SET(sysctl_##parent, sysctl__##parent##_##name)
#endif /* !NO_SYSCTL_DESCRIPTIONS */
/* This constructs a node from which other oids can hang. */
#define SYSCTL_NODE(parent, nbr, name, access, handler, descr) \