Lines Matching refs:buffer

19 	buffer_type *buffer = (buffer_type *) arg;  in buffer_cleanup()  local
20 assert(!buffer->_fixed); in buffer_cleanup()
21 free(buffer->_data); in buffer_cleanup()
27 buffer_type *buffer in buffer_create() local
29 if (!buffer) in buffer_create()
32 buffer->_data = (uint8_t *) xalloc(capacity); in buffer_create()
33 buffer->_position = 0; in buffer_create()
34 buffer->_limit = buffer->_capacity = capacity; in buffer_create()
35 buffer->_fixed = 0; in buffer_create()
36 buffer_invariant(buffer); in buffer_create()
38 region_add_cleanup(region, buffer_cleanup, buffer); in buffer_create()
40 return buffer; in buffer_create()
44 buffer_create_from(buffer_type *buffer, void *data, size_t size) in buffer_create_from() argument
48 buffer->_position = 0; in buffer_create_from()
49 buffer->_limit = buffer->_capacity = size; in buffer_create_from()
50 buffer->_data = (uint8_t *) data; in buffer_create_from()
51 buffer->_fixed = 1; in buffer_create_from()
53 buffer_invariant(buffer); in buffer_create_from()
57 buffer_clear(buffer_type *buffer) in buffer_clear() argument
59 buffer_invariant(buffer); in buffer_clear()
61 buffer->_position = 0; in buffer_clear()
62 buffer->_limit = buffer->_capacity; in buffer_clear()
66 buffer_flip(buffer_type *buffer) in buffer_flip() argument
68 buffer_invariant(buffer); in buffer_flip()
70 buffer->_limit = buffer->_position; in buffer_flip()
71 buffer->_position = 0; in buffer_flip()
75 buffer_rewind(buffer_type *buffer) in buffer_rewind() argument
77 buffer_invariant(buffer); in buffer_rewind()
79 buffer->_position = 0; in buffer_rewind()
83 buffer_set_capacity(buffer_type *buffer, size_t capacity) in buffer_set_capacity() argument
85 buffer_invariant(buffer); in buffer_set_capacity()
86 assert(buffer->_position <= capacity); in buffer_set_capacity()
87 buffer->_data = (uint8_t *) xrealloc(buffer->_data, capacity); in buffer_set_capacity()
88 buffer->_limit = buffer->_capacity = capacity; in buffer_set_capacity()
92 buffer_reserve(buffer_type *buffer, size_t amount) in buffer_reserve() argument
94 buffer_invariant(buffer); in buffer_reserve()
95 assert(!buffer->_fixed); in buffer_reserve()
96 if (buffer->_capacity < buffer->_position + amount) { in buffer_reserve()
97 size_t new_capacity = buffer->_capacity * 3 / 2; in buffer_reserve()
98 if (new_capacity < buffer->_position + amount) { in buffer_reserve()
99 new_capacity = buffer->_position + amount; in buffer_reserve()
101 buffer_set_capacity(buffer, new_capacity); in buffer_reserve()
103 buffer->_limit = buffer->_capacity; in buffer_reserve()
107 buffer_printf(buffer_type *buffer, const char *format, ...) in buffer_printf() argument
113 buffer_invariant(buffer); in buffer_printf()
114 assert(buffer->_limit == buffer->_capacity); in buffer_printf()
116 remaining = buffer_remaining(buffer); in buffer_printf()
118 written = vsnprintf((char *) buffer_current(buffer), remaining, in buffer_printf()
122 buffer_reserve(buffer, written + 1); in buffer_printf()
124 written = vsnprintf((char *) buffer_current(buffer), in buffer_printf()
125 buffer_remaining(buffer), in buffer_printf()
129 buffer->_position += written; in buffer_printf()