X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=src%2Fcommon%2Fbuffer-view.h;h=58f1ede2e94c34f9d745a65d2e94014645a19ea8;hb=48a4000561343808724f7cb5fa8c131877489ccd;hp=f22dc524c743afbdb0f9e2ec52e3d3405ff69f8e;hpb=67d8e2ef48ea2cd334bf9efd90b58b976437a3cd;p=lttng-tools.git diff --git a/src/common/buffer-view.h b/src/common/buffer-view.h index f22dc524c..58f1ede2e 100644 --- a/src/common/buffer-view.h +++ b/src/common/buffer-view.h @@ -31,10 +31,20 @@ struct lttng_buffer_view { * Note that a buffer view never assumes the ownership of the memory it * references. */ -LTTNG_HIDDEN struct lttng_buffer_view lttng_buffer_view_init( const char *src, size_t offset, ptrdiff_t len); +/** + * Checks if a buffer view is safe to access. + * + * After calling the buffer view creation functions, callers should verify + * if the resquested length (if any is explicitly provided) could be mapped + * to a new view. + * + * @view Buffer view to validate + */ +bool lttng_buffer_view_is_valid(const struct lttng_buffer_view *view); + /** * Return a buffer view referencing a subset of the memory referenced by another * view. @@ -48,7 +58,6 @@ struct lttng_buffer_view lttng_buffer_view_init( * Note that a buffer view never assumes the ownership of the memory it * references. */ -LTTNG_HIDDEN struct lttng_buffer_view lttng_buffer_view_from_view( const struct lttng_buffer_view *src, size_t offset, ptrdiff_t len); @@ -66,7 +75,6 @@ struct lttng_buffer_view lttng_buffer_view_from_view( * Note that a buffer view never assumes the ownership of the memory it * references. */ -LTTNG_HIDDEN struct lttng_buffer_view lttng_buffer_view_from_dynamic_buffer( const struct lttng_dynamic_buffer *src, size_t offset, ptrdiff_t len); @@ -80,7 +88,6 @@ struct lttng_buffer_view lttng_buffer_view_from_dynamic_buffer( * @len_with_null_terminator Expected length of the string, including the * NULL terminator. */ -LTTNG_HIDDEN bool lttng_buffer_view_contains_string(const struct lttng_buffer_view *buf, const char *str, size_t len_with_null_terminator);