Fix: C++: incomplete extern C guard transition
[lttng-ust.git] / include / lttng / ust-events.h
index 749478a6a335b3b9b14ab0ceb3dd87787f469b30..ed859cec8915bccf1f76eec745d38dfcff921115 100644 (file)
 #include <lttng/ust-endian.h>
 #include <float.h>
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 #define LTTNG_UST_UUID_LEN             16
 
+/*
+ * Tracepoint provider version. Compatibility based on the major number.
+ * Older tracepoint providers can always register to newer lttng-ust
+ * library, but the opposite is rejected: a newer tracepoint provider is
+ * rejected by an older lttng-ust library.
+ */
+#define LTTNG_UST_PROVIDER_MAJOR       1
+#define LTTNG_UST_PROVIDER_MINOR       0
+
 struct lttng_channel;
 struct lttng_session;
 struct lttng_ust_lib_ring_buffer_ctx;
@@ -251,7 +264,7 @@ struct lttng_event_desc {
        } u;
 };
 
-#define LTTNG_UST_PROBE_DESC_PADDING   20
+#define LTTNG_UST_PROBE_DESC_PADDING   12
 struct lttng_probe_desc {
        const char *provider;
        const struct lttng_event_desc **event_desc;
@@ -259,6 +272,8 @@ struct lttng_probe_desc {
        struct cds_list_head head;              /* chain registered probes */
        struct cds_list_head lazy_init_head;
        int lazy;                               /* lazy registration */
+       uint32_t major;
+       uint32_t minor;
        char padding[LTTNG_UST_PROBE_DESC_PADDING];
 };
 
@@ -520,7 +535,7 @@ int lttng_attach_context(struct lttng_ust_context *context_param,
                struct lttng_ctx **ctx, struct lttng_session *session);
 void lttng_context_init(void);
 void lttng_context_exit(void);
-struct lttng_ctx *lttng_static_ctx;    /* Used by filtering */
+extern struct lttng_ctx *lttng_static_ctx;     /* Used by filtering */
 
 void lttng_transport_register(struct lttng_transport *transport);
 void lttng_transport_unregister(struct lttng_transport *transport);
@@ -569,4 +584,8 @@ void lttng_filter_sync_state(struct lttng_bytecode_runtime *runtime);
 struct cds_list_head *lttng_get_probe_list_head(void);
 int lttng_session_active(void);
 
+#ifdef __cplusplus
+}
+#endif
+
 #endif /* _LTTNG_UST_EVENTS_H */
This page took 0.024241 seconds and 4 git commands to generate.