uprobe: transmit binary file descritptor through lttng_payload
[lttng-tools.git] / src / common / payload-view.h
index f125e8890bf9e2d207f9a9d0a7cd32c05dfb4da7..9e385842b208f1183c9842b1578fe1f3206c6858 100644 (file)
@@ -87,7 +87,7 @@ struct lttng_payload_view lttng_payload_view_from_view(
  * from an existing dynamic buffer.
  *
  * @src                Source dynamic buffer to reference
- * @offset     Offset to apply to the payload's buffer
+ * @offset     Offset to apply to the dynamic buffer
  * @len                Length of the buffer contents to reference. Passing -1 will
  *             cause the payload view to reference the whole payload from the
  *             offset provided.
@@ -96,6 +96,48 @@ LTTNG_HIDDEN
 struct lttng_payload_view lttng_payload_view_from_dynamic_buffer(
                const struct lttng_dynamic_buffer *buffer, size_t offset,
                ptrdiff_t len);
+/**
+ *
+ * Return a payload view referencing a subset of a dynamic buffer.
+ *
+ * Meant as an adapter for code paths that need to create a payload view
+ * from an existing buffer view.
+ *
+ * @src                Source buffer view to reference
+ * @offset     Offset to apply to the buffer view
+ * @len                Length of the buffer contents to reference. Passing -1 will
+ *             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);
+
+/**
+ * Return a payload view referencing a subset of the memory referenced by a raw
+ * pointer.
+ *
+ * @src                Source buffer to reference
+ * @offset     Offset to apply to the source memory buffer
+ * @len                Length of the memory contents to reference.
+ *
+ * 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);
+
+/**
+ * Get the number of file descriptors left in a payload view.
+ *
+ * @payload    Payload instance
+ *
+ * Returns the number of file descriptors left on success, -1 on error.
+ */
+LTTNG_HIDDEN
+int lttng_payload_view_get_fd_count(struct lttng_payload_view *payload_view);
 
 /**
  * Pop an fd from a payload view.
This page took 0.025628 seconds and 5 git commands to generate.