Fix: combined tracing of lttng-ust 2.12/2.13 generates corrupted traces
[lttng-ust.git] / src / common / events.h
index b3e11bb383d946d97fe5620fe48b26f369408e39..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;
 
@@ -253,7 +260,7 @@ struct lttng_transport {
        const char *name;
        struct cds_list_head node;
        struct lttng_ust_channel_buffer_ops ops;
-       const struct lttng_ust_lib_ring_buffer_config *client_config;
+       const struct lttng_ust_ring_buffer_config *client_config;
 };
 
 struct lttng_counter_transport {
@@ -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 */
        /*
@@ -389,7 +397,7 @@ struct lttng_ust_channel_buffer_private {
        unsigned int id;                        /* Channel ID */
        enum lttng_ust_abi_chan_type type;
        struct lttng_ust_ctx *ctx;
-       struct lttng_ust_lib_ring_buffer_channel *rb_chan;      /* Ring buffer channel */
+       struct lttng_ust_ring_buffer_channel *rb_chan;  /* Ring buffer channel */
        unsigned char uuid[LTTNG_UST_UUID_LEN]; /* Trace session unique ID */
 };
 
@@ -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_lib_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;
 };
@@ -506,7 +520,7 @@ const struct lttng_ust_type_struct *lttng_ust_get_type_struct(const struct lttng
 }
 
 #define lttng_ust_static_type_integer(_size, _alignment, _signedness, _byte_order, _base)              \
-       ((const struct lttng_ust_type_common *) __LTTNG_COMPOUND_LITERAL(const struct lttng_ust_type_integer, { \
+       ((const struct lttng_ust_type_common *) LTTNG_UST_COMPOUND_LITERAL(const struct lttng_ust_type_integer, { \
                .parent = {                                                                             \
                        .type = lttng_ust_type_integer,                                                 \
                },                                                                                      \
@@ -514,12 +528,12 @@ const struct lttng_ust_type_struct *lttng_ust_get_type_struct(const struct lttng
                .size = (_size),                                                                        \
                .alignment = (_alignment),                                                              \
                .signedness = (_signedness),                                                            \
-               .reverse_byte_order = (_byte_order) != BYTE_ORDER,                                      \
+               .reverse_byte_order = (_byte_order) != LTTNG_UST_BYTE_ORDER,                                    \
                .base = (_base),                                                                        \
        }))
 
 #define lttng_ust_static_type_array_text(_length)                                                      \
-       ((const struct lttng_ust_type_common *) __LTTNG_COMPOUND_LITERAL(const struct lttng_ust_type_array, { \
+       ((const struct lttng_ust_type_common *) LTTNG_UST_COMPOUND_LITERAL(const struct lttng_ust_type_array, { \
                .parent = {                                                                             \
                        .type = lttng_ust_type_array,                                                   \
                },                                                                                      \
@@ -529,11 +543,11 @@ const struct lttng_ust_type_struct *lttng_ust_get_type_struct(const struct lttng
                .encoding = lttng_ust_string_encoding_UTF8,                                             \
                .elem_type = lttng_ust_static_type_integer(sizeof(char) * CHAR_BIT,                     \
                                lttng_ust_rb_alignof(char) * CHAR_BIT, lttng_ust_is_signed_type(char),  \
-                               BYTE_ORDER, 10),                                                        \
+                               LTTNG_UST_BYTE_ORDER, 10),                                                      \
        }))
 
 #define lttng_ust_static_event_field(_name, _type, _nowrite, _nofilter)                                        \
-       __LTTNG_COMPOUND_LITERAL(const struct lttng_ust_event_field, {                                  \
+       LTTNG_UST_COMPOUND_LITERAL(const struct lttng_ust_event_field, {                                \
                .struct_size = sizeof(struct lttng_ust_event_field),                                    \
                .name = (_name),                                                                        \
                .type = (_type),                                                                        \
@@ -542,7 +556,7 @@ const struct lttng_ust_type_struct *lttng_ust_get_type_struct(const struct lttng
        })
 
 #define lttng_ust_static_ctx_field(_event_field, _get_size, _record, _get_value, _destroy, _priv)      \
-       __LTTNG_COMPOUND_LITERAL(const struct lttng_ust_ctx_field, {                                    \
+       LTTNG_UST_COMPOUND_LITERAL(const struct lttng_ust_ctx_field, {                          \
                .event_field = (_event_field),                                                          \
                .get_size = (_get_size),                                                                \
                .record = (_record),                                                                    \
@@ -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.026128 seconds and 4 git commands to generate.