configure: enable -Wsuggest-attribute=format
[babeltrace.git] / include / babeltrace2 / babeltrace.h
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.031539 seconds and 4 git commands to generate.