Lines Matching defs:head

137     sp_ext_node_t **head, sp_ext_offset_t offset, sp_ext_length_t length,
139 static void meta_sp_list_free(sp_ext_node_t **head);
140 static void meta_sp_list_remove(sp_ext_node_t **head, sp_ext_node_t *ext);
141 static sp_ext_length_t meta_sp_list_size(sp_ext_node_t *head,
143 static sp_ext_node_t *meta_sp_list_find(sp_ext_node_t *head,
147 static void meta_sp_list_dump(sp_ext_node_t *head);
148 static int meta_sp_list_overlaps(sp_ext_node_t *head);
863 * head - the head of the list, must be NULL for empty list
870 * OUTPUT: head - points to the new head if a node was inserted
878 * beginning of the list, the head pointer is updated to
885 sp_ext_node_t **head,
897 assert(head != NULL);
915 if (*head == NULL) {
917 *head = newext;
918 } else if ((*compare)(*head, newext) >= 0) {
920 assert((*head)->ext_prev == NULL);
923 newext->ext_next = *head;
924 (*head)->ext_prev = newext;
925 *head = newext;
931 for (curext = *head;
950 * INPUT: head - the head of the list, must be NULL for empty list
951 * OUTPUT: head - points to NULL on return
956 meta_sp_list_free(sp_ext_node_t **head)
961 assert(head != NULL);
963 ext = *head;
969 *head = NULL;
974 * INPUT: head - the head of the list, must be NULL for empty list
976 * OUTPUT: head - points to the new head of the list
979 * frees it, possibly moving the head pointer forward if
980 * the head is the node being removed.
983 meta_sp_list_remove(sp_ext_node_t **head, sp_ext_node_t *ext)
985 assert(head != NULL);
986 assert(*head != NULL);
988 if (*head == ext)
989 *head = ext->ext_next;
1000 * INPUT: head - the head of the list, must be NULL for empty list
1010 meta_sp_list_size(sp_ext_node_t *head, sp_ext_type_t exttype, int exclude_wm)
1015 for (ext = head; ext != NULL; ext = ext->ext_next)
1025 * INPUT: head - the head of the list, must be NULL for empty list
1039 sp_ext_node_t *head,
1045 for (ext = head; ext != NULL; ext = ext->ext_next) {
1061 * INPUT: head - the head of the list, must be NULL for empty list
1064 * OUTPUT: head - the new head of the list
1067 * node. If there is a gap at the beginning the head
1076 sp_ext_node_t **head,
1083 for (ext = *head; ext != NULL; ext = ext->ext_next) {
1085 meta_sp_list_insert(NULL, NULL, head,
1093 meta_sp_list_insert(NULL, NULL, head, curoff, size - curoff,
1099 meta_sp_list_dump(*head);
1105 * INPUT: head - the head of the list, must be NULL for empty list
1111 meta_sp_list_dump(sp_ext_node_t *head)
1119 for (ext = head; ext != NULL; ext = ext->ext_next) {
1154 * INPUT: head - the head of the list, must be NULL for empty list
1161 meta_sp_list_overlaps(sp_ext_node_t *head)
1165 for (ext = head; ext->ext_next != NULL; ext = ext->ext_next) {
1183 * head - the head of the list, must be NULL for empty list
1188 * OUTPUT: head - the new head pointer
1209 sp_ext_node_t **head,
1226 meta_sp_list_remove(head, free_ext);
1229 meta_sp_list_insert(NULL, NULL, head, free_offset,
1235 meta_sp_list_insert(NULL, NULL, head, alloc_end,
1240 meta_sp_list_insert(sp, np, head, alloc_offset, alloc_length,
1245 meta_sp_list_dump(*head);
1253 * head - the head of the list, must be NULL for empty list
1257 * OUTPUT: head - the new head pointer
1308 sp_ext_node_t **head,
1340 freespace = meta_sp_list_size(*head, EXTTYP_FREE,
1354 meta_sp_list_find(*head, last_off);
1376 free_ext = meta_sp_list_find(*head,
1407 meta_sp_alloc_by_ext(sp, np, head,
1418 meta_sp_list_remove(head, alloc_ext);
1434 for (free_ext = *head; free_ext != NULL;
1488 meta_sp_alloc_by_ext(sp, np, head,
1508 for (free_ext = *head; (free_ext != NULL) && (len > 0);
1576 meta_sp_alloc_by_ext(sp, np, head, free_ext,
1591 meta_sp_list_free(head);
1604 meta_sp_list_find(*head, last_off);
1609 free_ext = meta_sp_list_find(*head,
1634 meta_sp_alloc_by_ext(sp, np, head,
1645 meta_sp_list_remove(head, alloc_ext);
1652 for (free_ext = *head; free_ext != NULL;
1668 meta_sp_alloc_by_ext(sp, np, head,
1684 meta_sp_list_dump(*head);
1706 * head - the head of the list, must be NULL for empty list
1708 * OUTPUT: head - the new head pointer
1722 sp_ext_node_t **head,
1732 free_ext = meta_sp_list_find(*head,
1742 meta_sp_alloc_by_ext(sp, np, head, free_ext,
1749 assert(meta_sp_list_overlaps(*head) == 0);
1754 meta_sp_list_dump(*head);