summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--cpukit/ChangeLog5
-rw-r--r--cpukit/sapi/include/rtems/chain.h11
-rw-r--r--cpukit/score/include/rtems/score/chain.h16
3 files changed, 32 insertions, 0 deletions
diff --git a/cpukit/ChangeLog b/cpukit/ChangeLog
index 181d2c523c..c6ef061ac0 100644
--- a/cpukit/ChangeLog
+++ b/cpukit/ChangeLog
@@ -26,6 +26,11 @@
2009-11-30 Sebastian Huber <sebastian.huber@embedded-brains.de>
+ * score/include/rtems/score/chain.h, sapi/include/rtems/chain.h: Added
+ defines for initialization of empty chains.
+
+2009-11-30 Sebastian Huber <sebastian.huber@embedded-brains.de>
+
* rtems/include/rtems/rtems/timer.h: Added timer server control block
Timer_server_Control. Removed _Timer_Server thread pointer. Added
_Timer_server pointer to the default timer server control block.
diff --git a/cpukit/sapi/include/rtems/chain.h b/cpukit/sapi/include/rtems/chain.h
index 6050da3dfa..72481f7daa 100644
--- a/cpukit/sapi/include/rtems/chain.h
+++ b/cpukit/sapi/include/rtems/chain.h
@@ -43,6 +43,17 @@ typedef Chain_Node rtems_chain_node;
*/
typedef Chain_Control rtems_chain_control;
+/**
+ * @brief Chain initializer for an empty chain with designator @a name.
+ */
+#define RTEMS_CHAIN_INITIALIZER_EMPTY(name) \
+ CHAIN_INITIALIZER_EMPTY(name)
+
+/**
+ * @brief Chain definition for an empty chain with designator @a name.
+ */
+#define RTEMS_CHAIN_DEFINE_EMPTY(name) \
+ CHAIN_DEFINE_EMPTY(name)
#include <rtems/chain.inl>
diff --git a/cpukit/score/include/rtems/score/chain.h b/cpukit/score/include/rtems/score/chain.h
index 8dbef1e543..3d18adf64f 100644
--- a/cpukit/score/include/rtems/score/chain.h
+++ b/cpukit/score/include/rtems/score/chain.h
@@ -94,6 +94,22 @@ typedef struct {
} Chain_Control;
/**
+ * @brief Chain initializer for an empty chain with designator @a name.
+ */
+#define CHAIN_INITIALIZER_EMPTY(name) \
+ { \
+ (Chain_Node *) &(name).permanent_null, \
+ NULL, \
+ (Chain_Node *) &(name) \
+ }
+
+/**
+ * @brief Chain definition for an empty chain with designator @a name.
+ */
+#define CHAIN_DEFINE_EMPTY(name) \
+ Chain_Control name = CHAIN_INITIALIZER_EMPTY(name)
+
+/**
* @brief Initialize a Chain Header
*
* This routine initializes @a the_chain structure to manage the