#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;
} 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;
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];
};
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);
struct cds_list_head *lttng_get_probe_list_head(void);
int lttng_session_active(void);
+#ifdef __cplusplus
+}
+#endif
+
#endif /* _LTTNG_UST_EVENTS_H */