configure: enable -Wsuggest-attribute=format
[babeltrace.git] / include / babeltrace2 / babeltrace.h
CommitLineData
924dc299
PP
1#ifndef BABELTRACE2_BABELTRACE_H
2#define BABELTRACE2_BABELTRACE_H
3fadfbc0
MJ
3
4/*
bbb7b5f0 5 * Copyright (c) 2010-2019 EfficiOS Inc. and Linux Foundation
3fadfbc0
MJ
6 *
7 * Permission is hereby granted, free of charge, to any person obtaining a copy
8 * of this software and associated documentation files (the "Software"), to deal
9 * in the Software without restriction, including without limitation the rights
10 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11 * copies of the Software, and to permit persons to whom the Software is
12 * furnished to do so, subject to the following conditions:
13 *
14 * The above copyright notice and this permission notice shall be included in
15 * all copies or substantial portions of the Software.
16 *
17 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
23 * SOFTWARE.
24 */
25
4fa90f32
PP
26/*
27 * Tell the specific headers that they are included from this header.
28 *
29 * Do NOT define `__BT_IN_BABELTRACE_H` in user code.
30 */
31#ifndef __BT_IN_BABELTRACE_H
32# define __BT_IN_BABELTRACE_H
33#endif
34
06b2c294 35/* Internal: needed by some of the following included headers */
4fa90f32
PP
36#include <babeltrace2/func-status.h>
37
06b2c294
PP
38/* Internal: needed by some of the following included headers */
39#ifdef __cplusplus
40# define __BT_UPCAST(_type, _p) static_cast<_type *>(static_cast<void *>(_p))
41# define __BT_UPCAST_CONST(_type, _p) static_cast<const _type *>(static_cast<const void *>(_p))
42#else
43# define __BT_UPCAST(_type, _p) ((_type *) (_p))
44# define __BT_UPCAST_CONST(_type, _p) ((const _type *) (_p))
45#endif
46
8b305066
SM
47/*
48 * Internal: attribute suitable to tag functions as having printf()-like
49 * arguments.
50 *
51 * We always define `__USE_MINGW_ANSI_STDIO` when building with MinGW, so use
52 * `gnu_printf` directly rather than `__MINGW_PRINTF_FORMAT` (which would require
53 * including `stdio.h`).
54 */
55#ifdef __MINGW32__
56# define __BT_PRINTF_FORMAT gnu_printf
57#else
58# define __BT_PRINTF_FORMAT printf
59#endif
60
61#define __BT_ATTR_FORMAT_PRINTF(_string_index, _first_to_check) \
62 __attribute__((format(__BT_PRINTF_FORMAT, _string_index, _first_to_check)))
63
43c59509
PP
64#include <babeltrace2/error-reporting.h>
65#include <babeltrace2/graph/component-class-dev.h>
66#include <babeltrace2/graph/component-class.h>
67#include <babeltrace2/graph/component-descriptor-set.h>
68#include <babeltrace2/graph/component.h>
69#include <babeltrace2/graph/connection.h>
70#include <babeltrace2/graph/graph.h>
71#include <babeltrace2/graph/interrupter.h>
72#include <babeltrace2/graph/message-iterator.h>
73#include <babeltrace2/graph/message.h>
74#include <babeltrace2/graph/port.h>
75#include <babeltrace2/graph/private-query-executor.h>
76#include <babeltrace2/graph/query-executor.h>
77#include <babeltrace2/graph/self-component-class.h>
78#include <babeltrace2/graph/self-component-port.h>
79#include <babeltrace2/graph/self-component.h>
80#include <babeltrace2/graph/self-message-iterator.h>
fb91c0ef 81#include <babeltrace2/integer-range-set.h>
3fadfbc0 82#include <babeltrace2/logging.h>
43c59509
PP
83#include <babeltrace2/plugin/plugin-dev.h>
84#include <babeltrace2/plugin/plugin-loading.h>
3fadfbc0 85#include <babeltrace2/trace-ir/clock-class.h>
43c59509 86#include <babeltrace2/trace-ir/clock-snapshot.h>
3fadfbc0 87#include <babeltrace2/trace-ir/event-class.h>
3fadfbc0 88#include <babeltrace2/trace-ir/event.h>
3fadfbc0 89#include <babeltrace2/trace-ir/field-class.h>
43c59509 90#include <babeltrace2/trace-ir/field-path.h>
3fadfbc0 91#include <babeltrace2/trace-ir/field.h>
3fadfbc0 92#include <babeltrace2/trace-ir/packet.h>
3fadfbc0 93#include <babeltrace2/trace-ir/stream-class.h>
3fadfbc0 94#include <babeltrace2/trace-ir/stream.h>
3fadfbc0 95#include <babeltrace2/trace-ir/trace-class.h>
3fadfbc0 96#include <babeltrace2/trace-ir/trace.h>
43c59509
PP
97#include <babeltrace2/types.h>
98#include <babeltrace2/util.h>
99#include <babeltrace2/value.h>
100#include <babeltrace2/version.h>
4fa90f32
PP
101
102/* Cancel private definitions */
9b4f9b42
PP
103#undef __BT_FUNC_STATUS_AGAIN
104#undef __BT_FUNC_STATUS_END
9b4f9b42
PP
105#undef __BT_FUNC_STATUS_ERROR
106#undef __BT_FUNC_STATUS_INTERRUPTED
76b6c2f7 107#undef __BT_FUNC_STATUS_UNKNOWN_OBJECT
4fa90f32 108#undef __BT_FUNC_STATUS_MEMORY_ERROR
4fa90f32 109#undef __BT_FUNC_STATUS_NOT_FOUND
9b4f9b42 110#undef __BT_FUNC_STATUS_OK
520cdc82 111#undef __BT_FUNC_STATUS_OVERFLOW_ERROR
27c61ce8 112#undef __BT_FUNC_STATUS_USER_ERROR
4fa90f32 113#undef __BT_IN_BABELTRACE_H
06b2c294
PP
114#undef __BT_UPCAST
115#undef __BT_UPCAST_CONST
9103e903
SM
116#undef __BT_LOGGING_LEVEL_TRACE
117#undef __BT_LOGGING_LEVEL_DEBUG
118#undef __BT_LOGGING_LEVEL_INFO
119#undef __BT_LOGGING_LEVEL_WARNING
120#undef __BT_LOGGING_LEVEL_ERROR
121#undef __BT_LOGGING_LEVEL_FATAL
122#undef __BT_LOGGING_LEVEL_NONE
3fadfbc0 123
924dc299 124#endif /* BABELTRACE2_BABELTRACE_H */
This page took 0.049002 seconds and 4 git commands to generate.