#ifndef PN_BUFFER_H #define PN_BUFFER_H #include struct pn_buffer { void *data; void *alloc_data; size_t size; size_t len; size_t offset; }; struct pn_buffer *pn_buffer_new(void); struct pn_buffer *pn_buffer_new_and_alloc(size_t size); struct pn_buffer *pn_buffer_new_memdup(const void *data, size_t size); struct pn_buffer *pn_buffer_new_use(void *data, size_t size); void pn_buffer_free(struct pn_buffer *buffer); void pn_buffer_resize(struct pn_buffer *buffer, size_t new_size); char *pn_buffer_to_string(struct pn_buffer *buffer); void pn_buffer_prepare(struct pn_buffer *buffer, size_t extra_size); #endif /* PN_BUFFER_H */