Hide internal tracepoint and providers data symbols
[lttng-ust.git] / src / lib / lttng-ust / tracelog.c
CommitLineData
0cb03c85 1/*
c0c0989a 2 * SPDX-License-Identifier: MIT
0cb03c85 3 *
c0c0989a 4 * Copyright (C) 2013-2014 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
0cb03c85
MD
5 */
6
0cb03c85
MD
7#define _LGPL_SOURCE
8#include <stdio.h>
9d315d6d 9#include "common/macros.h"
0cb03c85 10
6ba0c2b2
MD
11/* The tracepoint definition is public, but the provider definition is hidden. */
12#define LTTNG_UST_TRACEPOINT_PROVIDER_HIDDEN_DEFINITION
13
660323e6 14#define LTTNG_UST_TRACEPOINT_CREATE_PROBES
88c7c4ea 15#define LTTNG_UST_TRACEPOINT_DEFINE
0cb03c85
MD
16#include "lttng-ust-tracelog-provider.h"
17
1698631b 18#define LTTNG_UST_TRACELOG_CB(level) \
4199ddc7 19 static inline \
1698631b 20 void lttng_ust___vtracelog_##level(const char *file, \
4199ddc7
MJ
21 int line, const char *func, \
22 const char *fmt, va_list ap) \
23 __attribute__((always_inline, format(printf, 4, 0))); \
24 \
25 static inline \
1698631b 26 void lttng_ust___vtracelog_##level(const char *file, \
0cb03c85 27 int line, const char *func, \
bd9bb3c7 28 const char *fmt, va_list ap) \
0cb03c85 29 { \
0cb03c85 30 char *msg; \
bd9bb3c7 31 const int len = vasprintf(&msg, fmt, ap); \
0cb03c85 32 \
0cb03c85
MD
33 /* len does not include the final \0 */ \
34 if (len < 0) \
35 goto end; \
0274f7f2 36 lttng_ust_tracepoint_cb_lttng_ust_tracelog___##level(file, \
0cb03c85 37 line, func, msg, len, \
171fcc6f 38 LTTNG_UST_CALLER_IP()); \
0cb03c85
MD
39 free(msg); \
40 end: \
bd9bb3c7
MRB
41 return; \
42 } \
43 \
1698631b 44 void lttng_ust__vtracelog_##level(const char *file, \
4199ddc7
MJ
45 int line, const char *func, \
46 const char *fmt, va_list ap) \
47 __attribute__ ((format(printf, 4, 0))); \
48 \
1698631b 49 void lttng_ust__vtracelog_##level(const char *file, \
4b4a1337
MJ
50 int line, const char *func, \
51 const char *fmt, va_list ap); \
1698631b 52 void lttng_ust__vtracelog_##level(const char *file, \
bd9bb3c7
MRB
53 int line, const char *func, \
54 const char *fmt, va_list ap) \
55 { \
1698631b 56 lttng_ust___vtracelog_##level(file, line, func, fmt, ap); \
bd9bb3c7
MRB
57 } \
58 \
1698631b 59 void lttng_ust__tracelog_##level(const char *file, \
4199ddc7
MJ
60 int line, const char *func, \
61 const char *fmt, ...) \
62 __attribute__ ((format(printf, 4, 5))); \
63 \
1698631b 64 void lttng_ust__tracelog_##level(const char *file, \
4b4a1337
MJ
65 int line, const char *func, \
66 const char *fmt, ...); \
1698631b 67 void lttng_ust__tracelog_##level(const char *file, \
bd9bb3c7
MRB
68 int line, const char *func, \
69 const char *fmt, ...) \
70 { \
71 va_list ap; \
72 \
73 va_start(ap, fmt); \
1698631b 74 lttng_ust___vtracelog_##level(file, line, func, fmt, ap); \
0cb03c85
MD
75 va_end(ap); \
76 }
77
1698631b
MJ
78LTTNG_UST_TRACELOG_CB(LTTNG_UST_TRACEPOINT_LOGLEVEL_EMERG)
79LTTNG_UST_TRACELOG_CB(LTTNG_UST_TRACEPOINT_LOGLEVEL_ALERT)
80LTTNG_UST_TRACELOG_CB(LTTNG_UST_TRACEPOINT_LOGLEVEL_CRIT)
81LTTNG_UST_TRACELOG_CB(LTTNG_UST_TRACEPOINT_LOGLEVEL_ERR)
82LTTNG_UST_TRACELOG_CB(LTTNG_UST_TRACEPOINT_LOGLEVEL_WARNING)
83LTTNG_UST_TRACELOG_CB(LTTNG_UST_TRACEPOINT_LOGLEVEL_NOTICE)
84LTTNG_UST_TRACELOG_CB(LTTNG_UST_TRACEPOINT_LOGLEVEL_INFO)
85LTTNG_UST_TRACELOG_CB(LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG_SYSTEM)
86LTTNG_UST_TRACELOG_CB(LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG_PROGRAM)
87LTTNG_UST_TRACELOG_CB(LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG_PROCESS)
88LTTNG_UST_TRACELOG_CB(LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG_MODULE)
89LTTNG_UST_TRACELOG_CB(LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG_UNIT)
90LTTNG_UST_TRACELOG_CB(LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG_FUNCTION)
91LTTNG_UST_TRACELOG_CB(LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG_LINE)
92LTTNG_UST_TRACELOG_CB(LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG)
This page took 0.034504 seconds and 4 git commands to generate.