Fix: combined tracing of lttng-ust 2.12/2.13 generates corrupted traces
[lttng-ust.git] / src / common / events.h
index 5fdec87092074907492398d15c0eb03405158c1c..760628283eac06d0d531f636eefd037da917d538 100644 (file)
 #include "common/macros.h"
 #include "common/ust-context-provider.h"
 
+/*
+ * The context procname length is part of the LTTng-UST ABI.
+ * TODO: At the next breaking protocol bump, all users of this macro
+ * should instead use LTTNG_UST_ABI_PROCNAME_LEN.
+ */
+#define LTTNG_UST_CONTEXT_PROCNAME_LEN 17
+
 struct lttng_ust_abi_obj;
 struct lttng_event_notifier_group;
 
@@ -305,6 +312,7 @@ struct lttng_ust_bytecode_runtime {
        int link_failed;
        int (*interpreter_func)(struct lttng_ust_bytecode_runtime *bytecode_runtime,
                        const char *interpreter_stack_data,
+                       struct lttng_ust_probe_ctx *probe_ctx,
                        void *ctx);
        struct cds_list_head node;              /* list of bytecode runtime in event */
        /*
@@ -407,10 +415,13 @@ struct lttng_ust_abi_channel_config {
        void *unused3;
        void *unused4;
        int unused5;
+       unsigned int _deprecated1;
+       unsigned int _deprecated2;
        struct cds_list_head unused6;
        void *unused7;
        int unused8;
        void *unused9;
+       unsigned int _deprecated3:1;
 
        /* Channel ID */
        unsigned int id;
@@ -441,10 +452,13 @@ struct lttng_ust_registered_probe {
 
 struct lttng_ust_ctx_field {
        const struct lttng_ust_event_field *event_field;
-       size_t (*get_size)(void *priv, size_t offset);
-       void (*record)(void *priv, struct lttng_ust_ring_buffer_ctx *ctx,
-                      struct lttng_ust_channel_buffer *chan);
-       void (*get_value)(void *priv, struct lttng_ust_ctx_value *value);
+       size_t (*get_size)(void *priv, struct lttng_ust_probe_ctx *probe_ctx,
+                       size_t offset);
+       void (*record)(void *priv, struct lttng_ust_probe_ctx *probe_ctx,
+                       struct lttng_ust_ring_buffer_ctx *ctx,
+                       struct lttng_ust_channel_buffer *chan);
+       void (*get_value)(void *priv, struct lttng_ust_probe_ctx *probe_ctx,
+                       struct lttng_ust_ctx_value *value);
        void (*destroy)(void *priv);
        void *priv;
 };
@@ -567,9 +581,6 @@ struct lttng_enabler *lttng_event_notifier_enabler_as_enabler(
 
 
 
-/* This is ABI between liblttng-ust and liblttng-ust-ctl */
-struct lttng_transport *lttng_ust_transport_find(const char *name);
-
 /* This is ABI between liblttng-ust and liblttng-ust-dl */
 void lttng_ust_dl_update(void *ip);
 
This page took 0.028594 seconds and 4 git commands to generate.