Lines Matching refs:prev

29  * contain no data.  The head sentinel can be identified by its \c prev
34 * tail sentinel or the tail sentinel's \c prev poiner points to the head
55 struct exec_node *prev;
60 exec_node() : next(NULL), prev(NULL)
121 n->prev = NULL;
139 return n->prev;
145 return n->prev;
151 n->next->prev = n->prev;
152 n->prev->next = n->next;
154 n->prev = NULL;
161 n->prev = n;
168 after->prev = n;
170 n->next->prev = after;
178 before->prev = n->prev;
180 n->prev->next = before;
181 n->prev = before;
187 replacement->prev = n->prev;
190 n->prev->next = replacement;
191 n->next->prev = replacement;
203 return n->prev == NULL;
354 list->head_sentinel.prev = NULL;
356 list->tail_sentinel.prev = &list->head_sentinel;
365 * - Check to see if the tail sentinel's \c prev is the head sentinel.
409 return !exec_list_is_empty(list) ? list->tail_sentinel.prev : NULL;
415 return !exec_list_is_empty(list) ? list->tail_sentinel.prev : NULL;
421 return list->tail_sentinel.prev;
427 return list->tail_sentinel.prev;
447 n->prev = &list->head_sentinel;
449 n->next->prev = n;
457 n->prev = list->tail_sentinel.prev;
459 n->prev->next = n;
460 list->tail_sentinel.prev = n;
466 assert(n->prev->next == n);
468 n->prev->next = list->head_sentinel.next;
469 list->head_sentinel.next->prev = n->prev;
470 n->prev = &list->head_sentinel;
491 target->head_sentinel.prev = NULL;
493 target->tail_sentinel.prev = list->tail_sentinel.prev;
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;
515 list->tail_sentinel.prev = source->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;
551 before->tail_sentinel.prev->next = n;
552 before->head_sentinel.next->prev = n->prev;
554 n->prev->next = before->head_sentinel.next;
555 n->prev = before->tail_sentinel.prev;
565 assert(list->head_sentinel.next->prev == &list->head_sentinel);
566 assert(list->head_sentinel.prev == NULL);
568 assert(list->tail_sentinel.prev->next == &list->tail_sentinel);
575 assert(node->next->prev == node);
576 assert(node->prev->next == node);
694 for (__type *__inst = exec_node_typed_backward((__list)->tail_sentinel.prev, __type *); \
696 (__inst) = exec_node_typed_backward((__inst)->prev, __type *))
709 for (__type *__node = exec_node_typed_backward((__list)->tail_sentinel.prev, __type *), \
710 *__prev = (__node) ? exec_node_typed_backward((__list)->tail_sentinel.prev->prev, __type *) : NULL; \
712 (__node) = __prev, __prev = __prev ? exec_node_typed_backward(__prev->prev, __type *) : NULL)
755 exec_node_data_backward(__type, (__list)->tail_sentinel.prev, __field); \
757 (__node) = exec_node_data_backward(__type, (__node)->__field.prev, __field))
770 exec_node_data_backward(__type, (__list)->tail_sentinel.prev, __field), \
772 exec_node_data_backward(__type, (__node)->__field.prev, __field) : NULL; \
774 (__node) = __prev, __prev = (__prev && (__prev)->__field.prev) ? \
775 exec_node_data_backward(__type, (__prev)->__field.prev, __field) : NULL)