Lines Matching defs:head

189 static ListNode* list_add(ListNode * const head, ListNode *new_node);
190 static ListNode* list_add_value(ListNode * const head, const void *value,
198 static int list_empty(const ListNode * const head);
200 ListNode * const head, const void *value,
202 static int list_first(ListNode * const head, ListNode **output);
204 ListNode * const head, const CleanupListValue cleanup_value,
442 static ListNode* list_add_value(ListNode * const head, const void *value,
445 assert_non_null(head);
449 return list_add(head, new_node);
454 static ListNode* list_add(ListNode * const head, ListNode *new_node) {
455 assert_non_null(head);
457 new_node->next = head;
458 new_node->prev = head->prev;
459 head->prev->next = new_node;
460 head->prev = new_node;
490 * every "value" field of nodes in the list, except for the head. In addition
492 * cleanup_value. The head of the list is not deallocated.
495 ListNode * const head, const CleanupListValue cleanup_value,
497 assert_non_null(head);
498 while (!list_empty(head)) {
499 list_remove_free(head->next, cleanup_value, cleanup_value_data);
501 return head;
506 static int list_empty(const ListNode * const head) {
507 assert_non_null(head);
508 return head->next == head;
516 static int list_find(ListNode * const head, const void *value,
519 assert_non_null(head);
520 for (current = head->next; current != head; current = current->next) {
530 static int list_first(ListNode * const head, ListNode **output) {
532 assert_non_null(head);
533 if (list_empty(head)) {
536 target_node = head->next;
618 ListNode * const head, const char * const symbol_names[],
622 assert_non_null(head);
628 if (list_find(head, symbol_name, symbol_names_match, &target_node)) {
1713 const ListNode * const head = get_allocated_blocks_list();
1719 for (node = check_point->next; node != head; node = node->next) {
1739 const ListNode * const head = get_allocated_blocks_list();
1746 while (node != head) {