*.swp
*~
.cache/
+.clangd
.coverage
+.gdb_history
.theia
+.vscode
compile_commands.json
cscope*
htmlcov/
<tab type="user" visible="yes" url="@ref examples" title="Examples"/>
<tab type="pages" visible="yes" title="All pages" intro=""/>
<tab type="modules" visible="yes" title="API reference"
- intro="List of all API reference modules:"/>
+ intro="List of all API reference pages:"/>
+ <tab type="topics" visible="yes" title="API reference"
+ intro="List of all API reference pages:"/>
</navindex>
<group>
when it returns.
The function descriptions in the
-<a class="el" href="modules.html">API reference modules</a>
+<a class="el" href="topics.html">API reference</a>
list all their preconditions and postconditions, if any.
The libbabeltrace2 public functions offer a
B API functions with an object of type A. For example, because an
\bt_enum_fc \em is conceptually an \bt_int_fc, you can use any integer
field class function with an enumeration field class.
-The <a class="el" href="modules.html">API reference modules</a> always
+The <a class="el" href="topics.html">API reference pages</a> always
indicate the inheritance relations.
@subsection api-fund-object-shared-unique Shared vs. unique objects
Because you cannot get a new unique object reference, you \em must
ensure that you own the unique object's owner to keep it alive. The
- <a class="el" href="modules.html">API reference modules</a> make it
+ <a class="el" href="topics.html">API reference pages</a> make it
clear, depending on the context, which
shared object is the ultimate owner of a given unique object.
</dd>
</dl>
-In the <a class="el" href="modules.html">API reference</a>, each module
+In the <a class="el" href="topics.html">API reference</a>, each page
indicates whether the documented objects are shared or unique.
@subsection api-fund-freezing Object freezing
become frozen, recursively.
There's no function to check whether or not a given object is frozen.
-Because the <a class="el" href="modules.html">API reference modules</a>
+Because the <a class="el" href="topics.html">API reference pages</a>
document which functions freeze which objects,
the "frozen" property is only useful for libbabeltrace2 to catch
programming errors (\ref api-fund-pre-post "precondition checks").
the type #bt_value because an \bt_array_val can contain different
types of values. You must be careful to only call the functions which
apply to a specific type of such objects.
-The <a class="el" href="modules.html">API reference modules</a> make
+The <a class="el" href="topics.html">API reference pages</a> make
this clear in the precondition section. Such objects always have a
<code>*_get_type()</code> function to get the object's exact type
enumerator. For example, bt_value_get_type() returns the type enumerator
}
@endcode
-The <a class="el" href="modules.html">API reference modules</a>
+The <a class="el" href="topics.html">API reference pages</a>
document, for each function, what each return status enumerator means.
Some functions return properties or objects by output parameter. When
domain objects and concepts (contents of \bt_p_msg).
The \bt_name
-<strong><em>trace IR</em></strong> (intermediate representation) modules
-contain everything you need to represent tracing domain concepts and
+<strong><em>trace IR</em></strong> (intermediate representation) API
+offers everything you need to represent tracing domain concepts and
objects so that many \bt_p_comp, written by different authors, can
exchange trace metadata and data.
parts of the API to accomplish real tasks.
</dd>
- <dt><a class="el" href="modules.html">API reference</a></dt>
+ <dt><a class="el" href="topics.html">API reference</a></dt>
<dd>
Documents all the \bt_name C functions, definitions, macros,
enumerators, and types.
- Each documentation module describes its API thoroughly and how it's
- related to other modules.
+ Each page describes its API thoroughly and how it's
+ related to other APIs.
</dd>
</dl>
*/
#include <babeltrace2-ctf-writer/object.h>
@endcode
-The macros and functions of this module are everything that is needed
+The macros and functions of this API are everything that is needed
to handle the <strong><em>reference counting</em></strong> of
Babeltrace objects.
@brief
Error reporting functions and macros.
-This module contains functions and macros to report rich errors from a
-user function (a \bt_comp_cls method, a
+This API offers functions and macros to report rich
+errors from a user function (a \bt_comp_cls method, a
\ref api-qexec "query operation", or a trace processing \bt_graph
listener, for example) to any function caller.
@image html component.png
@attention
- This module (component class development API) offers functions to
+ This API (component class development API) offers functions to
programmatically create component classes. To get the properties of
an existing component class, see \ref api-comp-cls.
-A component class has <em>methods</em>. This module essentially
+A component class has <em>methods</em>. This API essentially
offers:
- Component class method type definitions.
different types of component class methods.
A component class is a \ref api-fund-shared-object "shared object": see
-the \ref api-comp-cls module for the reference count functions.
+the \ref api-comp-cls API for the reference count functions.
Some library functions \ref api-fund-freezing "freeze" component classes
on success. The documentation of those functions indicate this
@image html component.png
@attention
- This module (component class API) offers basic, read-only functions
- to get component class properties. To \em create a component class,
- see \ref api-comp-cls-dev or \ref api-plugin-dev.
+ This API (component class API) offers basic,
+ read-only functions to get component class properties. To \em create
+ a component class, see \ref api-comp-cls-dev or \ref api-plugin-dev.
You can instantiate a given component class many times, with different
initialization parameters, to create many components with the
bt_component_class_filter_create() to set it as the created component
class's message iterator class.
-A message iterator class has <em>methods</em>. This module essentially
-offers:
+A message iterator class has <em>methods</em>. This API
+essentially offers:
- Message iterator class method type definitions.
welcome tool to make the project evolve gracefully.
The Message Interchange Protocol has no dedicated documentation as this
-very message module (and its submodules, like \ref api-tir)
+very message API (and its contained APIs, like \ref api-tir)
documentation is enough. You can consider that all the
functions of the message and trace IR objects have an implicit MIP
version \ref api-fund-pre-post "precondition". When a given
A query method receives a private query executor as its
\bt_p{query_executor} parameter.
-As of \bt_name_version_min_maj, this module only offers the
+As of \bt_name_version_min_maj, this API only offers the
bt_private_query_executor_as_query_executor_const() function to
\ref api-fund-c-typing "upcast" a private query executor to a
\c const query executor. You need this to get the query executor's
private views of a \bt_comp_cls from within a component class
\ref api-comp-cls-dev-class-meth "class method".
-As of \bt_name_version_min_maj, this module only contains functions
-to \ref api-fund-c-typing "upcast" the "self" (private) types to their
-public #bt_component_class, #bt_component_class_source,
+As of \bt_name_version_min_maj, this API only offers
+functions to \ref api-fund-c-typing "upcast" the "self" (private) types
+to their public #bt_component_class, #bt_component_class_source,
#bt_component_class_filter, and #bt_component_class_sink counterparts.
*/
@brief
Shared object plugin development.
-This module offers macros to create a \bt_name shared object plugin.
+This API offers macros to create a \bt_name shared
+object plugin.
-Behind the scenes, the <code>BT_PLUGIN_*()</code> macros of this module
-create and fill global tables which are located in sections of the
-shared object with specific names. The \ref api-plugin functions can
-load the resulting shared object file and create corresponding
-\bt_plugin objects.
+Behind the scenes, the <code>BT_PLUGIN_*()</code> macros of this
+API create and fill global tables which are located in
+sections of the shared object with specific names. The \ref api-plugin
+functions can load the resulting shared object file and create
+corresponding \bt_plugin objects.
See \ref guide-comp-link-plugin-so.
given plugin.
See \ref example-simple-plugin-def-file for a concrete example of how
-to use the macros of this module.
+to use the macros of this API.
<h1>\anchor api-plugin-dev-custom-plugin-id Custom plugin ID</h1>
@brief
General purpose utilities.
-This module contains general purpose utilities.
+This API offers general purpose utilities.
*/
/*! @{ */
@brief
Library version getters.
-This module contains functions to get information about the library's
-version:
+This API offers functions to get information about the
+library's version:
<dl>
<dt>Major version</dt>
* Copyright (C) 2019 EfficiOS Inc. and Linux Foundation
*/
-#ifndef AUTODISC_AUTODISC_H
-#define AUTODISC_AUTODISC_H
+#ifndef BABELTRACE_AUTODISC_AUTODISC_H
+#define BABELTRACE_AUTODISC_AUTODISC_H
#include <glib.h>
struct auto_source_discovery *auto_disc,
const bt_interrupter *interrupter);
-#endif /* AUTODISC_AUTODISC_H */
+#endif /* BABELTRACE_AUTODISC_AUTODISC_H */
* Copyright (c) 2017 Philippe Proulx <pproulx@efficios.com>
*/
-#ifndef BABELTRACE_BINDINGS_PYTHON_BT2_LOGGING_H
-#define BABELTRACE_BINDINGS_PYTHON_BT2_LOGGING_H
+#ifndef BABELTRACE_BINDINGS_PYTHON_BT2_BT2_LOGGING_H
+#define BABELTRACE_BINDINGS_PYTHON_BT2_BT2_LOGGING_H
#define BT_LOG_OUTPUT_LEVEL bt_python_bindings_bt2_log_level
#include "logging/log.h"
BT_LOG_LEVEL_EXTERN_SYMBOL(bt_python_bindings_bt2_log_level);
-#endif /* BABELTRACE_BINDINGS_PYTHON_BT2_LOGGING_H */
+#endif /* BABELTRACE_BINDINGS_PYTHON_BT2_BT2_LOGGING_H */
* Copyright (c) 2016 Philippe Proulx <pproulx@efficios.com>
*/
+#ifndef BABELTRACE_BINDINGS_PYTHON_BT2_BT2_NATIVE_BT_AUTODISC_I_H
+#define BABELTRACE_BINDINGS_PYTHON_BT2_BT2_NATIVE_BT_AUTODISC_I_H
+
#include <autodisc/autodisc.h>
#include <common/common.h>
return result;
}
+
+#endif /* BABELTRACE_BINDINGS_PYTHON_BT2_BT2_NATIVE_BT_AUTODISC_I_H */
* Copyright (c) 2017 Philippe Proulx <pproulx@efficios.com>
*/
-#include "logging/comp-logging.h"
+#ifndef BABELTRACE_BINDINGS_PYTHON_BT2_BT2_NATIVE_BT_BT2_OBJECTS_H
+#define BABELTRACE_BINDINGS_PYTHON_BT2_BT2_NATIVE_BT_BT2_OBJECTS_H
+#include "logging/comp-logging.h"
/*
* Useful Python objects.
Py_XDECREF(py_mod_bt2_exc_stop_type);
Py_XDECREF(py_mod_bt2_exc_unknown_object_type);
}
+
+#endif /* BABELTRACE_BINDINGS_PYTHON_BT2_BT2_NATIVE_BT_BT2_OBJECTS_H */
* Copyright (c) 2017 Philippe Proulx <pproulx@efficios.com>
*/
+#ifndef BABELTRACE_BINDINGS_PYTHON_BT2_BT2_NATIVE_BT_COMPONENT_CLASS_I_H
+#define BABELTRACE_BINDINGS_PYTHON_BT2_BT2_NATIVE_BT_COMPONENT_CLASS_I_H
+
#include "logging/comp-logging.h"
#include "compat/glib.h"
end:
return component_class_sink;
}
+
+#endif /* BABELTRACE_BINDINGS_PYTHON_BT2_BT2_NATIVE_BT_COMPONENT_CLASS_I_H */
* Copyright (c) 2019 Efficios, Inc.
*/
+#ifndef BABELTRACE_BINDINGS_PYTHON_BT2_BT2_NATIVE_BT_ERROR_I_H
+#define BABELTRACE_BINDINGS_PYTHON_BT2_BT2_NATIVE_BT_ERROR_I_H
+
#include <string-format/format-error.h>
static
return py_error_str;
}
+
+#endif /* BABELTRACE_BINDINGS_PYTHON_BT2_BT2_NATIVE_BT_ERROR_I_H */
* Copyright (c) 2017 Philippe Proulx <pproulx@efficios.com>
*/
+#ifndef BABELTRACE_BINDINGS_PYTHON_BT2_BT2_NATIVE_BT_GRAPH_I_H
+#define BABELTRACE_BINDINGS_PYTHON_BT2_BT2_NATIVE_BT_GRAPH_I_H
+
static bt_graph_listener_func_status port_added_listener(
const void *component,
swig_type_info *component_swig_type,
component_class, name, params, obj == Py_None ? NULL : obj,
log_level, component);
}
+
+#endif /* BABELTRACE_BINDINGS_PYTHON_BT2_BT2_NATIVE_BT_GRAPH_I_H */
* Copyright (c) 2017 Philippe Proulx <pproulx@efficios.com>
*/
+#ifndef BABELTRACE_BINDINGS_PYTHON_BT2_BT2_NATIVE_BT_LOG_AND_APPEND_ERROR_H
+#define BABELTRACE_BINDINGS_PYTHON_BT2_BT2_NATIVE_BT_LOG_AND_APPEND_ERROR_H
+
#include <stdbool.h>
#include "logging/comp-logging.h"
false, NULL, NULL, NULL, NULL);
PyErr_Clear();
}
+
+#endif /* BABELTRACE_BINDINGS_PYTHON_BT2_BT2_NATIVE_BT_LOG_AND_APPEND_ERROR_H */
* Copyright (c) 2017 Philippe Proulx <pproulx@efficios.com>
*/
+#ifndef BABELTRACE_BINDINGS_PYTHON_BT2_BT2_NATIVE_BT_MESSAGE_ITERATOR_I_H
+#define BABELTRACE_BINDINGS_PYTHON_BT2_BT2_NATIVE_BT_MESSAGE_ITERATOR_I_H
+
static
bt_message_iterator_create_from_message_iterator_status
bt_bt2_message_iterator_create_from_message_iterator(
&messages, &message_count);
return get_msg_range_common(status, messages, message_count);
}
+
+#endif /* BABELTRACE_BINDINGS_PYTHON_BT2_BT2_NATIVE_BT_MESSAGE_ITERATOR_I_H */
* Copyright (c) 2017 Philippe Proulx <pproulx@efficios.com>
*/
+#ifndef BABELTRACE_BINDINGS_PYTHON_BT2_BT2_NATIVE_BT_MIP_I_H
+#define BABELTRACE_BINDINGS_PYTHON_BT2_BT2_NATIVE_BT_MIP_I_H
+
static
bt_component_descriptor_set_add_descriptor_status
bt_bt2_component_descriptor_set_add_descriptor_with_initialize_method_data(
return bt_component_descriptor_set_add_descriptor_with_initialize_method_data(
comp_descr_set, comp_cls, params, obj == Py_None ? NULL : obj);
}
+
+#endif /* BABELTRACE_BINDINGS_PYTHON_BT2_BT2_NATIVE_BT_MIP_I_H */
* Copyright (c) 2017 Philippe Proulx <pproulx@efficios.com>
*/
+#ifndef BABELTRACE_BINDINGS_PYTHON_BT2_BT2_NATIVE_BT_PLUGIN_I_H
+#define BABELTRACE_BINDINGS_PYTHON_BT2_BT2_NATIVE_BT_PLUGIN_I_H
+
/*
* Those bt_bt2_*() functions below ensure that when the API function
* fails, the output parameter is set to `NULL`. This is necessary
return status;
}
+
+#endif /* BABELTRACE_BINDINGS_PYTHON_BT2_BT2_NATIVE_BT_PLUGIN_I_H */
* Copyright (c) 2017 Philippe Proulx <pproulx@efficios.com>
*/
+#ifndef BABELTRACE_BINDINGS_PYTHON_BT2_BT2_NATIVE_BT_QUERY_EXEC_I_H
+#define BABELTRACE_BINDINGS_PYTHON_BT2_BT2_NATIVE_BT_QUERY_EXEC_I_H
+
static
bt_query_executor *bt_bt2_query_executor_create(
const bt_component_class *component_class, const char *object,
return bt_query_executor_create_with_method_data(component_class,
object, params, py_obj == Py_None ? NULL : py_obj);
}
+
+#endif /* BABELTRACE_BINDINGS_PYTHON_BT2_BT2_NATIVE_BT_QUERY_EXEC_I_H */
* Copyright (c) 2016 Philippe Proulx <pproulx@efficios.com>
*/
+#ifndef BABELTRACE_BINDINGS_PYTHON_BT2_BT2_NATIVE_BT_TRACE_I_H
+#define BABELTRACE_BINDINGS_PYTHON_BT2_BT2_NATIVE_BT_TRACE_I_H
+
static void
trace_destroyed_listener(const bt_trace *trace, void *py_callable)
{
return status;
}
+
+#endif /* BABELTRACE_BINDINGS_PYTHON_BT2_BT2_NATIVE_BT_TRACE_I_H */
* Copyright (c) 2016 Philippe Proulx <pproulx@efficios.com>
*/
+#ifndef BABELTRACE_BINDINGS_PYTHON_BT2_BT2_NATIVE_BT_TRACE_CLASS_I_H
+#define BABELTRACE_BINDINGS_PYTHON_BT2_BT2_NATIVE_BT_TRACE_CLASS_I_H
+
static void
trace_class_destroyed_listener(const bt_trace_class *trace_class, void *py_callable)
{
return status;
}
+
+#endif /* BABELTRACE_BINDINGS_PYTHON_BT2_BT2_NATIVE_BT_TRACE_CLASS_I_H */
* Copyright (c) 2016 Philippe Proulx <pproulx@efficios.com>
*/
+#ifndef BABELTRACE_BINDINGS_PYTHON_BT2_BT2_NATIVE_BT_VALUE_I_H
+#define BABELTRACE_BINDINGS_PYTHON_BT2_BT2_NATIVE_BT_VALUE_I_H
+
struct bt_value_map_get_keys_data {
struct bt_value *keys;
};
end:
return data.keys;
}
+
+#endif /* BABELTRACE_BINDINGS_PYTHON_BT2_BT2_NATIVE_BT_VALUE_I_H */
* Copyright 2017 Philippe Proulx <pproulx@efficios.com>
*/
-#ifndef CLI_BABELTRACE_CFG_CLI_ARGS_CONNECT_H
-#define CLI_BABELTRACE_CFG_CLI_ARGS_CONNECT_H
+#ifndef BABELTRACE_CLI_BABELTRACE2_CFG_CLI_ARGS_CONNECT_H
+#define BABELTRACE_CLI_BABELTRACE2_CFG_CLI_ARGS_CONNECT_H
#include <stdlib.h>
#include <stdint.h>
const bt_value *connection_args,
char *error_buf, size_t error_buf_size);
-#endif /* CLI_BABELTRACE_CFG_CLI_ARGS_CONNECT_H */
+#endif /* BABELTRACE_CLI_BABELTRACE2_CFG_CLI_ARGS_CONNECT_H */
* Babeltrace Trace Converter - Default Configuration
*/
-#ifndef CLI_BABELTRACE_CFG_CLI_ARGS_DEFAULT_H
-#define CLI_BABELTRACE_CFG_CLI_ARGS_DEFAULT_H
+#ifndef BABELTRACE_CLI_BABELTRACE2_CFG_CLI_ARGS_DEFAULT_H
+#define BABELTRACE_CLI_BABELTRACE2_CFG_CLI_ARGS_DEFAULT_H
#include "babeltrace2-cfg.h"
const char *argv[], struct bt_config **cfg,
const bt_interrupter *interrupter);
-#endif /* CLI_BABELTRACE_CFG_CLI_ARGS_DEFAULT_H */
+#endif /* BABELTRACE_CLI_BABELTRACE2_CFG_CLI_ARGS_DEFAULT_H */
* Copyright 2016-2017 Philippe Proulx <pproulx@efficios.com>
*/
-#ifndef CLI_BABELTRACE_CFG_CLI_ARGS_H
-#define CLI_BABELTRACE_CFG_CLI_ARGS_H
+#ifndef BABELTRACE_CLI_BABELTRACE2_CFG_CLI_ARGS_H
+#define BABELTRACE_CLI_BABELTRACE2_CFG_CLI_ARGS_H
#include <stdbool.h>
#include <stdlib.h>
const bt_value *initial_plugin_paths,
const bt_interrupter *interrupter);
-#endif /* CLI_BABELTRACE_CFG_CLI_ARGS_H */
+#endif /* BABELTRACE_CLI_BABELTRACE2_CFG_CLI_ARGS_H */
* Babeltrace trace converter - CLI tool's configuration
*/
-#ifndef CLI_BABELTRACE_CFG_H
-#define CLI_BABELTRACE_CFG_H
+#ifndef BABELTRACE_CLI_BABELTRACE2_CFG_H
+#define BABELTRACE_CLI_BABELTRACE2_CFG_H
#include <stdlib.h>
#include <stdint.h>
void bt_config_connection_destroy(struct bt_config_connection *connection);
-#endif /* CLI_BABELTRACE_CFG_H */
+#endif /* BABELTRACE_CLI_BABELTRACE2_CFG_H */
* Copyright 2019 Philippe Proulx <pproulx@efficios.com>
*/
-#ifndef CLI_BABELTRACE_LOG_LEVEL_H
-#define CLI_BABELTRACE_LOG_LEVEL_H
+#ifndef BABELTRACE_CLI_BABELTRACE2_LOG_LEVEL_H
+#define BABELTRACE_CLI_BABELTRACE2_LOG_LEVEL_H
#include <babeltrace2/babeltrace.h>
void set_auto_log_levels(int *logging_level);
-#endif /* CLI_BABELTRACE_LOG_LEVEL_H */
+#endif /* BABELTRACE_CLI_BABELTRACE2_LOG_LEVEL_H */
* Babeltrace trace converter - CLI tool's configuration
*/
-#ifndef CLI_BABELTRACE_PLUGINS_H
-#define CLI_BABELTRACE_PLUGINS_H
+#ifndef BABELTRACE_CLI_BABELTRACE2_PLUGINS_H
+#define BABELTRACE_CLI_BABELTRACE2_PLUGINS_H
#include <babeltrace2/babeltrace.h>
#include "common/macros.h"
const bt_plugin *borrow_loaded_plugin_by_name(const char *name);
-#endif /* CLI_BABELTRACE_PLUGINS_H */
+#endif /* BABELTRACE_CLI_BABELTRACE2_PLUGINS_H */
* Copyright 2016-2019 EfficiOS Inc.
*/
-#ifndef CLI_BABELTRACE_QUERY_H
-#define CLI_BABELTRACE_QUERY_H
+#ifndef BABELTRACE_CLI_BABELTRACE2_QUERY_H
+#define BABELTRACE_CLI_BABELTRACE2_QUERY_H
#include <babeltrace2/babeltrace.h>
#include "common/macros.h"
bt_logging_level log_level, const bt_interrupter *interrupter,
const bt_value **user_result, const char **fail_reason);
-#endif /* CLI_BABELTRACE_QUERY_H */
+#endif /* BABELTRACE_CLI_BABELTRACE2_QUERY_H */
* Copyright (C) 2017 Philippe Proulx <pproulx@efficios.com>
*/
-#ifndef CLI_LOGGING_H
-#define CLI_LOGGING_H
+#ifndef BABELTRACE_CLI_LOGGING_H
+#define BABELTRACE_CLI_LOGGING_H
#define BT_LOG_OUTPUT_LEVEL bt_cli_log_level
#include "logging/log.h"
#define BT_CLI_LOGW_APPEND_CAUSE(_fmt, ...) \
BT_CLI_LOG_AND_APPEND(BT_LOG_WARNING, _fmt, ##__VA_ARGS__)
-#endif /* CLI_LOGGING_H */
+#endif /* BABELTRACE_CLI_LOGGING_H */
* Copyright 2024 EfficiOS, Inc.
*/
-#ifndef CLOCK_CORRELATION_VALIDATOR_CLOCK_CORRELATION_VALIDATOR_H
-#define CLOCK_CORRELATION_VALIDATOR_CLOCK_CORRELATION_VALIDATOR_H
+#ifndef BABELTRACE_CLOCK_CORRELATION_VALIDATOR_CLOCK_CORRELATION_VALIDATOR_H
+#define BABELTRACE_CLOCK_CORRELATION_VALIDATOR_CLOCK_CORRELATION_VALIDATOR_H
#include <glib.h>
#include <stdbool.h>
} /* extern "C" */
#endif
-#endif /* CLOCK_CORRELATION_VALIDATOR_CLOCK_CORRELATION_VALIDATOR_H */
+#endif /* BABELTRACE_CLOCK_CORRELATION_VALIDATOR_CLOCK_CORRELATION_VALIDATOR_H */
* Copyright 2024 EfficiOS, Inc.
*/
-#ifndef CLOCK_CORRELATION_VALIDATOR_CLOCK_CORRELATION_VALIDATOR_HPP
-#define CLOCK_CORRELATION_VALIDATOR_CLOCK_CORRELATION_VALIDATOR_HPP
+#ifndef BABELTRACE_CLOCK_CORRELATION_VALIDATOR_CLOCK_CORRELATION_VALIDATOR_HPP
+#define BABELTRACE_CLOCK_CORRELATION_VALIDATOR_CLOCK_CORRELATION_VALIDATOR_HPP
#include "cpp-common/bt2/message.hpp"
} /* namespace bt2ccv */
-#endif /* CLOCK_CORRELATION_VALIDATOR_CLOCK_CORRELATION_VALIDATOR_HPP */
+#endif /* BABELTRACE_CLOCK_CORRELATION_VALIDATOR_CLOCK_CORRELATION_VALIDATOR_HPP */
* Copyright 2010 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
*/
-#ifndef _BABELTRACE_ALIGN_H
-#define _BABELTRACE_ALIGN_H
+#ifndef BABELTRACE_COMMON_ALIGN_H
+#define BABELTRACE_COMMON_ALIGN_H
#include "compat/compiler.h"
#include "compat/limits.h"
((__typeof__(p)) BT_ALIGN_FLOOR((unsigned long) (p), a))
#define BT_IS_ALIGNED(x, a) (((x) & ((__typeof__(x)) (a) - 1)) == 0)
-#endif /* _BABELTRACE_ALIGN_H */
+#endif /* BABELTRACE_COMMON_ALIGN_H */
* Copyright (c) 2018-2019 Philippe Proulx <pproulx@efficios.com>
*/
-#ifndef BABELTRACE_ASSERT_INTERNAL_H
-#define BABELTRACE_ASSERT_INTERNAL_H
+#ifndef BABELTRACE_COMMON_ASSERT_H
+#define BABELTRACE_COMMON_ASSERT_H
#include <assert.h>
#include <glib.h>
}
#endif
-#endif /* BABELTRACE_ASSERT_INTERNAL_H */
+#endif /* BABELTRACE_COMMON_ASSERT_H */
* Copyright (c) 2018 Philippe Proulx <pproulx@efficios.com>
*/
-#ifndef BABELTRACE_COMMON_INTERNAL_H
-#define BABELTRACE_COMMON_INTERNAL_H
+#ifndef BABELTRACE_COMMON_COMMON_H
+#define BABELTRACE_COMMON_COMMON_H
#include <errno.h>
#include <glib.h>
}
#endif
-#endif /* BABELTRACE_COMMON_INTERNAL_H */
+#endif /* BABELTRACE_COMMON_COMMON_H */
* Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
*/
-#ifndef _BT_LIST_H
-#define _BT_LIST_H 1
+#ifndef BABELTRACE_COMMON_LIST_H
+#define BABELTRACE_COMMON_LIST_H
/* The definitions of this file are adopted from those which can be
found in the Linux kernel headers to enable people familiar with
}
#endif
-#endif /* _BT_LIST_H */
+#endif /* BABELTRACE_COMMON_LIST_H */
* Copyright 2012 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
*/
-#ifndef _BABELTRACE_INTERNAL_H
-#define _BABELTRACE_INTERNAL_H
+#ifndef BABELTRACE_COMMON_MACROS_H
+#define BABELTRACE_COMMON_MACROS_H
#ifdef __cplusplus
extern "C" {
#define BT_IF_DEV_MODE(txt)
#endif
-/*
- * Yield `ref`'s value while setting `ref` to NULL.
- *
- * This can be used to give a strong reference to a callee:
- *
- * add_foo_to_list(list, BT_MOVE_REF(foo));
- *
- * or in a simple assignment:
- *
- * my_struct->foo = BT_MOVE_REF(foo);
- *
- * When moving a reference in a function call, the reference is given to the
- * callee even if that function call fails, so make sure the called function
- * is written accordingly.
- */
-
-#define BT_MOVE_REF(ref) \
- ({ \
- __typeof__(ref) _ref = ref; \
- ref = NULL; \
- _ref; \
- })
-
/* Wrapper for g_array_index that adds bound checking. */
#define bt_g_array_index(a, t, i) \
g_array_index((a), t, ({ BT_ASSERT_DBG((i) < (a)->len); (i); }))
}
#endif
-#endif
+#endif /* BABELTRACE_COMMON_MACROS_H */
* Copyright 2010 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
*/
-#ifndef _BABELTRACE_MMAP_ALIGN_H
-#define _BABELTRACE_MMAP_ALIGN_H
+#ifndef BABELTRACE_COMMON_MMAP_ALIGN_H
+#define BABELTRACE_COMMON_MMAP_ALIGN_H
#include "common/align.h"
#include <stdlib.h>
mma->addr = addr;
}
-#endif /* _BABELTRACE_MMAP_ALIGN_H */
+#endif /* BABELTRACE_COMMON_MMAP_ALIGN_H */
+++ /dev/null
-/*
- * SPDX-License-Identifier: MIT
- *
- * Copyright 2011 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
- *
- * Static-sized priority heap containing pointers. Based on CLRS,
- * chapter 6.
- */
-
-#include "common/macros.h"
-#include "common/assert.h"
-#include <errno.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include "common/prio-heap.h"
-
-#ifdef DEBUG_HEAP
-void check_heap(const struct ptr_heap *heap)
-{
- size_t i;
-
- if (!heap->len)
- return;
-
- for (i = 1; i < heap->len; i++)
- BT_ASSERT_DBG(!heap->gt(heap->ptrs[i], heap->ptrs[0]));
-}
-#endif
-
-static
-size_t parent(size_t i)
-{
- return (i - 1) >> 1;
-}
-
-static
-size_t left(size_t i)
-{
- return (i << 1) + 1;
-}
-
-static
-size_t right(size_t i)
-{
- return (i << 1) + 2;
-}
-
-/*
- * Copy of heap->ptrs pointer is invalid after heap_grow.
- */
-static
-int heap_grow(struct ptr_heap *heap, size_t new_len)
-{
- void **new_ptrs;
-
- if (G_LIKELY(heap->alloc_len >= new_len))
- return 0;
-
- heap->alloc_len = bt_max_t(size_t, new_len, heap->alloc_len << 1);
- new_ptrs = calloc(heap->alloc_len, sizeof(void *));
- if (G_UNLIKELY(!new_ptrs))
- return -ENOMEM;
- if (G_LIKELY(heap->ptrs))
- memcpy(new_ptrs, heap->ptrs, heap->len * sizeof(void *));
- free(heap->ptrs);
- heap->ptrs = new_ptrs;
- return 0;
-}
-
-static
-int heap_set_len(struct ptr_heap *heap, size_t new_len)
-{
- int ret;
-
- ret = heap_grow(heap, new_len);
- if (G_UNLIKELY(ret))
- return ret;
- heap->len = new_len;
- return 0;
-}
-
-int bt_heap_init(struct ptr_heap *heap, size_t alloc_len,
- int gt(void *a, void *b))
-{
- heap->ptrs = NULL;
- heap->len = 0;
- heap->alloc_len = 0;
- heap->gt = gt;
- /*
- * Minimum size allocated is 1 entry to ensure memory allocation
- * never fails within bt_heap_replace_max.
- */
- return heap_grow(heap, bt_max_t(size_t, 1, alloc_len));
-}
-
-void bt_heap_free(struct ptr_heap *heap)
-{
- free(heap->ptrs);
-}
-
-static void heapify(struct ptr_heap *heap, size_t i)
-{
- void **ptrs = heap->ptrs;
- size_t l, r, largest;
-
- for (;;) {
- void *tmp;
-
- l = left(i);
- r = right(i);
- if (l < heap->len && heap->gt(ptrs[l], ptrs[i]))
- largest = l;
- else
- largest = i;
- if (r < heap->len && heap->gt(ptrs[r], ptrs[largest]))
- largest = r;
- if (G_UNLIKELY(largest == i))
- break;
- tmp = ptrs[i];
- ptrs[i] = ptrs[largest];
- ptrs[largest] = tmp;
- i = largest;
- }
- check_heap(heap);
-}
-
-void *bt_heap_replace_max(struct ptr_heap *heap, void *p)
-{
- void *res;
-
- if (G_UNLIKELY(!heap->len)) {
- (void) heap_set_len(heap, 1);
- heap->ptrs[0] = p;
- check_heap(heap);
- return NULL;
- }
-
- /* Replace the current max and heapify */
- res = heap->ptrs[0];
- heap->ptrs[0] = p;
- heapify(heap, 0);
- return res;
-}
-
-int bt_heap_insert(struct ptr_heap *heap, void *p)
-{
- void **ptrs;
- size_t pos;
- int ret;
-
- ret = heap_set_len(heap, heap->len + 1);
- if (G_UNLIKELY(ret))
- return ret;
- ptrs = heap->ptrs;
- pos = heap->len - 1;
- while (pos > 0 && heap->gt(p, ptrs[parent(pos)])) {
- /* Move parent down until we find the right spot */
- ptrs[pos] = ptrs[parent(pos)];
- pos = parent(pos);
- }
- ptrs[pos] = p;
- check_heap(heap);
- return 0;
-}
-
-void *bt_heap_remove(struct ptr_heap *heap)
-{
- switch (heap->len) {
- case 0:
- return NULL;
- case 1:
- (void) heap_set_len(heap, 0);
- return heap->ptrs[0];
- }
- /* Shrink, replace the current max by previous last entry and heapify */
- heap_set_len(heap, heap->len - 1);
- /* len changed. previous last entry is at heap->len */
- return bt_heap_replace_max(heap, heap->ptrs[heap->len]);
-}
-
-void *bt_heap_cherrypick(struct ptr_heap *heap, void *p)
-{
- size_t pos, len = heap->len;
-
- for (pos = 0; pos < len; pos++)
- if (G_UNLIKELY(heap->ptrs[pos] == p))
- goto found;
- return NULL;
-found:
- if (G_UNLIKELY(heap->len == 1)) {
- (void) heap_set_len(heap, 0);
- check_heap(heap);
- return heap->ptrs[0];
- }
- /* Replace p with previous last entry and heapify. */
- heap_set_len(heap, heap->len - 1);
- /* len changed. previous last entry is at heap->len */
- heap->ptrs[pos] = heap->ptrs[heap->len];
- heapify(heap, pos);
- return p;
-}
-
-int bt_heap_copy(struct ptr_heap *dst, struct ptr_heap *src)
-{
- int ret;
-
- ret = bt_heap_init(dst, src->alloc_len, src->gt);
- if (ret < 0)
- goto end;
-
- ret = heap_set_len(dst, src->len);
- if (ret < 0)
- goto end;
-
- memcpy(dst->ptrs, src->ptrs, src->len * sizeof(void *));
-
-end:
- return ret;
-}
+++ /dev/null
-/*
- * SPDX-License-Identifier: MIT
- *
- * Copyright 2011 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
- *
- * Static-sized priority heap containing pointers. Based on CLRS,
- * chapter 6.
- */
-
-#ifndef BABELTRACE_COMMON_PRIO_HEAP_H
-#define BABELTRACE_COMMON_PRIO_HEAP_H
-
-#include <unistd.h>
-#include "common/macros.h"
-
-struct ptr_heap {
- size_t len, alloc_len;
- void **ptrs;
- int (*gt)(void *a, void *b);
-};
-
-#ifdef DEBUG_HEAP
-void check_heap(const struct ptr_heap *heap);
-#else
-static inline
-void check_heap(const struct ptr_heap *heap __attribute__((unused)))
-{
-}
-#endif
-
-/**
- * bt_heap_maximum - return the largest element in the heap
- * @heap: the heap to be operated on
- *
- * Returns the largest element in the heap, without performing any modification
- * to the heap structure. Returns NULL if the heap is empty.
- */
-static inline void *bt_heap_maximum(const struct ptr_heap *heap)
-{
- check_heap(heap);
- return G_LIKELY(heap->len) ? heap->ptrs[0] : NULL;
-}
-
-/**
- * bt_heap_init - initialize the heap
- * @heap: the heap to initialize
- * @alloc_len: number of elements initially allocated
- * @gt: function to compare the elements
- *
- * Returns -ENOMEM if out of memory.
- */
-extern int bt_heap_init(struct ptr_heap *heap,
- size_t alloc_len,
- int gt(void *a, void *b));
-
-/**
- * bt_heap_free - free the heap
- * @heap: the heap to free
- */
-extern void bt_heap_free(struct ptr_heap *heap);
-
-/**
- * bt_heap_insert - insert an element into the heap
- * @heap: the heap to be operated on
- * @p: the element to add
- *
- * Insert an element into the heap.
- *
- * Returns -ENOMEM if out of memory.
- */
-extern int bt_heap_insert(struct ptr_heap *heap, void *p);
-
-/**
- * bt_heap_remove - remove the largest element from the heap
- * @heap: the heap to be operated on
- *
- * Returns the largest element in the heap. It removes this element from the
- * heap. Returns NULL if the heap is empty.
- */
-extern void *bt_heap_remove(struct ptr_heap *heap);
-
-/**
- * bt_heap_cherrypick - remove a given element from the heap
- * @heap: the heap to be operated on
- * @p: the element
- *
- * Remove the given element from the heap. Return the element if present, else
- * return NULL. This algorithm has a complexity of O(n), which is higher than
- * O(log(n)) provided by the rest of this API.
- */
-extern void *bt_heap_cherrypick(struct ptr_heap *heap, void *p);
-
-/**
- * bt_heap_replace_max - replace the the largest element from the heap
- * @heap: the heap to be operated on
- * @p: the pointer to be inserted as topmost element replacement
- *
- * Returns the largest element in the heap. It removes this element from the
- * heap. The heap is rebalanced only once after the insertion. Returns NULL if
- * the heap is empty.
- *
- * This is the equivalent of calling bt_heap_remove() and then bt_heap_insert(), but
- * it only rebalances the heap once. It never allocates memory.
- */
-extern void *bt_heap_replace_max(struct ptr_heap *heap, void *p);
-
-/**
- * bt_heap_copy - copy a heap
- * @dst: the destination heap (must be allocated)
- * @src: the source heap
- *
- * Returns -ENOMEM if out of memory.
- */
-extern int bt_heap_copy(struct ptr_heap *dst, struct ptr_heap *src);
-
-#endif /* BABELTRACE_COMMON_PRIO_HEAP_H */
* Copyright 2012 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
*/
+#ifndef BABELTRACE_COMMON_SAFE_H
+#define BABELTRACE_COMMON_SAFE_H
+
#include <stdbool.h>
#include <stdint.h>
#ifdef __cplusplus
}
#endif
+
+#endif /* BABELTRACE_COMMON_SAFE_H */
* Copyright (C) 2019 Michael Jeanson <mjeanson@efficios.com>
*/
-#ifndef _BABELTRACE_COMMON_UUID_H
-#define _BABELTRACE_COMMON_UUID_H
+#ifndef BABELTRACE_COMMON_UUID_H
+#define BABELTRACE_COMMON_UUID_H
#include <inttypes.h>
#include <stdint.h>
}
#endif
-#endif /* _BABELTRACE_COMMON_UUID_H */
+#endif /* BABELTRACE_COMMON_UUID_H */
* Copyright (C) 2018 Michael Jeanson <mjeanson@efficios.com>
*/
-#ifndef VERSION_H
-#define VERSION_H
+#ifndef BABELTRACE_COMMON_VERSION_H
+#define BABELTRACE_COMMON_VERSION_H
#include "common/version.i"
-#endif /* VERSION_H */
+#endif /* BABELTRACE_COMMON_VERSION_H */
* Copyright 2010-2019 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
*/
-#ifndef _BABELTRACE_BITFIELD_H
-#define _BABELTRACE_BITFIELD_H
+#ifndef BABELTRACE_COMPAT_BITFIELD_H
+#define BABELTRACE_COMPAT_BITFIELD_H
#include <stdint.h> /* C99 5.2.4.2 Numerical limits */
#include <stdbool.h> /* C99 7.16 bool type */
#endif
-#endif /* _BABELTRACE_BITFIELD_H */
+#endif /* BABELTRACE_COMPAT_BITFIELD_H */
* Copyright 2010 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
*/
-#ifndef _BABELTRACE_COMPILER_H
-#define _BABELTRACE_COMPILER_H
+#ifndef BABELTRACE_COMPAT_COMPILER_H
+#define BABELTRACE_COMPAT_COMPILER_H
#include <stddef.h> /* for offsetof */
#define BT_ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]))
-#endif /* _BABELTRACE_COMPILER_H */
+#endif /* BABELTRACE_COMPAT_COMPILER_H */
* endian.h compatibility layer.
*/
-#ifndef _BABELTRACE_ENDIAN_H
-#define _BABELTRACE_ENDIAN_H
+#ifndef BABELTRACE_COMPAT_ENDIAN_H
+#define BABELTRACE_COMPAT_ENDIAN_H
#ifdef __FreeBSD__
#include <sys/endian.h>
#endif /* __FLOAT_WORD_ORDER */
#endif /* FLOAT_WORD_ORDER */
-#endif /* _BABELTRACE_ENDIAN_H */
+#endif /* BABELTRACE_COMPAT_ENDIAN_H */
* fcntl compatibility layer.
*/
-#ifndef _BABELTRACE_COMPAT_FCNTL_H
-#define _BABELTRACE_COMPAT_FCNTL_H
+#ifndef BABELTRACE_COMPAT_FCNTL_H
+#define BABELTRACE_COMPAT_FCNTL_H
#include "common/common.h"
}
#endif /* #else #ifdef BABELTRACE_HAVE_POSIX_FALLOCATE */
-#endif /* _BABELTRACE_COMPAT_FCNTL_H */
+#endif /* BABELTRACE_COMPAT_FCNTL_H */
* Copyright (C) 2015 Michael Jeanson <mjeanson@efficios.com>
*/
-#ifndef _BABELTRACE_COMPAT_GLIB_H
-#define _BABELTRACE_COMPAT_GLIB_H
+#ifndef BABELTRACE_COMPAT_GLIB_H
+#define BABELTRACE_COMPAT_GLIB_H
#include <glib.h>
}
#endif
-#endif /* _BABELTRACE_COMPAT_GLIB_H */
+#endif /* BABELTRACE_COMPAT_GLIB_H */
* Copyright (C) 2014 Jérémie Galarneau <jeremie.galarneau@efficios.com>
*/
-#ifndef _BABELTRACE_LIMITS_H
-#define _BABELTRACE_LIMITS_H
+#ifndef BABELTRACE_COMPAT_LIMITS_H
+#define BABELTRACE_COMPAT_LIMITS_H
#include <limits.h>
#define PATH_MAX 4096
#endif /* __GNU__ */
-#endif /* _BABELTRACE_LIMITS_H */
+#endif /* BABELTRACE_COMPAT_LIMITS_H */
* memstream compatibility layer.
*/
-#ifndef _BABELTRACE_FORMAT_CTF_MEMSTREAM_H
-#define _BABELTRACE_FORMAT_CTF_MEMSTREAM_H
+#ifndef BABELTRACE_COMPAT_MEMSTREAM_H
+#define BABELTRACE_COMPAT_MEMSTREAM_H
#ifdef BABELTRACE_HAVE_FMEMOPEN
#include <stdio.h>
#endif /* BABELTRACE_HAVE_OPEN_MEMSTREAM */
-#endif /* _BABELTRACE_FORMAT_CTF_MEMSTREAM_H */
+#endif /* BABELTRACE_COMPAT_MEMSTREAM_H */
* Copyright (C) 2015-2016 Michael Jeanson <mjeanson@efficios.com>
*/
-#ifndef _BABELTRACE_COMPAT_MMAN_H
-#define _BABELTRACE_COMPAT_MMAN_H
+#ifndef BABELTRACE_COMPAT_MMAN_H
+#define BABELTRACE_COMPAT_MMAN_H
#ifdef __MINGW32__
# endif
#endif
-#endif /* _BABELTRACE_COMPAT_MMAN_H */
+#endif /* BABELTRACE_COMPAT_MMAN_H */
* Copyright (C) 2015 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
*/
-#ifndef _BABELTRACE_COMPAT_STDIO_H
-#define _BABELTRACE_COMPAT_STDIO_H
+#ifndef BABELTRACE_COMPAT_STDIO_H
+#define BABELTRACE_COMPAT_STDIO_H
#include <stdio.h>
#include <errno.h>
return linelen - 1; /* Count don't include final \0. */
}
-#endif /* _BABELTRACE_COMPAT_STDIO_H */
+#endif /* BABELTRACE_COMPAT_STDIO_H */
* Copyright (C) 2015 Michael Jeanson <mjeanson@efficios.com>
*/
-#ifndef _BABELTRACE_COMPAT_STDLIB_H
-#define _BABELTRACE_COMPAT_STDLIB_H
+#ifndef BABELTRACE_COMPAT_STDLIB_H
+#define BABELTRACE_COMPAT_STDLIB_H
/*
* This compat wrapper can be removed and replaced by g_mkdtemp() when we bump
#endif
-#endif /* _BABELTRACE_COMPAT_STDLIB_H */
+#endif /* BABELTRACE_COMPAT_STDLIB_H */
* Copyright (C) 2013 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
*/
-#ifndef _BABELTRACE_COMPAT_STRING_H
-#define _BABELTRACE_COMPAT_STRING_H
+#ifndef BABELTRACE_COMPAT_STRING_H
+#define BABELTRACE_COMPAT_STRING_H
#include <string.h>
#include <stdlib.h>
}
#endif /* HAVE_STRNDUP */
-#endif /* _BABELTRACE_COMPAT_STRING_H */
+#endif /* BABELTRACE_COMPAT_STRING_H */
* Copyright (C) 2016 Michael Jeanson <mjeanson@efficios.com>
*/
-#ifndef _BABELTRACE_INCLUDE_COMPAT_TIME_H
-#define _BABELTRACE_INCLUDE_COMPAT_TIME_H
+#ifndef BABELTRACE_COMPAT_TIME_H
+#define BABELTRACE_COMPAT_TIME_H
#include <time.h>
#include <stdlib.h>
}
#endif /* __MINGW32__ */
-#endif /* _BABELTRACE_INCLUDE_COMPAT_TIME_H */
+
+#endif /* BABELTRACE_COMPAT_TIME_H */
* Copyright (C) 2016 Michael Jeanson <mjeanson@efficios.com>
*/
-#ifndef _BABELTRACE_COMPAT_UNISTD_H
-#define _BABELTRACE_COMPAT_UNISTD_H
+#ifndef BABELTRACE_COMPAT_UNISTD_H
+#define BABELTRACE_COMPAT_UNISTD_H
#include <unistd.h>
}
#endif
-#endif /* _BABELTRACE_COMPAT_UNISTD_H */
+
+#endif /* BABELTRACE_COMPAT_UNISTD_H */
* Copyright (C) 2011-2013 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
*/
-#ifndef _BABELTRACE_UTC_H
-#define _BABELTRACE_UTC_H
+#ifndef BABELTRACE_COMPAT_UTC_H
+#define BABELTRACE_COMPAT_UTC_H
#include <time.h>
#endif
-#endif /* _BABELTRACE_UTC_H */
+#endif /* BABELTRACE_COMPAT_UTC_H */
} /* namespace bt2 */
-#endif /* BABELTRACE_CPP_COMMON_BT2_QUERY_EXECUTOR_HPP */
+#endif /* BABELTRACE_CPP_COMMON_BT2_QUERY_EXECUTOR_HPP */
* SPDX-License-Identifier: MIT
*/
-#ifndef BABELTRACE_CPP_COMMON_FILE_UTILS_HPP
-#define BABELTRACE_CPP_COMMON_FILE_UTILS_HPP
+#ifndef BABELTRACE_CPP_COMMON_BT2C_FILE_UTILS_HPP
+#define BABELTRACE_CPP_COMMON_BT2C_FILE_UTILS_HPP
#include <cstdint>
#include <vector>
} /* namespace bt2c */
-#endif /* BABELTRACE_CPP_COMMON_FILE_UTILS_HPP */
+#endif /* BABELTRACE_CPP_COMMON_BT2C_FILE_UTILS_HPP */
* SPDX-License-Identifier: MIT
*/
+#ifndef BABELTRACE_CPP_COMMON_BT2C_FMT_HPP
+#define BABELTRACE_CPP_COMMON_BT2C_FMT_HPP
+
#include "cpp-common/vendor/fmt/format.h" /* IWYU pragma: keep */
#include "cpp-common/vendor/wise-enum/wise_enum.h"
template <typename T>
using EnableIfIsWiseEnum =
- typename std::enable_if<wise_enum::is_wise_enum<T>::value, const char *>::type;
+ typename std::enable_if<wise_enum::is_wise_enum<T>::value, wise_enum::string_type>::type;
} /* namespace internal */
}
} /* namespace bt2c */
+
+#endif /* BABELTRACE_CPP_COMMON_BT2C_FMT_HPP */
* `tag`.
*/
explicit Logger(const bt2::SelfComponent selfComp, std::string tag) noexcept :
- _mSelfComp {selfComp}, _mLevel {static_cast<Level>(selfComp.loggingLevel())}, _mTag {
- std::move(
- tag)}
+ _mSelfComp {selfComp}, _mLevel {static_cast<Level>(selfComp.loggingLevel())},
+ _mTag {std::move(tag)}
{
}
*/
explicit Logger(const Logger& other, std::string newTag) :
_mSelfCompCls {other._mSelfCompCls}, _mSelfComp {other._mSelfComp},
- _mSelfMsgIter {other._mSelfMsgIter},
- _mModuleName {other._mModuleName}, _mLevel {other._mLevel}, _mTag {std::move(newTag)}
+ _mSelfMsgIter {other._mSelfMsgIter}, _mModuleName {other._mModuleName},
+ _mLevel {other._mLevel}, _mTag {std::move(newTag)}
{
}
*/
template <Level LevelV, bool AppendCauseV, typename... ArgTs>
void log(const char * const fileName, const char * const funcName, const unsigned int lineNo,
- const char * const fmt, ArgTs&&...args) const
+ fmt::format_string<ArgTs...> fmt, ArgTs&&...args) const
{
- this->_log<_StdLogWriter, LevelV, AppendCauseV>(fileName, funcName, lineNo, {}, "", fmt,
- std::forward<ArgTs>(args)...);
+ this->_log<_StdLogWriter, LevelV, AppendCauseV>(
+ fileName, funcName, lineNo, {}, "", std::move(fmt), std::forward<ArgTs>(args)...);
}
/*
*/
template <bool AppendCauseV, typename ExcT, typename... ArgTs>
[[noreturn]] void logErrorAndThrow(const char * const fileName, const char * const funcName,
- const unsigned int lineNo, const char * const fmt,
+ const unsigned int lineNo, fmt::format_string<ArgTs...> fmt,
ArgTs&&...args) const
{
- this->log<Level::Error, AppendCauseV>(fileName, funcName, lineNo, fmt,
+ this->log<Level::Error, AppendCauseV>(fileName, funcName, lineNo, std::move(fmt),
std::forward<ArgTs>(args)...);
throw ExcT {};
}
*/
template <bool AppendCauseV, typename... ArgTs>
[[noreturn]] void logErrorAndRethrow(const char * const fileName, const char * const funcName,
- const unsigned int lineNo, const char * const fmt,
- ArgTs&&...args) const
+ const unsigned int lineNo,
+ fmt::format_string<ArgTs...> fmt, ArgTs&&...args) const
{
- this->log<Level::Error, AppendCauseV>(fileName, funcName, lineNo, fmt,
+ this->log<Level::Error, AppendCauseV>(fileName, funcName, lineNo, std::move(fmt),
std::forward<ArgTs>(args)...);
throw;
}
*/
template <Level LevelV, bool AppendCauseV, typename... ArgTs>
void logErrno(const char * const fileName, const char * const funcName,
- const unsigned int lineNo, const char * const initMsg, const char * const fmt,
- ArgTs&&...args) const
+ const unsigned int lineNo, const char * const initMsg,
+ fmt::format_string<ArgTs...> fmt, ArgTs&&...args) const
{
- this->_log<_InitMsgLogWriter, LevelV, AppendCauseV>(fileName, funcName, lineNo, {},
- this->_errnoIntroStr(initMsg).c_str(),
- fmt, std::forward<ArgTs>(args)...);
+ this->_log<_InitMsgLogWriter, LevelV, AppendCauseV>(
+ fileName, funcName, lineNo, {}, this->_errnoIntroStr(initMsg).c_str(), std::move(fmt),
+ std::forward<ArgTs>(args)...);
}
/*
template <bool AppendCauseV, typename ExcT, typename... ArgTs>
[[noreturn]] void logErrorErrnoAndThrow(const char * const fileName,
const char * const funcName, const unsigned int lineNo,
- const char * const initMsg, const char * const fmt,
- ArgTs&&...args) const
+ const char * const initMsg,
+ fmt::format_string<ArgTs...> fmt, ArgTs&&...args) const
{
- this->logErrno<Level::Error, AppendCauseV>(fileName, funcName, lineNo, initMsg, fmt,
- std::forward<ArgTs>(args)...);
+ this->logErrno<Level::Error, AppendCauseV>(fileName, funcName, lineNo, initMsg,
+ std::move(fmt), std::forward<ArgTs>(args)...);
throw ExcT {};
}
* Like logErrno() with the `Level::Error` level, but also rethrows.
*/
template <bool AppendCauseV, typename... ArgTs>
- [[noreturn]] void logErrorErrnoAndRethrow(const char * const fileName,
- const char * const funcName,
- const unsigned int lineNo, const char * const initMsg,
- const char * const fmt, ArgTs&&...args) const
+ [[noreturn]] void
+ logErrorErrnoAndRethrow(const char * const fileName, const char * const funcName,
+ const unsigned int lineNo, const char * const initMsg,
+ fmt::format_string<ArgTs...> fmt, ArgTs&&...args) const
{
- this->logErrno<Level::Error, AppendCauseV>(fileName, funcName, lineNo, initMsg, fmt,
- std::forward<ArgTs>(args)...);
+ this->logErrno<Level::Error, AppendCauseV>(fileName, funcName, lineNo, initMsg,
+ std::move(fmt), std::forward<ArgTs>(args)...);
throw;
}
*/
template <Level LevelV, typename... ArgTs>
void logMem(const char * const fileName, const char * const funcName, const unsigned int lineNo,
- const MemData memData, const char * const fmt, ArgTs&&...args) const
+ const MemData memData, fmt::format_string<ArgTs...> fmt, ArgTs&&...args) const
{
- this->_log<_MemLogWriter, LevelV, false>(fileName, funcName, lineNo, memData, "", fmt,
- std::forward<ArgTs>(args)...);
+ this->_log<_MemLogWriter, LevelV, false>(fileName, funcName, lineNo, memData, "",
+ std::move(fmt), std::forward<ArgTs>(args)...);
}
private:
*/
template <typename LogWriterT, Level LevelV, bool AppendCauseV, typename... ArgTs>
void _log(const char * const fileName, const char * const funcName, const unsigned int lineNo,
- const MemData memData, const char * const initMsg, const char * const fmt,
+ const MemData memData, const char * const initMsg, fmt::format_string<ArgTs...> fmt,
ArgTs&&...args) const
{
const auto wouldLog = this->wouldLog(LevelV);
* append a null character).
*/
_mBuf.clear();
- BT_ASSERT(fmt);
- fmt::format_to(std::back_inserter(_mBuf), fmt, std::forward<ArgTs>(args)...);
+ fmt::format_to(std::back_inserter(_mBuf), std::move(fmt), std::forward<ArgTs>(args)...);
_mBuf.push_back('\0');
}
* SPDX-License-Identifier: MIT
*/
-#ifndef SRC_CPP_COMMON_VECTOR_HPP
-#define SRC_CPP_COMMON_VECTOR_HPP
+#ifndef BABELTRACE_CPP_COMMON_BT2C_VECTOR_HPP
+#define BABELTRACE_CPP_COMMON_BT2C_VECTOR_HPP
#include <vector>
} /* namespace bt2c */
-#endif /* SRC_CPP_COMMON_VECTOR_HPP */
+#endif /* BABELTRACE_CPP_COMMON_BT2C_VECTOR_HPP */
#endif // span_FEATURE( BYTE_SPAN )
-#if span_HAVE( STRUCT_BINDING )
+#if !span_USES_STD_SPAN && span_HAVE( STRUCT_BINDING )
#if span_CPP14_OR_GREATER
# include <tuple>
} // end namespace std
-#endif // span_HAVE( STRUCT_BINDING )
+#endif // !span_USES_STD_SPAN && span_HAVE( STRUCT_BINDING )
#if ! span_USES_STD_SPAN
span_RESTORE_WARNINGS()
* Copyright (c) 2018 Philippe Proulx <pproulx@efficios.com>
*/
-#ifndef BABELTRACE_CTF_WRITER_ASSERT_PRE_INTERNAL_H
-#define BABELTRACE_CTF_WRITER_ASSERT_PRE_INTERNAL_H
+#ifndef BABELTRACE_CTF_WRITER_ASSERT_PRE_H
+#define BABELTRACE_CTF_WRITER_ASSERT_PRE_H
/*
* The macros in this header use macros defined in "logging/log.h". We
"Index is out of bounds: index=%" PRIu64 ", " \
"count=%" PRIu64, (uint64_t) (_index), (uint64_t) (_length))
-#endif /* BABELTRACE_CTF_WRITER_ASSERT_PRE_INTERNAL_H */
+#endif /* BABELTRACE_CTF_WRITER_ASSERT_PRE_H */
* Copyright 2013, 2014 Jérémie Galarneau <jeremie.galarneau@efficios.com>
*/
-#ifndef BABELTRACE_CTF_WRITER_CLOCK_CLASS_INTERNAL_H
-#define BABELTRACE_CTF_WRITER_CLOCK_CLASS_INTERNAL_H
+#ifndef BABELTRACE_CTF_WRITER_CLOCK_CLASS_H
+#define BABELTRACE_CTF_WRITER_CLOCK_CLASS_H
#include "common/macros.h"
#include "object-pool.h"
int bt_ctf_clock_class_set_uuid(struct bt_ctf_clock_class *clock_class,
const uint8_t *uuid);
-#endif /* BABELTRACE_CTF_WRITER_CLOCK_CLASS_INTERNAL_H */
+#endif /* BABELTRACE_CTF_WRITER_CLOCK_CLASS_H */
* Copyright 2017 Philippe Proulx <pproulx@efficios.com>
*/
-#ifndef BABELTRACE_CTF_WRITER_CLOCK_INTERNAL_H
-#define BABELTRACE_CTF_WRITER_CLOCK_INTERNAL_H
+#ifndef BABELTRACE_CTF_WRITER_CLOCK_H
+#define BABELTRACE_CTF_WRITER_CLOCK_H
#include <babeltrace2-ctf-writer/clock.h>
#include "common/macros.h"
void bt_ctf_clock_class_serialize(struct bt_ctf_clock_class *clock_class,
struct metadata_context *context);
-#endif /* BABELTRACE_CTF_WRITER_CLOCK_INTERNAL_H */
+#endif /* BABELTRACE_CTF_WRITER_CLOCK_H */
* Copyright 2013, 2014 Jérémie Galarneau <jeremie.galarneau@efficios.com>
*/
-#ifndef BABELTRACE_CTF_WRITER_EVENT_CLASS_INTERNAL_H
-#define BABELTRACE_CTF_WRITER_EVENT_CLASS_INTERNAL_H
+#ifndef BABELTRACE_CTF_WRITER_EVENT_CLASS_H
+#define BABELTRACE_CTF_WRITER_EVENT_CLASS_H
#include "common/assert.h"
#include "common/macros.h"
return ret;
}
-#endif /* BABELTRACE_CTF_WRITER_EVENT_CLASS_INTERNAL_H */
+#endif /* BABELTRACE_CTF_WRITER_EVENT_CLASS_H */
* http://www.efficios.com/ctf
*/
-#ifndef BABELTRACE_CTF_WRITER_EVENT_INTERNAL_H
-#define BABELTRACE_CTF_WRITER_EVENT_INTERNAL_H
+#ifndef BABELTRACE_CTF_WRITER_EVENT_H
+#define BABELTRACE_CTF_WRITER_EVENT_H
#include <stdbool.h>
BT_CTF_TO_COMMON(event_class)));
}
-#endif /* BABELTRACE_CTF_WRITER_EVENT_INTERNAL_H */
+#endif /* BABELTRACE_CTF_WRITER_EVENT_H */
* http://www.efficios.com/ctf
*/
-#ifndef BABELTRACE_CTF_WRITER_FIELD_PATH_INTERNAL
-#define BABELTRACE_CTF_WRITER_FIELD_PATH_INTERNAL
+#ifndef BABELTRACE_CTF_WRITER_FIELD_PATH_H
+#define BABELTRACE_CTF_WRITER_FIELD_PATH_H
#include "common/common.h"
#include "common/assert.h"
int bt_ctf_field_path_get_index(
const struct bt_ctf_field_path *field_path, uint64_t index);
-#endif /* BABELTRACE_CTF_WRITER_FIELD_PATH_INTERNAL */
+#endif /* BABELTRACE_CTF_WRITER_FIELD_PATH_H */
* http://www.efficios.com/ctf
*/
-#ifndef BABELTRACE_CTF_WRITER_FIELD_TYPES_INTERNAL_H
-#define BABELTRACE_CTF_WRITER_FIELD_TYPES_INTERNAL_H
+#ifndef BABELTRACE_CTF_WRITER_FIELD_TYPES_H
+#define BABELTRACE_CTF_WRITER_FIELD_TYPES_H
#include <stdbool.h>
#include <stdint.h>
struct bt_ctf_field_type *bt_ctf_field_type_copy(struct bt_ctf_field_type *ft);
-#endif /* BABELTRACE_CTF_WRITER_FIELD_TYPES_INTERNAL_H */
+#endif /* BABELTRACE_CTF_WRITER_FIELD_TYPES_H */
* Copyright 2018 Philippe Proulx <pproulx@efficios.com>
*/
-#ifndef BABELTRACE_CTF_WRITER_FIELD_WRAPPER_INTERNAL_H
-#define BABELTRACE_CTF_WRITER_FIELD_WRAPPER_INTERNAL_H
+#ifndef BABELTRACE_CTF_WRITER_FIELD_WRAPPER_H
+#define BABELTRACE_CTF_WRITER_FIELD_WRAPPER_H
#include "common/macros.h"
struct bt_ctf_field_wrapper *bt_ctf_field_wrapper_create(
struct bt_ctf_object_pool *pool, struct bt_ctf_field_type *ft);
-#endif /* BABELTRACE_CTF_WRITER_FIELD_WRAPPER_INTERNAL_H */
+#endif /* BABELTRACE_CTF_WRITER_FIELD_WRAPPER_H */
* http://www.efficios.com/ctf
*/
-#ifndef BABELTRACE_CTF_WRITER_FIELDS_INTERNAL_H
-#define BABELTRACE_CTF_WRITER_FIELDS_INTERNAL_H
+#ifndef BABELTRACE_CTF_WRITER_FIELDS_H
+#define BABELTRACE_CTF_WRITER_FIELDS_H
#include <glib.h>
#include <inttypes.h>
return bt_ctf_field_common_is_set_recursive((void *) field);
}
-#endif /* BABELTRACE_CTF_WRITER_FIELDS_INTERNAL_H */
+#endif /* BABELTRACE_CTF_WRITER_FIELDS_H */
* Copyright 2013, 2014 Jérémie Galarneau <jeremie.galarneau@efficios.com>
*/
-#ifndef BABELTRACE_CTF_WRITER_FUNCTOR_INTERNAL_H
-#define BABELTRACE_CTF_WRITER_FUNCTOR_INTERNAL_H
+#ifndef BABELTRACE_CTF_WRITER_FUNCTOR_H
+#define BABELTRACE_CTF_WRITER_FUNCTOR_H
#include <glib.h>
#include "common/macros.h"
void value_exists(gpointer element, gpointer search_query);
-#endif /* BABELTRACE_CTF_WRITER_FUNCTOR_INTERNAL_H */
+#endif /* BABELTRACE_CTF_WRITER_FUNCTOR_H */
* Copyright (c) 2018 Philippe Proulx <pproulx@efficios.com>
*/
-#ifndef BABELTRACE_CTF_WRITER_OBJECT_POOL_INTERNAL_H
-#define BABELTRACE_CTF_WRITER_OBJECT_POOL_INTERNAL_H
+#ifndef BABELTRACE_CTF_WRITER_OBJECT_POOL_H
+#define BABELTRACE_CTF_WRITER_OBJECT_POOL_H
/*
* This is a generic object pool to avoid memory allocation/deallocation
#endif
}
-#endif /* BABELTRACE_CTF_WRITER_OBJECT_POOL_INTERNAL_H */
+#endif /* BABELTRACE_CTF_WRITER_OBJECT_POOL_H */
* Copyright 2015 Jérémie Galarneau <jeremie.galarneau@efficios.com>
*/
-#ifndef BABELTRACE_CTF_WRITER_OBJECT_INTERNAL_H
-#define BABELTRACE_CTF_WRITER_OBJECT_INTERNAL_H
+#ifndef BABELTRACE_CTF_WRITER_OBJECT_H
+#define BABELTRACE_CTF_WRITER_OBJECT_H
#include "common/macros.h"
#include "common/assert.h"
}
}
-#endif /* BABELTRACE_CTF_WRITER_OBJECT_INTERNAL_H */
+#endif /* BABELTRACE_CTF_WRITER_OBJECT_H */
* Copyright 2016 Philippe Proulx <pproulx@efficios.com>
*/
-#ifndef BABELTRACE_CTF_WRITER_RESOLVE_INTERNAL_H
-#define BABELTRACE_CTF_WRITER_RESOLVE_INTERNAL_H
+#ifndef BABELTRACE_CTF_WRITER_RESOLVE_H
+#define BABELTRACE_CTF_WRITER_RESOLVE_H
#include <babeltrace2-ctf-writer/field-types.h>
#include "common/macros.h"
struct bt_ctf_field_type_common *event_payload_type,
enum bt_ctf_resolve_flag flags);
-#endif /* BABELTRACE_CTF_WRITER_RESOLVE_INTERNAL_H */
+#endif /* BABELTRACE_CTF_WRITER_RESOLVE_H */
* http://www.efficios.com/ctf
*/
-#ifndef BABELTRACE_CTF_WRITER_STREAM_CLASS_INTERNAL_H
-#define BABELTRACE_CTF_WRITER_STREAM_CLASS_INTERNAL_H
+#ifndef BABELTRACE_CTF_WRITER_STREAM_CLASS_H
+#define BABELTRACE_CTF_WRITER_STREAM_CLASS_H
#include "common/assert.h"
#include "common/macros.h"
struct bt_ctf_field_type *packet_context_type,
struct bt_ctf_field_type *event_header_type);
-#endif /* BABELTRACE_CTF_WRITER_STREAM_CLASS_INTERNAL_H */
+#endif /* BABELTRACE_CTF_WRITER_STREAM_CLASS_H */
* http://www.efficios.com/ctf
*/
-#ifndef BABELTRACE_CTF_WRITER_STREAM_INTERNAL_H
-#define BABELTRACE_CTF_WRITER_STREAM_INTERNAL_H
+#ifndef BABELTRACE_CTF_WRITER_STREAM_H
+#define BABELTRACE_CTF_WRITER_STREAM_H
#include "common/assert.h"
#include "common/macros.h"
struct bt_ctf_stream_class *stream_class,
const char *name, uint64_t id);
-#endif /* BABELTRACE_CTF_WRITER_STREAM_INTERNAL_H */
+#endif /* BABELTRACE_CTF_WRITER_STREAM_H */
* http://www.efficios.com/ctf
*/
-#ifndef BABELTRACE_CTF_WRITER_TRACE_INTERNAL_H
-#define BABELTRACE_CTF_WRITER_TRACE_INTERNAL_H
+#ifndef BABELTRACE_CTF_WRITER_TRACE_H
+#define BABELTRACE_CTF_WRITER_TRACE_H
#include "common/macros.h"
#include "common/uuid.h"
int bt_ctf_trace_visit(struct bt_ctf_trace *trace,
bt_ctf_visitor visitor, void *data);
-#endif /* BABELTRACE_CTF_WRITER_TRACE_INTERNAL_H */
+#endif /* BABELTRACE_CTF_WRITER_TRACE_H */
* Copyright 2019 EfficiOS, Inc
*/
-#ifndef BABELTRACE_CTF_WRITER_UTILS_INTERNAL_H
-#define BABELTRACE_CTF_WRITER_UTILS_INTERNAL_H
+#ifndef BABELTRACE_CTF_WRITER_UTILS_H
+#define BABELTRACE_CTF_WRITER_UTILS_H
#include "common/macros.h"
#include <babeltrace2-ctf-writer/field-types.h>
return str;
}
-#endif /* BABELTRACE_CTF_WRITER_UTILS_INTERNAL_H */
+#endif /* BABELTRACE_CTF_WRITER_UTILS_H */
* Copyright 2016 Philippe Proulx <pproulx@efficios.com>
*/
-#ifndef BABELTRACE_CTF_WRITER_VALIDATION_INTERNAL_H
-#define BABELTRACE_CTF_WRITER_VALIDATION_INTERNAL_H
+#ifndef BABELTRACE_CTF_WRITER_VALIDATION_H
+#define BABELTRACE_CTF_WRITER_VALIDATION_H
#include "common/macros.h"
void bt_ctf_validation_output_put_types(
struct bt_ctf_validation_output *output);
-#endif /* BABELTRACE_CTF_WRITER_VALIDATION_INTERNAL_H */
+#endif /* BABELTRACE_CTF_WRITER_VALIDATION_H */
* Copyright (c) 2015-2017 Philippe Proulx <pproulx@efficios.com>
*/
-#ifndef BABELTRACE_CTF_WRITER_VALUES_INTERNAL_H
-#define BABELTRACE_CTF_WRITER_VALUES_INTERNAL_H
+#ifndef BABELTRACE_CTF_WRITER_VALUES_H
+#define BABELTRACE_CTF_WRITER_VALUES_H
#include <babeltrace2-ctf-writer/types.h>
}
};
-#endif /* BABELTRACE_CTF_WRITER_VALUES_INTERNAL_H */
+#endif /* BABELTRACE_CTF_WRITER_VALUES_H */
* Copyright 2016 Jérémie Galarneau <jeremie.galarneau@efficios.com>
*/
-#ifndef BABELTRACE_CTF_WRITER_VISITOR_INTERNAL_H
-#define BABELTRACE_CTF_WRITER_VISITOR_INTERNAL_H
+#ifndef BABELTRACE_CTF_WRITER_VISITOR_H
+#define BABELTRACE_CTF_WRITER_VISITOR_H
#include <stdlib.h>
#include <stdint.h>
bt_ctf_visitor visitor,
void *data);
-#endif /* BABELTRACE_CTF_WRITER_VISITOR_INTERNAL_H */
+#endif /* BABELTRACE_CTF_WRITER_VISITOR_H */
* Copyright 2013, 2014 Jérémie Galarneau <jeremie.galarneau@efficios.com>
*/
-#ifndef BABELTRACE_CTF_WRITER_WRITER_INTERNAL_H
-#define BABELTRACE_CTF_WRITER_WRITER_INTERNAL_H
+#ifndef BABELTRACE_CTF_WRITER_WRITER_H
+#define BABELTRACE_CTF_WRITER_WRITER_H
#include <dirent.h>
#include <glib.h>
void bt_ctf_writer_freeze(struct bt_ctf_writer *writer);
-#endif /* BABELTRACE_CTF_WRITER_WRITER_INTERNAL_H */
+#endif /* BABELTRACE_CTF_WRITER_WRITER_H */
* http://www.efficios.com/ctf
*/
-#ifndef BABELTRACE_CTFSER_INTERNAL_H
-#define BABELTRACE_CTFSER_INTERNAL_H
+#ifndef BABELTRACE_CTFSER_CTFSER_H
+#define BABELTRACE_CTFSER_CTFSER_H
#include <stdbool.h>
#include <stdlib.h>
return ctfser->path->str;
}
-#endif /* BABELTRACE_CTFSER_INTERNAL_H */
+#endif /* BABELTRACE_CTFSER_CTFSER_H */
* Babeltrace - File descriptor cache
*/
-#ifndef BABELTRACE_FD_CACHE_INTERNAL_H
-#define BABELTRACE_FD_CACHE_INTERNAL_H
+#ifndef BABELTRACE_FD_CACHE_FD_CACHE_H
+#define BABELTRACE_FD_CACHE_FD_CACHE_H
#include "common/macros.h"
void bt_fd_cache_put_handle(struct bt_fd_cache *fdc,
struct bt_fd_cache_handle *handle);
-#endif /* BABELTRACE_FD_CACHE_INTERNAL_H */
+#endif /* BABELTRACE_FD_CACHE_FD_CACHE_H */
* Copyright (c) 2018-2020 Philippe Proulx <pproulx@efficios.com>
*/
-#ifndef BABELTRACE_ASSERT_COND_BASE_INTERNAL_H
-#define BABELTRACE_ASSERT_COND_BASE_INTERNAL_H
+#ifndef BABELTRACE_LIB_ASSERT_COND_BASE_H
+#define BABELTRACE_LIB_ASSERT_COND_BASE_H
/*
* The macros in this header use macros defined in "lib/logging.h". We
*/
#define BT_ASSERT_COND_SUPPORTED
-#endif /* BABELTRACE_ASSERT_COND_BASE_INTERNAL_H */
+#endif /* BABELTRACE_LIB_ASSERT_COND_BASE_H */
* Copyright (c) 2018-2020 Philippe Proulx <pproulx@efficios.com>
*/
-#ifndef BABELTRACE_ASSERT_COND_INTERNAL_H
-#define BABELTRACE_ASSERT_COND_INTERNAL_H
+#ifndef BABELTRACE_LIB_ASSERT_COND_H
+#define BABELTRACE_LIB_ASSERT_COND_H
#include "assert-cond-base.h"
BT_ASSERT_PRE_DEV_NON_NULL(_BT_ASSERT_PRE_KEY_ID, (_key), \
_BT_ASSERT_PRE_KEY_NAME)
-#endif /* BABELTRACE_ASSERT_COND_INTERNAL_H */
+#endif /* BABELTRACE_LIB_ASSERT_COND_H */
* Copyright (c) 2019 Philippe Proulx <pproulx@efficios.com>
*/
-#ifndef BABELTRACE_ERROR_INTERNAL_H
-#define BABELTRACE_ERROR_INTERNAL_H
+#ifndef BABELTRACE_LIB_ERROR_H
+#define BABELTRACE_LIB_ERROR_H
#include <stdarg.h>
#include <glib.h>
const char *file_name, uint64_t line_no,
const char *msg_fmt, va_list args);
-#endif /* BABELTRACE_ERROR_INTERNAL_H */
+#endif /* BABELTRACE_LIB_ERROR_H */
* Copyright (c) 2019 Philippe Proulx <pproulx@efficios.com>
*/
-#ifndef BABELTRACE_FUNC_STATUS_INTERNAL_H
-#define BABELTRACE_FUNC_STATUS_INTERNAL_H
+#ifndef BABELTRACE_LIB_FUNC_STATUS_H
+#define BABELTRACE_LIB_FUNC_STATUS_H
#define __BT_IN_BABELTRACE_H
#include <babeltrace2/func-status.h>
#define BT_FUNC_STATUS_OK __BT_FUNC_STATUS_OK
#define BT_FUNC_STATUS_OVERFLOW_ERROR __BT_FUNC_STATUS_OVERFLOW_ERROR
-#endif /* BABELTRACE_FUNC_STATUS_INTERNAL_H */
+#endif /* BABELTRACE_LIB_FUNC_STATUS_H */
* Copyright 2017-2019 Philippe Proulx <pproulx@efficios.com>
*/
-#ifndef BABELTRACE_GRAPH_COMPONENT_CLASS_SINK_SIMPLE_H
-#define BABELTRACE_GRAPH_COMPONENT_CLASS_SINK_SIMPLE_H
+#ifndef BABELTRACE_LIB_GRAPH_COMPONENT_CLASS_SINK_SIMPLE_H
+#define BABELTRACE_LIB_GRAPH_COMPONENT_CLASS_SINK_SIMPLE_H
#include <babeltrace2/types.h>
#include <babeltrace2/graph/message.h>
struct bt_component_class_sink *bt_component_class_sink_simple_borrow(void);
-#endif /* BABELTRACE_GRAPH_COMPONENT_CLASS_SINK_SIMPLE_H */
+#endif /* BABELTRACE_LIB_GRAPH_COMPONENT_CLASS_SINK_SIMPLE_H */
* Copyright 2015 Jérémie Galarneau <jeremie.galarneau@efficios.com>
*/
-#ifndef BABELTRACE_GRAPH_COMPONENT_CLASS_INTERNAL_H
-#define BABELTRACE_GRAPH_COMPONENT_CLASS_INTERNAL_H
+#ifndef BABELTRACE_LIB_GRAPH_COMPONENT_CLASS_H
+#define BABELTRACE_LIB_GRAPH_COMPONENT_CLASS_H
#include <babeltrace2/graph/component-class.h>
#include <babeltrace2/graph/component.h>
component_class->type == BT_COMPONENT_CLASS_TYPE_FILTER;
}
-#endif /* BABELTRACE_GRAPH_COMPONENT_CLASS_INTERNAL_H */
+#endif /* BABELTRACE_LIB_GRAPH_COMPONENT_CLASS_H */
* Copyright 2017 Jérémie Galarneau <jeremie.galarneau@efficios.com>
*/
-#ifndef BABELTRACE_GRAPH_COMPONENT_DESCRIPTOR_SET_INTERNAL_H
-#define BABELTRACE_GRAPH_COMPONENT_DESCRIPTOR_SET_INTERNAL_H
+#ifndef BABELTRACE_LIB_GRAPH_COMPONENT_DESCRIPTOR_SET_H
+#define BABELTRACE_LIB_GRAPH_COMPONENT_DESCRIPTOR_SET_H
#include <babeltrace2/graph/graph.h>
#include <babeltrace2/graph/component-descriptor-set.h>
GPtrArray *sinks;
};
-#endif /* BABELTRACE_GRAPH_COMPONENT_DESCRIPTOR_SET_INTERNAL_H */
+#endif /* BABELTRACE_LIB_GRAPH_COMPONENT_DESCRIPTOR_SET_H */
* Copyright 2016 Jérémie Galarneau <jeremie.galarneau@efficios.com>
*/
-#ifndef BABELTRACE_GRAPH_COMPONENT_FILTER_INTERNAL_H
-#define BABELTRACE_GRAPH_COMPONENT_FILTER_INTERNAL_H
+#ifndef BABELTRACE_LIB_GRAPH_COMPONENT_FILTER_H
+#define BABELTRACE_LIB_GRAPH_COMPONENT_FILTER_H
#include <babeltrace2/graph/component.h>
struct bt_component *bt_component_filter_create(void);
-#endif /* BABELTRACE_GRAPH_COMPONENT_FILTER_INTERNAL_H */
+#endif /* BABELTRACE_LIB_GRAPH_COMPONENT_FILTER_H */
* Copyright 2015 Jérémie Galarneau <jeremie.galarneau@efficios.com>
*/
-#ifndef BABELTRACE_GRAPH_COMPONENT_SINK_INTERNAL_H
-#define BABELTRACE_GRAPH_COMPONENT_SINK_INTERNAL_H
+#ifndef BABELTRACE_LIB_GRAPH_COMPONENT_SINK_H
+#define BABELTRACE_LIB_GRAPH_COMPONENT_SINK_H
#include <stdbool.h>
struct bt_component *bt_component_sink_create(void);
-#endif /* BABELTRACE_GRAPH_COMPONENT_SINK_INTERNAL_H */
+#endif /* BABELTRACE_LIB_GRAPH_COMPONENT_SINK_H */
* Copyright 2015 Jérémie Galarneau <jeremie.galarneau@efficios.com>
*/
-#ifndef BABELTRACE_GRAPH_COMPONENT_SOURCE_INTERNAL_H
-#define BABELTRACE_GRAPH_COMPONENT_SOURCE_INTERNAL_H
+#ifndef BABELTRACE_LIB_GRAPH_COMPONENT_SOURCE_H
+#define BABELTRACE_LIB_GRAPH_COMPONENT_SOURCE_H
#include "component.h"
struct bt_component *bt_component_source_create(void);
-#endif /* BABELTRACE_GRAPH_COMPONENT_SOURCE_INTERNAL_H */
+#endif /* BABELTRACE_LIB_GRAPH_COMPONENT_SOURCE_H */
* Copyright 2015 Jérémie Galarneau <jeremie.galarneau@efficios.com>
*/
-#ifndef BABELTRACE_GRAPH_COMPONENT_INTERNAL_H
-#define BABELTRACE_GRAPH_COMPONENT_INTERNAL_H
+#ifndef BABELTRACE_LIB_GRAPH_COMPONENT_H
+#define BABELTRACE_LIB_GRAPH_COMPONENT_H
#include <babeltrace2/graph/component.h>
#include <babeltrace2/graph/component-class.h>
void bt_component_remove_destroy_listener(struct bt_component *component,
bt_component_destroy_listener_func func, void *data);
-#endif /* BABELTRACE_GRAPH_COMPONENT_INTERNAL_H */
+#endif /* BABELTRACE_LIB_GRAPH_COMPONENT_H */
* Copyright 2017 Jérémie Galarneau <jeremie.galarneau@efficios.com>
*/
-#ifndef BABELTRACE_GRAPH_CONNECTION_INTERNAL_H
-#define BABELTRACE_GRAPH_CONNECTION_INTERNAL_H
+#ifndef BABELTRACE_LIB_GRAPH_CONNECTION_H
+#define BABELTRACE_LIB_GRAPH_CONNECTION_H
#include <babeltrace2/graph/connection.h>
#include "lib/object.h"
return (void *) conn->base.parent;
}
-#endif /* BABELTRACE_GRAPH_CONNECTION_INTERNAL_H */
+#endif /* BABELTRACE_LIB_GRAPH_CONNECTION_H */
* Copyright 2017 Jérémie Galarneau <jeremie.galarneau@efficios.com>
*/
-#ifndef BABELTRACE_GRAPH_GRAPH_INTERNAL_H
-#define BABELTRACE_GRAPH_GRAPH_INTERNAL_H
+#ifndef BABELTRACE_LIB_GRAPH_GRAPH_H
+#define BABELTRACE_LIB_GRAPH_GRAPH_H
/* Protection: this file uses BT_LIB_LOG*() macros directly */
#ifndef BT_LIB_LOG_SUPPORTED
BT_LIB_LOGI("Set graph's state to faulty: %![graph-]+g", graph);
}
-#endif /* BABELTRACE_GRAPH_GRAPH_INTERNAL_H */
+#endif /* BABELTRACE_LIB_GRAPH_GRAPH_H */
* Copyright (c) 2019 Philippe Proulx <pproulx@efficios.com>
*/
-#ifndef BABELTRACE_GRAPH_INTERRUPTER_INTERNAL_H
-#define BABELTRACE_GRAPH_INTERRUPTER_INTERNAL_H
+#ifndef BABELTRACE_LIB_GRAPH_INTERRUPTER_H
+#define BABELTRACE_LIB_GRAPH_INTERRUPTER_H
#include <stdbool.h>
return is_set;
}
-#endif /* BABELTRACE_GRAPH_INTERRUPTER_INTERNAL_H */
+#endif /* BABELTRACE_LIB_GRAPH_INTERRUPTER_H */
* Copyright 2015 Jérémie Galarneau <jeremie.galarneau@efficios.com>
*/
-#ifndef BABELTRACE_GRAPH_MESSAGE_ITERATOR_INTERNAL_H
-#define BABELTRACE_GRAPH_MESSAGE_ITERATOR_INTERNAL_H
+#ifndef BABELTRACE_LIB_GRAPH_ITERATOR_H
+#define BABELTRACE_LIB_GRAPH_ITERATOR_H
#include "common/macros.h"
#include "lib/object.h"
}
};
-#endif /* BABELTRACE_GRAPH_MESSAGE_ITERATOR_INTERNAL_H */
+#endif /* BABELTRACE_LIB_GRAPH_ITERATOR_H */
* Copyright 2015 Jérémie Galarneau <jeremie.galarneau@efficios.com>
*/
-#ifndef BABELTRACE_GRAPH_MESSAGE_ITERATOR_CLASS_INTERNAL_H
-#define BABELTRACE_GRAPH_MESSAGE_ITERATOR_CLASS_INTERNAL_H
+#ifndef BABELTRACE_LIB_GRAPH_MESSAGE_ITERATOR_CLASS_H
+#define BABELTRACE_LIB_GRAPH_MESSAGE_ITERATOR_CLASS_H
#include <babeltrace2/graph/message-iterator-class.h>
#include <babeltrace2/types.h>
# define bt_message_iterator_class_freeze(_cls)
#endif
-#endif /* BABELTRACE_GRAPH_MESSAGE_ITERATOR_CLASS_INTERNAL_H */
+#endif /* BABELTRACE_LIB_GRAPH_MESSAGE_ITERATOR_CLASS_H */
* Copyright 2019 Philippe Proulx <pproulx@efficios.com>
*/
-#ifndef BABELTRACE_GRAPH_MESSAGE_DISCARDED_ITEMS_INTERNAL_H
-#define BABELTRACE_GRAPH_MESSAGE_DISCARDED_ITEMS_INTERNAL_H
+#ifndef BABELTRACE_LIB_GRAPH_MESSAGE_DISCARDED_ITEMS_H
+#define BABELTRACE_LIB_GRAPH_MESSAGE_DISCARDED_ITEMS_H
#include <glib.h>
#include "lib/trace-ir/clock-snapshot.h"
struct bt_property_uint count;
};
-#endif /* BABELTRACE_GRAPH_MESSAGE_DISCARDED_ITEMS_INTERNAL_H */
+#endif /* BABELTRACE_LIB_GRAPH_MESSAGE_DISCARDED_ITEMS_H */
* Copyright 2016 Jérémie Galarneau <jeremie.galarneau@efficios.com>
*/
-#ifndef BABELTRACE_GRAPH_MESSAGE_EVENT_INTERNAL_H
-#define BABELTRACE_GRAPH_MESSAGE_EVENT_INTERNAL_H
+#ifndef BABELTRACE_LIB_GRAPH_MESSAGE_EVENT_H
+#define BABELTRACE_LIB_GRAPH_MESSAGE_EVENT_H
#include "compat/compiler.h"
#include <babeltrace2/trace-ir/event-class.h>
}
#endif
-#endif /* BABELTRACE_GRAPH_MESSAGE_EVENT_INTERNAL_H */
+#endif /* BABELTRACE_LIB_GRAPH_MESSAGE_EVENT_H */
* Copyright 2017-2018 Philippe Proulx <pproulx@efficios.com>
*/
-#ifndef BABELTRACE_GRAPH_MESSAGE_MESSAGE_ITERATOR_INACTIVITY_INTERNAL_H
-#define BABELTRACE_GRAPH_MESSAGE_MESSAGE_ITERATOR_INACTIVITY_INTERNAL_H
+#ifndef BABELTRACE_LIB_GRAPH_MESSAGE_MESSAGE_ITERATOR_INACTIVITY_H
+#define BABELTRACE_LIB_GRAPH_MESSAGE_MESSAGE_ITERATOR_INACTIVITY_H
#include <glib.h>
#include "lib/trace-ir/clock-snapshot.h"
struct bt_clock_snapshot *cs;
};
-#endif /* BABELTRACE_GRAPH_MESSAGE_MESSAGE_ITERATOR_INACTIVITY_INTERNAL_H */
+#endif /* BABELTRACE_LIB_GRAPH_MESSAGE_MESSAGE_ITERATOR_INACTIVITY_H */
* Copyright 2015 Jérémie Galarneau <jeremie.galarneau@efficios.com>
*/
-#ifndef BABELTRACE_GRAPH_MESSAGE_MESSAGE_INTERNAL_H
-#define BABELTRACE_GRAPH_MESSAGE_MESSAGE_INTERNAL_H
+#ifndef BABELTRACE_LIB_GRAPH_MESSAGE_MESSAGE_H
+#define BABELTRACE_LIB_GRAPH_MESSAGE_MESSAGE_H
/* Protection: this file uses BT_LIB_LOG*() macros directly */
#ifndef BT_LIB_LOG_SUPPORTED
# define bt_message_freeze(_x)
#endif /* BT_DEV_MODE */
-#endif /* BABELTRACE_GRAPH_MESSAGE_MESSAGE_INTERNAL_H */
+#endif /* BABELTRACE_LIB_GRAPH_MESSAGE_MESSAGE_H */
* Copyright 2016 Jérémie Galarneau <jeremie.galarneau@efficios.com>
*/
-#ifndef BABELTRACE_GRAPH_MESSAGE_PACKET_INTERNAL_H
-#define BABELTRACE_GRAPH_MESSAGE_PACKET_INTERNAL_H
+#ifndef BABELTRACE_LIB_GRAPH_MESSAGE_PACKET_H
+#define BABELTRACE_LIB_GRAPH_MESSAGE_PACKET_H
#include "compat/compiler.h"
#include <babeltrace2/trace-ir/packet.h>
void bt_message_packet_end_recycle(struct bt_message *msg);
-#endif /* BABELTRACE_GRAPH_MESSAGE_PACKET_INTERNAL_H */
+#endif /* BABELTRACE_LIB_GRAPH_MESSAGE_PACKET_H */
* Copyright 2016 Jérémie Galarneau <jeremie.galarneau@efficios.com>
*/
-#ifndef BABELTRACE_GRAPH_MESSAGE_STREAM_INTERNAL_H
-#define BABELTRACE_GRAPH_MESSAGE_STREAM_INTERNAL_H
+#ifndef BABELTRACE_LIB_GRAPH_MESSAGE_STREAM_H
+#define BABELTRACE_LIB_GRAPH_MESSAGE_STREAM_H
#include <babeltrace2/graph/message.h>
}
-#endif /* BABELTRACE_GRAPH_MESSAGE_STREAM_INTERNAL_H */
+#endif /* BABELTRACE_LIB_GRAPH_MESSAGE_STREAM_H */
* Copyright 2017 Jérémie Galarneau <jeremie.galarneau@efficios.com>
*/
-#ifndef BABELTRACE_GRAPH_PORT_INTERNAL_H
-#define BABELTRACE_GRAPH_PORT_INTERNAL_H
+#ifndef BABELTRACE_LIB_GRAPH_PORT_H
+#define BABELTRACE_LIB_GRAPH_PORT_H
#include <babeltrace2/graph/port.h>
}
}
-#endif /* BABELTRACE_GRAPH_PORT_INTERNAL_H */
+#endif /* BABELTRACE_LIB_GRAPH_PORT_H */
* Copyright 2017-2018 Philippe Proulx <pproulx@efficios.com>
*/
-#ifndef BABELTRACE_GRAPH_QUERY_EXECUTOR_INTERNAL_H
-#define BABELTRACE_GRAPH_QUERY_EXECUTOR_INTERNAL_H
+#ifndef BABELTRACE_LIB_GRAPH_QUERY_EXECUTOR_H
+#define BABELTRACE_LIB_GRAPH_QUERY_EXECUTOR_H
#include <glib.h>
enum bt_logging_level log_level;
};
-#endif /* BABELTRACE_GRAPH_QUERY_EXECUTOR_INTERNAL_H */
+#endif /* BABELTRACE_LIB_GRAPH_QUERY_EXECUTOR_H */
* http://www.efficios.com/ctf
*/
-#ifndef BABELTRACE_INTEGER_RANGE_SET_INTERNAL_H
-#define BABELTRACE_INTEGER_RANGE_SET_INTERNAL_H
+#ifndef BABELTRACE_LIB_INTEGER_RANGE_SET_H
+#define BABELTRACE_LIB_INTEGER_RANGE_SET_H
#include <stdbool.h>
#include <glib.h>
bool bt_integer_range_set_signed_has_overlaps(
const struct bt_integer_range_set *range_set);
-#endif /* BABELTRACE_INTEGER_RANGE_SET_INTERNAL_H */
+#endif /* BABELTRACE_LIB_INTEGER_RANGE_SET_H */
{
char tmp_prefix[TMP_PREFIX_LEN];
- if (trace->name.value) {
- BUF_APPEND(", %sname=\"%s\"", PRFIELD(trace->name.value));
+ if (trace->name) {
+ BUF_APPEND(", %sname=\"%s\"", PRFIELD(trace->name));
}
if (!extended) {
BUF_APPEND(", %sid=%" PRIu64, PRFIELD(stream_class->id));
- if (stream_class->name.value) {
+ if (stream_class->name) {
BUF_APPEND(", %sname=\"%s\"",
- PRFIELD(stream_class->name.value));
+ PRFIELD(stream_class->name));
}
if (!extended) {
BUF_APPEND(", %sid=%" PRIu64, PRFIELD(event_class->id));
- if (event_class->name.value) {
+ if (event_class->name) {
BUF_APPEND(", %sname=\"%s\"",
- PRFIELD(event_class->name.value));
+ PRFIELD(event_class->name));
}
if (!extended) {
(int) event_class->log_level.value)));
}
- if (event_class->emf_uri.value) {
+ if (event_class->emf_uri) {
BUF_APPEND(", %semf-uri=\"%s\"",
- PRFIELD(event_class->emf_uri.value));
+ PRFIELD(event_class->emf_uri));
}
BUF_APPEND(", %sspecific-context-fc-addr=%p, %spayload-fc-addr=%p",
BUF_APPEND(", %sid=%" PRIu64, PRFIELD(stream->id));
- if (stream->name.value) {
- BUF_APPEND(", %sname=\"%s\"", PRFIELD(stream->name.value));
+ if (stream->name) {
+ BUF_APPEND(", %sname=\"%s\"", PRFIELD(stream->name));
}
if (!extended) {
{
char tmp_prefix[TMP_PREFIX_LEN];
- if (clock_class->name.value) {
- BUF_APPEND(", %sname=\"%s\"", PRFIELD(clock_class->name.value));
+ if (clock_class->name) {
+ BUF_APPEND(", %sname=\"%s\"", PRFIELD(clock_class->name));
}
BUF_APPEND(", %sfreq=%" PRIu64, PRFIELD(clock_class->frequency));
return;
}
- if (clock_class->description.value) {
+ if (clock_class->description) {
BUF_APPEND(", %spartial-descr=\"%.32s\"",
- PRFIELD(clock_class->description.value));
+ PRFIELD(clock_class->description));
}
if (clock_class->uuid.value) {
* Copyright 2017-2018 Philippe Proulx <pproulx@efficios.com>
*/
-#ifndef BABELTRACE_LIB_LOGGING_INTERNAL_H
-#define BABELTRACE_LIB_LOGGING_INTERNAL_H
+#ifndef BABELTRACE_LIB_LOGGING_H
+#define BABELTRACE_LIB_LOGGING_H
#include <stdarg.h>
#define BT_LIB_LOG_SUPPORTED
-#endif /* BABELTRACE_LIB_LOGGING_INTERNAL_H */
+#endif /* BABELTRACE_LIB_LOGGING_H */
* Copyright (c) 2018 Philippe Proulx <pproulx@efficios.com>
*/
-#ifndef BABELTRACE_OBJECT_POOL_INTERNAL_H
-#define BABELTRACE_OBJECT_POOL_INTERNAL_H
+#ifndef BABELTRACE_LIB_OBJECT_POOL_H
+#define BABELTRACE_LIB_OBJECT_POOL_H
/*
* This is a generic object pool to avoid memory allocation/deallocation
pool, pool->size, pool->objects->len, obj);
}
-#endif /* BABELTRACE_OBJECT_POOL_INTERNAL_H */
+#endif /* BABELTRACE_LIB_OBJECT_POOL_H */
* Copyright 2015 Jérémie Galarneau <jeremie.galarneau@efficios.com>
*/
-#ifndef BABELTRACE_OBJECT_INTERNAL_H
-#define BABELTRACE_OBJECT_INTERNAL_H
+#ifndef BABELTRACE_LIB_OBJECT_H
+#define BABELTRACE_LIB_OBJECT_H
#include "common/assert.h"
#include <stdbool.h>
(_var_src) = NULL; \
} while (0)
-#endif /* BABELTRACE_OBJECT_INTERNAL_H */
+#endif /* BABELTRACE_LIB_OBJECT_H */
* Copyright 2016 Jérémie Galarneau <jeremie.galarneau@efficios.com>
*/
-#ifndef BABELTRACE_PLUGIN_PLUGIN_SO_INTERNAL_H
-#define BABELTRACE_PLUGIN_PLUGIN_SO_INTERNAL_H
+#ifndef BABELTRACE_LIB_PLUGIN_PLUGIN_SO_H
+#define BABELTRACE_LIB_PLUGIN_PLUGIN_SO_H
#include <glib.h>
#include <gmodule.h>
void bt_plugin_so_on_add_component_class(struct bt_plugin *plugin,
struct bt_component_class *comp_class);
-#endif /* BABELTRACE_PLUGIN_PLUGIN_SO_INTERNAL_H */
+#endif /* BABELTRACE_LIB_PLUGIN_PLUGIN_SO_H */
* Copyright 2015 Jérémie Galarneau <jeremie.galarneau@efficios.com>
*/
-#ifndef BABELTRACE_PLUGIN_PLUGIN_INTERNAL_H
-#define BABELTRACE_PLUGIN_PLUGIN_INTERNAL_H
+#ifndef BABELTRACE_LIB_PLUGIN_PLUGIN_H
+#define BABELTRACE_LIB_PLUGIN_PLUGIN_H
#include "common/common.h"
#include "lib/graph/component-class.h"
return;
}
-#endif /* BABELTRACE_PLUGIN_PLUGIN_INTERNAL_H */
+#endif /* BABELTRACE_LIB_PLUGIN_PLUGIN_H */
* Copyright (c) 2018 Philippe Proulx <pproulx@efficios.com>
*/
-#ifndef BABELTRACE_PROPERTY_INTERNAL_H
-#define BABELTRACE_PROPERTY_INTERNAL_H
+#ifndef BABELTRACE_LIB_PROPERTY_H
+#define BABELTRACE_LIB_PROPERTY_H
#include "common/assert.h"
#include <babeltrace2/babeltrace.h>
prop->value = value;
}
-#endif /* BABELTRACE_PROPERTY_INTERNAL_H */
+#endif /* BABELTRACE_LIB_PROPERTY_H */
* Copyright (c) 2015 EfficiOS Inc. and Linux Foundation
*/
-#ifndef BABELTRACE_TRACE_IR_ATTRIBUTES_H
-#define BABELTRACE_TRACE_IR_ATTRIBUTES_H
+#ifndef BABELTRACE_LIB_TRACE_IR_ATTRIBUTES_H
+#define BABELTRACE_LIB_TRACE_IR_ATTRIBUTES_H
#ifdef __cplusplus
extern "C" {
}
#endif
-#endif /* BABELTRACE_TRACE_IR_ATTRIBUTES_H */
+#endif /* BABELTRACE_LIB_TRACE_IR_ATTRIBUTES_H */
BT_LIB_LOGD("Destroying clock class: %!+K", clock_class);
BT_OBJECT_PUT_REF_AND_RESET(clock_class->user_attributes);
- if (clock_class->name.str) {
- g_string_free(clock_class->name.str, TRUE);
- clock_class->name.str = NULL;
- clock_class->name.value = NULL;
- }
-
- if (clock_class->description.str) {
- g_string_free(clock_class->description.str, TRUE);
- clock_class->description.str = NULL;
- clock_class->description.value = NULL;
- }
-
+ g_free(clock_class->name);
+ g_free(clock_class->description);
bt_object_pool_finalize(&clock_class->cs_pool);
g_free(clock_class);
}
goto error;
}
- clock_class->name.str = g_string_new(NULL);
- if (!clock_class->name.str) {
- BT_LIB_LOGE_APPEND_CAUSE("Failed to allocate a GString.");
- goto error;
- }
-
- clock_class->description.str = g_string_new(NULL);
- if (!clock_class->description.str) {
- BT_LIB_LOGE_APPEND_CAUSE("Failed to allocate a GString.");
- goto error;
- }
-
clock_class->frequency = UINT64_C(1000000000);
clock_class->origin_is_unix_epoch = BT_TRUE;
set_base_offset(clock_class);
const char *bt_clock_class_get_name(const struct bt_clock_class *clock_class)
{
BT_ASSERT_PRE_DEV_CLK_CLS_NON_NULL(clock_class);
- return clock_class->name.value;
+ return clock_class->name;
}
BT_EXPORT
BT_ASSERT_PRE_CLK_CLS_NON_NULL(clock_class);
BT_ASSERT_PRE_NAME_NON_NULL(name);
BT_ASSERT_PRE_DEV_CLOCK_CLASS_HOT(clock_class);
- g_string_assign(clock_class->name.str, name);
- clock_class->name.value = clock_class->name.str->str;
+ g_free(clock_class->name);
+ clock_class->name = g_strdup(name);
BT_LIB_LOGD("Set clock class's name: %!+K", clock_class);
return BT_FUNC_STATUS_OK;
}
const struct bt_clock_class *clock_class)
{
BT_ASSERT_PRE_DEV_CLK_CLS_NON_NULL(clock_class);
- return clock_class->description.value;
+ return clock_class->description;
}
BT_EXPORT
BT_ASSERT_PRE_CLK_CLS_NON_NULL(clock_class);
BT_ASSERT_PRE_DESCR_NON_NULL(descr);
BT_ASSERT_PRE_DEV_CLOCK_CLASS_HOT(clock_class);
- g_string_assign(clock_class->description.str, descr);
- clock_class->description.value = clock_class->description.str->str;
+ g_free(clock_class->description);
+ clock_class->description = g_strdup(descr);
BT_LIB_LOGD("Set clock class's description: %!+K",
clock_class);
return BT_FUNC_STATUS_OK;
* Copyright 2013, 2014 Jérémie Galarneau <jeremie.galarneau@efficios.com>
*/
-#ifndef BABELTRACE_TRACE_IR_CLOCK_CLASS_INTERNAL_H
-#define BABELTRACE_TRACE_IR_CLOCK_CLASS_INTERNAL_H
+#ifndef BABELTRACE_LIB_TRACE_IR_CLOCK_CLASS_H
+#define BABELTRACE_LIB_TRACE_IR_CLOCK_CLASS_H
#include <babeltrace2/trace-ir/clock-class.h>
#include "lib/object.h"
/* Owned by this */
struct bt_value *user_attributes;
- struct {
- GString *str;
-
- /* NULL or `str->str` above */
- const char *value;
- } name;
-
- struct {
- GString *str;
-
- /* NULL or `str->str` above */
- const char *value;
- } description;
+ gchar *name;
+ gchar *description;
uint64_t frequency;
uint64_t precision;
raw_value) ? BT_FUNC_STATUS_OVERFLOW_ERROR : BT_FUNC_STATUS_OK;
}
-#endif /* BABELTRACE_TRACE_IR_CLOCK_CLASS_INTERNAL_H */
+#endif /* BABELTRACE_LIB_TRACE_IR_CLOCK_CLASS_H */
* Copyright 2017-2018 Philippe Proulx <pproulx@efficios.com>
*/
-#ifndef BABELTRACE_TRACE_IR_CLOCK_SNAPSHOT_INTERNAL_H
-#define BABELTRACE_TRACE_IR_CLOCK_SNAPSHOT_INTERNAL_H
+#ifndef BABELTRACE_LIB_TRACE_IR_CLOCK_SNAPSHOT_H
+#define BABELTRACE_LIB_TRACE_IR_CLOCK_SNAPSHOT_H
#include "lib/object.h"
#include <stdbool.h>
void bt_clock_snapshot_recycle(struct bt_clock_snapshot *clock_snapshot);
-#endif /* BABELTRACE_TRACE_IR_CLOCK_SNAPSHOT_INTERNAL_H */
+#endif /* BABELTRACE_LIB_TRACE_IR_CLOCK_SNAPSHOT_H */
BT_LIB_LOGD("Destroying event class: %!+E", event_class);
BT_OBJECT_PUT_REF_AND_RESET(event_class->user_attributes);
- if (event_class->name.str) {
- g_string_free(event_class->name.str, TRUE);
- event_class->name.str = NULL;
- }
-
- if (event_class->emf_uri.str) {
- g_string_free(event_class->emf_uri.str, TRUE);
- event_class->emf_uri.str = NULL;
- }
-
+ g_free(event_class->name);
+ g_free(event_class->emf_uri);
BT_LOGD_STR("Putting context field class.");
BT_OBJECT_PUT_REF_AND_RESET(event_class->specific_context_fc);
BT_LOGD_STR("Putting payload field class.");
event_class->id = id;
bt_property_uint_init(&event_class->log_level,
BT_PROPERTY_AVAILABILITY_NOT_AVAILABLE, 0);
- event_class->name.str = g_string_new(NULL);
- if (!event_class->name.str) {
- BT_LIB_LOGE_APPEND_CAUSE("Failed to allocate a GString.");
- goto error;
- }
-
- event_class->emf_uri.str = g_string_new(NULL);
- if (!event_class->emf_uri.str) {
- BT_LIB_LOGE_APPEND_CAUSE("Failed to allocate a GString.");
- goto error;
- }
ret = bt_object_pool_initialize(&event_class->event_pool,
(bt_object_pool_new_object_func) bt_event_new,
const char *bt_event_class_get_name(const struct bt_event_class *event_class)
{
BT_ASSERT_PRE_DEV_EC_NON_NULL(event_class);
- return event_class->name.value;
+ return event_class->name;
}
BT_EXPORT
BT_ASSERT_PRE_EC_NON_NULL(event_class);
BT_ASSERT_PRE_NAME_NON_NULL(name);
BT_ASSERT_PRE_DEV_EVENT_CLASS_HOT(event_class);
- g_string_assign(event_class->name.str, name);
- event_class->name.value = event_class->name.str->str;
+ g_free(event_class->name);
+ event_class->name = g_strdup(name);
BT_LIB_LOGD("Set event class's name: %!+E", event_class);
return BT_FUNC_STATUS_OK;
}
const char *bt_event_class_get_emf_uri(const struct bt_event_class *event_class)
{
BT_ASSERT_PRE_DEV_EC_NON_NULL(event_class);
- return event_class->emf_uri.value;
+ return event_class->emf_uri;
}
BT_EXPORT
BT_ASSERT_PRE_EC_NON_NULL(event_class);
BT_ASSERT_PRE_NON_NULL("emf-uri", emf_uri, "EMF URI");
BT_ASSERT_PRE_DEV_EVENT_CLASS_HOT(event_class);
- g_string_assign(event_class->emf_uri.str, emf_uri);
- event_class->emf_uri.value = event_class->emf_uri.str->str;
+ g_free(event_class->emf_uri);
+ event_class->emf_uri = g_strdup(emf_uri);
BT_LIB_LOGD("Set event class's EMF URI: %!+E", event_class);
return BT_FUNC_STATUS_OK;
}
* Copyright 2013, 2014 Jérémie Galarneau <jeremie.galarneau@efficios.com>
*/
-#ifndef BABELTRACE_TRACE_IR_EVENT_CLASS_INTERNAL_H
-#define BABELTRACE_TRACE_IR_EVENT_CLASS_INTERNAL_H
+#ifndef BABELTRACE_LIB_TRACE_IR_EVENT_CLASS_H
+#define BABELTRACE_LIB_TRACE_IR_EVENT_CLASS_H
#include <babeltrace2/trace-ir/field-class.h>
#include <babeltrace2/trace-ir/field.h>
/* Owned by this */
struct bt_value *user_attributes;
- struct {
- GString *str;
-
- /* NULL or `str->str` above */
- const char *value;
- } name;
+ gchar *name;
uint64_t id;
struct bt_property_uint log_level;
- struct {
- GString *str;
-
- /* NULL or `str->str` above */
- const char *value;
- } emf_uri;
+ gchar *emf_uri;
/* Pool of `struct bt_event *` */
struct bt_object_pool event_pool;
return (void *) bt_object_borrow_parent(&event_class->base);
}
-#endif /* BABELTRACE_TRACE_IR_EVENT_CLASS_INTERNAL_H */
+#endif /* BABELTRACE_LIB_TRACE_IR_EVENT_CLASS_H */
* Copyright 2013, 2014 Jérémie Galarneau <jeremie.galarneau@efficios.com>
*/
-#ifndef BABELTRACE_TRACE_IR_EVENT_INTERNAL_H
-#define BABELTRACE_TRACE_IR_EVENT_INTERNAL_H
+#ifndef BABELTRACE_LIB_TRACE_IR_EVENT_H
+#define BABELTRACE_LIB_TRACE_IR_EVENT_H
/* Protection: this file uses BT_LIB_LOG*() macros directly */
#ifndef BT_LIB_LOG_SUPPORTED
bt_object_put_ref_no_null_check(&event_class->base);
}
-#endif /* BABELTRACE_TRACE_IR_EVENT_INTERNAL_H */
+#endif /* BABELTRACE_LIB_TRACE_IR_EVENT_H */
* Copyright 2013, 2014 Jérémie Galarneau <jeremie.galarneau@efficios.com>
*/
-#ifndef BABELTRACE_TRACE_IR_FIELD_CLASSES_INTERNAL_H
-#define BABELTRACE_TRACE_IR_FIELD_CLASSES_INTERNAL_H
+#ifndef BABELTRACE_LIB_TRACE_IR_FIELD_CLASS_H
+#define BABELTRACE_LIB_TRACE_IR_FIELD_CLASS_H
#include <babeltrace2/trace-ir/clock-class.h>
#include <babeltrace2/trace-ir/field-class.h>
void bt_field_class_make_part_of_trace_class(
const struct bt_field_class *field_class);
-#endif /* BABELTRACE_TRACE_IR_FIELD_CLASSES_INTERNAL_H */
+#endif /* BABELTRACE_LIB_TRACE_IR_FIELD_CLASS_H */
* http://www.efficios.com/ctf
*/
-#ifndef BABELTRACE_TRACE_IR_FIELD_PATH_INTERNAL
-#define BABELTRACE_TRACE_IR_FIELD_PATH_INTERNAL
+#ifndef BABELTRACE_LIB_TRACE_IR_FIELD_PATH_H
+#define BABELTRACE_LIB_TRACE_IR_FIELD_PATH_H
#include "lib/object.h"
#include <babeltrace2/trace-ir/field-path.h>
}
};
-#endif /* BABELTRACE_TRACE_IR_FIELD_PATH_INTERNAL */
+#endif /* BABELTRACE_LIB_TRACE_IR_FIELD_PATH_H */
* Copyright 2018 Philippe Proulx <pproulx@efficios.com>
*/
-#ifndef BABELTRACE_TRACE_IR_FIELD_WRAPPER_INTERNAL_H
-#define BABELTRACE_TRACE_IR_FIELD_WRAPPER_INTERNAL_H
+#ifndef BABELTRACE_LIB_TRACE_IR_FIELD_WRAPPER_H
+#define BABELTRACE_LIB_TRACE_IR_FIELD_WRAPPER_H
#include "lib/object-pool.h"
#include "lib/object.h"
struct bt_field_wrapper *bt_field_wrapper_create(
struct bt_object_pool *pool, struct bt_field_class *fc);
-#endif /* BABELTRACE_TRACE_IR_FIELD_WRAPPER_INTERNAL_H */
+#endif /* BABELTRACE_LIB_TRACE_IR_FIELD_WRAPPER_H */
* Copyright 2013, 2014 Jérémie Galarneau <jeremie.galarneau@efficios.com>
*/
-#ifndef BABELTRACE_TRACE_IR_FIELDS_INTERNAL_H
-#define BABELTRACE_TRACE_IR_FIELDS_INTERNAL_H
+#ifndef BABELTRACE_LIB_TRACE_IR_FIELD_H
+#define BABELTRACE_LIB_TRACE_IR_FIELD_H
#include "lib/object.h"
#include <babeltrace2/types.h>
void bt_field_destroy(struct bt_field *field);
-#endif /* BABELTRACE_TRACE_IR_FIELDS_INTERNAL_H */
+#endif /* BABELTRACE_LIB_TRACE_IR_FIELD_H */
* Copyright 2016-2018 Philippe Proulx <pproulx@efficios.com>
*/
-#ifndef BABELTRACE_TRACE_IR_PACKET_INTERNAL_H
-#define BABELTRACE_TRACE_IR_PACKET_INTERNAL_H
+#ifndef BABELTRACE_LIB_TRACE_IR_PACKET_H
+#define BABELTRACE_LIB_TRACE_IR_PACKET_H
#include <stdbool.h>
#include <babeltrace2/trace-ir/clock-snapshot.h>
void bt_packet_destroy(struct bt_packet *packet);
-#endif /* BABELTRACE_TRACE_IR_PACKET_INTERNAL_H */
+#endif /* BABELTRACE_LIB_TRACE_IR_PACKET_H */
* http://www.efficios.com/ctf
*/
-#ifndef BABELTRACE_TRACE_IR_RESOLVE_FIELD_PATH_INTERNAL
-#define BABELTRACE_TRACE_IR_RESOLVE_FIELD_PATH_INTERNAL
+#ifndef BABELTRACE_LIB_TRACE_IR_RESOLVE_FIELD_PATH_H
+#define BABELTRACE_LIB_TRACE_IR_RESOLVE_FIELD_PATH_H
#include <babeltrace2/trace-ir/field-class.h>
#include <babeltrace2/trace-ir/field-path.h>
struct bt_resolve_field_path_context *ctx,
const char *api_func);
-#endif /* BABELTRACE_TRACE_IR_RESOLVE_FIELD_PATH_INTERNAL */
+#endif /* BABELTRACE_LIB_TRACE_IR_RESOLVE_FIELD_PATH_H */
stream_class->event_classes = NULL;
}
- if (stream_class->name.str) {
- g_string_free(stream_class->name.str, TRUE);
- stream_class->name.str = NULL;
- stream_class->name.value = NULL;
- }
-
+ g_free(stream_class->name);
BT_LOGD_STR("Putting packet context field class.");
BT_OBJECT_PUT_REF_AND_RESET(stream_class->packet_context_fc);
BT_LOGD_STR("Putting event common context field class.");
goto error;
}
- stream_class->name.str = g_string_new(NULL);
- if (!stream_class->name.str) {
- BT_LIB_LOGE_APPEND_CAUSE("Failed to allocate a GString.");
- goto error;
- }
-
stream_class->id = id;
stream_class->assigns_automatic_event_class_id = true;
stream_class->assigns_automatic_stream_id = true;
const char *bt_stream_class_get_name(const struct bt_stream_class *stream_class)
{
BT_ASSERT_PRE_DEV_SC_NON_NULL(stream_class);
- return stream_class->name.value;
+ return stream_class->name;
}
BT_EXPORT
BT_ASSERT_PRE_SC_NON_NULL(stream_class);
BT_ASSERT_PRE_NAME_NON_NULL(name);
BT_ASSERT_PRE_DEV_STREAM_CLASS_HOT(stream_class);
- g_string_assign(stream_class->name.str, name);
- stream_class->name.value = stream_class->name.str->str;
+ g_free(stream_class->name);
+ stream_class->name = g_strdup(name);
BT_LIB_LOGD("Set stream class's name: %!+S", stream_class);
return BT_FUNC_STATUS_OK;
}
* Copyright 2013, 2014 Jérémie Galarneau <jeremie.galarneau@efficios.com>
*/
-#ifndef BABELTRACE_TRACE_IR_STREAM_CLASS_INTERNAL_H
-#define BABELTRACE_TRACE_IR_STREAM_CLASS_INTERNAL_H
+#ifndef BABELTRACE_LIB_TRACE_IR_STREAM_CLASS_H
+#define BABELTRACE_LIB_TRACE_IR_STREAM_CLASS_H
#include "common/assert.h"
#include <babeltrace2/trace-ir/stream-class.h>
/* Owned by this */
struct bt_value *user_attributes;
- struct {
- GString *str;
-
- /* NULL or `str->str` above */
- const char *value;
- } name;
+ gchar *name;
uint64_t id;
bool assigns_automatic_event_class_id;
return (void *) bt_object_borrow_parent(&stream_class->base);
}
-#endif /* BABELTRACE_TRACE_IR_STREAM_CLASS_INTERNAL_H */
+#endif /* BABELTRACE_LIB_TRACE_IR_STREAM_CLASS_H */
BT_LIB_LOGD("Destroying stream object: %!+s", stream);
BT_OBJECT_PUT_REF_AND_RESET(stream->user_attributes);
- if (stream->name.str) {
- g_string_free(stream->name.str, TRUE);
- stream->name.str = NULL;
- stream->name.value = NULL;
- }
-
+ g_free(stream->name);
BT_LOGD_STR("Putting stream's class.");
bt_object_put_ref(stream->class);
bt_object_pool_finalize(&stream->packet_pool);
goto error;
}
- stream->name.str = g_string_new(NULL);
- if (!stream->name.str) {
- BT_LIB_LOGE_APPEND_CAUSE("Failed to allocate a GString.");
- goto error;
- }
-
stream->id = id;
ret = bt_object_pool_initialize(&stream->packet_pool,
(bt_object_pool_new_object_func) bt_packet_new,
const char *bt_stream_get_name(const struct bt_stream *stream)
{
BT_ASSERT_PRE_DEV_STREAM_NON_NULL(stream);
- return stream->name.value;
+ return stream->name;
}
BT_EXPORT
BT_ASSERT_PRE_STREAM_NON_NULL(stream);
BT_ASSERT_PRE_NAME_NON_NULL(name);
BT_ASSERT_PRE_DEV_STREAM_HOT(stream);
- g_string_assign(stream->name.str, name);
- stream->name.value = stream->name.str->str;
+ g_free(stream->name);
+ stream->name = g_strdup(name);
BT_LIB_LOGD("Set stream's name: %!+s", stream);
return BT_FUNC_STATUS_OK;
}
* Copyright 2013, 2014 Jérémie Galarneau <jeremie.galarneau@efficios.com>
*/
-#ifndef BABELTRACE_TRACE_IR_STREAM_INTERNAL_H
-#define BABELTRACE_TRACE_IR_STREAM_INTERNAL_H
+#ifndef BABELTRACE_LIB_TRACE_IR_STREAM_H
+#define BABELTRACE_LIB_TRACE_IR_STREAM_H
#include <babeltrace2/trace-ir/stream.h>
#include "lib/object.h"
/* Owned by this */
struct bt_stream_class *class;
- struct {
- GString *str;
-
- /* NULL or `str->str` above */
- const char *value;
- } name;
+ gchar *name;
uint64_t id;
return (void *) bt_object_borrow_parent(&stream->base);
}
-#endif /* BABELTRACE_TRACE_IR_STREAM_INTERNAL_H */
+#endif /* BABELTRACE_LIB_TRACE_IR_STREAM_H */
* Copyright 2014 Jérémie Galarneau <jeremie.galarneau@efficios.com>
*/
-#ifndef BABELTRACE_TRACE_IR_TRACE_CLASS_INTERNAL_H
-#define BABELTRACE_TRACE_IR_TRACE_CLASS_INTERNAL_H
+#ifndef BABELTRACE_LIB_TRACE_IR_TRACE_CLASS_H
+#define BABELTRACE_LIB_TRACE_IR_TRACE_CLASS_H
#include <babeltrace2/trace-ir/trace-class.h>
#include <babeltrace2/trace-ir/field-class.h>
# define bt_trace_class_freeze(_tc)
#endif
-#endif /* BABELTRACE_TRACE_IR_TRACE_CLASS_INTERNAL_H */
+#endif /* BABELTRACE_LIB_TRACE_IR_TRACE_CLASS_H */
}
}
- if (trace->name.str) {
- g_string_free(trace->name.str, TRUE);
- trace->name.str = NULL;
- trace->name.value = NULL;
- }
+ g_free(trace->name);
if (trace->environment) {
BT_LOGD_STR("Destroying environment attributes.");
goto error;
}
- trace->name.str = g_string_new(NULL);
- if (!trace->name.str) {
- BT_LIB_LOGE_APPEND_CAUSE("Failed to allocate one GString.");
- goto error;
- }
-
trace->environment = bt_attributes_create();
if (!trace->environment) {
BT_LIB_LOGE_APPEND_CAUSE("Cannot create empty attributes object.");
const char *bt_trace_get_name(const struct bt_trace *trace)
{
BT_ASSERT_PRE_DEV_TRACE_NON_NULL(trace);
- return trace->name.value;
+ return trace->name;
}
BT_EXPORT
BT_ASSERT_PRE_TRACE_NON_NULL(trace);
BT_ASSERT_PRE_NAME_NON_NULL(name);
BT_ASSERT_PRE_DEV_TRACE_HOT(trace);
- g_string_assign(trace->name.str, name);
- trace->name.value = trace->name.str->str;
+ g_free(trace->name);
+ trace->name = g_strdup(name);
BT_LIB_LOGD("Set trace's name: %!+t", trace);
return BT_FUNC_STATUS_OK;
}
* Copyright 2014 Jérémie Galarneau <jeremie.galarneau@efficios.com>
*/
-#ifndef BABELTRACE_TRACE_IR_TRACE_INTERNAL_H
-#define BABELTRACE_TRACE_IR_TRACE_INTERNAL_H
+#ifndef BABELTRACE_LIB_TRACE_IR_TRACE_H
+#define BABELTRACE_LIB_TRACE_IR_TRACE_H
#include <babeltrace2/trace-ir/trace.h>
#include <babeltrace2/trace-ir/field-class.h>
/* Owned by this */
struct bt_trace_class *class;
- struct {
- GString *str;
-
- /* NULL or `str->str` above */
- const char *value;
- } name;
+ gchar *name;
struct {
bt_uuid_t uuid;
uint64_t bt_trace_get_automatic_stream_id(const struct bt_trace *trace,
const struct bt_stream_class *stream_class);
-#endif /* BABELTRACE_TRACE_IR_TRACE_INTERNAL_H */
+#endif /* BABELTRACE_LIB_TRACE_IR_TRACE_H */
* Copyright 2017-2018 Philippe Proulx <pproulx@efficios.com>
*/
-#ifndef BABELTRACE_TRACE_IR_UTILS_INTERNAL_H
-#define BABELTRACE_TRACE_IR_UTILS_INTERNAL_H
+#ifndef BABELTRACE_LIB_TRACE_IR_UTILS_H
+#define BABELTRACE_LIB_TRACE_IR_UTILS_H
#include <babeltrace2/trace-ir/field-class.h>
#include <stdbool.h>
return value <= max_value;
}
-#endif /* BABELTRACE_TRACE_IR_UTILS_INTERNAL_H */
+#endif /* BABELTRACE_LIB_TRACE_IR_UTILS_H */
* Copyright (c) 2015-2018 Philippe Proulx <pproulx@efficios.com>
*/
-#ifndef BABELTRACE_VALUES_INTERNAL_H
-#define BABELTRACE_VALUES_INTERNAL_H
+#ifndef BABELTRACE_LIB_VALUE_H
+#define BABELTRACE_LIB_VALUE_H
#include <glib.h>
#include <babeltrace2/babeltrace.h>
# define bt_value_freeze(_value)
#endif /* BT_DEV_MODE */
-#endif /* BABELTRACE_VALUES_INTERNAL_H */
+#endif /* BABELTRACE_LIB_VALUE_H */
* Copyright 2016-2019 Philippe Proulx <pproulx@efficios.com>
*/
-#ifndef SRC_PARAMS_PARSE_VALUE_PARSE_H
-#define SRC_PARAMS_PARSE_VALUE_PARSE_H
+#ifndef BABELTRACE_PARAM_PARSE_PARAM_PARSE_H
+#define BABELTRACE_PARAM_PARSE_PARAM_PARSE_H
#include <babeltrace2/babeltrace.h>
bt_value *bt_param_parse(const char *arg, GString *ini_error);
-#endif /* SRC_VALUE_PARSE_VALUE_PARSE_H */
+#endif /* BABELTRACE_PARAM_PARSE_PARAM_PARSE_H */
* Copyright 2019 Francis Deslauriers <francis.deslauriers@efficios.com>
*/
-#ifndef BABELTRACE_PLUGIN_COMMON_MUXING_H
-#define BABELTRACE_PLUGIN_COMMON_MUXING_H
+#ifndef BABELTRACE_PLUGINS_COMMON_MUXING_MUXING_H
+#define BABELTRACE_PLUGINS_COMMON_MUXING_MUXING_H
#include <babeltrace2/babeltrace.h>
#include "common/macros.h"
int common_muxing_compare_messages(const bt_message *left_msg,
const bt_message *right_msg);
-#endif /* BABELTRACE_PLUGIN_COMMON_MUXING_H */
+#endif /* BABELTRACE_PLUGINS_COMMON_MUXING_MUXING_H */
*
* Copyright 2019 EfficiOS Inc.
*/
+
#ifndef BABELTRACE_PLUGINS_COMMON_PARAM_VALIDATION_PARAM_VALIDATION_H
#define BABELTRACE_PLUGINS_COMMON_PARAM_VALIDATION_PARAM_VALIDATION_H
* Babeltrace - CTF binary field class reader (BFCR)
*/
-#ifndef CTF_BFCR_H
-#define CTF_BFCR_H
+#ifndef BABELTRACE_PLUGINS_CTF_COMMON_SRC_BFCR_BFCR_HPP
+#define BABELTRACE_PLUGINS_CTF_COMMON_SRC_BFCR_BFCR_HPP
#include <stddef.h>
#include <stdint.h>
void bt_bfcr_set_unsigned_int_cb(struct bt_bfcr *bfcr, bt_bfcr_unsigned_int_cb_func cb);
-#endif /* CTF_BFCR_H */
+#endif /* BABELTRACE_PLUGINS_CTF_COMMON_SRC_BFCR_BFCR_HPP */
* Copyright (c) 2022 EfficiOS Inc. and Linux Foundation
*/
-#ifndef CTF_COMMON_SRC_CLK_CLS_CFG_HPP
-#define CTF_COMMON_SRC_CLK_CLS_CFG_HPP
+#ifndef BABELTRACE_PLUGINS_CTF_COMMON_SRC_CLK_CLS_CFG_HPP
+#define BABELTRACE_PLUGINS_CTF_COMMON_SRC_CLK_CLS_CFG_HPP
#include <cstdint>
} /* namespace src */
} /* namespace ctf */
-#endif /* CTF_COMMON_SRC_CLK_CLS_CFG_HPP */
+#endif /* BABELTRACE_PLUGINS_CTF_COMMON_SRC_CLK_CLS_CFG_HPP */
* Copyright 2011-2012 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
*/
-#ifndef _CTF_AST_H
-#define _CTF_AST_H
+#ifndef BABELTRACE_PLUGINS_CTF_COMMON_SRC_METADATA_TSDL_AST_HPP
+#define BABELTRACE_PLUGINS_CTF_COMMON_SRC_METADATA_TSDL_AST_HPP
#include <memory>
return ret;
}
-#endif /* _CTF_AST_H */
+#endif /* BABELTRACE_PLUGINS_CTF_COMMON_SRC_METADATA_TSDL_AST_HPP */
* Copyright 2019 Philippe Proulx <pproulx@efficios.com>
*/
-#ifndef _CTF_META_CONFIGURE_IR_TRACE_H
-#define _CTF_META_CONFIGURE_IR_TRACE_H
+#ifndef BABELTRACE_PLUGINS_CTF_COMMON_SRC_METADATA_TSDL_CTF_META_CONFIGURE_IR_TRACE_HPP
+#define BABELTRACE_PLUGINS_CTF_COMMON_SRC_METADATA_TSDL_CTF_META_CONFIGURE_IR_TRACE_HPP
#include "cpp-common/bt2/trace-ir.hpp"
void ctf_trace_class_configure_ir_trace(struct ctf_trace_class *tc, bt2::Trace ir_trace);
-#endif /* _CTF_META_CONFIGURE_IR_TRACE_H */
+#endif /* BABELTRACE_PLUGINS_CTF_COMMON_SRC_METADATA_TSDL_CTF_META_CONFIGURE_IR_TRACE_HPP */
* Copyright 2018 Philippe Proulx <pproulx@efficios.com>
*/
-#ifndef _CTF_META_VISITORS_H
-#define _CTF_META_VISITORS_H
+#ifndef BABELTRACE_PLUGINS_CTF_COMMON_SRC_METADATA_TSDL_CTF_META_VISITORS_HPP
+#define BABELTRACE_PLUGINS_CTF_COMMON_SRC_METADATA_TSDL_CTF_META_VISITORS_HPP
#include <babeltrace2/babeltrace.h>
void ctf_trace_class_warn_meaningless_header_fields(struct ctf_trace_class *ctf_tc,
const bt2c::Logger& parentLogger);
-#endif /* _CTF_META_VISITORS_H */
+#endif /* BABELTRACE_PLUGINS_CTF_COMMON_SRC_METADATA_TSDL_CTF_META_VISITORS_HPP */
* Copyright 2018 Philippe Proulx <pproulx@efficios.com>
*/
-#ifndef _CTF_META_H
-#define _CTF_META_H
+#ifndef BABELTRACE_PLUGINS_CTF_COMMON_SRC_METADATA_TSDL_CTF_META_HPP
+#define BABELTRACE_PLUGINS_CTF_COMMON_SRC_METADATA_TSDL_CTF_META_HPP
#include <glib.h>
#include <stdint.h>
return ret_entry;
}
-#endif /* _CTF_META_H */
+#endif /* BABELTRACE_PLUGINS_CTF_COMMON_SRC_METADATA_TSDL_CTF_META_HPP */
* Copyright 2019 Efficios Inc.
*/
-#ifndef SRC_PLUGINS_CTF_COMMON_METADATA_DECODER_PACKETIZED_FILE_STREAM_TO_BUF
-#define SRC_PLUGINS_CTF_COMMON_METADATA_DECODER_PACKETIZED_FILE_STREAM_TO_BUF
+#ifndef BABELTRACE_PLUGINS_CTF_COMMON_SRC_METADATA_TSDL_DECODER_PACKETIZED_FILE_STREAM_TO_BUF_HPP
+#define BABELTRACE_PLUGINS_CTF_COMMON_SRC_METADATA_TSDL_DECODER_PACKETIZED_FILE_STREAM_TO_BUF_HPP
#include <cstdio>
bool *is_uuid_set, uint8_t *uuid,
const bt2c::Logger& parentLogger);
-#endif /* SRC_PLUGINS_CTF_COMMON_METADATA_DECODER_PACKETIZED_FILE_STREAM_TO_BUF */
+#endif /* BABELTRACE_PLUGINS_CTF_COMMON_SRC_METADATA_TSDL_DECODER_PACKETIZED_FILE_STREAM_TO_BUF_HPP */
* Copyright 2016-2017 Philippe Proulx <pproulx@efficios.com>
*/
-#ifndef _METADATA_DECODER_H
-#define _METADATA_DECODER_H
+#ifndef BABELTRACE_PLUGINS_CTF_COMMON_SRC_METADATA_TSDL_DECODER_HPP
+#define BABELTRACE_PLUGINS_CTF_COMMON_SRC_METADATA_TSDL_DECODER_HPP
#include <stdio.h>
return major == 1 && minor == 8;
}
-#endif /* _METADATA_DECODER_H */
+#endif /* BABELTRACE_PLUGINS_CTF_COMMON_SRC_METADATA_TSDL_DECODER_HPP */
* Copyright (c) 2017 Jérémie Galarneau <jeremie.galarneau@efficios.com>
*/
-#ifndef CTF_METADATA_LOGGING_H
-#define CTF_METADATA_LOGGING_H
+#ifndef BABELTRACE_PLUGINS_CTF_COMMON_SRC_METADATA_TSDL_LOGGING_HPP
+#define BABELTRACE_PLUGINS_CTF_COMMON_SRC_METADATA_TSDL_LOGGING_HPP
#include <babeltrace2/babeltrace.h>
#define _BT_CPPLOGE_APPEND_CAUSE_LINENO(logger, _lineno, _msg, args...) \
BT_CPPLOGE_APPEND_CAUSE_SPEC((logger), "At line {} in metadata stream: " _msg, _lineno, ##args)
-#endif /* CTF_METADATA_LOGGING_H */
+#endif /* BABELTRACE_PLUGINS_CTF_COMMON_SRC_METADATA_TSDL_LOGGING_HPP */
* Common Trace Format Object Stack.
*/
-#ifndef _OBJSTACK_H
-#define _OBJSTACK_H
+#ifndef BABELTRACE_PLUGINS_CTF_COMMON_SRC_METADATA_TSDL_OBJSTACK_HPP
+#define BABELTRACE_PLUGINS_CTF_COMMON_SRC_METADATA_TSDL_OBJSTACK_HPP
#include <cstddef>
*/
void *objstack_alloc(struct objstack *objstack, size_t len);
-#endif /* _OBJSTACK_H */
+#endif /* BABELTRACE_PLUGINS_CTF_COMMON_SRC_METADATA_TSDL_OBJSTACK_HPP */
* Copyright 2019 EfficiOS Inc.
*/
-#ifndef BABELTRACE_PLUGINS_CTF_COMMON_METADATA_PARSER_WRAP_H
-#define BABELTRACE_PLUGINS_CTF_COMMON_METADATA_PARSER_WRAP_H
+#ifndef BABELTRACE_PLUGINS_CTF_COMMON_SRC_METADATA_TSDL_PARSER_WRAP_HPP
+#define BABELTRACE_PLUGINS_CTF_COMMON_SRC_METADATA_TSDL_PARSER_WRAP_HPP
/*
* Small wrapper around the bison-generated parser.h to conditionally define
#include "plugins/ctf/common/src/metadata/tsdl/parser.hpp"
#undef ALLOW_INCLUDE_PARSER_H
-#endif
+#endif /* BABELTRACE_PLUGINS_CTF_COMMON_SRC_METADATA_TSDL_PARSER_WRAP_HPP */
* Copyright 2011-2012 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
*/
-#ifndef _CTF_SCANNER_SYMBOLS
-#define _CTF_SCANNER_SYMBOLS
+#ifndef BABELTRACE_PLUGINS_CTF_COMMON_SRC_METADATA_TSDL_SCANNER_SYMBOLS_HPP
+#define BABELTRACE_PLUGINS_CTF_COMMON_SRC_METADATA_TSDL_SCANNER_SYMBOLS_HPP
#define yy_create_buffer bt_yy_create_buffer
#define yy_delete_buffer bt_yy_delete_buffer
#define yyset_lval bt_yyset_lval
#define yyset_out bt_yyset_out
-#endif /* _CTF_SCANNER_SYMBOLS */
+#endif /* BABELTRACE_PLUGINS_CTF_COMMON_SRC_METADATA_TSDL_SCANNER_SYMBOLS_HPP */
* Copyright 2011-2012 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
*/
-#ifndef _CTF_SCANNER_H
-#define _CTF_SCANNER_H
+#ifndef BABELTRACE_PLUGINS_CTF_COMMON_SRC_METADATA_TSDL_SCANNER_HPP
+#define BABELTRACE_PLUGINS_CTF_COMMON_SRC_METADATA_TSDL_SCANNER_HPP
#include <stdio.h>
int is_type(struct ctf_scanner *scanner, const char *id);
-#endif /* _CTF_SCANNER_H */
+#endif /* BABELTRACE_PLUGINS_CTF_COMMON_SRC_METADATA_TSDL_SCANNER_HPP */
* Babeltrace - CTF message iterator
*/
-#ifndef CTF_MSG_ITER_H
-#define CTF_MSG_ITER_H
+#ifndef BABELTRACE_PLUGINS_CTF_COMMON_SRC_MSG_ITER_MSG_ITER_HPP
+#define BABELTRACE_PLUGINS_CTF_COMMON_SRC_MSG_ITER_MSG_ITER_HPP
#include <stddef.h>
#include <stdint.h>
void ctf_msg_iter_set_dry_run(struct ctf_msg_iter *msg_it, bool val);
-#endif /* CTF_MSG_ITER_H */
+#endif /* BABELTRACE_PLUGINS_CTF_COMMON_SRC_MSG_ITER_MSG_ITER_HPP */
* Copyright 2018-2019 Philippe Proulx <pproulx@efficios.com>
*/
-#ifndef BABELTRACE_PLUGIN_CTF_FS_SINK_FS_SINK_CTF_META_H
-#define BABELTRACE_PLUGIN_CTF_FS_SINK_FS_SINK_CTF_META_H
+#ifndef BABELTRACE_PLUGINS_CTF_FS_SINK_FS_SINK_CTF_META_HPP
+#define BABELTRACE_PLUGINS_CTF_FS_SINK_FS_SINK_CTF_META_HPP
#include <glib.h>
#include <stdint.h>
return trace;
}
-#endif /* BABELTRACE_PLUGIN_CTF_FS_SINK_FS_SINK_CTF_META_H */
+#endif /* BABELTRACE_PLUGINS_CTF_FS_SINK_FS_SINK_CTF_META_HPP */
* Copyright 2019 Philippe Proulx <pproulx@efficios.com>
*/
-#ifndef BABELTRACE_PLUGIN_CTF_FS_SINK_FS_SINK_STREAM_H
-#define BABELTRACE_PLUGIN_CTF_FS_SINK_FS_SINK_STREAM_H
+#ifndef BABELTRACE_PLUGINS_CTF_FS_SINK_FS_SINK_STREAM_HPP
+#define BABELTRACE_PLUGINS_CTF_FS_SINK_FS_SINK_STREAM_HPP
#include <glib.h>
#include <stdint.h>
int fs_sink_stream_close_packet(struct fs_sink_stream *stream, const bt_clock_snapshot *cs);
-#endif /* BABELTRACE_PLUGIN_CTF_FS_SINK_FS_SINK_STREAM_H */
+#endif /* BABELTRACE_PLUGINS_CTF_FS_SINK_FS_SINK_STREAM_HPP */
* Copyright 2019 Philippe Proulx <pproulx@efficios.com>
*/
-#ifndef BABELTRACE_PLUGIN_CTF_FS_SINK_FS_SINK_TRACE_H
-#define BABELTRACE_PLUGIN_CTF_FS_SINK_FS_SINK_TRACE_H
+#ifndef BABELTRACE_PLUGINS_CTF_FS_SINK_FS_SINK_TRACE_HPP
+#define BABELTRACE_PLUGINS_CTF_FS_SINK_FS_SINK_TRACE_HPP
#include <glib.h>
void fs_sink_trace_destroy(struct fs_sink_trace *trace);
-#endif /* BABELTRACE_PLUGIN_CTF_FS_SINK_FS_SINK_TRACE_H */
+#endif /* BABELTRACE_PLUGINS_CTF_FS_SINK_FS_SINK_TRACE_HPP */
* Copyright 2019 Philippe Proulx <pproulx@efficios.com>
*/
-#ifndef BABELTRACE_PLUGIN_CTF_FS_SINK_FS_SINK_H
-#define BABELTRACE_PLUGIN_CTF_FS_SINK_FS_SINK_H
+#ifndef BABELTRACE_PLUGINS_CTF_FS_SINK_FS_SINK_HPP
+#define BABELTRACE_PLUGINS_CTF_FS_SINK_FS_SINK_HPP
#include <glib.h>
void ctf_fs_sink_finalize(bt_self_component_sink *component);
-#endif /* BABELTRACE_PLUGIN_CTF_FS_SINK_FS_SINK_H */
+#endif /* BABELTRACE_PLUGINS_CTF_FS_SINK_FS_SINK_HPP */
* Copyright 2019 Philippe Proulx <pproulx@efficios.com>
*/
-#ifndef BABELTRACE_PLUGIN_CTF_FS_SINK_TRANSLATE_CTF_IR_TO_TSDL_H
-#define BABELTRACE_PLUGIN_CTF_FS_SINK_TRANSLATE_CTF_IR_TO_TSDL_H
+#ifndef BABELTRACE_PLUGINS_CTF_FS_SINK_TRANSLATE_CTF_IR_TO_TSDL_HPP
+#define BABELTRACE_PLUGINS_CTF_FS_SINK_TRANSLATE_CTF_IR_TO_TSDL_HPP
#include <glib.h>
void translate_trace_ctf_ir_to_tsdl(struct fs_sink_ctf_trace *trace, GString *tsdl);
-#endif /* BABELTRACE_PLUGIN_CTF_FS_SINK_TRANSLATE_CTF_IR_TO_TSDL_H */
+#endif /* BABELTRACE_PLUGINS_CTF_FS_SINK_TRANSLATE_CTF_IR_TO_TSDL_HPP */
* Copyright 2019 Philippe Proulx <pproulx@efficios.com>
*/
-#ifndef BABELTRACE_PLUGIN_CTF_FS_SINK_TRANSLATE_TRACE_IR_TO_CTF_IR_H
-#define BABELTRACE_PLUGIN_CTF_FS_SINK_TRANSLATE_TRACE_IR_TO_CTF_IR_H
+#ifndef BABELTRACE_PLUGINS_CTF_FS_SINK_TRANSLATE_TRACE_IR_TO_CTF_IR_HPP
+#define BABELTRACE_PLUGINS_CTF_FS_SINK_TRANSLATE_TRACE_IR_TO_CTF_IR_HPP
#include <babeltrace2/babeltrace.h>
struct fs_sink_ctf_trace *translate_trace_trace_ir_to_ctf_ir(struct fs_sink_comp *fs_sink,
const bt_trace *ir_trace);
-#endif /* BABELTRACE_PLUGIN_CTF_FS_SINK_TRANSLATE_TRACE_IR_TO_CTF_IR_H */
+#endif /* BABELTRACE_PLUGINS_CTF_FS_SINK_TRANSLATE_TRACE_IR_TO_CTF_IR_HPP */
* Copyright (C) 2016 Philippe Proulx <pproulx@efficios.com>
*/
-#ifndef CTF_FS_DS_FILE_H
-#define CTF_FS_DS_FILE_H
+#ifndef BABELTRACE_PLUGINS_CTF_FS_SRC_DATA_STREAM_FILE_HPP
+#define BABELTRACE_PLUGINS_CTF_FS_SRC_DATA_STREAM_FILE_HPP
#include <memory>
#include <string>
void ctf_fs_ds_group_medops_data_reset(struct ctf_fs_ds_group_medops_data *data);
-#endif /* CTF_FS_DS_FILE_H */
+#endif /* BABELTRACE_PLUGINS_CTF_FS_SRC_DATA_STREAM_FILE_HPP */
* Copyright (C) 2016 Philippe Proulx <pproulx@efficios.com>
*/
-#ifndef CTF_FS_FILE_H
-#define CTF_FS_FILE_H
+#ifndef BABELTRACE_PLUGINS_CTF_FS_SRC_FILE_HPP
+#define BABELTRACE_PLUGINS_CTF_FS_SRC_FILE_HPP
#include <memory>
#include <string>
int ctf_fs_file_open(struct ctf_fs_file *file, const char *mode);
-#endif /* CTF_FS_FILE_H */
+#endif /* BABELTRACE_PLUGINS_CTF_FS_SRC_FILE_HPP */
* BabelTrace - CTF on File System Component
*/
-#ifndef BABELTRACE_PLUGIN_CTF_FS_H
-#define BABELTRACE_PLUGIN_CTF_FS_H
+#ifndef BABELTRACE_PLUGINS_CTF_FS_SRC_FS_HPP
+#define BABELTRACE_PLUGINS_CTF_FS_SRC_FS_HPP
#include <glib.h>
using UP = std::unique_ptr<ctf_fs_msg_iter_data>;
explicit ctf_fs_msg_iter_data(bt_self_message_iterator *selfMsgIter) :
- self_msg_iter {selfMsgIter}, logger {bt2::SelfMessageIterator {self_msg_iter},
- "PLUGIN/SRC.CTF.FS/MSG-ITER"}
+ self_msg_iter {selfMsgIter},
+ logger {bt2::SelfMessageIterator {self_msg_iter}, "PLUGIN/SRC.CTF.FS/MSG-ITER"}
{
}
std::string ctf_fs_make_port_name(ctf_fs_ds_file_group *ds_file_group);
-#endif /* BABELTRACE_PLUGIN_CTF_FS_H */
+#endif /* BABELTRACE_PLUGINS_CTF_FS_SRC_FS_HPP */
* Copyright (C) 2013 David Goulet <dgoulet@efficios.com>
*/
-#ifndef LTTNG_INDEX_H
-#define LTTNG_INDEX_H
+#ifndef BABELTRACE_PLUGINS_CTF_FS_SRC_LTTNG_INDEX_HPP
+#define BABELTRACE_PLUGINS_CTF_FS_SRC_LTTNG_INDEX_HPP
#include <cstdint>
uint64_t packet_seq_num; /* packet sequence number */
} __attribute__((__packed__));
-#endif /* LTTNG_INDEX_H */
+#endif /* BABELTRACE_PLUGINS_CTF_FS_SRC_LTTNG_INDEX_HPP */
* Copyright 2016 Philippe Proulx <pproulx@efficios.com>
*/
-#ifndef CTF_FS_METADATA_H
-#define CTF_FS_METADATA_H
+#ifndef BABELTRACE_PLUGINS_CTF_FS_SRC_METADATA_HPP
+#define BABELTRACE_PLUGINS_CTF_FS_SRC_METADATA_HPP
#include <stdio.h>
bool ctf_metadata_is_packetized(FILE *fp, int *byte_order);
-#endif /* CTF_FS_METADATA_H */
+#endif /* BABELTRACE_PLUGINS_CTF_FS_SRC_METADATA_HPP */
ctf_metadata_decoder_up decoder = ctf_metadata_decoder_create(&decoder_cfg);
if (!decoder) {
BT_CPPLOGE_APPEND_CAUSE_AND_THROW_SPEC(
- logger, bt2::Error, "Cannot create metadata decoder: path=\"{}}\".", path);
+ logger, bt2::Error, "Cannot create metadata decoder: path=\"{}\".", path);
}
rewind(metadataFp.get());
* BabelTrace - CTF on File System Component
*/
-#ifndef BABELTRACE_PLUGIN_CTF_FS_QUERY_H
-#define BABELTRACE_PLUGIN_CTF_FS_QUERY_H
+#ifndef BABELTRACE_PLUGINS_CTF_FS_SRC_QUERY_HPP
+#define BABELTRACE_PLUGINS_CTF_FS_SRC_QUERY_HPP
#include "cpp-common/bt2/value.hpp"
bt2::Value::Shared support_info_query(bt2::ConstMapValue params, const bt2c::Logger& logger);
-#endif /* BABELTRACE_PLUGIN_CTF_FS_QUERY_H */
+#endif /* BABELTRACE_PLUGINS_CTF_FS_SRC_QUERY_HPP */
* Copyright 2016 Philippe Proulx <pproulx@efficios.com>
*/
-#ifndef LTTNG_LIVE_DATA_STREAM_H
-#define LTTNG_LIVE_DATA_STREAM_H
+#ifndef BABELTRACE_PLUGINS_CTF_LTTNG_LIVE_DATA_STREAM_HPP
+#define BABELTRACE_PLUGINS_CTF_LTTNG_LIVE_DATA_STREAM_HPP
#include <stdint.h>
lttng_live_stream_iterator_create(struct lttng_live_session *session, uint64_t ctf_trace_id,
uint64_t stream_id, bt_self_message_iterator *self_msg_iter);
-#endif /* LTTNG_LIVE_DATA_STREAM_H */
+#endif /* BABELTRACE_PLUGINS_CTF_LTTNG_LIVE_DATA_STREAM_HPP */
* BabelTrace - LTTng-live client Component
*/
-#ifndef BABELTRACE_PLUGIN_CTF_LTTNG_LIVE_H
-#define BABELTRACE_PLUGIN_CTF_LTTNG_LIVE_H
+#ifndef BABELTRACE_PLUGINS_CTF_LTTNG_LIVE_LTTNG_LIVE_HPP
+#define BABELTRACE_PLUGINS_CTF_LTTNG_LIVE_LTTNG_LIVE_HPP
#include <glib.h>
#include <stdint.h>
void lttng_live_stream_iterator_set_state(struct lttng_live_stream_iterator *stream_iter,
enum lttng_live_stream_state new_state);
-#endif /* BABELTRACE_PLUGIN_CTF_LTTNG_LIVE_H */
+#endif /* BABELTRACE_PLUGINS_CTF_LTTNG_LIVE_LTTNG_LIVE_HPP */
* Copyright (C) 2013 David Goulet <dgoulet@efficios.com>
*/
-#ifndef LTTNG_VIEWER_ABI_H
-#define LTTNG_VIEWER_ABI_H
+#ifndef BABELTRACE_PLUGINS_CTF_LTTNG_LIVE_LTTNG_VIEWER_ABI_HPP
+#define BABELTRACE_PLUGINS_CTF_LTTNG_LIVE_LTTNG_VIEWER_ABI_HPP
#include <stdint.h>
uint32_t status;
} __attribute__((__packed__));
-#endif /* LTTNG_VIEWER_ABI_H */
+#endif /* BABELTRACE_PLUGINS_CTF_LTTNG_LIVE_LTTNG_VIEWER_ABI_HPP */
* Copyright 2016 Philippe Proulx <pproulx@efficios.com>
*/
-#ifndef LTTNG_LIVE_METADATA_H
-#define LTTNG_LIVE_METADATA_H
+#ifndef BABELTRACE_PLUGINS_CTF_LTTNG_LIVE_METADATA_HPP
+#define BABELTRACE_PLUGINS_CTF_LTTNG_LIVE_METADATA_HPP
#include <stdint.h>
enum lttng_live_iterator_status lttng_live_metadata_update(struct lttng_live_trace *trace);
-#endif /* LTTNG_LIVE_METADATA_H */
+#endif /* BABELTRACE_PLUGINS_CTF_LTTNG_LIVE_METADATA_HPP */
* Copyright 2016 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
*/
-#ifndef LTTNG_LIVE_VIEWER_CONNECTION_H
-#define LTTNG_LIVE_VIEWER_CONNECTION_H
+#ifndef BABELTRACE_PLUGINS_CTF_LTTNG_LIVE_VIEWER_CONNECTION_HPP
+#define BABELTRACE_PLUGINS_CTF_LTTNG_LIVE_VIEWER_CONNECTION_HPP
#include <string>
bt2::Value::Shared
live_viewer_connection_list_sessions(struct live_viewer_connection *viewer_connection);
-#endif /* LTTNG_LIVE_VIEWER_CONNECTION_H */
+#endif /* BABELTRACE_PLUGINS_CTF_LTTNG_LIVE_VIEWER_CONNECTION_HPP */
* Babeltrace - Executable and Shared Object Debug Info Reader
*/
-#ifndef _BABELTRACE_BIN_INFO_H
-#define _BABELTRACE_BIN_INFO_H
+#ifndef BABELTRACE_PLUGINS_LTTNG_UTILS_DEBUG_INFO_BIN_INFO_H
+#define BABELTRACE_PLUGINS_LTTNG_UTILS_DEBUG_INFO_BIN_INFO_H
#include <babeltrace2/babeltrace.h>
#include <stdint.h>
*/
void source_location_destroy(struct source_location *src_loc);
-#endif /* _BABELTRACE_BIN_INFO_H */
+#endif /* BABELTRACE_PLUGINS_LTTNG_UTILS_DEBUG_INFO_BIN_INFO_H */
* Copyright (c) 1991, 1993 The Regents of the University of California.
*/
-#ifndef _BABELTRACE_CRC32_H
-#define _BABELTRACE_CRC32_H
+#ifndef BABELTRACE_PLUGINS_LTTNG_UTILS_DEBUG_INFO_CRC32_H
+#define BABELTRACE_PLUGINS_LTTNG_UTILS_DEBUG_INFO_CRC32_H
#include <stdint.h>
#include <stdio.h>
*/
int crc32(int fd, uint32_t *crc);
-#endif /* _BABELTRACE_CRC32_H */
+#endif /* BABELTRACE_PLUGINS_LTTNG_UTILS_DEBUG_INFO_CRC32_H */
* Babeltrace - Debug information Plugin
*/
-#ifndef BABELTRACE_PLUGIN_DEBUG_INFO_H
-#define BABELTRACE_PLUGIN_DEBUG_INFO_H
+#ifndef BABELTRACE_PLUGINS_LTTNG_UTILS_DEBUG_INFO_DEBUG_INFO_H
+#define BABELTRACE_PLUGINS_LTTNG_UTILS_DEBUG_INFO_DEBUG_INFO_H
#include <stdint.h>
#include <stdbool.h>
void debug_info_msg_iter_finalize(bt_self_message_iterator *it);
-#endif /* BABELTRACE_PLUGIN_DEBUG_INFO_H */
+#endif /* BABELTRACE_PLUGINS_LTTNG_UTILS_DEBUG_INFO_DEBUG_INFO_H */
* Babeltrace - DWARF Information Reader
*/
-#ifndef _BABELTRACE_DWARF_H
-#define _BABELTRACE_DWARF_H
+#ifndef BABELTRACE_PLUGINS_LTTNG_UTILS_DEBUG_INFO_DWARF_H
+#define BABELTRACE_PLUGINS_LTTNG_UTILS_DEBUG_INFO_DWARF_H
#include <stdbool.h>
#include <stdint.h>
int bt_dwarf_die_contains_addr(struct bt_dwarf_die *die, uint64_t addr,
bool *contains);
-#endif /* _BABELTRACE_DWARF_H */
+#endif /* BABELTRACE_PLUGINS_LTTNG_UTILS_DEBUG_INFO_DWARF_H */
* Babeltrace - Trace IR data object copy
*/
-#ifndef BABELTRACE_PLUGIN_DEBUG_INFO_TRACE_DATA_COPY_H
-#define BABELTRACE_PLUGIN_DEBUG_INFO_TRACE_DATA_COPY_H
+#ifndef BABELTRACE_PLUGINS_LTTNG_UTILS_DEBUG_INFO_TRACE_IR_DATA_COPY_H
+#define BABELTRACE_PLUGINS_LTTNG_UTILS_DEBUG_INFO_TRACE_IR_DATA_COPY_H
#include <babeltrace2/babeltrace.h>
const bt_field *in_field, bt_field *out_field,
bt_logging_level log_level, bt_self_component *self_comp);
-#endif /* BABELTRACE_PLUGIN_DEBUG_INFO_TRACE_DATA_COPY_H */
+#endif /* BABELTRACE_PLUGINS_LTTNG_UTILS_DEBUG_INFO_TRACE_IR_DATA_COPY_H */
* Copyright 2019 Francis Deslauriers francis.deslauriers@efficios.com>
*/
-#ifndef BABELTRACE_PLUGIN_DEBUG_INFO_TRACE_IR_MAPPING_H
-#define BABELTRACE_PLUGIN_DEBUG_INFO_TRACE_IR_MAPPING_H
+#ifndef BABELTRACE_PLUGINS_LTTNG_UTILS_DEBUG_INFO_TRACE_IR_MAPPING_H
+#define BABELTRACE_PLUGINS_LTTNG_UTILS_DEBUG_INFO_TRACE_IR_MAPPING_H
#include <glib.h>
bt_event_class_borrow_stream_class_const(in_event_class));
}
-#endif /* BABELTRACE_PLUGIN_DEBUG_INFO_TRACE_IR_MAPPING_H */
+#endif /* BABELTRACE_PLUGINS_LTTNG_UTILS_DEBUG_INFO_TRACE_IR_MAPPING_H */
* Babeltrace - Trace IR metadata object copy
*/
-#ifndef BABELTRACE_PLUGIN_DEBUG_INFO_TRACE_METADATA_COPY_H
-#define BABELTRACE_PLUGIN_DEBUG_INFO_TRACE_METADATA_COPY_H
+#ifndef BABELTRACE_PLUGINS_LTTNG_UTILS_DEBUG_INFO_TRACE_IR_METADATA_COPY_H
+#define BABELTRACE_PLUGINS_LTTNG_UTILS_DEBUG_INFO_TRACE_IR_METADATA_COPY_H
#include <babeltrace2/babeltrace.h>
#include "common/macros.h"
struct trace_ir_metadata_maps *trace_ir_metadata_maps,
const bt_field_class *in_field_class);
-#endif /* BABELTRACE_PLUGIN_DEBUG_INFO_TRACE_METADATA_COPY_H */
+#endif /* BABELTRACE_PLUGINS_LTTNG_UTILS_DEBUG_INFO_TRACE_IR_METADATA_COPY_H */
* Babeltrace - Trace IR metadata field class copy
*/
-#ifndef BABELTRACE_PLUGIN_DEBUG_INFO_FIELD_CLASS_COPY_H
-#define BABELTRACE_PLUGIN_DEBUG_INFO_FIELD_CLASS_COPY_H
+#ifndef BABELTRACE_PLUGINS_LTTNG_UTILS_DEBUG_INFO_TRACE_IR_METADATA_FIELD_CLASS_COPY_H
+#define BABELTRACE_PLUGINS_LTTNG_UTILS_DEBUG_INFO_TRACE_IR_METADATA_FIELD_CLASS_COPY_H
#include <babeltrace2/babeltrace.h>
#include "common/macros.h"
struct trace_ir_metadata_maps *trace_ir_metadata_maps,
const bt_field_class *in_field_class);
-#endif /* BABELTRACE_PLUGIN_DEBUG_INFO_FIELD_CLASS_COPY_H */
+#endif /* BABELTRACE_PLUGINS_LTTNG_UTILS_DEBUG_INFO_TRACE_IR_METADATA_FIELD_CLASS_COPY_H */
* Babeltrace - Debug Info Utilities
*/
-#ifndef BABELTRACE_PLUGIN_DEBUG_INFO_UTILS_H
-#define BABELTRACE_PLUGIN_DEBUG_INFO_UTILS_H
+#ifndef BABELTRACE_PLUGINS_LTTNG_UTILS_DEBUG_INFO_UTILS_H
+#define BABELTRACE_PLUGINS_LTTNG_UTILS_DEBUG_INFO_UTILS_H
#include <stdbool.h>
const bt_field_class *in_field_class,
const char *debug_info_field_class_name);
-#endif /* BABELTRACE_PLUGIN_DEBUG_INFO_UTILS_H */
+#endif /* BABELTRACE_PLUGINS_LTTNG_UTILS_DEBUG_INFO_UTILS_H */
* Copyright 2017 Philippe Proulx <pproulx@efficios.com>
*/
-#ifndef BABELTRACE_PLUGIN_TEXT_DMESG_DMESG_H
-#define BABELTRACE_PLUGIN_TEXT_DMESG_DMESG_H
+#ifndef BABELTRACE_PLUGINS_TEXT_DMESG_DMESG_H
+#define BABELTRACE_PLUGINS_TEXT_DMESG_DMESG_H
#include <stdbool.h>
#include "common/macros.h"
bt_message_iterator_class_seek_beginning_method_status dmesg_msg_iter_seek_beginning(
bt_self_message_iterator *message_iterator);
-#endif /* BABELTRACE_PLUGIN_TEXT_DMESG_DMESG_H */
+#endif /* BABELTRACE_PLUGINS_TEXT_DMESG_DMESG_H */
* Copyright 2016 Jérémie Galarneau <jeremie.galarneau@efficios.com>
*/
-#ifndef BABELTRACE_PLUGIN_TEXT_PRETTY_PRETTY_H
-#define BABELTRACE_PLUGIN_TEXT_PRETTY_PRETTY_H
+#ifndef BABELTRACE_PLUGINS_TEXT_PRETTY_PRETTY_H
+#define BABELTRACE_PLUGINS_TEXT_PRETTY_PRETTY_H
#include <glib.h>
#include <stdio.h>
void pretty_print_init(void);
-#endif /* BABELTRACE_PLUGIN_TEXT_PRETTY_PRETTY_H */
+#endif /* BABELTRACE_PLUGINS_TEXT_PRETTY_PRETTY_H */
* Copyright 2017 Philippe Proulx <pproulx@efficios.com>
*/
-#ifndef BABELTRACE_PLUGINS_UTILS_COUNTER_H
-#define BABELTRACE_PLUGINS_UTILS_COUNTER_H
+#ifndef BABELTRACE_PLUGINS_UTILS_COUNTER_COUNTER_H
+#define BABELTRACE_PLUGINS_UTILS_COUNTER_COUNTER_H
#include <glib.h>
#include <babeltrace2/babeltrace.h>
}
#endif
-#endif /* BABELTRACE_PLUGINS_UTILS_COUNTER_H */
+#endif /* BABELTRACE_PLUGINS_UTILS_COUNTER_COUNTER_H */
* Copyright 2017 Philippe Proulx <pproulx@efficios.com>
*/
-#ifndef BABELTRACE_PLUGINS_UTILS_DUMMY_H
-#define BABELTRACE_PLUGINS_UTILS_DUMMY_H
+#ifndef BABELTRACE_PLUGINS_UTILS_DUMMY_DUMMY_H
+#define BABELTRACE_PLUGINS_UTILS_DUMMY_DUMMY_H
#include <glib.h>
#include <babeltrace2/babeltrace.h>
}
#endif
-#endif /* BABELTRACE_PLUGINS_UTILS_DUMMY_H */
+#endif /* BABELTRACE_PLUGINS_UTILS_DUMMY_DUMMY_H */
-
/*
* SPDX-License-Identifier: MIT
*
* BabelTrace - Trace Trimmer Plug-in
*/
-#ifndef BABELTRACE_PLUGINS_UTILS_TRIMMER_H
-#define BABELTRACE_PLUGINS_UTILS_TRIMMER_H
+#ifndef BABELTRACE_PLUGINS_UTILS_TRIMMER_TRIMMER_H
+#define BABELTRACE_PLUGINS_UTILS_TRIMMER_TRIMMER_H
#include "common/macros.h"
#include <babeltrace2/babeltrace.h>
}
#endif
-#endif /* BABELTRACE_PLUGINS_UTILS_TRIMMER_H */
+#endif /* BABELTRACE_PLUGINS_UTILS_TRIMMER_TRIMMER_H */
* Copyright (c) 2019 Simon Marchi <simon.marchi@efficios.com>
*/
-#ifndef BABELTRACE_PY_COMMON_INTERNAL_H
-#define BABELTRACE_PY_COMMON_INTERNAL_H
+#ifndef BABELTRACE_PY_COMMON_PY_COMMON_H
+#define BABELTRACE_PY_COMMON_PY_COMMON_H
#include <glib.h>
#include <Python.h>
*/
GString *bt_py_common_format_current_exception(int log_level);
-#endif /* BABELTRACE_PY_COMMON_INTERNAL_H */
+#endif /* BABELTRACE_PY_COMMON_PY_COMMON_H */
* Copyright 2017-2018 Philippe Proulx <pproulx@efficios.com>
*/
-#ifndef BABELTRACE_PLUGIN_PYTHON_PLUGIN_PROVIDER_INTERNAL_H
-#define BABELTRACE_PLUGIN_PYTHON_PLUGIN_PROVIDER_INTERNAL_H
+#ifndef BABELTRACE_PYTHON_PLUGIN_PROVIDER_PYTHON_PLUGIN_PROVIDER_H
+#define BABELTRACE_PYTHON_PLUGIN_PROVIDER_PYTHON_PLUGIN_PROVIDER_H
#include <babeltrace2/babeltrace.h>
#include <stdbool.h>
bool fail_on_load_error,
struct bt_plugin_set **plugin_set_out);
-#endif /* BABELTRACE_PLUGIN_PYTHON_PLUGIN_PROVIDER_INTERNAL_H */
+#endif /* BABELTRACE_PYTHON_PLUGIN_PROVIDER_PYTHON_PLUGIN_PROVIDER_H */
* Copyright (C) 2019 EfficiOS, Inc.
*/
-#ifndef _BABELTRACE_STRING_FORMAT_FORMAT_ERROR_H
-#define _BABELTRACE_STRING_FORMAT_FORMAT_ERROR_H
+#ifndef BABELTRACE_STRING_FORMAT_FORMAT_ERROR_H
+#define BABELTRACE_STRING_FORMAT_FORMAT_ERROR_H
#include <babeltrace2/babeltrace.h>
#include <common/common.h>
bt_logging_level log_level,
enum bt_common_color_when use_colors);
-#endif /* _BABELTRACE_STRING_FORMAT_FORMAT_ERROR_H */
+#endif /* BABELTRACE_STRING_FORMAT_FORMAT_ERROR_H */
* Copyright (C) 2019 EfficiOS, Inc.
*/
-#ifndef _BABELTRACE_STRING_FORMAT_FORMAT_PLUGIN_COMP_CLS_NAME_H
-#define _BABELTRACE_STRING_FORMAT_FORMAT_PLUGIN_COMP_CLS_NAME_H
+#ifndef BABELTRACE_STRING_FORMAT_FORMAT_PLUGIN_COMP_CLS_NAME_H
+#define BABELTRACE_STRING_FORMAT_FORMAT_PLUGIN_COMP_CLS_NAME_H
#include <babeltrace2/babeltrace.h>
#include <common/common.h>
const char *comp_cls_name, bt_component_class_type type,
enum bt_common_color_when use_colors);
-#endif /* _BABELTRACE_STRING_FORMAT_FORMAT_PLUGIN_COMP_CLS_NAME_H */
+#endif /* BABELTRACE_STRING_FORMAT_FORMAT_PLUGIN_COMP_CLS_NAME_H */
* Debug Info - Tests
*/
-#ifndef _LIBHELLO_H
-#define _LIBHELLO_H
+#ifndef BABELTRACE_TESTS_DATA_PLUGINS_FLT_LTTNG_UTILS_DEBUG_INFO_LIBHELLO_H
+#define BABELTRACE_TESTS_DATA_PLUGINS_FLT_LTTNG_UTILS_DEBUG_INFO_LIBHELLO_H
void foo();
void bar();
void baz();
-#endif /* _LIBHELLO_H */
+#endif /* BABELTRACE_TESTS_DATA_PLUGINS_FLT_LTTNG_UTILS_DEBUG_INFO_LIBHELLO_H */
const MsgType msgType2,
const CreateClockCls createClockCls2) noexcept :
_mMsgType1 {msgType1},
- _mMsgType2 {msgType2}, _mCreateClockCls1 {createClockCls1}, _mCreateClockCls2 {
- createClockCls2}
+ _mMsgType2 {msgType2}, _mCreateClockCls1 {createClockCls1},
+ _mCreateClockCls2 {createClockCls2}
{
}
* Copyright (C) 2024 EfficiOS Inc.
*/
-#ifndef TESTS_LIB_CONDS_CLK_CLS_COMPAT_POSTCONDS_TRIGGERS_HPP
-#define TESTS_LIB_CONDS_CLK_CLS_COMPAT_POSTCONDS_TRIGGERS_HPP
+#ifndef BABELTRACE_TESTS_LIB_CONDS_CLK_CLS_COMPAT_POSTCONDS_TRIGGERS_HPP
+#define BABELTRACE_TESTS_LIB_CONDS_CLK_CLS_COMPAT_POSTCONDS_TRIGGERS_HPP
#include "utils.hpp"
void addClkClsCompatTriggers(CondTriggers& triggers);
-#endif
+#endif /* BABELTRACE_TESTS_LIB_CONDS_CLK_CLS_COMPAT_POSTCONDS_TRIGGERS_HPP */
* Copyright (C) 2020 Philippe Proulx <pproulx@efficios.com>
*/
-#ifndef TESTS_LIB_CONDS_UTILS_HPP
-#define TESTS_LIB_CONDS_UTILS_HPP
+#ifndef BABELTRACE_TESTS_LIB_CONDS_UTILS_HPP
+#define BABELTRACE_TESTS_LIB_CONDS_UTILS_HPP
#include <functional>
#include <memory>
*/
void condMain(const bt2s::span<const char * const> argv, const CondTriggers& triggers) noexcept;
-#endif /* TESTS_LIB_CONDS_UTILS_HPP */
+#endif /* BABELTRACE_TESTS_LIB_CONDS_UTILS_HPP */
* Copyright (C) 2020-2023 EfficiOS, inc.
*/
-#ifndef TESTS_LIB_UTILS_RUN_IN_HPP
-#define TESTS_LIB_UTILS_RUN_IN_HPP
+#ifndef BABELTRACE_TESTS_LIB_UTILS_RUN_IN_HPP
+#define BABELTRACE_TESTS_LIB_UTILS_RUN_IN_HPP
#include <babeltrace2/babeltrace.h>
*/
void runIn(RunIn& runIn);
-#endif /* TESTS_LIB_UTILS_RUN_IN_HPP */
+#endif /* BABELTRACE_TESTS_LIB_UTILS_RUN_IN_HPP */
ErrorTestCase(CreateClockClass createClockClass1Param, CreateClockClass createClockClass2Param,
const char * const testName, const char * const expectedCauseMsg) :
_mCreateClockClass1 {createClockClass1Param},
- _mCreateClockClass2 {createClockClass2Param}, _mTestName {testName}, _mExpectedCauseMsg {
- expectedCauseMsg}
+ _mCreateClockClass2 {createClockClass2Param}, _mTestName {testName},
+ _mExpectedCauseMsg {expectedCauseMsg}
{
}
test_pass() {
local -r mp_path=$1
local -r output_dir=$(mktemp -d)
+ local -r py_cmd=(
+ "$BT_TESTS_PYTHON_BIN" "$data_dir/data_from_mp.py"
+ "$mp_path" "$output_dir"
+ )
- run_python "$BT_TESTS_PYTHON_BIN" "$data_dir/data_from_mp.py" "$mp_path" "$output_dir"
+ if ! bt_run_in_py_env "${py_cmd[@]}"; then
+ fail "Failed to run \`${py_cmd[*]}\`"
+ return 1
+ fi
local -r res_path=$(mktemp)
-
- bt_cli "$res_path" /dev/null --plugin-path="$data_dir" \
+ local -r cli_cmd=(
+ "$res_path" /dev/null --plugin-path="$data_dir"
-c sink.test-text.single "$output_dir/trace"
+ )
+
+ if ! bt_cli "${cli_cmd[@]}"; then
+ fail "Failed to run \`bt_cli ${cli_cmd[*]}\`"
+ return 1
+ fi
+
bt_diff "$res_path" "$output_dir/expect"
ok $? "$mp_path"
rm -rf "$output_dir" "$res_path"
* Lib BabelTrace - Common function to all tests
*/
-#ifndef TESTS_UTILS_COMMON_H
-#define TESTS_UTILS_COMMON_H
+#ifndef BABELTRACE_TESTS_UTILS_COMMON_H
+#define BABELTRACE_TESTS_UTILS_COMMON_H
void recursive_rmdir(const char *path);
-#endif /* TESTS_UTILS_COMMON_H */
+#endif /* BABELTRACE_TESTS_UTILS_COMMON_H */
local -r expected_file=$1
local -r actual_file=$2
+ if [[ ! -e $expected_file ]]; then
+ echo "ERROR: expected file \`$expected_file\` doesn't exist" >&2
+ return 1
+ fi
+
+ if [[ ! -e $actual_file ]]; then
+ echo "ERROR: actual file \`$actual_file\` doesn't exist" >&2
+ return 1
+ fi
+
diff -u <(bt_remove_cr_inline "$expected_file") <(bt_remove_cr_inline "$actual_file") 1>&2
}
--- /dev/null
+#!/usr/bin/env python3
+
+# Usage: check-include-guard.py [--fix] FILE
+#
+# Checks (and optionally tries to fix) the C/C++ header include guard
+# names and format of `FILE`.
+#
+# With `--fix`, this script fixes the include guard names in place.
+
+import re
+import sys
+import pathlib
+import argparse
+
+
+class _Oops(Exception):
+ def __init__(self, msg: str):
+ self._msg = msg
+
+ @property
+ def msg(self):
+ return self._msg
+
+
+def _make_expected_ig_name(filename: pathlib.Path):
+ # Normalize `filename` (e.g. remove `..`) and make it relative to
+ # the root of the source tree.
+ root = pathlib.Path(__file__).parent.parent.resolve(strict=True)
+ filename = filename.absolute().resolve(strict=True).relative_to(root)
+
+ expected_ig_name = re.sub(r"[/.-]", "_", str(filename)).upper()
+ expected_ig_name = re.sub(r"^SRC_", "", expected_ig_name)
+ return "BABELTRACE_" + expected_ig_name
+
+
+def _check_file(filename: pathlib.Path, fix: bool):
+ with open(filename) as f:
+ contents = f.read()
+
+ write_file = False
+
+ # Top part
+ top_re = re.compile(r"^(/\*.+?\*/)\n\n#ifndef (\w+)\n#define (\w+)\n", re.DOTALL)
+ top_m = top_re.match(contents)
+
+ if not top_m:
+ raise _Oops(
+ "Top of the file doesn't have the expected form: block comment, empty line, and then two include guard lines"
+ )
+
+ expected_ig_name = _make_expected_ig_name(filename)
+
+ if fix:
+ contents = top_re.sub(
+ rf"\1\n\n#ifndef {expected_ig_name}\n#define {expected_ig_name}\n",
+ contents,
+ )
+ write_file = True
+ else:
+ if top_m.group(2) != expected_ig_name:
+ raise _Oops(
+ f"In `#ifndef {top_m.group(2)}` include guard line: expecting `#ifndef {expected_ig_name}`"
+ )
+
+ if top_m.group(3) != expected_ig_name:
+ raise _Oops(
+ f"In `#define {top_m.group(3)}` include guard line: expecting `#define {expected_ig_name}`"
+ )
+
+ # Bottom part
+ bottom_re = re.compile(r"\n\n#endif(?: /\* (\w+) \*/)?\n$")
+ bottom_m = bottom_re.search(contents)
+
+ if not bottom_m:
+ raise _Oops("Missing final `#endif` include guard line and trailing empty line")
+
+ if fix:
+ contents = bottom_re.sub(f"\n\n#endif /* {expected_ig_name} */\n", contents)
+ write_file = True
+ else:
+ if bottom_m.group(1) != expected_ig_name:
+ raise _Oops(
+ f"In bottom `#endif` include guard line: expecting `#endif /* {expected_ig_name} */`"
+ )
+
+ if write_file:
+ with open(filename, "w") as f:
+ f.write(contents)
+
+
+def _main():
+ argparser = argparse.ArgumentParser()
+ argparser.add_argument(
+ "-f",
+ "--fix",
+ action="store_true",
+ help="attempt to fix the include guards of FILE",
+ )
+ argparser.add_argument("FILE")
+ args = argparser.parse_args()
+ filename = pathlib.Path(args.FILE)
+
+ try:
+ _check_file(filename, args.fix)
+ except _Oops as exc:
+ print(f"{filename}: {exc}", file=sys.stderr)
+ sys.exit(1)
+
+
+if __name__ == "__main__":
+ _main()
--- /dev/null
+#!/bin/bash
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# Copyright (C) 2024 EfficiOS Inc.
+
+# Change directory to the root of the project, to make `find` simpler
+cd "$(dirname "${BASH_SOURCE[0]}")/.." || exit 1
+
+find src tests \
+ \( -name '*.hpp' -or -name '*.h' \) \
+ ! -path '/.git/*' \
+ ! -path 'src/argpar/*' \
+ ! -path 'src/cpp-common/vendor/*' \
+ ! -path 'tests/data/plugins/flt.lttng-utils.debug-info/tp.h' \
+ ! -path 'tests/utils/tap/tap.h' \
+ -print0 | xargs -P "$(nproc)" -n1 -t -0 tools/check-include-guard.py "$@"
#
# Copyright (C) 2020-2023 Philippe Proulx <pproulx@efficios.com>
-expected_formatter_major_version=15
+expected_formatter_major_version=16
# Runs the formatter, returning 1 if it's not the expected version.
#