summaryrefslogtreecommitdiffstats
path: root/cpukit
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2014-09-05 08:32:28 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2014-09-08 07:53:02 +0200
commita72f16e47b0d8221962918684fdb6efde5ce71e5 (patch)
treee8fb0c4f075bafcc4188e49e6d17e5b3631b4fd0 /cpukit
parentcapture: Add support for variable length records. (diff)
downloadrtems-a72f16e47b0d8221962918684fdb6efde5ce71e5.tar.bz2
score: Add RTEMS_DECONST|DEVOLATILE|DEQUALIFY()
Diffstat (limited to 'cpukit')
-rw-r--r--cpukit/score/include/rtems/score/basedefs.h27
1 files changed, 27 insertions, 0 deletions
diff --git a/cpukit/score/include/rtems/score/basedefs.h b/cpukit/score/include/rtems/score/basedefs.h
index ec93951a4f..361f51479c 100644
--- a/cpukit/score/include/rtems/score/basedefs.h
+++ b/cpukit/score/include/rtems/score/basedefs.h
@@ -227,6 +227,33 @@
#define RTEMS_CONTAINER_OF( _m, _type, _member_name ) \
( (_type *) ( (uintptr_t) ( _m ) - offsetof( _type, _member_name ) ) )
+/**
+ * @brief Removes the const qualifier from a type of a variable.
+ *
+ * @param[in] _type The target type for the variable.
+ * @param[in] _var The variable.
+ */
+#define RTEMS_DECONST( _type, _var ) \
+ ((_type)(uintptr_t)(const void *) ( _var ))
+
+/**
+ * @brief Removes the volatile qualifier from a type of a variable.
+ *
+ * @param[in] _type The target type for the variable.
+ * @param[in] _var The variable.
+ */
+#define RTEMS_DEVOLATILE( _type, _var ) \
+ ((_type)(uintptr_t)(volatile void *) ( _var ))
+
+/**
+ * @brief Removes the all qualifiers from a type of a variable.
+ *
+ * @param[in] _type The target type for the variable.
+ * @param[in] _var The variable.
+ */
+#define RTEMS_DEQUALIFY( _type, _var ) \
+ ((_type)(uintptr_t)(const volatile void *) ( _var ))
+
#ifndef ASM
#ifdef RTEMS_DEPRECATED_TYPES
typedef bool boolean;