summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrmh <rmh@FreeBSD.org>2011-11-22 18:53:54 +0000
committerrmh <rmh@FreeBSD.org>2011-11-22 18:53:54 +0000
commit0c8ce505c84194e1f1bc9c2d13a679b4eee017a8 (patch)
tree56583fbc01d4c94c7549895a7f319d9f6d7e4c12
parent62da5e13f7b1d2be2ff47ea2b41a6b6a525e4ab4 (diff)
downloadFreeBSD-src-0c8ce505c84194e1f1bc9c2d13a679b4eee017a8.zip
FreeBSD-src-0c8ce505c84194e1f1bc9c2d13a679b4eee017a8.tar.gz
Define __FreeBSD_kernel__ macro in sys/param.h.
__FreeBSD_kernel__ indicates that this system uses the kernel of FreeBSD, which by definition is always true on FreeBSD. This macro is also defined on other systems that use the kernel of FreeBSD, such as GNU/kFreeBSD. It is tempting to use this macro in userland code when we want to enable kernel-specific routines, and in fact it's fine to do this in code that is part of FreeBSD itself. However, be aware that as presence of this macro is still not widespread (e.g. older FreeBSD versions, 3rd party compilers, etc), it is STRONGLY DISCOURAGED to check for this macro in external applications without also checking for __FreeBSD__ as an alternative. Approved by: kib (mentor) MFC after: 2 weeks
-rw-r--r--sys/sys/param.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/sys/sys/param.h b/sys/sys/param.h
index d2ead83..87eba11 100644
--- a/sys/sys/param.h
+++ b/sys/sys/param.h
@@ -60,6 +60,22 @@
#undef __FreeBSD_version
#define __FreeBSD_version 1000001 /* Master, propagated to newvers */
+/*
+ * __FreeBSD_kernel__ indicates that this system uses the kernel of FreeBSD,
+ * which by definition is always true on FreeBSD. This macro is also defined
+ * on other systems that use the kernel of FreeBSD, such as GNU/kFreeBSD.
+ *
+ * It is tempting to use this macro in userland code when we want to enable
+ * kernel-specific routines, and in fact it's fine to do this in code that
+ * is part of FreeBSD itself. However, be aware that as presence of this
+ * macro is still not widespread (e.g. older FreeBSD versions, 3rd party
+ * compilers, etc), it is STRONGLY DISCOURAGED to check for this macro in
+ * external applications without also checking for __FreeBSD__ as an
+ * alternative.
+ */
+#undef __FreeBSD_kernel__
+#define __FreeBSD_kernel__
+
#ifdef _KERNEL
#define P_OSREL_SIGWAIT 700000
#define P_OSREL_SIGSEGV 700004
OpenPOWER on IntegriCloud