summaryrefslogtreecommitdiffstats
path: root/freebsd/sys/sys/sysctl.h
diff options
context:
space:
mode:
Diffstat (limited to 'freebsd/sys/sys/sysctl.h')
-rw-r--r--freebsd/sys/sys/sysctl.h129
1 files changed, 75 insertions, 54 deletions
diff --git a/freebsd/sys/sys/sysctl.h b/freebsd/sys/sys/sysctl.h
index 291b7e44..988cec2e 100644
--- a/freebsd/sys/sys/sysctl.h
+++ b/freebsd/sys/sys/sysctl.h
@@ -192,6 +192,7 @@ struct sysctl_oid {
int oid_refcnt;
u_int oid_running;
const char *oid_descr;
+ const char *oid_label;
};
#define SYSCTL_IN(r, p, l) (r->newfunc)(r, p, l)
@@ -270,7 +271,7 @@ TAILQ_HEAD(sysctl_ctx_list, sysctl_ctx_entry);
#endif
/* This macro is only for internal use */
-#define SYSCTL_OID_RAW(id, parent_child_head, nbr, name, kind, a1, a2, handler, fmt, descr) \
+#define SYSCTL_OID_RAW(id, parent_child_head, nbr, name, kind, a1, a2, handler, fmt, descr, label) \
struct sysctl_oid id = { \
.oid_parent = (parent_child_head), \
.oid_children = SLIST_HEAD_INITIALIZER(&id.oid_children), \
@@ -281,69 +282,81 @@ TAILQ_HEAD(sysctl_ctx_list, sysctl_ctx_entry);
.oid_name = (name), \
.oid_handler = (handler), \
.oid_fmt = (fmt), \
- .oid_descr = __DESCR(descr) \
+ .oid_descr = __DESCR(descr), \
+ .oid_label = (label), \
}; \
DATA_SET(sysctl_set, id)
/* This constructs a static "raw" MIB oid. */
-#ifndef __rtems__
#define SYSCTL_OID(parent, nbr, name, kind, a1, a2, handler, fmt, descr) \
- static SYSCTL_OID_RAW(sysctl__##parent##_##name, \
- SYSCTL_CHILDREN(&sysctl__##parent), \
- nbr, #name, kind, a1, a2, handler, fmt, descr)
+ SYSCTL_OID_WITH_LABEL(parent, nbr, name, kind, a1, a2, \
+ handler, fmt, descr, NULL)
+
+#ifndef __rtems__
+#define SYSCTL_OID_WITH_LABEL(parent, nbr, name, kind, a1, a2, handler, fmt, descr, label) \
+ static SYSCTL_OID_RAW(sysctl__##parent##_##name, \
+ SYSCTL_CHILDREN(&sysctl__##parent), \
+ nbr, #name, kind, a1, a2, handler, fmt, descr, label)
#else /* __rtems__ */
-#define SYSCTL_OID(parent, nbr, name, kind, a1, a2, handler, fmt, descr) \
- static SYSCTL_OID_RAW(_bsd_sysctl__##parent##_##name, \
- SYSCTL_CHILDREN(&_bsd_sysctl__##parent), \
- nbr, #name, kind, a1, a2, handler, fmt, descr)
+#define SYSCTL_OID_WITH_LABEL(parent, nbr, name, kind, a1, a2, handler, fmt, descr, label) \
+ static SYSCTL_OID_RAW(_bsd_sysctl__##parent##_##name, \
+ SYSCTL_CHILDREN(&_bsd_sysctl__##parent), \
+ nbr, #name, kind, a1, a2, handler, fmt, descr, label)
#endif /* __rtems__ */
/* This constructs a global "raw" MIB oid. */
#ifndef __rtems__
-#define SYSCTL_OID_GLOBAL(parent, nbr, name, kind, a1, a2, handler, fmt, descr) \
+#define SYSCTL_OID_GLOBAL(parent, nbr, name, kind, a1, a2, handler, fmt, descr, label) \
SYSCTL_OID_RAW(sysctl__##parent##_##name, \
SYSCTL_CHILDREN(&sysctl__##parent), \
- nbr, #name, kind, a1, a2, handler, fmt, descr)
+ nbr, #name, kind, a1, a2, handler, fmt, descr, label)
#else /* __rtems__ */
-#define SYSCTL_OID_GLOBAL(parent, nbr, name, kind, a1, a2, handler, fmt, descr) \
+#define SYSCTL_OID_GLOBAL(parent, nbr, name, kind, a1, a2, handler, fmt, descr, label) \
SYSCTL_OID_RAW(_bsd_sysctl__##parent##_##name, \
SYSCTL_CHILDREN(&_bsd_sysctl__##parent), \
- nbr, #name, kind, a1, a2, handler, fmt, descr)
+ nbr, #name, kind, a1, a2, handler, fmt, descr, label)
#endif /* __rtems__ */
#define SYSCTL_ADD_OID(ctx, parent, nbr, name, kind, a1, a2, handler, fmt, descr) \
- sysctl_add_oid(ctx, parent, nbr, name, kind, a1, a2, handler, fmt, __DESCR(descr))
+ sysctl_add_oid(ctx, parent, nbr, name, kind, a1, a2, handler, fmt, __DESCR(descr), NULL)
/* This constructs a root node from which other nodes can hang. */
#ifndef __rtems__
#define SYSCTL_ROOT_NODE(nbr, name, access, handler, descr) \
SYSCTL_OID_RAW(sysctl___##name, &sysctl__children, \
nbr, #name, CTLTYPE_NODE|(access), NULL, 0, \
- handler, "N", descr); \
+ handler, "N", descr, NULL); \
CTASSERT(((access) & CTLTYPE) == 0 || \
((access) & SYSCTL_CT_ASSERT_MASK) == CTLTYPE_NODE)
#else /* __rtems__ */
#define SYSCTL_ROOT_NODE(nbr, name, access, handler, descr) \
SYSCTL_OID_RAW(_bsd_sysctl___##name, &sysctl__children, \
nbr, #name, CTLTYPE_NODE|(access), NULL, 0, \
- handler, "N", descr); \
+ handler, "N", descr, NULL); \
CTASSERT(((access) & CTLTYPE) == 0 || \
((access) & SYSCTL_CT_ASSERT_MASK) == CTLTYPE_NODE)
#endif /* __rtems__ */
/* This constructs a node from which other oids can hang. */
-#define SYSCTL_NODE(parent, nbr, name, access, handler, descr) \
+#define SYSCTL_NODE(parent, nbr, name, access, handler, descr) \
+ SYSCTL_NODE_WITH_LABEL(parent, nbr, name, access, handler, descr, NULL)
+
+#define SYSCTL_NODE_WITH_LABEL(parent, nbr, name, access, handler, descr, label) \
SYSCTL_OID_GLOBAL(parent, nbr, name, CTLTYPE_NODE|(access), \
- NULL, 0, handler, "N", descr); \
+ NULL, 0, handler, "N", descr, label); \
CTASSERT(((access) & CTLTYPE) == 0 || \
((access) & SYSCTL_CT_ASSERT_MASK) == CTLTYPE_NODE)
#define SYSCTL_ADD_NODE(ctx, parent, nbr, name, access, handler, descr) \
+ SYSCTL_ADD_NODE_WITH_LABEL(ctx, parent, nbr, name, access, \
+ handler, descr, NULL)
+
+#define SYSCTL_ADD_NODE_WITH_LABEL(ctx, parent, nbr, name, access, handler, descr, label) \
({ \
CTASSERT(((access) & CTLTYPE) == 0 || \
((access) & SYSCTL_CT_ASSERT_MASK) == CTLTYPE_NODE); \
sysctl_add_oid(ctx, parent, nbr, name, CTLTYPE_NODE|(access), \
- NULL, 0, handler, "N", __DESCR(descr)); \
+ NULL, 0, handler, "N", __DESCR(descr), label); \
})
#define SYSCTL_ADD_ROOT_NODE(ctx, nbr, name, access, handler, descr) \
@@ -352,7 +365,7 @@ TAILQ_HEAD(sysctl_ctx_list, sysctl_ctx_entry);
((access) & SYSCTL_CT_ASSERT_MASK) == CTLTYPE_NODE); \
sysctl_add_oid(ctx, &sysctl__children, nbr, name, \
CTLTYPE_NODE|(access), \
- NULL, 0, handler, "N", __DESCR(descr)); \
+ NULL, 0, handler, "N", __DESCR(descr), NULL); \
})
/* Oid for a string. len can be 0 to indicate '\0' termination. */
@@ -368,7 +381,8 @@ TAILQ_HEAD(sysctl_ctx_list, sysctl_ctx_entry);
CTASSERT(((access) & CTLTYPE) == 0 || \
((access) & SYSCTL_CT_ASSERT_MASK) == CTLTYPE_STRING); \
sysctl_add_oid(ctx, parent, nbr, name, CTLTYPE_STRING|(access), \
- __arg, len, sysctl_handle_string, "A", __DESCR(descr)); \
+ __arg, len, sysctl_handle_string, "A", __DESCR(descr), \
+ NULL); \
})
/* Oid for a bool. If ptr is NULL, val is returned. */
@@ -386,7 +400,8 @@ TAILQ_HEAD(sysctl_ctx_list, sysctl_ctx_entry);
CTASSERT(((access) & CTLTYPE) == 0); \
sysctl_add_oid(ctx, parent, nbr, name, \
CTLTYPE_U8 | CTLFLAG_MPSAFE | (access), \
- __ptr, val, sysctl_handle_bool, "CU", __DESCR(descr)); \
+ __ptr, val, sysctl_handle_bool, "CU", __DESCR(descr), \
+ NULL); \
})
/* Oid for a signed 8-bit int. If ptr is NULL, val is returned. */
@@ -406,7 +421,7 @@ TAILQ_HEAD(sysctl_ctx_list, sysctl_ctx_entry);
((access) & SYSCTL_CT_ASSERT_MASK) == CTLTYPE_S8); \
sysctl_add_oid(ctx, parent, nbr, name, \
CTLTYPE_S8 | CTLFLAG_MPSAFE | (access), \
- __ptr, val, sysctl_handle_8, "C", __DESCR(descr)); \
+ __ptr, val, sysctl_handle_8, "C", __DESCR(descr), NULL); \
})
/* Oid for an unsigned 8-bit int. If ptr is NULL, val is returned. */
@@ -426,7 +441,7 @@ TAILQ_HEAD(sysctl_ctx_list, sysctl_ctx_entry);
((access) & SYSCTL_CT_ASSERT_MASK) == CTLTYPE_U8); \
sysctl_add_oid(ctx, parent, nbr, name, \
CTLTYPE_U8 | CTLFLAG_MPSAFE | (access), \
- __ptr, val, sysctl_handle_8, "CU", __DESCR(descr)); \
+ __ptr, val, sysctl_handle_8, "CU", __DESCR(descr), NULL); \
})
/* Oid for a signed 16-bit int. If ptr is NULL, val is returned. */
@@ -446,7 +461,7 @@ TAILQ_HEAD(sysctl_ctx_list, sysctl_ctx_entry);
((access) & SYSCTL_CT_ASSERT_MASK) == CTLTYPE_S16); \
sysctl_add_oid(ctx, parent, nbr, name, \
CTLTYPE_S16 | CTLFLAG_MPSAFE | (access), \
- __ptr, val, sysctl_handle_16, "S", __DESCR(descr)); \
+ __ptr, val, sysctl_handle_16, "S", __DESCR(descr), NULL); \
})
/* Oid for an unsigned 16-bit int. If ptr is NULL, val is returned. */
@@ -466,7 +481,7 @@ TAILQ_HEAD(sysctl_ctx_list, sysctl_ctx_entry);
((access) & SYSCTL_CT_ASSERT_MASK) == CTLTYPE_U16); \
sysctl_add_oid(ctx, parent, nbr, name, \
CTLTYPE_U16 | CTLFLAG_MPSAFE | (access), \
- __ptr, val, sysctl_handle_16, "SU", __DESCR(descr)); \
+ __ptr, val, sysctl_handle_16, "SU", __DESCR(descr), NULL); \
})
/* Oid for a signed 32-bit int. If ptr is NULL, val is returned. */
@@ -486,7 +501,7 @@ TAILQ_HEAD(sysctl_ctx_list, sysctl_ctx_entry);
((access) & SYSCTL_CT_ASSERT_MASK) == CTLTYPE_S32); \
sysctl_add_oid(ctx, parent, nbr, name, \
CTLTYPE_S32 | CTLFLAG_MPSAFE | (access), \
- __ptr, val, sysctl_handle_32, "I", __DESCR(descr)); \
+ __ptr, val, sysctl_handle_32, "I", __DESCR(descr), NULL); \
})
/* Oid for an unsigned 32-bit int. If ptr is NULL, val is returned. */
@@ -506,7 +521,7 @@ TAILQ_HEAD(sysctl_ctx_list, sysctl_ctx_entry);
((access) & SYSCTL_CT_ASSERT_MASK) == CTLTYPE_U32); \
sysctl_add_oid(ctx, parent, nbr, name, \
CTLTYPE_U32 | CTLFLAG_MPSAFE | (access), \
- __ptr, val, sysctl_handle_32, "IU", __DESCR(descr)); \
+ __ptr, val, sysctl_handle_32, "IU", __DESCR(descr), NULL); \
})
/* Oid for a signed 64-bit int. If ptr is NULL, val is returned. */
@@ -526,7 +541,7 @@ TAILQ_HEAD(sysctl_ctx_list, sysctl_ctx_entry);
((access) & SYSCTL_CT_ASSERT_MASK) == CTLTYPE_S64); \
sysctl_add_oid(ctx, parent, nbr, name, \
CTLTYPE_S64 | CTLFLAG_MPSAFE | (access), \
- __ptr, val, sysctl_handle_64, "Q", __DESCR(descr)); \
+ __ptr, val, sysctl_handle_64, "Q", __DESCR(descr), NULL); \
})
/* Oid for an unsigned 64-bit int. If ptr is NULL, val is returned. */
@@ -546,16 +561,19 @@ TAILQ_HEAD(sysctl_ctx_list, sysctl_ctx_entry);
((access) & SYSCTL_CT_ASSERT_MASK) == CTLTYPE_U64); \
sysctl_add_oid(ctx, parent, nbr, name, \
CTLTYPE_U64 | CTLFLAG_MPSAFE | (access), \
- __ptr, val, sysctl_handle_64, "QU", __DESCR(descr)); \
+ __ptr, val, sysctl_handle_64, "QU", __DESCR(descr), NULL); \
})
/* Oid for an int. If ptr is SYSCTL_NULL_INT_PTR, val is returned. */
#define SYSCTL_NULL_INT_PTR ((int *)NULL)
-#define SYSCTL_INT(parent, nbr, name, access, ptr, val, descr) \
- SYSCTL_OID(parent, nbr, name, \
- CTLTYPE_INT | CTLFLAG_MPSAFE | (access), \
- ptr, val, sysctl_handle_int, "I", descr); \
- CTASSERT((((access) & CTLTYPE) == 0 || \
+#define SYSCTL_INT(parent, nbr, name, access, ptr, val, descr) \
+ SYSCTL_INT_WITH_LABEL(parent, nbr, name, access, ptr, val, descr, NULL)
+
+#define SYSCTL_INT_WITH_LABEL(parent, nbr, name, access, ptr, val, descr, label) \
+ SYSCTL_OID_WITH_LABEL(parent, nbr, name, \
+ CTLTYPE_INT | CTLFLAG_MPSAFE | (access), \
+ ptr, val, sysctl_handle_int, "I", descr, label); \
+ CTASSERT((((access) & CTLTYPE) == 0 || \
((access) & SYSCTL_CT_ASSERT_MASK) == CTLTYPE_INT) && \
sizeof(int) == sizeof(*(ptr)))
@@ -566,7 +584,7 @@ TAILQ_HEAD(sysctl_ctx_list, sysctl_ctx_entry);
((access) & SYSCTL_CT_ASSERT_MASK) == CTLTYPE_INT); \
sysctl_add_oid(ctx, parent, nbr, name, \
CTLTYPE_INT | CTLFLAG_MPSAFE | (access), \
- __ptr, val, sysctl_handle_int, "I", __DESCR(descr)); \
+ __ptr, val, sysctl_handle_int, "I", __DESCR(descr), NULL); \
})
/* Oid for an unsigned int. If ptr is NULL, val is returned. */
@@ -586,7 +604,7 @@ TAILQ_HEAD(sysctl_ctx_list, sysctl_ctx_entry);
((access) & SYSCTL_CT_ASSERT_MASK) == CTLTYPE_UINT); \
sysctl_add_oid(ctx, parent, nbr, name, \
CTLTYPE_UINT | CTLFLAG_MPSAFE | (access), \
- __ptr, val, sysctl_handle_int, "IU", __DESCR(descr)); \
+ __ptr, val, sysctl_handle_int, "IU", __DESCR(descr), NULL); \
})
/* Oid for a long. The pointer must be non NULL. */
@@ -606,7 +624,7 @@ TAILQ_HEAD(sysctl_ctx_list, sysctl_ctx_entry);
((access) & SYSCTL_CT_ASSERT_MASK) == CTLTYPE_LONG); \
sysctl_add_oid(ctx, parent, nbr, name, \
CTLTYPE_LONG | CTLFLAG_MPSAFE | (access), \
- __ptr, 0, sysctl_handle_long, "L", __DESCR(descr)); \
+ __ptr, 0, sysctl_handle_long, "L", __DESCR(descr), NULL); \
})
/* Oid for an unsigned long. The pointer must be non NULL. */
@@ -626,7 +644,7 @@ TAILQ_HEAD(sysctl_ctx_list, sysctl_ctx_entry);
((access) & SYSCTL_CT_ASSERT_MASK) == CTLTYPE_ULONG); \
sysctl_add_oid(ctx, parent, nbr, name, \
CTLTYPE_ULONG | CTLFLAG_MPSAFE | (access), \
- __ptr, 0, sysctl_handle_long, "LU", __DESCR(descr)); \
+ __ptr, 0, sysctl_handle_long, "LU", __DESCR(descr), NULL); \
})
/* Oid for a quad. The pointer must be non NULL. */
@@ -646,7 +664,7 @@ TAILQ_HEAD(sysctl_ctx_list, sysctl_ctx_entry);
((access) & SYSCTL_CT_ASSERT_MASK) == CTLTYPE_S64); \
sysctl_add_oid(ctx, parent, nbr, name, \
CTLTYPE_S64 | CTLFLAG_MPSAFE | (access), \
- __ptr, 0, sysctl_handle_64, "Q", __DESCR(descr)); \
+ __ptr, 0, sysctl_handle_64, "Q", __DESCR(descr), NULL); \
})
#define SYSCTL_NULL_UQUAD_PTR ((uint64_t *)NULL)
@@ -665,7 +683,7 @@ TAILQ_HEAD(sysctl_ctx_list, sysctl_ctx_entry);
((access) & SYSCTL_CT_ASSERT_MASK) == CTLTYPE_U64); \
sysctl_add_oid(ctx, parent, nbr, name, \
CTLTYPE_U64 | CTLFLAG_MPSAFE | (access), \
- __ptr, 0, sysctl_handle_64, "QU", __DESCR(descr)); \
+ __ptr, 0, sysctl_handle_64, "QU", __DESCR(descr), NULL); \
})
/* Oid for a CPU dependent variable */
@@ -679,12 +697,12 @@ TAILQ_HEAD(sysctl_ctx_list, sysctl_ctx_entry);
__ret = sysctl_add_oid(ctx, parent, nbr, name, \
CTLTYPE_U64 | CTLFLAG_MPSAFE | (access), \
(ptr), 0, sysctl_handle_64, "QU", \
- __DESCR(descr)); \
+ __DESCR(descr), NULL); \
} else { \
__ret = sysctl_add_oid(ctx, parent, nbr, name, \
CTLTYPE_UINT | CTLFLAG_MPSAFE | (access), \
(ptr), 0, sysctl_handle_int, "IU", \
- __DESCR(descr)); \
+ __DESCR(descr), NULL); \
} \
__ret; \
})
@@ -706,7 +724,8 @@ TAILQ_HEAD(sysctl_ctx_list, sysctl_ctx_entry);
((access) & SYSCTL_CT_ASSERT_MASK) == CTLTYPE_U64); \
sysctl_add_oid(ctx, parent, nbr, name, \
CTLTYPE_U64 | CTLFLAG_MPSAFE | (access), \
- __ptr, 0, sysctl_handle_counter_u64, "QU", __DESCR(descr)); \
+ __ptr, 0, sysctl_handle_counter_u64, "QU", __DESCR(descr), \
+ NULL); \
})
/* Oid for an array of counter(9)s. The pointer and length must be non zero. */
@@ -728,7 +747,7 @@ TAILQ_HEAD(sysctl_ctx_list, sysctl_ctx_entry);
sysctl_add_oid(ctx, parent, nbr, name, \
CTLTYPE_OPAQUE | CTLFLAG_MPSAFE | (access), \
__ptr, len, sysctl_handle_counter_u64_array, "S", \
- __DESCR(descr)); \
+ __DESCR(descr), NULL); \
})
/* Oid for an opaque object. Specified by a pointer and a length. */
@@ -743,7 +762,7 @@ TAILQ_HEAD(sysctl_ctx_list, sysctl_ctx_entry);
CTASSERT(((access) & CTLTYPE) == 0 || \
((access) & SYSCTL_CT_ASSERT_MASK) == CTLTYPE_OPAQUE); \
sysctl_add_oid(ctx, parent, nbr, name, CTLTYPE_OPAQUE|(access), \
- ptr, len, sysctl_handle_opaque, fmt, __DESCR(descr)); \
+ ptr, len, sysctl_handle_opaque, fmt, __DESCR(descr), NULL); \
})
/* Oid for a struct. Specified by a pointer and a type. */
@@ -760,7 +779,7 @@ TAILQ_HEAD(sysctl_ctx_list, sysctl_ctx_entry);
((access) & SYSCTL_CT_ASSERT_MASK) == CTLTYPE_OPAQUE); \
sysctl_add_oid(ctx, parent, nbr, name, CTLTYPE_OPAQUE|(access), \
(ptr), sizeof(struct type), \
- sysctl_handle_opaque, "S," #type, __DESCR(descr)); \
+ sysctl_handle_opaque, "S," #type, __DESCR(descr), NULL); \
})
/* Oid for a procedure. Specified by a pointer and an arg. */
@@ -773,7 +792,7 @@ TAILQ_HEAD(sysctl_ctx_list, sysctl_ctx_entry);
({ \
CTASSERT(((access) & CTLTYPE) != 0); \
sysctl_add_oid(ctx, parent, nbr, name, (access), \
- (ptr), (arg), (handler), (fmt), __DESCR(descr)); \
+ (ptr), (arg), (handler), (fmt), __DESCR(descr), NULL); \
})
/* Oid to handle limits on uma(9) zone specified by pointer. */
@@ -791,7 +810,8 @@ TAILQ_HEAD(sysctl_ctx_list, sysctl_ctx_entry);
((access) & SYSCTL_CT_ASSERT_MASK) == CTLTYPE_INT); \
sysctl_add_oid(ctx, parent, nbr, name, \
CTLTYPE_INT | CTLFLAG_MPSAFE | (access), \
- __ptr, 0, sysctl_handle_uma_zone_max, "I", __DESCR(descr)); \
+ __ptr, 0, sysctl_handle_uma_zone_max, "I", __DESCR(descr), \
+ NULL); \
})
/* Oid to obtain current use of uma(9) zone specified by pointer. */
@@ -809,7 +829,8 @@ TAILQ_HEAD(sysctl_ctx_list, sysctl_ctx_entry);
((access) & SYSCTL_CT_ASSERT_MASK) == CTLTYPE_INT); \
sysctl_add_oid(ctx, parent, nbr, name, \
CTLTYPE_INT | CTLFLAG_MPSAFE | CTLFLAG_RD | (access), \
- __ptr, 0, sysctl_handle_uma_zone_cur, "I", __DESCR(descr)); \
+ __ptr, 0, sysctl_handle_uma_zone_cur, "I", __DESCR(descr), \
+ NULL); \
})
/*
@@ -817,8 +838,8 @@ TAILQ_HEAD(sysctl_ctx_list, sysctl_ctx_entry);
* kernel features.
*/
#define FEATURE(name, desc) \
- SYSCTL_INT(_kern_features, OID_AUTO, name, CTLFLAG_RD | CTLFLAG_CAPRD, \
- SYSCTL_NULL_INT_PTR, 1, desc)
+ SYSCTL_INT_WITH_LABEL(_kern_features, OID_AUTO, name, \
+ CTLFLAG_RD | CTLFLAG_CAPRD, SYSCTL_NULL_INT_PTR, 1, desc, "feature")
#endif /* _KERNEL */
@@ -1037,7 +1058,7 @@ extern char kern_ident[];
struct sysctl_oid *sysctl_add_oid(struct sysctl_ctx_list *clist,
struct sysctl_oid_list *parent, int nbr, const char *name, int kind,
void *arg1, intmax_t arg2, int (*handler)(SYSCTL_HANDLER_ARGS),
- const char *fmt, const char *descr);
+ const char *fmt, const char *descr, const char *label);
int sysctl_remove_name(struct sysctl_oid *parent, const char *name, int del,
int recurse);
void sysctl_rename_oid(struct sysctl_oid *oidp, const char *name);