Remove vtracelog and vtracef from v0 compat API
[lttng-ust.git] / include / lttng / tracelog.h
1 /*
2 * SPDX-License-Identifier: MIT
3 *
4 * Copyright (C) 2013-2015 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
5 */
6
7 #ifndef _LTTNG_UST_TRACELOG_H
8 #define _LTTNG_UST_TRACELOG_H
9
10 #include <lttng/ust-api-compat.h>
11 #include <lttng/tp/lttng-ust-tracelog.h>
12
13 #ifdef __cplusplus
14 extern "C" {
15 #endif
16
17 #define LTTNG_UST_TP_TRACELOG_CB_TEMPLATE(level) \
18 extern void lttng_ust__tracelog_##level(const char *file, \
19 int line, const char *func, const char *fmt, ...) \
20 __attribute__ ((format(printf, 4, 5))); \
21 \
22 extern void lttng_ust__vtracelog_##level(const char *file, \
23 int line, const char *func, const char *fmt, \
24 va_list ap) \
25 __attribute__ ((format(printf, 4, 0)));
26
27 LTTNG_UST_TP_TRACELOG_CB_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_EMERG);
28 LTTNG_UST_TP_TRACELOG_CB_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_ALERT);
29 LTTNG_UST_TP_TRACELOG_CB_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_CRIT);
30 LTTNG_UST_TP_TRACELOG_CB_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_ERR);
31 LTTNG_UST_TP_TRACELOG_CB_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_WARNING);
32 LTTNG_UST_TP_TRACELOG_CB_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_NOTICE);
33 LTTNG_UST_TP_TRACELOG_CB_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_INFO);
34 LTTNG_UST_TP_TRACELOG_CB_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG_SYSTEM);
35 LTTNG_UST_TP_TRACELOG_CB_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG_PROGRAM);
36 LTTNG_UST_TP_TRACELOG_CB_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG_PROCESS);
37 LTTNG_UST_TP_TRACELOG_CB_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG_MODULE);
38 LTTNG_UST_TP_TRACELOG_CB_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG_UNIT);
39 LTTNG_UST_TP_TRACELOG_CB_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG_FUNCTION);
40 LTTNG_UST_TP_TRACELOG_CB_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG_LINE);
41 LTTNG_UST_TP_TRACELOG_CB_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG);
42
43 #undef LTTNG_UST_TP_TRACELOG_CB_TEMPLATE
44
45 #define lttng_ust_tracelog(level, fmt, ...) \
46 do { \
47 LTTNG_UST_STAP_PROBEV(tracepoint_lttng_ust_tracelog, level, ## __VA_ARGS__); \
48 if (caa_unlikely(lttng_ust_tracepoint_lttng_ust_tracelog___##level.state)) \
49 lttng_ust__tracelog_##level(__FILE__, __LINE__, __func__, \
50 fmt, ## __VA_ARGS__); \
51 } while (0)
52
53 #define lttng_ust_vtracelog(level, fmt, ap) \
54 do { \
55 if (caa_unlikely(lttng_ust_tracepoint_lttng_ust_tracelog___##level.state)) \
56 lttng_ust__vtracelog_##level(__FILE__, __LINE__, __func__, \
57 fmt, ap); \
58 } while (0)
59
60 #if LTTNG_UST_COMPAT_API(0)
61 #define TP_TRACELOG_CB_TEMPLATE LTTNG_UST_TP_TRACELOG_CB_TEMPLATE
62 #define tracelog lttng_ust_tracelog
63 #endif
64
65 #ifdef __cplusplus
66 }
67 #endif
68
69 #endif /* _LTTNG_UST_TRACELOG_H */
This page took 0.029969 seconds and 4 git commands to generate.