Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 21 Jan 2012 18:21:44 +0000 (UTC)
From:      Robert Millan <rmh@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org
Subject:   svn commit: r230432 - stable/8/sys/sys
Message-ID:  <201201211821.q0LILiCk003955@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: rmh
Date: Sat Jan 21 18:21:44 2012
New Revision: 230432
URL: http://svn.freebsd.org/changeset/base/230432

Log:
  MFC r227827
    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)

Modified:
  stable/8/sys/sys/param.h
Directory Properties:
  stable/8/sys/   (props changed)
  stable/8/sys/amd64/include/xen/   (props changed)
  stable/8/sys/cddl/contrib/opensolaris/   (props changed)
  stable/8/sys/contrib/dev/acpica/   (props changed)
  stable/8/sys/contrib/pf/   (props changed)

Modified: stable/8/sys/sys/param.h
==============================================================================
--- stable/8/sys/sys/param.h	Sat Jan 21 18:11:12 2012	(r230431)
+++ stable/8/sys/sys/param.h	Sat Jan 21 18:21:44 2012	(r230432)
@@ -60,6 +60,22 @@
 #undef __FreeBSD_version
 #define __FreeBSD_version 802516	/* 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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201201211821.q0LILiCk003955>