+#define FOREACHNODE FOREACH_NODE /* OBSOLETE */
+
+/*!
+ * Iterate backwards over all nodes in a list.
+ *
+ * This macro generates a "for" statement using the following parameters:
+ * \param n Node pointer to be used in each iteration.
+ * \param l Pointer to list.
+ */
+#define REVERSE_FOREACH_NODE(n, l) \
+ for( \
+ (n) = (typeof(n))LIST_TAIL(l); \
+ ((Node *)(n))->pred; \
+ (n) = (typeof(n))(((Node *)(n))->pred) \
+ )
+