Lines Matching defs:hdr
83 static void debug_header(memory_header *hdr)
91 (size_t) hdr, (size_t) hdr->prev, (size_t) hdr->next,
92 hdr->alloc, hdr->size);
94 (size_t) hdr->prev_free, (size_t) hdr->next_free);
98 for (i = 0; i < hdr->trace_count; i++) {
99 mbedtls_fprintf(stderr, "%s\n", hdr->trace[i]);
125 static int verify_header(memory_header *hdr)
127 if (hdr->magic1 != MAGIC1) {
134 if (hdr->magic2 != MAGIC2) {
141 if (hdr->alloc > 1) {
148 if (hdr->prev != NULL && hdr->prev == hdr->next) {
155 if (hdr->prev_free != NULL && hdr->prev_free == hdr->next_free) {
374 memory_header *hdr, *old = NULL;
390 hdr = (memory_header *) p;
392 if (verify_header(hdr) != 0) {
396 if (hdr->alloc != 1) {
404 hdr->alloc = 0;
408 heap.total_used -= hdr->size;
412 free(hdr->trace);
413 hdr->trace = NULL;
414 hdr->trace_count = 0;
419 if (hdr->prev != NULL && hdr->prev->alloc == 0) {
423 hdr->prev->size += sizeof(memory_header) + hdr->size;
424 hdr->prev->next = hdr->next;
425 old = hdr;
426 hdr = hdr->prev;
428 if (hdr->next != NULL) {
429 hdr->next->prev = hdr;
437 if (hdr->next != NULL && hdr->next->alloc == 0) {
441 hdr->size += sizeof(memory_header) + hdr->next->size;
442 old = hdr->next;
443 hdr->next = hdr->next->next;
445 if (hdr->prev_free != NULL || hdr->next_free != NULL) {
446 if (hdr->prev_free != NULL) {
447 hdr->prev_free->next_free = hdr->next_free;
449 heap.first_free = hdr->next_free;
452 if (hdr->next_free != NULL) {
453 hdr->next_free->prev_free = hdr->prev_free;
457 hdr->prev_free = old->prev_free;
458 hdr->next_free = old->next_free;
460 if (hdr->prev_free != NULL) {
461 hdr->prev_free->next_free = hdr;
463 heap.first_free = hdr;
466 if (hdr->next_free != NULL) {
467 hdr->next_free->prev_free = hdr;
470 if (hdr->next != NULL) {
471 hdr->next->prev = hdr;
481 hdr->next_free = heap.first_free;
483 heap.first_free->prev_free = hdr;
485 heap.first_free = hdr;