src.ctf.lttng-live: remove some goto error-handling
[babeltrace.git] / include / babeltrace2 / babeltrace.h
CommitLineData
3fadfbc0 1/*
0235b0db 2 * SPDX-License-Identifier: MIT
3fadfbc0 3 *
0235b0db 4 * Copyright (C) 2010-2019 EfficiOS Inc. and Linux Foundation
3fadfbc0
MJ
5 */
6
0235b0db
MJ
7#ifndef BABELTRACE2_BABELTRACE_H
8#define BABELTRACE2_BABELTRACE_H
9
4fa90f32
PP
10/*
11 * Tell the specific headers that they are included from this header.
12 *
13 * Do NOT define `__BT_IN_BABELTRACE_H` in user code.
14 */
15#ifndef __BT_IN_BABELTRACE_H
16# define __BT_IN_BABELTRACE_H
17#endif
18
06b2c294 19/* Internal: needed by some of the following included headers */
4fa90f32
PP
20#include <babeltrace2/func-status.h>
21
06b2c294
PP
22/* Internal: needed by some of the following included headers */
23#ifdef __cplusplus
24# define __BT_UPCAST(_type, _p) static_cast<_type *>(static_cast<void *>(_p))
25# define __BT_UPCAST_CONST(_type, _p) static_cast<const _type *>(static_cast<const void *>(_p))
26#else
27# define __BT_UPCAST(_type, _p) ((_type *) (_p))
28# define __BT_UPCAST_CONST(_type, _p) ((const _type *) (_p))
29#endif
30
8b305066
SM
31/*
32 * Internal: attribute suitable to tag functions as having printf()-like
33 * arguments.
34 *
35 * We always define `__USE_MINGW_ANSI_STDIO` when building with MinGW, so use
36 * `gnu_printf` directly rather than `__MINGW_PRINTF_FORMAT` (which would require
37 * including `stdio.h`).
38 */
39#ifdef __MINGW32__
40# define __BT_PRINTF_FORMAT gnu_printf
41#else
42# define __BT_PRINTF_FORMAT printf
43#endif
44
45#define __BT_ATTR_FORMAT_PRINTF(_string_index, _first_to_check) \
46 __attribute__((format(__BT_PRINTF_FORMAT, _string_index, _first_to_check)))
47
4c81a2b7
PP
48/* Internal: `noexcept` specifier if C++ ≥ 11 */
49#if defined(__cplusplus) && (__cplusplus >= 201103L || (defined(_MSC_VER) && _MSC_VER >= 1900))
50# define __BT_NOEXCEPT noexcept
51#else
52# define __BT_NOEXCEPT
53#endif
54
43c59509
PP
55#include <babeltrace2/error-reporting.h>
56#include <babeltrace2/graph/component-class-dev.h>
57#include <babeltrace2/graph/component-class.h>
58#include <babeltrace2/graph/component-descriptor-set.h>
59#include <babeltrace2/graph/component.h>
60#include <babeltrace2/graph/connection.h>
61#include <babeltrace2/graph/graph.h>
62#include <babeltrace2/graph/interrupter.h>
63#include <babeltrace2/graph/message-iterator.h>
64#include <babeltrace2/graph/message.h>
65#include <babeltrace2/graph/port.h>
66#include <babeltrace2/graph/private-query-executor.h>
67#include <babeltrace2/graph/query-executor.h>
68#include <babeltrace2/graph/self-component-class.h>
69#include <babeltrace2/graph/self-component-port.h>
70#include <babeltrace2/graph/self-component.h>
71#include <babeltrace2/graph/self-message-iterator.h>
fb91c0ef 72#include <babeltrace2/integer-range-set.h>
3fadfbc0 73#include <babeltrace2/logging.h>
43c59509
PP
74#include <babeltrace2/plugin/plugin-dev.h>
75#include <babeltrace2/plugin/plugin-loading.h>
3fadfbc0 76#include <babeltrace2/trace-ir/clock-class.h>
43c59509 77#include <babeltrace2/trace-ir/clock-snapshot.h>
3fadfbc0 78#include <babeltrace2/trace-ir/event-class.h>
3fadfbc0 79#include <babeltrace2/trace-ir/event.h>
3fadfbc0 80#include <babeltrace2/trace-ir/field-class.h>
43c59509 81#include <babeltrace2/trace-ir/field-path.h>
3fadfbc0 82#include <babeltrace2/trace-ir/field.h>
3fadfbc0 83#include <babeltrace2/trace-ir/packet.h>
3fadfbc0 84#include <babeltrace2/trace-ir/stream-class.h>
3fadfbc0 85#include <babeltrace2/trace-ir/stream.h>
3fadfbc0 86#include <babeltrace2/trace-ir/trace-class.h>
3fadfbc0 87#include <babeltrace2/trace-ir/trace.h>
43c59509
PP
88#include <babeltrace2/types.h>
89#include <babeltrace2/util.h>
90#include <babeltrace2/value.h>
91#include <babeltrace2/version.h>
4fa90f32
PP
92
93/* Cancel private definitions */
9b4f9b42
PP
94#undef __BT_FUNC_STATUS_AGAIN
95#undef __BT_FUNC_STATUS_END
9b4f9b42
PP
96#undef __BT_FUNC_STATUS_ERROR
97#undef __BT_FUNC_STATUS_INTERRUPTED
76b6c2f7 98#undef __BT_FUNC_STATUS_UNKNOWN_OBJECT
4fa90f32 99#undef __BT_FUNC_STATUS_MEMORY_ERROR
4fa90f32 100#undef __BT_FUNC_STATUS_NOT_FOUND
9b4f9b42 101#undef __BT_FUNC_STATUS_OK
520cdc82 102#undef __BT_FUNC_STATUS_OVERFLOW_ERROR
27c61ce8 103#undef __BT_FUNC_STATUS_USER_ERROR
4fa90f32 104#undef __BT_IN_BABELTRACE_H
06b2c294
PP
105#undef __BT_UPCAST
106#undef __BT_UPCAST_CONST
9103e903
SM
107#undef __BT_LOGGING_LEVEL_TRACE
108#undef __BT_LOGGING_LEVEL_DEBUG
109#undef __BT_LOGGING_LEVEL_INFO
110#undef __BT_LOGGING_LEVEL_WARNING
111#undef __BT_LOGGING_LEVEL_ERROR
112#undef __BT_LOGGING_LEVEL_FATAL
113#undef __BT_LOGGING_LEVEL_NONE
4c81a2b7 114#undef __BT_NOEXCEPT
3fadfbc0 115
924dc299 116#endif /* BABELTRACE2_BABELTRACE_H */
This page took 0.0665790000000001 seconds and 4 git commands to generate.