X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=include%2Flttng%2Fust-events.h;h=ed859cec8915bccf1f76eec745d38dfcff921115;hb=cc2ba9135cafdcfc8cc1354ebed5db7fb5279358;hp=749478a6a335b3b9b14ab0ceb3dd87787f469b30;hpb=9e917229ef5d0b6103a9c6cb2e33bf9c5638bfe9;p=lttng-ust.git diff --git a/include/lttng/ust-events.h b/include/lttng/ust-events.h index 749478a6..ed859cec 100644 --- a/include/lttng/ust-events.h +++ b/include/lttng/ust-events.h @@ -35,8 +35,21 @@ #include #include +#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 */