2 * SPDX-License-Identifier: MIT
4 * Copyright (C) 2013-2014 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
9 #include "common/macros.h"
11 /* The tracepoint definition is public, but the provider definition is hidden. */
12 #define LTTNG_UST_TRACEPOINT_PROVIDER_HIDDEN_DEFINITION
14 #define LTTNG_UST_TRACEPOINT_CREATE_PROBES
15 #define LTTNG_UST_TRACEPOINT_DEFINE
16 #include "lttng-ust-tracelog-provider.h"
18 #define LTTNG_UST_TRACELOG_CB(level) \
20 void lttng_ust___vtracelog_##level(const char *file, \
21 int line, const char *func, \
22 const char *fmt, va_list ap) \
23 __attribute__((always_inline, format(printf, 4, 0))); \
26 void lttng_ust___vtracelog_##level(const char *file, \
27 int line, const char *func, \
28 const char *fmt, va_list ap) \
31 const int len = vasprintf(&msg, fmt, ap); \
33 /* len does not include the final \0 */ \
36 lttng_ust_tracepoint_cb_lttng_ust_tracelog___##level(file, \
37 line, func, msg, len, \
38 LTTNG_UST_CALLER_IP()); \
44 void lttng_ust__vtracelog_##level(const char *file, \
45 int line, const char *func, \
46 const char *fmt, va_list ap) \
47 __attribute__ ((format(printf, 4, 0))); \
49 void lttng_ust__vtracelog_##level(const char *file, \
50 int line, const char *func, \
51 const char *fmt, va_list ap); \
52 void lttng_ust__vtracelog_##level(const char *file, \
53 int line, const char *func, \
54 const char *fmt, va_list ap) \
56 lttng_ust___vtracelog_##level(file, line, func, fmt, ap); \
59 void lttng_ust__tracelog_##level(const char *file, \
60 int line, const char *func, \
61 const char *fmt, ...) \
62 __attribute__ ((format(printf, 4, 5))); \
64 void lttng_ust__tracelog_##level(const char *file, \
65 int line, const char *func, \
66 const char *fmt, ...); \
67 void lttng_ust__tracelog_##level(const char *file, \
68 int line, const char *func, \
69 const char *fmt, ...) \
74 lttng_ust___vtracelog_##level(file, line, func, fmt, ap); \
78 LTTNG_UST_TRACELOG_CB(LTTNG_UST_TRACEPOINT_LOGLEVEL_EMERG
)
79 LTTNG_UST_TRACELOG_CB(LTTNG_UST_TRACEPOINT_LOGLEVEL_ALERT
)
80 LTTNG_UST_TRACELOG_CB(LTTNG_UST_TRACEPOINT_LOGLEVEL_CRIT
)
81 LTTNG_UST_TRACELOG_CB(LTTNG_UST_TRACEPOINT_LOGLEVEL_ERR
)
82 LTTNG_UST_TRACELOG_CB(LTTNG_UST_TRACEPOINT_LOGLEVEL_WARNING
)
83 LTTNG_UST_TRACELOG_CB(LTTNG_UST_TRACEPOINT_LOGLEVEL_NOTICE
)
84 LTTNG_UST_TRACELOG_CB(LTTNG_UST_TRACEPOINT_LOGLEVEL_INFO
)
85 LTTNG_UST_TRACELOG_CB(LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG_SYSTEM
)
86 LTTNG_UST_TRACELOG_CB(LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG_PROGRAM
)
87 LTTNG_UST_TRACELOG_CB(LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG_PROCESS
)
88 LTTNG_UST_TRACELOG_CB(LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG_MODULE
)
89 LTTNG_UST_TRACELOG_CB(LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG_UNIT
)
90 LTTNG_UST_TRACELOG_CB(LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG_FUNCTION
)
91 LTTNG_UST_TRACELOG_CB(LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG_LINE
)
92 LTTNG_UST_TRACELOG_CB(LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG
)