Tracepoint API namespacing '__LTTNG_UST_NULL_STRING'
[lttng-ust.git] / include / lttng / ust-tracepoint-event.h
index fa4739ce3ec5ae05fce112105973a13b12579123..f4fc0db75af2d6ffaffa42b67a22b9d360c1d60f 100644 (file)
 #include <lttng/ust-compiler.h>
 #include <lttng/tracepoint.h>
 #include <lttng/ust-endian.h>
+#include <lttng/ust-api-compat.h>
 #include <string.h>
 
-#define __LTTNG_UST_NULL_STRING        "(null)"
+#define LTTNG_UST__NULL_STRING "(null)"
 
 #undef tp_list_for_each_entry_rcu
 #define tp_list_for_each_entry_rcu(pos, head, member)  \
  * Stage 0 of tracepoint event generation.
  *
  * Check that each LTTNG_UST_TRACEPOINT_EVENT provider argument match the
- * TRACEPOINT_PROVIDER by creating dummy callbacks.
+ * LTTNG_UST_TRACEPOINT_PROVIDER by creating dummy callbacks.
  */
 
 /* Reset all macros within LTTNG_UST_TRACEPOINT_EVENT */
 #include <lttng/ust-tracepoint-event-reset.h>
 
 static inline
-void LTTNG_UST__TP_COMBINE_TOKENS(lttng_ust_tracepoint_provider_mismatch_, TRACEPOINT_PROVIDER)(void)
+void LTTNG_UST__TP_COMBINE_TOKENS(lttng_ust_tracepoint_provider_mismatch_, LTTNG_UST_TRACEPOINT_PROVIDER)(void)
        lttng_ust_notrace;
 static inline
-void LTTNG_UST__TP_COMBINE_TOKENS(lttng_ust_tracepoint_provider_mismatch_, TRACEPOINT_PROVIDER)(void)
+void LTTNG_UST__TP_COMBINE_TOKENS(lttng_ust_tracepoint_provider_mismatch_, LTTNG_UST_TRACEPOINT_PROVIDER)(void)
 {
 }
 
@@ -89,12 +90,12 @@ void LTTNG_UST__TP_COMBINE_TOKENS(lttng_ust_tracepoint_provider_mismatch_, TRACE
        lttng_ust_tracepoint_provider_mismatch_##_provider();
 
 static inline
-void LTTNG_UST__TP_COMBINE_TOKENS(lttng_ust_tracepoint_provider_check_, TRACEPOINT_PROVIDER)(void)
+void LTTNG_UST__TP_COMBINE_TOKENS(lttng_ust_tracepoint_provider_check_, LTTNG_UST_TRACEPOINT_PROVIDER)(void)
        lttng_ust_notrace;
 static inline
-void LTTNG_UST__TP_COMBINE_TOKENS(lttng_ust_tracepoint_provider_check_, TRACEPOINT_PROVIDER)(void)
+void LTTNG_UST__TP_COMBINE_TOKENS(lttng_ust_tracepoint_provider_check_, LTTNG_UST_TRACEPOINT_PROVIDER)(void)
 {
-#include TRACEPOINT_INCLUDE
+#include LTTNG_UST_TRACEPOINT_INCLUDE
 }
 
 /*
@@ -111,7 +112,7 @@ void LTTNG_UST__TP_COMBINE_TOKENS(lttng_ust_tracepoint_provider_check_, TRACEPOI
 #define LTTNG_UST__TRACEPOINT_EVENT_INSTANCE(_provider, _template, _name, _args)       \
        lttng_ust_tracepoint_validate_name_len(_provider, _name);
 
-#include TRACEPOINT_INCLUDE
+#include LTTNG_UST_TRACEPOINT_INCLUDE
 
 /*
  * Stage 0.2 of tracepoint event generation.
@@ -135,7 +136,7 @@ void __event_template_proto___##_provider##___##_template(LTTNG_UST__TP_ARGS_DAT
 #define LTTNG_UST__TRACEPOINT_EVENT_CLASS(_provider, _name, _args, _fields) \
 void __event_template_proto___##_provider##___##_name(LTTNG_UST__TP_ARGS_DATA_PROTO(_args));
 
-#include TRACEPOINT_INCLUDE
+#include LTTNG_UST_TRACEPOINT_INCLUDE
 
 /*
  * Stage 0.9 of tracepoint event generation
@@ -197,17 +198,22 @@ void __event_template_proto___##_provider##___##_name(LTTNG_UST__TP_ARGS_DATA_PR
                .options = LTTNG_UST_ENUM_ENTRY_OPTION_IS_AUTO,         \
        }),
 
-#undef TP_ENUM_VALUES
-#define TP_ENUM_VALUES(...)                                            \
+#undef LTTNG_UST_TP_ENUM_VALUES
+#define LTTNG_UST_TP_ENUM_VALUES(...)                                          \
        __VA_ARGS__
 
+#if LTTNG_UST_COMPAT_API(0)
+# undef TP_ENUM_VALUES
+# define TP_ENUM_VALUES LTTNG_UST_TP_ENUM_VALUES
+#endif /* #if LTTNG_UST_COMPAT_API(0) */
+
 #undef LTTNG_UST_TRACEPOINT_ENUM
 #define LTTNG_UST_TRACEPOINT_ENUM(_provider, _name, _values)                   \
        const struct lttng_ust_enum_entry * const __enum_values__##_provider##_##_name[] = { \
                _values                                                 \
                ctf_enum_value("", 0)   /* Dummy, 0-len array forbidden by C99. */ \
        };
-#include TRACEPOINT_INCLUDE
+#include LTTNG_UST_TRACEPOINT_INCLUDE
 
 /*
  * Stage 0.9.1
@@ -238,7 +244,7 @@ void __event_template_proto___##_provider##___##_name(LTTNG_UST__TP_ARGS_DATA_PR
 #define LTTNG_UST__TRACEPOINT_EVENT_CLASS(_provider, _name, _args, _fields)    \
                _fields
 
-#include TRACEPOINT_INCLUDE
+#include LTTNG_UST_TRACEPOINT_INCLUDE
 
 /*
  * Stage 1 of tracepoint event generation.
@@ -376,7 +382,7 @@ void __event_template_proto___##_provider##___##_name(LTTNG_UST__TP_ARGS_DATA_PR
                .nr_entries = _TP_ARRAY_SIZE(__enum_values__##_provider##_##_name) - 1, \
        };
 
-#include TRACEPOINT_INCLUDE
+#include LTTNG_UST_TRACEPOINT_INCLUDE
 
 /*
  * Stage 2 of tracepoint event generation.
@@ -394,7 +400,7 @@ void __event_template_proto___##_provider##___##_name(LTTNG_UST__TP_ARGS_DATA_PR
 #define LTTNG_UST__TRACEPOINT_EVENT_CLASS(_provider, _name, _args, _fields)            \
 static void __event_probe__##_provider##___##_name(LTTNG_UST__TP_ARGS_DATA_PROTO(_args));
 
-#include TRACEPOINT_INCLUDE
+#include LTTNG_UST_TRACEPOINT_INCLUDE
 
 /*
  * Stage 3.0 of tracepoint event generation.
@@ -443,7 +449,7 @@ static void __event_probe__##_provider##___##_name(LTTNG_UST__TP_ARGS_DATA_PROTO
 #undef _ctf_string
 #define _ctf_string(_item, _src, _nowrite)                                    \
        __event_len += __dynamic_len[__dynamic_len_idx++] =                    \
-               strlen((_src) ? (_src) : __LTTNG_UST_NULL_STRING) + 1;
+               strlen((_src) ? (_src) : LTTNG_UST__NULL_STRING) + 1;
 
 #undef _ctf_unused
 #define _ctf_unused(_src)                                                      \
@@ -480,7 +486,7 @@ size_t __event_get_size__##_provider##___##_name(                         \
        return __event_len;                                                   \
 }
 
-#include TRACEPOINT_INCLUDE
+#include LTTNG_UST_TRACEPOINT_INCLUDE
 
 /*
  * Stage 3.1 of tracepoint event generation.
@@ -609,7 +615,7 @@ size_t __event_get_size__##_provider##___##_name(                         \
 #define _ctf_string(_item, _src, _nowrite)                                    \
        {                                                                      \
                const void *__ctf_tmp_ptr =                                    \
-                       ((_src) ? (_src) : __LTTNG_UST_NULL_STRING);           \
+                       ((_src) ? (_src) : LTTNG_UST__NULL_STRING);            \
                memcpy(__stack_data, &__ctf_tmp_ptr, sizeof(void *));          \
                __stack_data += sizeof(void *);                                \
        }
@@ -643,7 +649,7 @@ void __event_prepare_interpreter_stack__##_provider##___##_name(char *__stack_da
        _fields                                                               \
 }
 
-#include TRACEPOINT_INCLUDE
+#include LTTNG_UST_TRACEPOINT_INCLUDE
 
 /*
  * Stage 4 of tracepoint event generation.
@@ -717,7 +723,7 @@ size_t __event_get_align__##_provider##___##_name(LTTNG_UST__TP_ARGS_PROTO(_args
        return __event_align;                                                 \
 }
 
-#include TRACEPOINT_INCLUDE
+#include LTTNG_UST_TRACEPOINT_INCLUDE
 
 
 /*
@@ -770,7 +776,7 @@ size_t __event_get_align__##_provider##___##_name(LTTNG_UST__TP_ARGS_PROTO(_args
 #define _ctf_string(_item, _src, _nowrite)                                     \
        {                                                                       \
                const char *__ctf_tmp_string =                                  \
-                       ((_src) ? (_src) : __LTTNG_UST_NULL_STRING);            \
+                       ((_src) ? (_src) : LTTNG_UST__NULL_STRING);             \
                __chan->ops->event_strcpy(&__ctx, __ctf_tmp_string,             \
                        __get_dynamic_len(dest));                               \
        }
@@ -920,7 +926,7 @@ void __event_probe__##_provider##___##_name(LTTNG_UST__TP_ARGS_DATA_PROTO(_args)
        }                                                                     \
 }
 
-#include TRACEPOINT_INCLUDE
+#include LTTNG_UST_TRACEPOINT_INCLUDE
 
 #undef __get_dynamic_len
 
@@ -943,7 +949,7 @@ void __event_probe__##_provider##___##_name(LTTNG_UST__TP_ARGS_DATA_PROTO(_args)
 static const char __tp_event_signature___##_provider##___##_name[] =   \
                _TP_EXTRACT_STRING2(_args);
 
-#include TRACEPOINT_INCLUDE
+#include LTTNG_UST_TRACEPOINT_INCLUDE
 
 #undef _TP_EXTRACT_STRING2
 
@@ -971,14 +977,14 @@ static const char __tp_event_signature___##_provider##___##_name[] =      \
 #define LTTNG_UST_TP_EXTERN_C
 #endif
 
-#undef TRACEPOINT_LOGLEVEL
-#define TRACEPOINT_LOGLEVEL(__provider, __name, __loglevel)                    \
+#undef LTTNG_UST_TRACEPOINT_LOGLEVEL
+#define LTTNG_UST_TRACEPOINT_LOGLEVEL(__provider, __name, __loglevel)                  \
 static const int _loglevel_value___##__provider##___##__name = __loglevel;     \
 LTTNG_UST_TP_EXTERN_C const int * const _loglevel___##__provider##___##__name  \
                __attribute__((visibility("hidden"))) =                         \
                &_loglevel_value___##__provider##___##__name;
 
-#include TRACEPOINT_INCLUDE
+#include LTTNG_UST_TRACEPOINT_INCLUDE
 
 #undef LTTNG_UST_TP_EXTERN_C
 
@@ -1003,12 +1009,12 @@ LTTNG_UST_TP_EXTERN_C const int * const _loglevel___##__provider##___##__name   \
 #define LTTNG_UST_TP_EXTERN_C
 #endif
 
-#undef TRACEPOINT_MODEL_EMF_URI
-#define TRACEPOINT_MODEL_EMF_URI(__provider, __name, __uri)               \
+#undef LTTNG_UST_TRACEPOINT_MODEL_EMF_URI
+#define LTTNG_UST_TRACEPOINT_MODEL_EMF_URI(__provider, __name, __uri)             \
 LTTNG_UST_TP_EXTERN_C const char * const _model_emf_uri___##__provider##___##__name   \
                __attribute__((visibility("hidden"))) = __uri;             \
 
-#include TRACEPOINT_INCLUDE
+#include LTTNG_UST_TRACEPOINT_INCLUDE
 
 #undef LTTNG_UST_TP_EXTERN_C
 
@@ -1022,7 +1028,7 @@ LTTNG_UST_TP_EXTERN_C const char * const _model_emf_uri___##__provider##___##__n
  * symbol table.
  */
 
-extern const struct lttng_ust_probe_desc LTTNG_UST__TP_COMBINE_TOKENS(__probe_desc___, TRACEPOINT_PROVIDER)
+extern const struct lttng_ust_probe_desc LTTNG_UST__TP_COMBINE_TOKENS(__probe_desc___, LTTNG_UST_TRACEPOINT_PROVIDER)
        __attribute__((visibility("hidden")));
 
 /*
@@ -1062,7 +1068,7 @@ static const struct lttng_ust_event_desc __event_desc___##_provider##_##_name =
        .model_emf_uri = &__ref_model_emf_uri___##_provider##___##_name,       \
 };
 
-#include TRACEPOINT_INCLUDE
+#include LTTNG_UST_TRACEPOINT_INCLUDE
 
 /*
  * Stage 7.2 of tracepoint event generation.
@@ -1077,8 +1083,8 @@ static const struct lttng_ust_event_desc __event_desc___##_provider##_##_name =
 #define LTTNG_UST__TRACEPOINT_EVENT_INSTANCE(_provider, _template, _name, _args)              \
        &__event_desc___##_provider##_##_name,
 
-static const struct lttng_ust_event_desc * const LTTNG_UST__TP_COMBINE_TOKENS(__event_desc___, TRACEPOINT_PROVIDER)[] = {
-#include TRACEPOINT_INCLUDE
+static const struct lttng_ust_event_desc * const LTTNG_UST__TP_COMBINE_TOKENS(__event_desc___, LTTNG_UST_TRACEPOINT_PROVIDER)[] = {
+#include LTTNG_UST_TRACEPOINT_INCLUDE
        NULL,   /* Dummy, C99 forbids 0-len array. */
 };
 
@@ -1089,17 +1095,17 @@ static const struct lttng_ust_event_desc * const LTTNG_UST__TP_COMBINE_TOKENS(__
  * Create a toplevel descriptor for the whole probe.
  */
 
-const struct lttng_ust_probe_desc LTTNG_UST__TP_COMBINE_TOKENS(__probe_desc___, TRACEPOINT_PROVIDER) = {
+const struct lttng_ust_probe_desc LTTNG_UST__TP_COMBINE_TOKENS(__probe_desc___, LTTNG_UST_TRACEPOINT_PROVIDER) = {
        .struct_size = sizeof(struct lttng_ust_probe_desc),
-       .provider_name = __tp_stringify(TRACEPOINT_PROVIDER),
-       .event_desc = LTTNG_UST__TP_COMBINE_TOKENS(__event_desc___, TRACEPOINT_PROVIDER),
-       .nr_events = _TP_ARRAY_SIZE(LTTNG_UST__TP_COMBINE_TOKENS(__event_desc___, TRACEPOINT_PROVIDER)) - 1,
+       .provider_name = __tp_stringify(LTTNG_UST_TRACEPOINT_PROVIDER),
+       .event_desc = LTTNG_UST__TP_COMBINE_TOKENS(__event_desc___, LTTNG_UST_TRACEPOINT_PROVIDER),
+       .nr_events = _TP_ARRAY_SIZE(LTTNG_UST__TP_COMBINE_TOKENS(__event_desc___, LTTNG_UST_TRACEPOINT_PROVIDER)) - 1,
        .major = LTTNG_UST_PROVIDER_MAJOR,
        .minor = LTTNG_UST_PROVIDER_MINOR,
 };
 
-static int LTTNG_UST__TP_COMBINE_TOKENS(__probe_register_refcount___, TRACEPOINT_PROVIDER);
-static struct lttng_ust_registered_probe *LTTNG_UST__TP_COMBINE_TOKENS(__lttng_ust_probe_register_cookie___, TRACEPOINT_PROVIDER);
+static int LTTNG_UST__TP_COMBINE_TOKENS(__probe_register_refcount___, LTTNG_UST_TRACEPOINT_PROVIDER);
+static struct lttng_ust_registered_probe *LTTNG_UST__TP_COMBINE_TOKENS(__lttng_ust_probe_register_cookie___, LTTNG_UST_TRACEPOINT_PROVIDER);
 
 /*
  * Stage 9 of tracepoint event generation.
@@ -1115,48 +1121,48 @@ static struct lttng_ust_registered_probe *LTTNG_UST__TP_COMBINE_TOKENS(__lttng_u
 /* Reset all macros within LTTNG_UST_TRACEPOINT_EVENT */
 #include <lttng/ust-tracepoint-event-reset.h>
 static void
-LTTNG_UST__TP_COMBINE_TOKENS(__lttng_ust_events_init__, TRACEPOINT_PROVIDER)(void)
+LTTNG_UST__TP_COMBINE_TOKENS(__lttng_ust_events_init__, LTTNG_UST_TRACEPOINT_PROVIDER)(void)
        lttng_ust_notrace __attribute__((constructor));
 static void
-LTTNG_UST__TP_COMBINE_TOKENS(__lttng_ust_events_init__, TRACEPOINT_PROVIDER)(void)
+LTTNG_UST__TP_COMBINE_TOKENS(__lttng_ust_events_init__, LTTNG_UST_TRACEPOINT_PROVIDER)(void)
 {
        struct lttng_ust_registered_probe *reg_probe;
 
        if (LTTNG_UST__TP_COMBINE_TOKENS(__probe_register_refcount___,
-                       TRACEPOINT_PROVIDER)++) {
+                       LTTNG_UST_TRACEPOINT_PROVIDER)++) {
                return;
        }
        /*
-        * lttng_ust_tracepoint_provider_check_ ## TRACEPOINT_PROVIDER() is a
+        * lttng_ust_tracepoint_provider_check_ ## LTTNG_UST_TRACEPOINT_PROVIDER() is a
         * static inline function that ensures every probe PROVIDER
         * argument match the provider within which they appear. It
         * calls empty static inline functions, and therefore has no
         * runtime effect. However, if it detects an error, a linker
         * error will appear.
         */
-       LTTNG_UST__TP_COMBINE_TOKENS(lttng_ust_tracepoint_provider_check_, TRACEPOINT_PROVIDER)();
-       assert(!LTTNG_UST__TP_COMBINE_TOKENS(__lttng_ust_probe_register_cookie___, TRACEPOINT_PROVIDER));
-       reg_probe = lttng_ust_probe_register(&LTTNG_UST__TP_COMBINE_TOKENS(__probe_desc___, TRACEPOINT_PROVIDER));
+       LTTNG_UST__TP_COMBINE_TOKENS(lttng_ust_tracepoint_provider_check_, LTTNG_UST_TRACEPOINT_PROVIDER)();
+       assert(!LTTNG_UST__TP_COMBINE_TOKENS(__lttng_ust_probe_register_cookie___, LTTNG_UST_TRACEPOINT_PROVIDER));
+       reg_probe = lttng_ust_probe_register(&LTTNG_UST__TP_COMBINE_TOKENS(__probe_desc___, LTTNG_UST_TRACEPOINT_PROVIDER));
        if (!reg_probe) {
                fprintf(stderr, "LTTng-UST: Error while registering tracepoint probe.\n");
                abort();
        }
-       LTTNG_UST__TP_COMBINE_TOKENS(__lttng_ust_probe_register_cookie___, TRACEPOINT_PROVIDER) = reg_probe;
+       LTTNG_UST__TP_COMBINE_TOKENS(__lttng_ust_probe_register_cookie___, LTTNG_UST_TRACEPOINT_PROVIDER) = reg_probe;
 }
 
 static void
-LTTNG_UST__TP_COMBINE_TOKENS(__lttng_ust_events_exit__, TRACEPOINT_PROVIDER)(void)
+LTTNG_UST__TP_COMBINE_TOKENS(__lttng_ust_events_exit__, LTTNG_UST_TRACEPOINT_PROVIDER)(void)
        lttng_ust_notrace __attribute__((destructor));
 static void
-LTTNG_UST__TP_COMBINE_TOKENS(__lttng_ust_events_exit__, TRACEPOINT_PROVIDER)(void)
+LTTNG_UST__TP_COMBINE_TOKENS(__lttng_ust_events_exit__, LTTNG_UST_TRACEPOINT_PROVIDER)(void)
 {
        if (--LTTNG_UST__TP_COMBINE_TOKENS(__probe_register_refcount___,
-                       TRACEPOINT_PROVIDER)) {
+                       LTTNG_UST_TRACEPOINT_PROVIDER)) {
                return;
        }
-       lttng_ust_probe_unregister(LTTNG_UST__TP_COMBINE_TOKENS(__lttng_ust_probe_register_cookie___, TRACEPOINT_PROVIDER));
-       LTTNG_UST__TP_COMBINE_TOKENS(__lttng_ust_probe_register_cookie___, TRACEPOINT_PROVIDER) = NULL;
+       lttng_ust_probe_unregister(LTTNG_UST__TP_COMBINE_TOKENS(__lttng_ust_probe_register_cookie___, LTTNG_UST_TRACEPOINT_PROVIDER));
+       LTTNG_UST__TP_COMBINE_TOKENS(__lttng_ust_probe_register_cookie___, LTTNG_UST_TRACEPOINT_PROVIDER) = NULL;
 }
 
-int LTTNG_UST__TP_COMBINE_TOKENS(lttng_ust_tracepoint_provider_, TRACEPOINT_PROVIDER)
+int LTTNG_UST__TP_COMBINE_TOKENS(lttng_ust_tracepoint_provider_, LTTNG_UST_TRACEPOINT_PROVIDER)
        __attribute__((visibility("default")));
This page took 0.029862 seconds and 4 git commands to generate.