aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKonstantin Belousov <kib@FreeBSD.org>2023-11-20 22:43:07 +0000
committerKonstantin Belousov <kib@FreeBSD.org>2023-11-28 11:39:38 +0000
commite056f6da61884ed4a1c8a06d1ddee846cc613a32 (patch)
tree23eae70d69c820edcf4e61f7d45cb374171f6d42
parent5b4b93e6074c4a928c6a452790ed8a43e1c4a039 (diff)
downloadsrc-e056f6da61884ed4a1c8a06d1ddee846cc613a32.tar.gz
src-e056f6da61884ed4a1c8a06d1ddee846cc613a32.zip
sys/sysctl.h: FEATURE_ADD()
(cherry picked from commit 46f3a29ee144a7d2e74c8b3d6c5c7b28562c29e2)
-rw-r--r--sys/sys/sysctl.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/sys/sys/sysctl.h b/sys/sys/sysctl.h
index 9176d2c3efdd..bc7a2bc601a1 100644
--- a/sys/sys/sysctl.h
+++ b/sys/sys/sysctl.h
@@ -927,6 +927,12 @@ TAILQ_HEAD(sysctl_ctx_list, sysctl_ctx_entry);
#define FEATURE(name, desc) \
SYSCTL_INT_WITH_LABEL(_kern_features, OID_AUTO, name, \
CTLFLAG_RD | CTLFLAG_CAPRD, SYSCTL_NULL_INT_PTR, 1, desc, "feature")
+/* Same for the dynamic registration. */
+#define FEATURE_ADD(name, desc) \
+ sysctl_add_oid(NULL, SYSCTL_CHILDREN(&sysctl___kern_features), \
+ OID_AUTO, name, \
+ CTLFLAG_RD | CTLFLAG_CAPRD | CTLTYPE_INT | CTLFLAG_MPSAFE, \
+ NULL, 1, sysctl_handle_int, "I", desc, "feature");
#endif /* _KERNEL */