X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=src%2Fcommon%2Fpayload-view.h;h=57a8342d70578c7be479c3bacfc6035a203937d9;hb=48a4000561343808724f7cb5fa8c131877489ccd;hp=47c2c8c917d29e33e6956818ff0b2f31de9db1aa;hpb=18eec1c924daf8d63a5f2cc06b1c1fdd9a838c6e;p=lttng-tools.git diff --git a/src/common/payload-view.h b/src/common/payload-view.h index 47c2c8c91..57a8342d7 100644 --- a/src/common/payload-view.h +++ b/src/common/payload-view.h @@ -53,6 +53,17 @@ struct lttng_payload_view { } _iterator; }; +/** + * Checks if a payload view's buffer is safe to access. + * + * After calling the payload view creation functions, callers should verify + * if the resquested length (if any is explicitly provided) could be mapped + * to a new view. + * + * @view Payload to validate + */ +bool lttng_payload_view_is_valid(const struct lttng_payload_view *view); + /** * Return a payload view referencing a subset of a payload. * @@ -62,7 +73,6 @@ struct lttng_payload_view { * cause the view to reference the whole payload from the * offset provided. */ -LTTNG_HIDDEN struct lttng_payload_view lttng_payload_view_from_payload( const struct lttng_payload *payload, size_t offset, ptrdiff_t len); @@ -77,7 +87,6 @@ struct lttng_payload_view lttng_payload_view_from_payload( * cause the payload view to reference the whole payload view's * buffer view from the offset provided. */ -LTTNG_HIDDEN struct lttng_payload_view lttng_payload_view_from_view( struct lttng_payload_view *view, size_t offset, ptrdiff_t len); @@ -94,7 +103,6 @@ struct lttng_payload_view lttng_payload_view_from_view( * cause the payload view to reference the whole payload from the * offset provided. */ -LTTNG_HIDDEN struct lttng_payload_view lttng_payload_view_from_dynamic_buffer( const struct lttng_dynamic_buffer *buffer, size_t offset, ptrdiff_t len); @@ -111,7 +119,6 @@ struct lttng_payload_view lttng_payload_view_from_dynamic_buffer( * cause the payload view to reference the whole payload from the * offset provided. */ -LTTNG_HIDDEN struct lttng_payload_view lttng_payload_view_from_buffer_view( const struct lttng_buffer_view *view, size_t offset, ptrdiff_t len); @@ -127,7 +134,6 @@ struct lttng_payload_view lttng_payload_view_from_buffer_view( * Note that a payload view never assumes the ownership of the memory it * references. */ -LTTNG_HIDDEN struct lttng_payload_view lttng_payload_view_init_from_buffer( const char *src, size_t offset, ptrdiff_t len); @@ -138,7 +144,6 @@ struct lttng_payload_view lttng_payload_view_init_from_buffer( * * Returns the number of file descriptor handles left on success, -1 on error. */ -LTTNG_HIDDEN int lttng_payload_view_get_fd_handle_count( const struct lttng_payload_view *payload_view); @@ -151,7 +156,6 @@ int lttng_payload_view_get_fd_handle_count( * * Returns an fd_handle on success, -1 on error. */ -LTTNG_HIDDEN struct fd_handle *lttng_payload_view_pop_fd_handle( struct lttng_payload_view *payload_view);