Fix: pad strings that are modified concurrently with tracing
[lttng-ust.git] / include / lttng / ust-events.h
index 28f7391b56a5144bae513d67dabab498edb472d7..3d473407613b85f312cfc3b33dae15f59d4a5b9d 100644 (file)
 #include <lttng/ust-endian.h>
 #include <float.h>
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 #define LTTNG_UST_UUID_LEN             16
 
 /*
@@ -429,7 +433,10 @@ struct lttng_channel_ops {
                        unsigned char *uuid,
                        uint32_t chan_id);
        void (*channel_destroy)(struct lttng_channel *chan);
-       void *_deprecated1;
+       union {
+               void *_deprecated1;
+               unsigned long has_strcpy:1;             /* ABI has strcpy */
+       } u;
        void *_deprecated2;
        int (*event_reserve)(struct lttng_ust_lib_ring_buffer_ctx *ctx,
                             uint32_t event_id);
@@ -448,6 +455,8 @@ struct lttng_channel_ops {
        int (*is_finalized)(struct channel *chan);
        int (*is_disabled)(struct channel *chan);
        int (*flush_buffer)(struct channel *chan, struct lttng_ust_shm_handle *handle);
+       void (*event_strcpy)(struct lttng_ust_lib_ring_buffer_ctx *ctx,
+                       const char *src, size_t len);
 };
 
 /*
@@ -610,6 +619,11 @@ struct cds_list_head *lttng_get_probe_list_head(void);
 int lttng_session_active(void);
 
 typedef int (*t_statedump_func_ptr)(struct lttng_session *session);
-int lttng_handle_pending_statedumps(t_statedump_func_ptr statedump_func_ptr);
+void lttng_handle_pending_statedump(void *owner);
+struct cds_list_head *_lttng_get_sessions(void);
+
+#ifdef __cplusplus
+}
+#endif
 
 #endif /* _LTTNG_UST_EVENTS_H */
This page took 0.024667 seconds and 4 git commands to generate.