X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=src%2Fcommon%2Fdynamic-buffer.h;h=efd63fb9c3bb27638c32a571274f8e28416949b9;hb=3f4ef714d1ee23dfedf08ccaa9ae2c2e768023f0;hp=d42a6a61df8401ba62732d3a79a8b8f3ea44b875;hpb=c90647fe68da8a767a2c03dc0135d4a09992af16;p=lttng-tools.git diff --git a/src/common/dynamic-buffer.h b/src/common/dynamic-buffer.h index d42a6a61d..efd63fb9c 100644 --- a/src/common/dynamic-buffer.h +++ b/src/common/dynamic-buffer.h @@ -22,6 +22,8 @@ #include #include +struct lttng_buffer_view; + struct lttng_dynamic_buffer { char *data; /* size is the buffer's currently used capacity. */ @@ -58,6 +60,15 @@ LTTNG_HIDDEN int lttng_dynamic_buffer_append_buffer(struct lttng_dynamic_buffer *dst_buffer, struct lttng_dynamic_buffer *src_buffer); +/* + * Performs the same action as lttng_dynamic_buffer_append(), but using a + * buffer view as the source buffer. The source buffer's size is used in lieu + * of "len". + */ +LTTNG_HIDDEN +int lttng_dynamic_buffer_append_view(struct lttng_dynamic_buffer *buffer, + const struct lttng_buffer_view *view); + /* * Set the buffer's size to new_size. The capacity of the buffer will * be expanded (if necessary) to accomodate new_size. Areas acquired by @@ -94,4 +105,9 @@ int lttng_dynamic_buffer_set_capacity(struct lttng_dynamic_buffer *buffer, LTTNG_HIDDEN void lttng_dynamic_buffer_reset(struct lttng_dynamic_buffer *buffer); +/* Get the space left in the buffer before a new resize is needed. */ +LTTNG_HIDDEN +size_t lttng_dynamic_buffer_get_capacity_left( + struct lttng_dynamic_buffer *buffer); + #endif /* LTTNG_DYNAMIC_BUFFER_H */