summaryrefslogtreecommitdiffstats
path: root/cpukit/rtems/inline/rtems/rtems/attr.inl
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2013-07-23 11:12:52 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2013-07-23 15:12:52 +0200
commit63d229d655f10dcce750478b36aa8d7846ad8756 (patch)
tree68c28177f2fa59eb8dc13f7ded150542b3289015 /cpukit/rtems/inline/rtems/rtems/attr.inl
parentrtems: Create options implementation header (diff)
downloadrtems-63d229d655f10dcce750478b36aa8d7846ad8756.tar.bz2
rtems: Create attr implementation header
Move implementation specific parts of attr.h and attr.inl into new header file attrimpl.h. The attr.h contains now only the application visible API.
Diffstat (limited to '')
-rw-r--r--cpukit/rtems/include/rtems/rtems/attrimpl.h (renamed from cpukit/rtems/inline/rtems/rtems/attr.inl)51
1 files changed, 41 insertions, 10 deletions
diff --git a/cpukit/rtems/inline/rtems/rtems/attr.inl b/cpukit/rtems/include/rtems/rtems/attrimpl.h
index 126259a067..4f06b16fd7 100644
--- a/cpukit/rtems/inline/rtems/rtems/attr.inl
+++ b/cpukit/rtems/include/rtems/rtems/attrimpl.h
@@ -1,8 +1,9 @@
/**
- * @file rtems/rtems/attr.inl
+ * @file
*
- * This include file contains all of the inlined routines associated
- * with attributes.
+ * @ingroup ClassicAttributesImpl
+ *
+ * @brief Classic Attributes Implementation
*/
/*
@@ -14,20 +15,46 @@
* http://www.rtems.com/license/LICENSE.
*/
-#ifndef _RTEMS_RTEMS_ATTR_H
-# error "Never use <rtems/rtems/attr.inl> directly; include <rtems/rtems/attr.h> instead."
-#endif
-
#ifndef _RTEMS_RTEMS_ATTR_INL
#define _RTEMS_RTEMS_ATTR_INL
-#include <rtems/score/basedefs.h> /* RTEMS_INLINE_ROUTINE */
+#include <rtems/rtems/attr.h>
+#include <rtems/score/cpu.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
/**
- * @addtogroup ClassicAttributes
- * @{
+ * @defgroup ClassicAttributesImpl Classic Attributes Implementation
+ *
+ * @ingroup ClassicAttributes
+ *
+ * @{
*/
+/****************** Forced Attributes in Configuration ****************/
+
+/**
+ * This attribute constant indicates the attributes that are not
+ * supportable given the hardware configuration.
+ */
+#if ( CPU_HARDWARE_FP == TRUE ) || ( CPU_SOFTWARE_FP == TRUE )
+#define ATTRIBUTES_NOT_SUPPORTED 0
+#else
+#define ATTRIBUTES_NOT_SUPPORTED RTEMS_FLOATING_POINT
+#endif
+
+/**
+ * This attribute constant indicates the attributes that are
+ * required given the hardware configuration.
+ */
+#if ( CPU_ALL_TASKS_ARE_FP == TRUE )
+#define ATTRIBUTES_REQUIRED RTEMS_FLOATING_POINT
+#else
+#define ATTRIBUTES_REQUIRED 0
+#endif
+
/**
* @brief Sets the requested new_attributes in the attribute_set passed in.
*
@@ -201,5 +228,9 @@ RTEMS_INLINE_ROUTINE bool _Attributes_Is_system_task(
/**@}*/
+#ifdef __cplusplus
+}
+#endif
+
#endif
/* end of include file */