Lines Matching refs:buffer
36 buffer_init(Buffer *buffer) in buffer_init() argument
40 buffer->alloc = 0; in buffer_init()
41 buffer->buf = xmalloc(len); in buffer_init()
42 buffer->alloc = len; in buffer_init()
43 buffer->offset = 0; in buffer_init()
44 buffer->end = 0; in buffer_init()
50 buffer_free(Buffer *buffer) in buffer_free() argument
52 if (buffer->alloc > 0) { in buffer_free()
53 explicit_bzero(buffer->buf, buffer->alloc); in buffer_free()
54 buffer->alloc = 0; in buffer_free()
55 free(buffer->buf); in buffer_free()
65 buffer_clear(Buffer *buffer) in buffer_clear() argument
67 buffer->offset = 0; in buffer_clear()
68 buffer->end = 0; in buffer_clear()
74 buffer_append(Buffer *buffer, const void *data, u_int len) in buffer_append() argument
77 p = buffer_append_space(buffer, len); in buffer_append()
82 buffer_compact(Buffer *buffer) in buffer_compact() argument
88 if (buffer->offset > MIN(buffer->alloc, BUFFER_MAX_CHUNK)) { in buffer_compact()
89 memmove(buffer->buf, buffer->buf + buffer->offset, in buffer_compact()
90 buffer->end - buffer->offset); in buffer_compact()
91 buffer->end -= buffer->offset; in buffer_compact()
92 buffer->offset = 0; in buffer_compact()
105 buffer_append_space(Buffer *buffer, u_int len) in buffer_append_space() argument
114 if (buffer->offset == buffer->end) { in buffer_append_space()
115 buffer->offset = 0; in buffer_append_space()
116 buffer->end = 0; in buffer_append_space()
120 if (buffer->end + len < buffer->alloc) { in buffer_append_space()
121 p = buffer->buf + buffer->end; in buffer_append_space()
122 buffer->end += len; in buffer_append_space()
127 if (buffer_compact(buffer)) in buffer_append_space()
131 newlen = roundup(buffer->alloc + len, BUFFER_ALLOCSZ); in buffer_append_space()
135 buffer->buf = xrealloc(buffer->buf, 1, newlen); in buffer_append_space()
136 buffer->alloc = newlen; in buffer_append_space()
146 buffer_check_alloc(Buffer *buffer, u_int len) in buffer_check_alloc() argument
148 if (buffer->offset == buffer->end) { in buffer_check_alloc()
149 buffer->offset = 0; in buffer_check_alloc()
150 buffer->end = 0; in buffer_check_alloc()
153 if (buffer->end + len < buffer->alloc) in buffer_check_alloc()
155 if (buffer_compact(buffer)) in buffer_check_alloc()
157 if (roundup(buffer->alloc + len, BUFFER_ALLOCSZ) <= BUFFER_MAX_LEN) in buffer_check_alloc()
165 buffer_len(const Buffer *buffer) in buffer_len() argument
167 return buffer->end - buffer->offset; in buffer_len()
180 buffer_get_ret(Buffer *buffer, void *buf, u_int len) in buffer_get_ret() argument
182 if (len > buffer->end - buffer->offset) { in buffer_get_ret()
184 len, buffer->end - buffer->offset); in buffer_get_ret()
187 memcpy(buf, buffer->buf + buffer->offset, len); in buffer_get_ret()
188 buffer->offset += len; in buffer_get_ret()
193 buffer_get(Buffer *buffer, void *buf, u_int len) in buffer_get() argument
195 if (buffer_get_ret(buffer, buf, len) == -1) in buffer_get()
202 buffer_consume_ret(Buffer *buffer, u_int bytes) in buffer_consume_ret() argument
204 if (bytes > buffer->end - buffer->offset) { in buffer_consume_ret()
208 buffer->offset += bytes; in buffer_consume_ret()
213 buffer_consume(Buffer *buffer, u_int bytes) in buffer_consume() argument
215 if (buffer_consume_ret(buffer, bytes) == -1) in buffer_consume()
222 buffer_consume_end_ret(Buffer *buffer, u_int bytes) in buffer_consume_end_ret() argument
224 if (bytes > buffer->end - buffer->offset) in buffer_consume_end_ret()
226 buffer->end -= bytes; in buffer_consume_end_ret()
231 buffer_consume_end(Buffer *buffer, u_int bytes) in buffer_consume_end() argument
233 if (buffer_consume_end_ret(buffer, bytes) == -1) in buffer_consume_end()
240 buffer_ptr(const Buffer *buffer) in buffer_ptr() argument
242 return buffer->buf + buffer->offset; in buffer_ptr()
248 buffer_dump(const Buffer *buffer) in buffer_dump() argument
251 u_char *ucp = buffer->buf; in buffer_dump()
253 for (i = buffer->offset; i < buffer->end; i++) { in buffer_dump()
255 if ((i-buffer->offset)%16==15) in buffer_dump()
257 else if ((i-buffer->offset)%2==1) in buffer_dump()