• Home
  • Raw
  • Download

Lines Matching full:parent

74    struct ralloc_header *parent;  member
105 add_child(ralloc_header *parent, ralloc_header *info) in add_child() argument
107 if (parent != NULL) { in add_child()
108 info->parent = parent; in add_child()
109 info->next = parent->child; in add_child()
110 parent->child = info; in add_child()
128 ralloc_header *parent; in ralloc_size() local
138 info->parent = NULL; in ralloc_size()
144 parent = ctx != NULL ? get_header(ctx) : NULL; in ralloc_size()
146 add_child(parent, info); in ralloc_size()
178 /* Update parent and sibling's links to the reallocated node. */ in resize()
179 if (info != old && info->parent != NULL) { in resize()
180 if (info->parent->child == old) in resize()
181 info->parent->child = info; in resize()
190 /* Update child->parent links for all children */ in resize()
192 child->parent = info; in resize()
250 /* Unlink from parent & siblings */ in unlink_block()
251 if (info->parent != NULL) { in unlink_block()
252 if (info->parent->child == info) in unlink_block()
253 info->parent->child = info->next; in unlink_block()
261 info->parent = NULL; in unlink_block()
287 ralloc_header *info, *parent; in ralloc_steal() local
293 parent = get_header(new_ctx); in ralloc_steal()
297 add_child(parent, info); in ralloc_steal()
315 /* Set all the children's parent to new_ctx; get a pointer to the last child. */ in ralloc_adopt()
317 child->parent = new_info; in ralloc_adopt()
320 /* Connect the two lists together; parent them to new_ctx; make old_ctx empty. */ in ralloc_adopt()
322 child->parent = new_info; in ralloc_adopt()
336 return info->parent ? PTR_FROM_HEADER(info->parent) : NULL; in ralloc_parent()
549 * The allocator consists of a parent node (2K buffer), which requires
550 * a ralloc parent, and child nodes (allocations). Child nodes can't be freed
551 * directly, because the parent doesn't track them. You have to release
552 * the parent node in order to release all its children.
556 * is allocated, sharing the same ralloc parent, so all buffers are at
559 * The linear parent node is always the first buffer and keeps track of all
601 #define LINEAR_PARENT_TO_HEADER(parent) \ argument
603 ((char*)(parent) - sizeof(linear_size_chunk) - sizeof(linear_header))
632 linear_alloc_child(void *parent, unsigned size) in linear_alloc_child() argument
634 linear_header *first = LINEAR_PARENT_TO_HEADER(parent); in linear_alloc_child()
684 linear_zalloc_child(void *parent, unsigned size) in linear_zalloc_child() argument
686 void *ptr = linear_alloc_child(parent, size); in linear_zalloc_child()
694 linear_zalloc_parent(void *parent, unsigned size) in linear_zalloc_parent() argument
696 void *ptr = linear_alloc_parent(parent, size); in linear_zalloc_parent()
749 linear_realloc(void *parent, void *old, unsigned new_size) in linear_realloc() argument
754 new_ptr = linear_alloc_child(parent, new_size); in linear_realloc()
772 linear_strdup(void *parent, const char *str) in linear_strdup() argument
781 ptr = linear_alloc_child(parent, n + 1); in linear_strdup()
791 linear_asprintf(void *parent, const char *fmt, ...) in linear_asprintf() argument
796 ptr = linear_vasprintf(parent, fmt, args); in linear_asprintf()
802 linear_vasprintf(void *parent, const char *fmt, va_list args) in linear_vasprintf() argument
806 char *ptr = linear_alloc_child(parent, size); in linear_vasprintf()
814 linear_asprintf_append(void *parent, char **str, const char *fmt, ...) in linear_asprintf_append() argument
819 success = linear_vasprintf_append(parent, str, fmt, args); in linear_asprintf_append()
825 linear_vasprintf_append(void *parent, char **str, const char *fmt, va_list args) in linear_vasprintf_append() argument
830 return linear_vasprintf_rewrite_tail(parent, str, &existing_length, fmt, args); in linear_vasprintf_append()
834 linear_asprintf_rewrite_tail(void *parent, char **str, size_t *start, in linear_asprintf_rewrite_tail() argument
840 success = linear_vasprintf_rewrite_tail(parent, str, start, fmt, args); in linear_asprintf_rewrite_tail()
846 linear_vasprintf_rewrite_tail(void *parent, char **str, size_t *start, in linear_vasprintf_rewrite_tail() argument
855 *str = linear_vasprintf(parent, fmt, args); in linear_vasprintf_rewrite_tail()
862 ptr = linear_realloc(parent, *str, *start + new_length + 1); in linear_vasprintf_rewrite_tail()
874 linear_cat(void *parent, char **dest, const char *str, unsigned n) in linear_cat() argument
881 both = linear_realloc(parent, *dest, existing_length + n + 1); in linear_cat()
893 linear_strcat(void *parent, char **dest, const char *str) in linear_strcat() argument
895 return linear_cat(parent, dest, str, strlen(str)); in linear_strcat()