From 46f3a29ee144a7d2e74c8b3d6c5c7b28562c29e2 Mon Sep 17 00:00:00 2001 From: Konstantin Belousov Date: Tue, 21 Nov 2023 00:43:07 +0200 Subject: [PATCH] sys/sysctl.h: FEATURE_ADD() A macro to dynamically register report of the kernel feature. Reviewed by: markj Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D42641 --- sys/sys/sysctl.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/sys/sys/sysctl.h b/sys/sys/sysctl.h index 9176d2c3efd..bc7a2bc601a 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 */