Lines Matching refs:abuf
15 void abuf_set(struct abuf *abuf, void *data, size_t size) in abuf_set() argument
17 abuf_uninit(abuf); in abuf_set()
18 abuf->data = data; in abuf_set()
19 abuf->size = size; in abuf_set()
22 void abuf_map_sysmem(struct abuf *abuf, ulong addr, size_t size) in abuf_map_sysmem() argument
24 abuf_set(abuf, map_sysmem(addr, size), size); in abuf_map_sysmem()
27 bool abuf_realloc(struct abuf *abuf, size_t new_size) in abuf_realloc() argument
33 abuf_uninit(abuf); in abuf_realloc()
35 } else if (abuf->alloced) { in abuf_realloc()
37 ptr = realloc(abuf->data, new_size); in abuf_realloc()
40 abuf->data = ptr; in abuf_realloc()
41 abuf->size = new_size; in abuf_realloc()
43 } else if (new_size <= abuf->size) { in abuf_realloc()
48 abuf->size = new_size; in abuf_realloc()
54 ptr = memdup(abuf->data, new_size); in abuf_realloc()
57 abuf->data = ptr; in abuf_realloc()
58 abuf->size = new_size; in abuf_realloc()
59 abuf->alloced = true; in abuf_realloc()
64 void *abuf_uninit_move(struct abuf *abuf, size_t *sizep) in abuf_uninit_move() argument
69 *sizep = abuf->size; in abuf_uninit_move()
70 if (!abuf->size) in abuf_uninit_move()
72 if (abuf->alloced) { in abuf_uninit_move()
73 ptr = abuf->data; in abuf_uninit_move()
75 ptr = memdup(abuf->data, abuf->size); in abuf_uninit_move()
80 abuf_init(abuf); in abuf_uninit_move()
85 void abuf_init_set(struct abuf *abuf, void *data, size_t size) in abuf_init_set() argument
87 abuf_init(abuf); in abuf_init_set()
88 abuf_set(abuf, data, size); in abuf_init_set()
91 void abuf_init_move(struct abuf *abuf, void *data, size_t size) in abuf_init_move() argument
93 abuf_init_set(abuf, data, size); in abuf_init_move()
94 abuf->alloced = true; in abuf_init_move()
97 void abuf_uninit(struct abuf *abuf) in abuf_uninit() argument
99 if (abuf->alloced) in abuf_uninit()
100 free(abuf->data); in abuf_uninit()
101 abuf_init(abuf); in abuf_uninit()
104 void abuf_init(struct abuf *abuf) in abuf_init() argument
106 abuf->data = NULL; in abuf_init()
107 abuf->size = 0; in abuf_init()
108 abuf->alloced = false; in abuf_init()