Lines Matching refs:next
11 * The above copyright notice and this permission notice (including the next
31 * \c next pointer being \c NULL.
33 * A list is empty if either the head sentinel's \c next pointer points to the
54 struct exec_node *next;
60 exec_node() : next(NULL), prev(NULL)
120 n->next = NULL;
127 return n->next;
133 return n->next;
151 n->next->prev = n->prev;
152 n->prev->next = n->next;
153 n->next = NULL;
160 n->next = n;
167 after->next = n->next;
170 n->next->prev = after;
171 n->next = after;
177 before->next = n;
180 n->prev->next = before;
188 replacement->next = n->next;
190 n->prev->next = replacement;
191 n->next->prev = replacement;
197 return n->next == NULL;
353 list->head_sentinel.next = &list->tail_sentinel;
355 list->tail_sentinel.next = NULL;
364 * - Check to see if the head sentinel's \c next is the tail sentinel.
367 * \c next pointer is \c NULL.
372 return list->head_sentinel.next == &list->tail_sentinel;
379 list->head_sentinel.next->next == &list->tail_sentinel;
385 return !exec_list_is_empty(list) ? list->head_sentinel.next : NULL;
391 return !exec_list_is_empty(list) ? list->head_sentinel.next : NULL;
397 return list->head_sentinel.next;
403 return list->head_sentinel.next;
436 for (node = list->head_sentinel.next; node->next != NULL; node = node->next) {
446 n->next = list->head_sentinel.next;
449 n->next->prev = n;
450 list->head_sentinel.next = n;
456 n->next = &list->tail_sentinel;
459 n->prev->next = n;
466 assert(n->prev->next == n);
468 n->prev->next = list->head_sentinel.next;
469 list->head_sentinel.next->prev = n->prev;
471 list->head_sentinel.next = n;
490 target->head_sentinel.next = list->head_sentinel.next;
492 target->tail_sentinel.next = NULL;
495 target->head_sentinel.next->prev = &target->head_sentinel;
496 target->tail_sentinel.prev->next = &target->tail_sentinel;
510 list->tail_sentinel.prev->next = source->head_sentinel.next;
511 source->head_sentinel.next->prev = list->tail_sentinel.prev;
516 list->tail_sentinel.prev->next = &list->tail_sentinel;
529 after->tail_sentinel.prev->next = n->next;
530 after->head_sentinel.next->prev = n;
532 n->next->prev = after->tail_sentinel.prev;
533 n->next = after->head_sentinel.next;
551 before->tail_sentinel.prev->next = n;
552 before->head_sentinel.next->prev = n->prev;
554 n->prev->next = before->head_sentinel.next;
565 assert(list->head_sentinel.next->prev == &list->head_sentinel);
567 assert(list->tail_sentinel.next == NULL);
568 assert(list->tail_sentinel.prev->next == &list->tail_sentinel);
574 for (node = list->head_sentinel.next; node->next != NULL; node = node->next) {
575 assert(node->next->prev == node);
576 assert(node->prev->next == node);
689 for (__type *__inst = exec_node_typed_forward((__list)->head_sentinel.next, __type *); \
691 (__inst) = exec_node_typed_forward((__inst)->next, __type *))
703 for (__type *__node = exec_node_typed_forward((__list)->head_sentinel.next, __type *), \
704 *__next = (__node) ? exec_node_typed_forward((__list)->head_sentinel.next->next, __type *) : NULL; \
706 (__node) = __next, __next = __next ? exec_node_typed_forward(__next->next, __type *) : NULL)
716 for ((__inst) = exec_node_typed_forward((__list)->head_sentinel.next, __type *); \
718 (__inst) = exec_node_typed_forward((__inst)->next, __type *))
726 for (struct exec_node * __node1 = (__list1)->head_sentinel.next, \
727 * __node2 = (__list2)->head_sentinel.next, \
728 * __next1 = __node1->next, \
729 * __next2 = __node2->next \
733 __next1 = __next1->next, \
734 __next2 = __next2->next)
744 exec_node_data_forward(__type, (__list)->head_sentinel.next, __field); \
746 (__node) = exec_node_data_forward(__type, (__node)->__field.next, __field))
751 (__node) = exec_node_data_forward(__type, (__node)->__field.next, __field))
761 exec_node_data_forward(__type, (__list)->head_sentinel.next, __field), \
763 exec_node_data_forward(__type, (__node)->__field.next, __field) : NULL; \
765 (__node) = __next, __next = (__next && (__next)->__field.next) ? \
766 exec_node_data_forward(__type, (__next)->__field.next, __field) : NULL)