24 _nmsg_buf_new(
size_t sz) {
27 buf = calloc(1,
sizeof(*buf));
30 buf->data = calloc(1, sz);
31 if (buf->data == NULL) {
39 _nmsg_buf_used(
struct nmsg_buf *buf) {
40 assert(buf->pos >= buf->data);
41 return (buf->pos - buf->data);
45 _nmsg_buf_avail(
struct nmsg_buf *buf) {
46 assert(buf->pos <= buf->end);
47 return (buf->end - buf->pos);
51 _nmsg_buf_destroy(
struct nmsg_buf **buf) {
53 if (_nmsg_global_autoclose ==
true)
55 if ((*buf)->data != NULL)
63 _nmsg_buf_reset(
struct nmsg_buf *buf) {
64 buf->end = buf->pos = buf->data;