configure: enable -Wsuggest-attribute=format
[babeltrace.git] / include / babeltrace2 / babeltrace.h
... / ...
CommitLineData
1#ifndef BABELTRACE2_BABELTRACE_H
2#define BABELTRACE2_BABELTRACE_H
3
4/*
5 * Copyright (c) 2010-2019 EfficiOS Inc. and Linux Foundation
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
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
35/* Internal: needed by some of the following included headers */
36#include <babeltrace2/func-status.h>
37
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
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
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>
81#include <babeltrace2/integer-range-set.h>
82#include <babeltrace2/logging.h>
83#include <babeltrace2/plugin/plugin-dev.h>
84#include <babeltrace2/plugin/plugin-loading.h>
85#include <babeltrace2/trace-ir/clock-class.h>
86#include <babeltrace2/trace-ir/clock-snapshot.h>
87#include <babeltrace2/trace-ir/event-class.h>
88#include <babeltrace2/trace-ir/event.h>
89#include <babeltrace2/trace-ir/field-class.h>
90#include <babeltrace2/trace-ir/field-path.h>
91#include <babeltrace2/trace-ir/field.h>
92#include <babeltrace2/trace-ir/packet.h>
93#include <babeltrace2/trace-ir/stream-class.h>
94#include <babeltrace2/trace-ir/stream.h>
95#include <babeltrace2/trace-ir/trace-class.h>
96#include <babeltrace2/trace-ir/trace.h>
97#include <babeltrace2/types.h>
98#include <babeltrace2/util.h>
99#include <babeltrace2/value.h>
100#include <babeltrace2/version.h>
101
102/* Cancel private definitions */
103#undef __BT_FUNC_STATUS_AGAIN
104#undef __BT_FUNC_STATUS_END
105#undef __BT_FUNC_STATUS_ERROR
106#undef __BT_FUNC_STATUS_INTERRUPTED
107#undef __BT_FUNC_STATUS_UNKNOWN_OBJECT
108#undef __BT_FUNC_STATUS_MEMORY_ERROR
109#undef __BT_FUNC_STATUS_NOT_FOUND
110#undef __BT_FUNC_STATUS_OK
111#undef __BT_FUNC_STATUS_OVERFLOW_ERROR
112#undef __BT_FUNC_STATUS_USER_ERROR
113#undef __BT_IN_BABELTRACE_H
114#undef __BT_UPCAST
115#undef __BT_UPCAST_CONST
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
123
124#endif /* BABELTRACE2_BABELTRACE_H */
This page took 0.023601 seconds and 4 git commands to generate.