Lines Matching refs:head

29 lws_list_ptr_insert(lws_list_ptr *head, lws_list_ptr *add,
32 while (sort_func && *head) {
33 if (sort_func(add, *head) <= 0)
36 head = *head;
39 *add = *head;
40 *head = add;
73 lwsac_extend(struct lwsac *head, size_t amount)
78 assert(head);
79 lachead = (struct lwsac_head *)&head[1];
96 _lwsac_use(struct lwsac **head, size_t ensure, size_t chunk_size, char backfill)
100 struct lwsac *bf = *head;
133 if (!*head)
163 if (!*head) {
165 * We are the first, head, entry...
167 *head = bf;
169 * ... allocate for the special head block
179 bf->head = *head;
202 lwsac_use(struct lwsac **head, size_t ensure, size_t chunk_size)
204 return _lwsac_use(head, ensure, chunk_size, 0);
208 lwsac_use_backfill(struct lwsac **head, size_t ensure, size_t chunk_size)
210 return _lwsac_use(head, ensure, chunk_size, 1);
214 lwsac_scan_extant(struct lwsac *head, uint8_t *find, size_t len, int nul)
216 while (head) {
217 uint8_t *pos = (uint8_t *)&head[1],
218 *end = ((uint8_t *)head) + head->ofs - len;
220 if (head->ofs - sizeof(*head) >= len)
230 head = head->next;
237 lwsac_total_overhead(struct lwsac *head)
241 while (head) {
242 overhead += (head->alloc_size - head->ofs) + sizeof(*head);
244 head = head->next;
251 lwsac_use_zero(struct lwsac **head, size_t ensure, size_t chunk_size)
253 void *p = lwsac_use(head, ensure, chunk_size);
262 lwsac_free(struct lwsac **head)
264 struct lwsac *it = *head;
266 *head = NULL;
267 lwsl_debug("%s: head %p\n", __func__, *head);
278 lwsac_info(struct lwsac *head)
283 if (!head) {
288 lachead = (struct lwsac_head *)&head[1];
290 lwsl_debug("%s: lac %p: %dKiB in %d blocks\n", __func__, head,
296 lwsac_total_alloc(struct lwsac *head)
300 if (!head)
303 lachead = (struct lwsac_head *)&head[1];
308 lwsac_reference(struct lwsac *head)
310 struct lwsac_head *lachead = (struct lwsac_head *)&head[1];
313 lwsl_debug("%s: head %p: (det %d) refcount -> %d\n",
314 __func__, head, lachead->detached, lachead->refcount);
318 lwsac_unreference(struct lwsac **head)
322 if (!(*head))
325 lachead = (struct lwsac_head *)&(*head)[1];
332 lwsl_debug("%s: head %p: (det %d) refcount -> %d\n",
333 __func__, *head, lachead->detached, lachead->refcount);
336 lwsl_debug("%s: head %p: FREED\n", __func__, *head);
337 lwsac_free(head);
342 lwsac_detach(struct lwsac **head)
346 if (!(*head))
349 lachead = (struct lwsac_head *)&(*head)[1];
353 lwsl_debug("%s: head %p: FREED\n", __func__, *head);
354 lwsac_free(head);
356 lwsl_debug("%s: head %p: refcount %d: Marked as detached\n",
357 __func__, *head, lachead->refcount);