86 static inline size_t xroad_net_buf_get_data_size(
const xroad_net_buf_t* buf)
106 static inline size_t xroad_net_buf_get_free_size(
const xroad_net_buf_t* buf)
117 static inline char* xroad_net_buf_alloc(
xroad_net_buf_t* buf,
size_t len)
119 if (xroad_net_buf_get_free_size(buf) < len)
138 static inline char* xroad_net_buf_free(
xroad_net_buf_t* buf, ssize_t pop_sz)
144 if ((
size_t)pop_sz >= xroad_net_buf_get_data_size(buf))
146 xroad_net_buf_reset(buf);
156 # define xroad_net_buf_check(buf)
158 # define xroad_net_buf_check(buf) \
160 xroad_net_buf_t* buf777_ = (buf); \
161 assert(*(uint32_t*)buf777_->end == 0xDEADBEAF); \
162 assert(buf777_->data_begin >= buf777_->begin); \
163 assert(buf777_->data_begin <= buf777_->end); \
164 assert(buf777_->data_end >= buf777_->begin); \
165 assert(buf777_->data_end <= buf777_->end); \
166 assert(buf777_->data_begin <= buf777_->data_end); \
Definition: xroad_net_buf.h:23
char * data_end
data end
Definition: xroad_net_buf.h:26
char * begin
buffer begin
Definition: xroad_net_buf.h:24
char * data_begin
data begin
Definition: xroad_net_buf.h:25
size_t max_size
maximum buffer size
Definition: xroad_net_buf.h:28
char * end
buffer end
Definition: xroad_net_buf.h:27
#define xroad_log_error(fmt,...)
Definition: xroad_logger.h:103
xroad_errno_t xroad_net_buf_resize(xroad_net_buf_t *buf, size_t size)
void xroad_net_buf_destroy(xroad_net_buf_t *buf)
void xroad_net_buf_free_space(xroad_net_buf_t *buf)
xroad_errno_t xroad_net_buf_create(xroad_net_buf_t *buf, size_t size, size_t max_size)
xroad_errno_t xroad_net_buf_increase(xroad_net_buf_t *buf, size_t size)