Tracepoint API namespacing 'TRACEPOINT_LOGLEVEL'
[lttng-ust.git] / include / lttng / tracelog.h
CommitLineData
0cb03c85 1/*
c0c0989a 2 * SPDX-License-Identifier: MIT
0cb03c85 3 *
c0c0989a 4 * Copyright (C) 2013-2015 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
0cb03c85
MD
5 */
6
c0c0989a
MJ
7#ifndef _LTTNG_UST_TRACELOG_H
8#define _LTTNG_UST_TRACELOG_H
9
b15c4010 10#include <lttng/tp/lttng-ust-tracelog.h>
0cb03c85
MD
11
12#ifdef __cplusplus
13extern "C" {
14#endif
15
49faeca7
MD
16#define TP_TRACELOG_CB_TEMPLATE(level) \
17 extern void _lttng_ust_tracelog_##level(const char *file, \
4199ddc7
MJ
18 int line, const char *func, const char *fmt, ...) \
19 __attribute__ ((format(printf, 4, 5))); \
20 \
49faeca7 21 extern void _lttng_ust_vtracelog_##level(const char *file, \
4199ddc7
MJ
22 int line, const char *func, const char *fmt, \
23 va_list ap) \
24 __attribute__ ((format(printf, 4, 0)));
0cb03c85 25
612e9ce4
MJ
26TP_TRACELOG_CB_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_EMERG);
27TP_TRACELOG_CB_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_ALERT);
28TP_TRACELOG_CB_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_CRIT);
29TP_TRACELOG_CB_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_ERR);
30TP_TRACELOG_CB_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_WARNING);
31TP_TRACELOG_CB_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_NOTICE);
32TP_TRACELOG_CB_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_INFO);
33TP_TRACELOG_CB_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG_SYSTEM);
34TP_TRACELOG_CB_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG_PROGRAM);
35TP_TRACELOG_CB_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG_PROCESS);
36TP_TRACELOG_CB_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG_MODULE);
37TP_TRACELOG_CB_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG_UNIT);
38TP_TRACELOG_CB_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG_FUNCTION);
39TP_TRACELOG_CB_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG_LINE);
40TP_TRACELOG_CB_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG);
0cb03c85
MD
41
42#undef TP_TRACELOG_CB_TEMPLATE
43
44#define tracelog(level, fmt, ...) \
45 do { \
b88f9167 46 LTTNG_UST_STAP_PROBEV(tracepoint_lttng_ust_tracelog, level, ## __VA_ARGS__); \
0274f7f2 47 if (caa_unlikely(lttng_ust_tracepoint_lttng_ust_tracelog___##level.state)) \
0cb03c85 48 _lttng_ust_tracelog_##level(__FILE__, __LINE__, __func__, \
49faeca7 49 fmt, ## __VA_ARGS__); \
0cb03c85
MD
50 } while (0)
51
bd9bb3c7
MRB
52#define vtracelog(level, fmt, ap) \
53 do { \
0274f7f2 54 if (caa_unlikely(lttng_ust_tracepoint_lttng_ust_tracelog___##level.state)) \
49faeca7
MD
55 _lttng_ust_vtracelog_##level(__FILE__, __LINE__, __func__, \
56 fmt, ap); \
bd9bb3c7
MRB
57 } while (0)
58
0cb03c85
MD
59#ifdef __cplusplus
60}
61#endif
62
63#endif /* _LTTNG_UST_TRACELOG_H */
This page took 0.028737 seconds and 4 git commands to generate.