summaryrefslogtreecommitdiff
path: root/pn_buffer.h
blob: 7f7bdaf8fd49ce9f96378696c94c5e3439976136 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#ifndef PN_BUFFER_H
#define PN_BUFFER_H

#include <stddef.h>

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 */