fix: add format attribute to relevant functions (-Wsuggest-attribute=format)
[lttng-ust.git] / include / lttng / tracelog.h
... / ...
CommitLineData
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/tp/lttng-ust-tracelog.h>
11
12#ifdef __cplusplus
13extern "C" {
14#endif
15
16#define TP_TRACELOG_CB_TEMPLATE(level) \
17 __attribute__ ((format(printf, 4, 5))) \
18 extern void _lttng_ust_tracelog_##level(const char *file, \
19 int line, const char *func, const char *fmt, ...); \
20 __attribute__ ((format(printf, 4, 0))) \
21 extern void _lttng_ust_vtracelog_##level(const char *file, \
22 int line, const char *func, const char *fmt, va_list ap);
23
24TP_TRACELOG_CB_TEMPLATE(TRACE_EMERG);
25TP_TRACELOG_CB_TEMPLATE(TRACE_ALERT);
26TP_TRACELOG_CB_TEMPLATE(TRACE_CRIT);
27TP_TRACELOG_CB_TEMPLATE(TRACE_ERR);
28TP_TRACELOG_CB_TEMPLATE(TRACE_WARNING);
29TP_TRACELOG_CB_TEMPLATE(TRACE_NOTICE);
30TP_TRACELOG_CB_TEMPLATE(TRACE_INFO);
31TP_TRACELOG_CB_TEMPLATE(TRACE_DEBUG_SYSTEM);
32TP_TRACELOG_CB_TEMPLATE(TRACE_DEBUG_PROGRAM);
33TP_TRACELOG_CB_TEMPLATE(TRACE_DEBUG_PROCESS);
34TP_TRACELOG_CB_TEMPLATE(TRACE_DEBUG_MODULE);
35TP_TRACELOG_CB_TEMPLATE(TRACE_DEBUG_UNIT);
36TP_TRACELOG_CB_TEMPLATE(TRACE_DEBUG_FUNCTION);
37TP_TRACELOG_CB_TEMPLATE(TRACE_DEBUG_LINE);
38TP_TRACELOG_CB_TEMPLATE(TRACE_DEBUG);
39
40#undef TP_TRACELOG_CB_TEMPLATE
41
42#define tracelog(level, fmt, ...) \
43 do { \
44 LTTNG_STAP_PROBEV(tracepoint_lttng_ust_tracelog, level, ## __VA_ARGS__); \
45 if (caa_unlikely(__tracepoint_lttng_ust_tracelog___##level.state)) \
46 _lttng_ust_tracelog_##level(__FILE__, __LINE__, __func__, \
47 fmt, ## __VA_ARGS__); \
48 } while (0)
49
50#define vtracelog(level, fmt, ap) \
51 do { \
52 if (caa_unlikely(__tracepoint_lttng_ust_tracelog___##level.state)) \
53 _lttng_ust_vtracelog_##level(__FILE__, __LINE__, __func__, \
54 fmt, ap); \
55 } while (0)
56
57#ifdef __cplusplus
58}
59#endif
60
61#endif /* _LTTNG_UST_TRACELOG_H */
This page took 0.022359 seconds and 4 git commands to generate.