35 #include <config/CfdpCfg.hpp> 107 if (node->
next == node) {
111 }
else if (*head == node) {
151 for (i = 0; i < maxIterations && !last; ++i) {
153 node_next = node->
next;
154 if (node_next == start) {
164 if ((start == node) && (node->
next != node_next)) {
169 FW_ASSERT(last, static_cast<FwAssertArgType>(i));
188 for (i = 0; i < maxIterations && !last; ++i) {
190 node_next = node->
prev;
191 if (node_next == end) {
203 if ((end == node) && (node->
prev != node_next)) {
208 FW_ASSERT(last, static_cast<FwAssertArgType>(i));
struct CListNode * prev
Pointer to previous node.
void CfdpCListInsertAfter(CListNode **head, CListNode *start, CListNode *after)
Insert the given node into the last after the given start node.
struct CListNode * next
Pointer to next node.
void CfdpCListInsertFront(CListNode **head, CListNode *node)
Insert the given node into the front of a list.
CListTraverseStatus(*)(CListNode *, void *) CListFunc
Callback function type for use with CfdpCListTraverse()
void CfdpCListTraverse(CListNode *start, CListFunc fn, void *context)
Traverse the entire list, calling the given function on all nodes.
CListNode * CfdpCListPop(CListNode **head)
Remove the first node from a list and return it.
void CfdpCListInsertBack(CListNode **head, CListNode *node)
Insert the given node into the back of a list.
static bool CfdpCListTraverseStatusIsContinue(CListTraverseStatus stat)
void CfdpCListRemove(CListNode **head, CListNode *node)
Remove the given node from the list.
Circular linked list node structure.
RateGroupDivider component implementation.
void CfdpCListTraverseR(CListNode *end, CListFunc fn, void *context)
Reverse list traversal, starting from end, calling given function on all nodes.
void CfdpCListInitNode(CListNode *node)
Initialize a clist node.