summaryrefslogtreecommitdiffstats
path: root/cpukit/sapi/inline/rtems
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2008-11-13 15:10:43 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2008-11-13 15:10:43 +0000
commit00151313e7349d38b2fccbb8a49180453bb1eb12 (patch)
tree644722fa47f5c709fd9653661a00c55b0ec85649 /cpukit/sapi/inline/rtems
parent2008-11-13 Joel Sherrill <joel.sherrill@OARcorp.com> (diff)
downloadrtems-00151313e7349d38b2fccbb8a49180453bb1eb12.tar.bz2
2008-11-13 Joel Sherrill <joel.sherrill@OARcorp.com>
PR 1336/cpukit * sapi/inline/rtems/chain.inl: Add rtems_chain_prepend_unprotected and rtems_chain_append_unprotected.
Diffstat (limited to 'cpukit/sapi/inline/rtems')
-rw-r--r--cpukit/sapi/inline/rtems/chain.inl34
1 files changed, 34 insertions, 0 deletions
diff --git a/cpukit/sapi/inline/rtems/chain.inl b/cpukit/sapi/inline/rtems/chain.inl
index bc3e57d133..31d530edad 100644
--- a/cpukit/sapi/inline/rtems/chain.inl
+++ b/cpukit/sapi/inline/rtems/chain.inl
@@ -296,6 +296,22 @@ RTEMS_INLINE_ROUTINE void rtems_chain_append(
_Chain_Append( the_chain, the_node );
}
+/**
+ * @brief Append a node on the end of a chain (unprotected)
+ *
+ * This routine appends @a the_node onto the end of @a the_chain.
+ *
+ * @note It does NOT disable interrupts to ensure the atomicity of the
+ * append operation.
+ */
+RTEMS_INLINE_ROUTINE void rtems_chain_append_unprotected(
+ rtems_chain_control *the_chain,
+ rtems_chain_node *the_node
+)
+{
+ _Chain_Append_unprotected( the_chain, the_node );
+}
+
/** @brief Prepend a Node
*
* This routine prepends the_node onto the front of the_chain.
@@ -314,5 +330,23 @@ RTEMS_INLINE_ROUTINE void rtems_chain_prepend(
_Chain_Prepend( the_chain, the_node );
}
+/** @brief Prepend a Node (unprotected)
+ *
+ * This routine prepends the_node onto the front of the_chain.
+ *
+ * @param[in] the_chain is the chain to be operated upon.
+ * @param[in] the_node is the node to be prepended.
+ *
+ * @note It does NOT disable interrupts to ensure the atomicity of the
+ * prepend operation.
+ */
+RTEMS_INLINE_ROUTINE void rtems_chain_prepend_unprotected(
+ rtems_chain_control *the_chain,
+ rtems_chain_node *the_node
+)
+{
+ _Chain_Prepend_unprotected( the_chain, the_node );
+}
+
#endif
/* end of include file */