#include <stdint.h>
#include <wchar.h>
#include <glib.h>
-#include <babeltrace/lib-logging-internal.h>
-#include <babeltrace/assert-pre-internal.h>
-#include <babeltrace/common-internal.h>
-#include <babeltrace/lib-logging-internal.h>
-#include <babeltrace/value-internal.h>
-#include <babeltrace/value-internal.h>
-#include <babeltrace/object-pool-internal.h>
-#include <babeltrace/trace-ir/field-class-internal.h>
-#include <babeltrace/trace-ir/field-internal.h>
-#include <babeltrace/trace-ir/event-class-internal.h>
-#include <babeltrace/trace-ir/event-const.h>
-#include <babeltrace/trace-ir/event-internal.h>
-#include <babeltrace/trace-ir/packet-const.h>
-#include <babeltrace/trace-ir/packet-internal.h>
-#include <babeltrace/trace-ir/stream-class-internal.h>
-#include <babeltrace/trace-ir/stream-internal.h>
-#include <babeltrace/trace-ir/stream-const.h>
-#include <babeltrace/trace-ir/trace-internal.h>
-#include <babeltrace/trace-ir/trace-class-internal.h>
-#include <babeltrace/trace-ir/clock-class-internal.h>
-#include <babeltrace/trace-ir/clock-snapshot-internal.h>
-#include <babeltrace/trace-ir/field-path-internal.h>
-#include <babeltrace/trace-ir/utils-internal.h>
-#include <babeltrace/graph/component-class-internal.h>
-#include <babeltrace/graph/component-class-sink-colander-internal.h>
-#include <babeltrace/graph/component-filter-internal.h>
-#include <babeltrace/graph/component-internal.h>
-#include <babeltrace/graph/component-sink-internal.h>
-#include <babeltrace/graph/component-source-internal.h>
-#include <babeltrace/graph/connection-internal.h>
-#include <babeltrace/graph/graph-internal.h>
-#include <babeltrace/graph/message-event-internal.h>
-#include <babeltrace/graph/message-message-iterator-inactivity-internal.h>
-#include <babeltrace/graph/message-internal.h>
-#include <babeltrace/graph/message-iterator-internal.h>
-#include <babeltrace/graph/message-packet-internal.h>
-#include <babeltrace/graph/message-stream-internal.h>
-#include <babeltrace/graph/message-stream-activity-internal.h>
-#include <babeltrace/graph/message-discarded-items-internal.h>
-#include <babeltrace/graph/port-internal.h>
-#include <babeltrace/plugin/plugin-internal.h>
-#include <babeltrace/plugin/plugin-so-internal.h>
+#include <babeltrace2/lib-logging-internal.h>
+#include <babeltrace2/assert-pre-internal.h>
+#include <babeltrace2/common-internal.h>
+#include <babeltrace2/lib-logging-internal.h>
+#include <babeltrace2/value-internal.h>
+#include <babeltrace2/value-internal.h>
+#include <babeltrace2/object-pool-internal.h>
+#include <babeltrace2/trace-ir/field-class-internal.h>
+#include <babeltrace2/trace-ir/field-internal.h>
+#include <babeltrace2/trace-ir/event-class-internal.h>
+#include <babeltrace2/trace-ir/event-const.h>
+#include <babeltrace2/trace-ir/event-internal.h>
+#include <babeltrace2/trace-ir/packet-const.h>
+#include <babeltrace2/trace-ir/packet-internal.h>
+#include <babeltrace2/trace-ir/stream-class-internal.h>
+#include <babeltrace2/trace-ir/stream-internal.h>
+#include <babeltrace2/trace-ir/stream-const.h>
+#include <babeltrace2/trace-ir/trace-internal.h>
+#include <babeltrace2/trace-ir/trace-class-internal.h>
+#include <babeltrace2/trace-ir/clock-class-internal.h>
+#include <babeltrace2/trace-ir/clock-snapshot-internal.h>
+#include <babeltrace2/trace-ir/field-path-internal.h>
+#include <babeltrace2/trace-ir/utils-internal.h>
+#include <babeltrace2/graph/component-class-internal.h>
+#include <babeltrace2/graph/component-class-sink-colander-internal.h>
+#include <babeltrace2/graph/component-filter-internal.h>
+#include <babeltrace2/graph/component-internal.h>
+#include <babeltrace2/graph/component-sink-internal.h>
+#include <babeltrace2/graph/component-source-internal.h>
+#include <babeltrace2/graph/connection-internal.h>
+#include <babeltrace2/graph/graph-internal.h>
+#include <babeltrace2/graph/message-event-internal.h>
+#include <babeltrace2/graph/message-message-iterator-inactivity-internal.h>
+#include <babeltrace2/graph/message-internal.h>
+#include <babeltrace2/graph/message-iterator-internal.h>
+#include <babeltrace2/graph/message-packet-internal.h>
+#include <babeltrace2/graph/message-stream-internal.h>
+#include <babeltrace2/graph/message-stream-activity-internal.h>
+#include <babeltrace2/graph/message-discarded-items-internal.h>
+#include <babeltrace2/graph/port-internal.h>
+#include <babeltrace2/plugin/plugin-internal.h>
+#include <babeltrace2/plugin/plugin-so-internal.h>
#define LIB_LOGGING_BUF_SIZE (4096 * 4)
-static char __thread lib_logging_buf[LIB_LOGGING_BUF_SIZE];
+static __thread char lib_logging_buf[LIB_LOGGING_BUF_SIZE];
#define BUF_APPEND(_fmt, ...) \
do { \
#define PRFIELD_GSTRING(_expr) PRFIELD((_expr) ? (_expr)->str : NULL)
+#define TMP_PREFIX_LEN 64
#define SET_TMP_PREFIX(_prefix2) \
do { \
- strcpy(tmp_prefix, prefix); \
- strcat(tmp_prefix, (_prefix2)); \
+ snprintf(tmp_prefix, TMP_PREFIX_LEN - 1, "%s%s", \
+ prefix, (_prefix2)); \
+ tmp_prefix[TMP_PREFIX_LEN - 1] = '\0'; \
} while (0)
static inline void format_component(char **buf_ch, bool extended,
static inline void format_field_class(char **buf_ch, bool extended,
const char *prefix, const struct bt_field_class *field_class)
{
- char tmp_prefix[64];
+ char tmp_prefix[TMP_PREFIX_LEN];
BUF_APPEND(", %stype=%s",
PRFIELD(bt_common_field_class_type_string(field_class->type)));
static inline void format_trace(char **buf_ch, bool extended,
const char *prefix, const struct bt_trace *trace)
{
- char tmp_prefix[64];
+ char tmp_prefix[TMP_PREFIX_LEN];
if (trace->name.value) {
BUF_APPEND(", %sname=\"%s\"", PRFIELD(trace->name.value));
const struct bt_stream_class *stream_class)
{
const struct bt_trace_class *trace_class;
- char tmp_prefix[64];
+ char tmp_prefix[TMP_PREFIX_LEN];
BUF_APPEND(", %sid=%" PRIu64, PRFIELD(stream_class->id));
return;
}
- BUF_APPEND(", %sassigns-auto-ec-id=%d, %sassigns-auto-stream-id=%d",
+ BUF_APPEND(", %sassigns-auto-ec-id=%d, %sassigns-auto-stream-id=%d, "
+ "%spackets-have-default-beginning-cs=%d, "
+ "%spackets-have-default-end-cs=%d, "
+ "%ssupports-discarded-events=%d, "
+ "%sdiscarded-events-have-default-cs=%d, "
+ "%ssupports-discarded-packets=%d, "
+ "%sdiscarded-packets-have-default-cs=%d",
PRFIELD(stream_class->assigns_automatic_event_class_id),
- PRFIELD(stream_class->assigns_automatic_stream_id));
+ PRFIELD(stream_class->assigns_automatic_stream_id),
+ PRFIELD(stream_class->packets_have_beginning_default_clock_snapshot),
+ PRFIELD(stream_class->packets_have_end_default_clock_snapshot),
+ PRFIELD(stream_class->supports_discarded_events),
+ PRFIELD(stream_class->discarded_events_have_default_clock_snapshots),
+ PRFIELD(stream_class->supports_discarded_packets),
+ PRFIELD(stream_class->discarded_packets_have_default_clock_snapshots));
BUF_APPEND(", %strace-class-addr=%p", PRFIELD(trace_class));
SET_TMP_PREFIX("trace-class-");
format_trace_class(buf_ch, false, tmp_prefix, trace_class);
{
const struct bt_stream_class *stream_class;
const struct bt_trace_class *trace_class;
- char tmp_prefix[64];
+ char tmp_prefix[TMP_PREFIX_LEN];
BUF_APPEND(", %sid=%" PRIu64, PRFIELD(event_class->id));
const struct bt_stream_class *stream_class;
const struct bt_trace_class *trace_class = NULL;
const struct bt_trace *trace = NULL;
- char tmp_prefix[64];
+ char tmp_prefix[TMP_PREFIX_LEN];
BUF_APPEND(", %sid=%" PRIu64, PRFIELD(stream->id));
{
const struct bt_stream *stream;
const struct bt_trace_class *trace_class;
- char tmp_prefix[64];
+ char tmp_prefix[TMP_PREFIX_LEN];
if (!extended) {
return;
const struct bt_stream *stream;
const struct bt_trace_class *trace_class;
const struct bt_stream_class *stream_class;
- char tmp_prefix[64];
+ char tmp_prefix[TMP_PREFIX_LEN];
if (!extended) {
return;
static inline void format_clock_class(char **buf_ch, bool extended,
const char *prefix, const struct bt_clock_class *clock_class)
{
- char tmp_prefix[64];
+ char tmp_prefix[TMP_PREFIX_LEN];
if (clock_class->name.value) {
BUF_APPEND(", %sname=\"%s\"", PRFIELD(clock_class->name.value));
static inline void format_clock_snapshot(char **buf_ch, bool extended,
const char *prefix, const struct bt_clock_snapshot *clock_snapshot)
{
- char tmp_prefix[64];
+ char tmp_prefix[TMP_PREFIX_LEN];
BUF_APPEND(", %svalue=%" PRIu64 ", %sns-from-origin=%" PRId64,
PRFIELD(clock_snapshot->value_cycles),
PRFIELD(clock_snapshot->ns_from_origin));
static inline void format_message(char **buf_ch, bool extended,
const char *prefix, const struct bt_message *msg)
{
- char tmp_prefix[64];
+ char tmp_prefix[TMP_PREFIX_LEN];
BUF_APPEND(", %stype=%s",
PRFIELD(bt_message_type_string(msg->type)));
const char *prefix,
const struct bt_component_class *comp_class)
{
- char tmp_prefix[64];
+ char tmp_prefix[TMP_PREFIX_LEN];
BUF_APPEND(", %stype=%s, %sname=\"%s\"",
PRFIELD(bt_component_class_type_string(comp_class->type)),
static inline void format_component(char **buf_ch, bool extended,
const char *prefix, const struct bt_component *component)
{
- char tmp_prefix[64];
+ char tmp_prefix[TMP_PREFIX_LEN];
BUF_APPEND(", %sname=\"%s\"",
PRFIELD_GSTRING(component->name));
static inline void format_port(char **buf_ch, bool extended,
const char *prefix, const struct bt_port *port)
{
- char tmp_prefix[64];
+ char tmp_prefix[TMP_PREFIX_LEN];
BUF_APPEND(", %stype=%s, %sname=\"%s\"",
PRFIELD(bt_port_type_string(port->type)),
static inline void format_connection(char **buf_ch, bool extended,
const char *prefix, const struct bt_connection *connection)
{
- char tmp_prefix[64];
+ char tmp_prefix[TMP_PREFIX_LEN];
if (!extended) {
return;
static inline void format_graph(char **buf_ch, bool extended,
const char *prefix, const struct bt_graph *graph)
{
- char tmp_prefix[64];
+ char tmp_prefix[TMP_PREFIX_LEN];
BUF_APPEND(", %sis-canceled=%d, %scan-consume=%d, "
"%sconfig-state=%s",
const struct bt_message_iterator *iterator)
{
const char *type;
- char tmp_prefix[64];
+ char tmp_prefix[TMP_PREFIX_LEN];
if (iterator->type == BT_MESSAGE_ITERATOR_TYPE_SELF_COMPONENT_PORT_INPUT) {
type = "BT_MESSAGE_ITERATOR_TYPE_SELF_COMPONENT_PORT_INPUT";
static inline void format_plugin(char **buf_ch, bool extended,
const char *prefix, const struct bt_plugin *plugin)
{
- char tmp_prefix[64];
+ char tmp_prefix[TMP_PREFIX_LEN];
BUF_APPEND(", %stype=%s", PRFIELD(bt_plugin_type_string(plugin->type)));