Lines Matching full: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
55 struct exec_node *next;
61 exec_node() : next(NULL), prev(NULL)
115 n->next = NULL;
122 return n->next;
128 return n->next;
146 n->next->prev = n->prev;
147 n->prev->next = n->next;
148 n->next = NULL;
155 n->next = n;
162 after->next = n->next;
165 n->next->prev = after;
166 n->next = after;
172 before->next = n;
175 n->prev->next = before;
183 replacement->next = n->next;
185 n->prev->next = replacement;
186 n->next->prev = replacement;
192 return n->next == NULL;
348 list->head_sentinel.next = &list->tail_sentinel;
350 list->tail_sentinel.next = NULL;
359 * - Check to see if the head sentinel's \c next is the tail sentinel.
362 * \c next pointer is \c NULL.
367 return list->head_sentinel.next == &list->tail_sentinel;
373 return !exec_list_is_empty(list) ? list->head_sentinel.next : NULL;
379 return !exec_list_is_empty(list) ? list->head_sentinel.next : NULL;
385 return list->head_sentinel.next;
391 return list->head_sentinel.next;
424 for (node = list->head_sentinel.next; node->next != NULL; node = node->next) {
434 n->next = list->head_sentinel.next;
437 n->next->prev = n;
438 list->head_sentinel.next = n;
444 n->next = &list->tail_sentinel;
447 n->prev->next = n;
454 assert(n->prev->next == n);
456 n->prev->next = list->head_sentinel.next;
457 list->head_sentinel.next->prev = n->prev;
459 list->head_sentinel.next = n;
478 target->head_sentinel.next = list->head_sentinel.next;
480 target->tail_sentinel.next = NULL;
483 target->head_sentinel.next->prev = &target->head_sentinel;
484 target->tail_sentinel.prev->next = &target->tail_sentinel;
498 list->tail_sentinel.prev->next = source->head_sentinel.next;
499 source->head_sentinel.next->prev = list->tail_sentinel.prev;
504 list->tail_sentinel.prev->next = &list->tail_sentinel;
524 before->tail_sentinel.prev->next = n;
525 before->head_sentinel.next->prev = n->prev;
527 n->prev->next = before->head_sentinel.next;
538 assert(list->head_sentinel.next->prev == &list->head_sentinel);
540 assert(list->tail_sentinel.next == NULL);
541 assert(list->tail_sentinel.prev->next == &list->tail_sentinel);
547 for (node = list->head_sentinel.next; node->next != NULL; node = node->next) {
548 assert(node->next->prev == node);
549 assert(node->prev->next == node);
651 for (__type *(__inst) = (__type *)(__list)->head_sentinel.next; \
653 (__inst) = (__type *)(__inst)->next)
664 for (__type *__node = (__type *)(__list)->head_sentinel.next, \
665 *__next = (__type *)__node->next; \
667 __node = __next, __next = (__type *)__next->next)
677 for ((__inst) = (__type *)(__list)->head_sentinel.next; \
679 (__inst) = (__type *)(__inst)->next)
686 for (struct exec_node * __node1 = (__list1)->head_sentinel.next, \
687 * __node2 = (__list2)->head_sentinel.next, \
688 * __next1 = __node1->next, \
689 * __next2 = __node2->next \
693 __next1 = __next1->next, \
694 __next2 = __next2->next)
698 exec_node_data(__type, (__list)->head_sentinel.next, __field); \
699 (__node)->__field.next != NULL; \
700 (__node) = exec_node_data(__type, (__node)->__field.next, __field))
710 exec_node_data(__type, (__list)->head_sentinel.next, __field), \
712 exec_node_data(__type, (__node)->__field.next, __field); \
713 (__node)->__field.next != NULL; \
715 exec_node_data(__type, (__next)->__field.next, __field))