callstack context: use delimiter when stack is incomplete
[lttng-modules.git] / lttng-events.h
index 8dd9241d4cc5d1b77e5fc6b472db4f1aa44deb24..2b1370520ecd85ab4d39364586ee08fe949d1f6a 100644 (file)
@@ -206,6 +206,9 @@ struct lttng_probe_ctx {
 struct lttng_ctx_field {
        struct lttng_event_field event_field;
        size_t (*get_size)(size_t offset);
+       size_t (*get_size_arg)(size_t offset, struct lttng_ctx_field *field,
+                              struct lib_ring_buffer_ctx *ctx,
+                              struct lttng_channel *chan);
        void (*record)(struct lttng_ctx_field *field,
                       struct lib_ring_buffer_ctx *ctx,
                       struct lttng_channel *chan);
@@ -216,6 +219,12 @@ struct lttng_ctx_field {
                struct lttng_perf_counter_field *perf_counter;
        } u;
        void (*destroy)(struct lttng_ctx_field *field);
+       /*
+        * Private data to keep state between get_size and record.
+        * User must perform its own synchronization to protect against
+        * concurrent and reentrant contexts.
+        */
+       void *priv;
 };
 
 struct lttng_ctx {
@@ -705,6 +714,9 @@ int lttng_add_migratable_to_ctx(struct lttng_ctx **ctx)
        return -ENOSYS;
 }
 #endif
+
+int lttng_add_callstack_to_ctx(struct lttng_ctx **ctx, int type);
+
 #if defined(CONFIG_PERF_EVENTS) && (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33))
 int lttng_add_perf_counter_to_ctx(uint32_t type,
                                  uint64_t config,
This page took 0.023608 seconds and 4 git commands to generate.