Lines Matching refs:buffer
23 typedef struct buffer buffer_type;
25 struct buffer struct
55 buffer_invariant(buffer_type *ATTR_UNUSED(buffer)) in buffer_invariant() argument
60 buffer_invariant(buffer_type *buffer) in buffer_invariant() argument
62 assert(buffer); in buffer_invariant()
63 assert(buffer->_position <= buffer->_limit); in buffer_invariant()
64 assert(buffer->_limit <= buffer->_capacity); in buffer_invariant()
65 assert(buffer->_data); in buffer_invariant()
79 void buffer_create_from(buffer_type *buffer, void *data, size_t size);
85 void buffer_clear(buffer_type *buffer);
92 void buffer_flip(buffer_type *buffer);
98 void buffer_rewind(buffer_type *buffer);
101 buffer_position(buffer_type *buffer) in buffer_position() argument
103 return buffer->_position; in buffer_position()
111 buffer_set_position(buffer_type *buffer, size_t mark) in buffer_set_position() argument
113 assert(mark <= buffer->_limit); in buffer_set_position()
114 buffer->_position = mark; in buffer_set_position()
123 buffer_skip(buffer_type *buffer, ssize_t count) in buffer_skip() argument
125 assert(buffer->_position + count <= buffer->_limit); in buffer_skip()
126 buffer->_position += count; in buffer_skip()
130 buffer_limit(buffer_type *buffer) in buffer_limit() argument
132 return buffer->_limit; in buffer_limit()
140 buffer_set_limit(buffer_type *buffer, size_t limit) in buffer_set_limit() argument
142 assert(limit <= buffer->_capacity); in buffer_set_limit()
143 buffer->_limit = limit; in buffer_set_limit()
144 if (buffer->_position > buffer->_limit) in buffer_set_limit()
145 buffer->_position = buffer->_limit; in buffer_set_limit()
150 buffer_capacity(buffer_type *buffer) in buffer_capacity() argument
152 return buffer->_capacity; in buffer_capacity()
160 void buffer_set_capacity(buffer_type *buffer, size_t capacity);
169 void buffer_reserve(buffer_type *buffer, size_t amount);
175 buffer_at(buffer_type *buffer, size_t at) in buffer_at() argument
177 assert(at <= buffer->_limit); in buffer_at()
178 return buffer->_data + at; in buffer_at()
186 buffer_begin(buffer_type *buffer) in buffer_begin() argument
188 return buffer_at(buffer, 0); in buffer_begin()
196 buffer_end(buffer_type *buffer) in buffer_end() argument
198 return buffer_at(buffer, buffer->_limit); in buffer_end()
205 buffer_current(buffer_type *buffer) in buffer_current() argument
207 return buffer_at(buffer, buffer->_position); in buffer_current()
215 buffer_remaining_at(buffer_type *buffer, size_t at) in buffer_remaining_at() argument
217 buffer_invariant(buffer); in buffer_remaining_at()
218 assert(at <= buffer->_limit); in buffer_remaining_at()
219 return buffer->_limit - at; in buffer_remaining_at()
227 buffer_remaining(buffer_type *buffer) in buffer_remaining() argument
229 return buffer_remaining_at(buffer, buffer->_position); in buffer_remaining()
238 buffer_available_at(buffer_type *buffer, size_t at, size_t count) in buffer_available_at() argument
240 return count <= buffer_remaining_at(buffer, at); in buffer_available_at()
244 buffer_available(buffer_type *buffer, size_t count) in buffer_available() argument
246 return buffer_available_at(buffer, buffer->_position, count); in buffer_available()
250 buffer_write_at(buffer_type *buffer, size_t at, const void *data, size_t count) in buffer_write_at() argument
252 assert(buffer_available_at(buffer, at, count)); in buffer_write_at()
253 memcpy(buffer->_data + at, data, count); in buffer_write_at()
257 buffer_write(buffer_type *buffer, const void *data, size_t count) in buffer_write() argument
259 buffer_write_at(buffer, buffer->_position, data, count); in buffer_write()
260 buffer->_position += count; in buffer_write()
264 try_buffer_write_at(buffer_type *buffer, size_t at, const void *data, size_t count) in try_buffer_write_at() argument
266 if(!buffer_available_at(buffer, at, count)) in try_buffer_write_at()
268 memcpy(buffer->_data + at, data, count); in try_buffer_write_at()
273 try_buffer_write(buffer_type *buffer, const void *data, size_t count) in try_buffer_write() argument
275 if(!try_buffer_write_at(buffer, buffer->_position, data, count)) in try_buffer_write()
277 buffer->_position += count; in try_buffer_write()
282 buffer_write_string_at(buffer_type *buffer, size_t at, const char *str) in buffer_write_string_at() argument
284 buffer_write_at(buffer, at, str, strlen(str)); in buffer_write_string_at()
288 buffer_write_string(buffer_type *buffer, const char *str) in buffer_write_string() argument
290 buffer_write(buffer, str, strlen(str)); in buffer_write_string()
294 try_buffer_write_string_at(buffer_type *buffer, size_t at, const char *str) in try_buffer_write_string_at() argument
296 return try_buffer_write_at(buffer, at, str, strlen(str)); in try_buffer_write_string_at()
300 try_buffer_write_string(buffer_type *buffer, const char *str) in try_buffer_write_string() argument
302 return try_buffer_write(buffer, str, strlen(str)); in try_buffer_write_string()
306 buffer_write_u8_at(buffer_type *buffer, size_t at, uint8_t data) in buffer_write_u8_at() argument
308 assert(buffer_available_at(buffer, at, sizeof(data))); in buffer_write_u8_at()
309 buffer->_data[at] = data; in buffer_write_u8_at()
313 buffer_write_u8(buffer_type *buffer, uint8_t data) in buffer_write_u8() argument
315 buffer_write_u8_at(buffer, buffer->_position, data); in buffer_write_u8()
316 buffer->_position += sizeof(data); in buffer_write_u8()
320 buffer_write_u16_at(buffer_type *buffer, size_t at, uint16_t data) in buffer_write_u16_at() argument
322 assert(buffer_available_at(buffer, at, sizeof(data))); in buffer_write_u16_at()
323 write_uint16(buffer->_data + at, data); in buffer_write_u16_at()
327 buffer_write_u16(buffer_type *buffer, uint16_t data) in buffer_write_u16() argument
329 buffer_write_u16_at(buffer, buffer->_position, data); in buffer_write_u16()
330 buffer->_position += sizeof(data); in buffer_write_u16()
334 buffer_write_u32_at(buffer_type *buffer, size_t at, uint32_t data) in buffer_write_u32_at() argument
336 assert(buffer_available_at(buffer, at, sizeof(data))); in buffer_write_u32_at()
337 write_uint32(buffer->_data + at, data); in buffer_write_u32_at()
341 buffer_write_u32(buffer_type *buffer, uint32_t data) in buffer_write_u32() argument
343 buffer_write_u32_at(buffer, buffer->_position, data); in buffer_write_u32()
344 buffer->_position += sizeof(data); in buffer_write_u32()
348 buffer_write_u64_at(buffer_type *buffer, size_t at, uint64_t data) in buffer_write_u64_at() argument
350 assert(buffer_available_at(buffer, at, sizeof(data))); in buffer_write_u64_at()
351 write_uint64(buffer->_data + at, data); in buffer_write_u64_at()
355 buffer_write_u64(buffer_type *buffer, uint64_t data) in buffer_write_u64() argument
357 buffer_write_u64_at(buffer, buffer->_position, data); in buffer_write_u64()
358 buffer->_position += sizeof(data); in buffer_write_u64()
362 try_buffer_write_u8_at(buffer_type *buffer, size_t at, uint8_t data) in try_buffer_write_u8_at() argument
364 if(!buffer_available_at(buffer, at, sizeof(data))) in try_buffer_write_u8_at()
366 buffer->_data[at] = data; in try_buffer_write_u8_at()
371 try_buffer_write_u8(buffer_type *buffer, uint8_t data) in try_buffer_write_u8() argument
373 if(!try_buffer_write_u8_at(buffer, buffer->_position, data)) in try_buffer_write_u8()
375 buffer->_position += sizeof(data); in try_buffer_write_u8()
380 try_buffer_write_u16_at(buffer_type *buffer, size_t at, uint16_t data) in try_buffer_write_u16_at() argument
382 if(!buffer_available_at(buffer, at, sizeof(data))) in try_buffer_write_u16_at()
384 write_uint16(buffer->_data + at, data); in try_buffer_write_u16_at()
389 try_buffer_write_u16(buffer_type *buffer, uint16_t data) in try_buffer_write_u16() argument
391 if(!try_buffer_write_u16_at(buffer, buffer->_position, data)) in try_buffer_write_u16()
393 buffer->_position += sizeof(data); in try_buffer_write_u16()
398 try_buffer_write_u32_at(buffer_type *buffer, size_t at, uint32_t data) in try_buffer_write_u32_at() argument
400 if(!buffer_available_at(buffer, at, sizeof(data))) in try_buffer_write_u32_at()
402 write_uint32(buffer->_data + at, data); in try_buffer_write_u32_at()
407 try_buffer_write_u32(buffer_type *buffer, uint32_t data) in try_buffer_write_u32() argument
409 if(!try_buffer_write_u32_at(buffer, buffer->_position, data)) in try_buffer_write_u32()
411 buffer->_position += sizeof(data); in try_buffer_write_u32()
416 try_buffer_write_u64_at(buffer_type *buffer, size_t at, uint64_t data) in try_buffer_write_u64_at() argument
418 if(!buffer_available_at(buffer, at, sizeof(data))) in try_buffer_write_u64_at()
420 write_uint64(buffer->_data + at, data); in try_buffer_write_u64_at()
425 try_buffer_write_u64(buffer_type *buffer, uint64_t data) in try_buffer_write_u64() argument
427 if(!try_buffer_write_u64_at(buffer, buffer->_position, data)) in try_buffer_write_u64()
429 buffer->_position += sizeof(data); in try_buffer_write_u64()
434 buffer_read_at(buffer_type *buffer, size_t at, void *data, size_t count) in buffer_read_at() argument
436 assert(buffer_available_at(buffer, at, count)); in buffer_read_at()
437 memcpy(data, buffer->_data + at, count); in buffer_read_at()
441 buffer_read(buffer_type *buffer, void *data, size_t count) in buffer_read() argument
443 buffer_read_at(buffer, buffer->_position, data, count); in buffer_read()
444 buffer->_position += count; in buffer_read()
448 buffer_read_u8_at(buffer_type *buffer, size_t at) in buffer_read_u8_at() argument
450 assert(buffer_available_at(buffer, at, sizeof(uint8_t))); in buffer_read_u8_at()
451 return buffer->_data[at]; in buffer_read_u8_at()
455 buffer_read_u8(buffer_type *buffer) in buffer_read_u8() argument
457 uint8_t result = buffer_read_u8_at(buffer, buffer->_position); in buffer_read_u8()
458 buffer->_position += sizeof(uint8_t); in buffer_read_u8()
463 buffer_read_u16_at(buffer_type *buffer, size_t at) in buffer_read_u16_at() argument
465 assert(buffer_available_at(buffer, at, sizeof(uint16_t))); in buffer_read_u16_at()
466 return read_uint16(buffer->_data + at); in buffer_read_u16_at()
470 buffer_read_u16(buffer_type *buffer) in buffer_read_u16() argument
472 uint16_t result = buffer_read_u16_at(buffer, buffer->_position); in buffer_read_u16()
473 buffer->_position += sizeof(uint16_t); in buffer_read_u16()
478 buffer_read_u32_at(buffer_type *buffer, size_t at) in buffer_read_u32_at() argument
480 assert(buffer_available_at(buffer, at, sizeof(uint32_t))); in buffer_read_u32_at()
481 return read_uint32(buffer->_data + at); in buffer_read_u32_at()
485 buffer_read_u32(buffer_type *buffer) in buffer_read_u32() argument
487 uint32_t result = buffer_read_u32_at(buffer, buffer->_position); in buffer_read_u32()
488 buffer->_position += sizeof(uint32_t); in buffer_read_u32()
493 buffer_read_u64_at(buffer_type *buffer, size_t at) in buffer_read_u64_at() argument
495 assert(buffer_available_at(buffer, at, sizeof(uint64_t))); in buffer_read_u64_at()
496 return read_uint64(buffer->_data + at); in buffer_read_u64_at()
500 buffer_read_u64(buffer_type *buffer) in buffer_read_u64() argument
502 uint64_t result = buffer_read_u64_at(buffer, buffer->_position); in buffer_read_u64()
503 buffer->_position += sizeof(uint64_t); in buffer_read_u64()
513 int buffer_printf(buffer_type *buffer, const char *format, ...)