Lines Matching full:head
28 * Each doubly-linked list has a sentinel head and tail node. These nodes
29 * contain no data. The head sentinel can be identified by its \c prev
33 * A list is empty if either the head sentinel's \c next pointer points to the
34 * tail sentinel or the tail sentinel's \c prev poiner points to the head
43 * - A \c head pointer that represents the \c next pointer of the
44 * head sentinel node.
45 * - A \c tail pointer that represents the \c prev pointer of the head
51 * Therefore, if \c head->next is \c NULL or \c tail_prev->prev is \c NULL,
191 * Is this the sentinel at the head of the list?
283 struct exec_node *head;
314 head = (exec_node *) & tail;
316 tail_pred = (exec_node *) & head;
323 * - Check to see if the \c head points to the \c tail.
324 * - Check to see if the \c tail_pred points to the \c head.
325 * - Check to see if the \c head is the sentinel node by test whether its
331 return head == (exec_node *) &tail;
336 return !is_empty() ? head : NULL;
341 return !is_empty() ? head : NULL;
356 n->next = head;
357 n->prev = (exec_node *) &head;
360 head = n;
376 n->prev->next = head;
377 head->prev = n->prev;
378 n->prev = (exec_node *) &head;
379 head = n;
407 target->head = head;
411 target->head->prev = (exec_node *) &target->head;
429 this->tail_pred->next = source->head;
430 source->head->prev = this->tail_pred;
444 return exec_list_iterator(head);
449 return exec_list_iterator((exec_node *) head);
462 before->head->prev = this->prev;
464 this->prev->next = before->head;
475 for (exec_node * __node = (__list)->head, * __next = __node->next \
480 for (exec_node * __node = (__list)->head \
485 for (const exec_node * __node = (__list)->head \
491 exec_node_data(__type, (__list)->head, __field); \
497 exec_node_data(__type, (__list)->head, __field); \