# Trace IR API
babeltracetraceirincludedir = "$(includedir)/babeltrace/trace-ir"
babeltracetraceirinclude_HEADERS = \
+ babeltrace/trace-ir/clock-class-const.h \
babeltrace/trace-ir/clock-class.h \
- babeltrace/trace-ir/clock-value.h \
+ babeltrace/trace-ir/clock-value-const.h \
+ babeltrace/trace-ir/event-class-const.h \
babeltrace/trace-ir/event-class.h \
+ babeltrace/trace-ir/event-const.h \
+ babeltrace/trace-ir/event-header-field.h \
babeltrace/trace-ir/event.h \
+ babeltrace/trace-ir/field-classes-const.h \
babeltrace/trace-ir/field-classes.h \
- babeltrace/trace-ir/field-path.h \
+ babeltrace/trace-ir/field-path-const.h \
+ babeltrace/trace-ir/fields-const.h \
babeltrace/trace-ir/fields.h \
+ babeltrace/trace-ir/packet-const.h \
+ babeltrace/trace-ir/packet-context-field.h \
+ babeltrace/trace-ir/packet-header-field.h \
babeltrace/trace-ir/packet.h \
- babeltrace/trace-ir/private-clock-class.h \
- babeltrace/trace-ir/private-event-class.h \
- babeltrace/trace-ir/private-event.h \
- babeltrace/trace-ir/private-event-header-field.h \
- babeltrace/trace-ir/private-field-classes.h \
- babeltrace/trace-ir/private-fields.h \
- babeltrace/trace-ir/private-packet-context-field.h \
- babeltrace/trace-ir/private-packet.h \
- babeltrace/trace-ir/private-packet-header-field.h \
- babeltrace/trace-ir/private-stream-class.h \
- babeltrace/trace-ir/private-stream.h \
- babeltrace/trace-ir/private-trace.h \
+ babeltrace/trace-ir/stream-class-const.h \
babeltrace/trace-ir/stream-class.h \
+ babeltrace/trace-ir/stream-const.h \
babeltrace/trace-ir/stream.h \
+ babeltrace/trace-ir/trace-const.h \
babeltrace/trace-ir/trace.h
# Plugin and plugin development API
#include <babeltrace/ctf-ir/utils.h>
/* Trace IR API */
+#include <babeltrace/trace-ir/clock-class-const.h>
#include <babeltrace/trace-ir/clock-class.h>
-#include <babeltrace/trace-ir/clock-value.h>
+#include <babeltrace/trace-ir/clock-value-const.h>
+#include <babeltrace/trace-ir/event-class-const.h>
#include <babeltrace/trace-ir/event-class.h>
+#include <babeltrace/trace-ir/event-const.h>
+#include <babeltrace/trace-ir/event-header-field.h>
#include <babeltrace/trace-ir/event.h>
+#include <babeltrace/trace-ir/field-classes-const.h>
#include <babeltrace/trace-ir/field-classes.h>
-#include <babeltrace/trace-ir/field-path.h>
+#include <babeltrace/trace-ir/field-path-const.h>
+#include <babeltrace/trace-ir/fields-const.h>
#include <babeltrace/trace-ir/fields.h>
+#include <babeltrace/trace-ir/packet-const.h>
+#include <babeltrace/trace-ir/packet-context-field.h>
+#include <babeltrace/trace-ir/packet-header-field.h>
#include <babeltrace/trace-ir/packet.h>
-#include <babeltrace/trace-ir/private-clock-class.h>
-#include <babeltrace/trace-ir/private-event-class.h>
-#include <babeltrace/trace-ir/private-event-header-field.h>
-#include <babeltrace/trace-ir/private-event.h>
-#include <babeltrace/trace-ir/private-field-classes.h>
-#include <babeltrace/trace-ir/private-fields.h>
-#include <babeltrace/trace-ir/private-packet-context-field.h>
-#include <babeltrace/trace-ir/private-packet-header-field.h>
-#include <babeltrace/trace-ir/private-packet.h>
-#include <babeltrace/trace-ir/private-stream-class.h>
-#include <babeltrace/trace-ir/private-stream.h>
-#include <babeltrace/trace-ir/private-trace.h>
+#include <babeltrace/trace-ir/stream-class-const.h>
#include <babeltrace/trace-ir/stream-class.h>
+#include <babeltrace/trace-ir/stream-const.h>
#include <babeltrace/trace-ir/stream.h>
+#include <babeltrace/trace-ir/trace-const.h>
#include <babeltrace/trace-ir/trace.h>
/* Plugin and plugin development API */
#include <stdbool.h>
#include <babeltrace/assert-internal.h>
#include <babeltrace/babeltrace-internal.h>
-#include <babeltrace/trace-ir/field-classes.h>
-#include <babeltrace/trace-ir/field-path.h>
-#include <babeltrace/trace-ir/event-class.h>
+#include <babeltrace/trace-ir/field-classes-const.h>
+#include <babeltrace/trace-ir/field-path-const.h>
+#include <babeltrace/trace-ir/event-class-const.h>
#include <babeltrace/values.h>
#include <stdarg.h>
#include <inttypes.h>
struct bt_notification;
struct bt_event;
-extern struct bt_event *bt_notification_event_borrow_event(
+extern const struct bt_event *bt_notification_event_borrow_event(
struct bt_notification *notification);
#ifdef __cplusplus
};
#define BT_ASSERT_PRE_NOTIF_IS_TYPE(_notif, _type) \
- BT_ASSERT_PRE((_notif)->type == (_type), \
+ BT_ASSERT_PRE(((struct bt_notification *) (_notif))->type == (_type), \
"Notification has the wrong type: expected-type=%s, " \
"%![notif-]+n", bt_notification_type_string(_type), \
(_notif))
struct bt_notification;
struct bt_packet;
-extern struct bt_packet *bt_notification_packet_begin_borrow_packet(
+extern const struct bt_packet *bt_notification_packet_begin_borrow_packet(
struct bt_notification *notification);
-extern struct bt_packet *bt_notification_packet_end_borrow_packet(
+extern const struct bt_packet *bt_notification_packet_end_borrow_packet(
struct bt_notification *notification);
#ifdef __cplusplus
struct bt_clock_value;
struct bt_stream;
-extern struct bt_stream *bt_notification_stream_begin_borrow_stream(
+extern const struct bt_stream *bt_notification_stream_begin_borrow_stream(
struct bt_notification *notification);
-extern struct bt_clock_value *bt_notification_stream_begin_borrow_default_clock_value(
+extern const struct bt_clock_value *
+bt_notification_stream_begin_borrow_default_clock_value(
struct bt_notification *notif);
-extern struct bt_stream *bt_notification_stream_end_borrow_stream(
+extern const struct bt_stream *bt_notification_stream_end_borrow_stream(
struct bt_notification *notification);
-extern struct bt_clock_value *bt_notification_stream_end_borrow_default_clock_value(
+extern const struct bt_clock_value *
+bt_notification_stream_end_borrow_default_clock_value(
struct bt_notification *notif);
#ifdef __cplusplus
struct bt_private_notification;
struct bt_self_notification_iterator;
-struct bt_private_event;
-struct bt_private_packet;
-struct bt_private_event_class;
+struct bt_event;
+struct bt_packet;
+struct bt_event_class;
extern
struct bt_private_notification *bt_private_notification_event_create(
struct bt_self_notification_iterator *notification_iterator,
- struct bt_private_event_class *event_class,
- struct bt_private_packet *packet);
+ struct bt_event_class *event_class,
+ struct bt_packet *packet);
-extern struct bt_private_event *
+extern struct bt_event *
bt_private_notification_event_borrow_event(
struct bt_private_notification *notification);
struct bt_private_notification;
struct bt_self_notification_iterator;
-struct bt_private_packet;
+struct bt_packet;
extern
struct bt_private_notification *bt_private_notification_packet_begin_create(
struct bt_self_notification_iterator *notification_iterator,
- struct bt_private_packet *packet);
+ struct bt_packet *packet);
extern
struct bt_private_notification *bt_private_notification_packet_end_create(
struct bt_self_notification_iterator *notification_iterator,
- struct bt_private_packet *packet);
+ struct bt_packet *packet);
-extern struct bt_private_packet *
+extern struct bt_packet *
bt_private_notification_packet_begin_borrow_packet(
struct bt_private_notification *notification);
-extern struct bt_private_packet *
+extern struct bt_packet *
bt_private_notification_packet_end_borrow_packet(
struct bt_private_notification *notification);
struct bt_private_notification;
struct bt_self_notification_iterator;
-struct bt_private_stream;
+struct bt_stream;
extern
struct bt_private_notification *bt_private_notification_stream_begin_create(
struct bt_self_notification_iterator *notification_iterator,
- struct bt_private_stream *stream);
+ struct bt_stream *stream);
extern
struct bt_private_notification *bt_private_notification_stream_end_create(
struct bt_self_notification_iterator *notification_iterator,
- struct bt_private_stream *stream);
+ struct bt_stream *stream);
-extern struct bt_private_stream *
+extern struct bt_stream *
bt_private_notification_stream_begin_borrow_stream(
struct bt_private_notification *notification);
extern void bt_private_notification_stream_begin_set_default_clock_value(
struct bt_private_notification *notif, uint64_t value_cycles);
-extern struct bt_private_stream *
+extern struct bt_stream *
bt_private_notification_stream_end_borrow_stream(
struct bt_private_notification *notification);
--- /dev/null
+#ifndef BABELTRACE_TRACE_IR_CLOCK_CLASS_CONST_H
+#define BABELTRACE_TRACE_IR_CLOCK_CLASS_CONST_H
+
+/*
+ * Copyright 2013, 2014 Jérémie Galarneau <jeremie.galarneau@efficios.com>
+ * Copyright 2017-2018 Philippe Proulx <pproulx@efficios.com>
+ *
+ * Author: Jérémie Galarneau <jeremie.galarneau@efficios.com>
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ *
+ * The Common Trace Format (CTF) Specification is available at
+ * http://www.efficios.com/ctf
+ */
+
+#include <stdint.h>
+
+/* For bt_bool, bt_uuid */
+#include <babeltrace/types.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+struct bt_clock_class;
+
+extern const char *bt_clock_class_get_name(
+ const struct bt_clock_class *clock_class);
+
+extern const char *bt_clock_class_get_description(
+ const struct bt_clock_class *clock_class);
+
+extern uint64_t bt_clock_class_get_frequency(
+ const struct bt_clock_class *clock_class);
+
+extern uint64_t bt_clock_class_get_precision(
+ const struct bt_clock_class *clock_class);
+
+extern void bt_clock_class_get_offset(const struct bt_clock_class *clock_class,
+ int64_t *seconds, uint64_t *cycles);
+
+extern bt_bool bt_clock_class_is_absolute(
+ const struct bt_clock_class *clock_class);
+
+extern bt_uuid bt_clock_class_get_uuid(
+ const struct bt_clock_class *clock_class);
+
+extern int bt_clock_class_cycles_to_ns_from_origin(
+ const struct bt_clock_class *clock_class,
+ uint64_t cycles, int64_t *ns_from_origin);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* BABELTRACE_TRACE_IR_CLOCK_CLASS_CONST_H */
};
BT_HIDDEN
-void _bt_clock_class_freeze(struct bt_clock_class *clock_class);
+void _bt_clock_class_freeze(const struct bt_clock_class *clock_class);
#ifdef BT_DEV_MODE
# define bt_clock_class_freeze _bt_clock_class_freeze
struct bt_clock_class;
-extern const char *bt_clock_class_get_name(struct bt_clock_class *clock_class);
+extern struct bt_clock_class *bt_clock_class_create(void);
-extern const char *bt_clock_class_get_description(
- struct bt_clock_class *clock_class);
+extern int bt_clock_class_set_name(struct bt_clock_class *clock_class,
+ const char *name);
-extern uint64_t bt_clock_class_get_frequency(
- struct bt_clock_class *clock_class);
+extern int bt_clock_class_set_description(struct bt_clock_class *clock_class,
+ const char *description);
-extern uint64_t bt_clock_class_get_precision(
- struct bt_clock_class *clock_class);
+extern void bt_clock_class_set_frequency(struct bt_clock_class *clock_class,
+ uint64_t freq);
-extern void bt_clock_class_get_offset(struct bt_clock_class *clock_class,
- int64_t *seconds, uint64_t *cycles);
+extern void bt_clock_class_set_precision(struct bt_clock_class *clock_class,
+ uint64_t precision);
-extern bt_bool bt_clock_class_is_absolute(struct bt_clock_class *clock_class);
+extern void bt_clock_class_set_offset(struct bt_clock_class *clock_class,
+ int64_t seconds, uint64_t cycles);
-extern bt_uuid bt_clock_class_get_uuid(struct bt_clock_class *clock_class);
+extern void bt_clock_class_set_is_absolute(struct bt_clock_class *clock_class,
+ bt_bool is_absolute);
-extern int bt_clock_class_cycles_to_ns_from_origin(
- struct bt_clock_class *clock_class,
- uint64_t cycles, int64_t *ns_from_origin);
+extern void bt_clock_class_set_uuid(struct bt_clock_class *clock_class,
+ bt_uuid uuid);
#ifdef __cplusplus
}
--- /dev/null
+#ifndef BABELTRACE_TRACE_IR_CLOCK_VALUE_CONST_H
+#define BABELTRACE_TRACE_IR_CLOCK_VALUE_CONST_H
+
+/*
+ * Copyright 2013, 2014 Jérémie Galarneau <jeremie.galarneau@efficios.com>
+ * Copyright 2017 Philippe Proulx <pproulx@efficios.com>
+ *
+ * Author: Jérémie Galarneau <jeremie.galarneau@efficios.com>
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ *
+ * The Common Trace Format (CTF) Specification is available at
+ * http://www.efficios.com/ctf
+ */
+
+#include <stdint.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+struct bt_clock_class;
+struct bt_clock_value;
+
+enum bt_clock_value_status {
+ BT_CLOCK_VALUE_STATUS_KNOWN,
+ BT_CLOCK_VALUE_STATUS_UNKNOWN,
+};
+
+extern const struct bt_clock_class *bt_clock_value_borrow_clock_class_const(
+ const struct bt_clock_value *clock_value);
+
+extern uint64_t bt_clock_value_get_value(
+ const struct bt_clock_value *clock_value);
+
+extern int bt_clock_value_get_ns_from_origin(
+ const struct bt_clock_value *clock_value,
+ int64_t *ns_from_origin);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* BABELTRACE_TRACE_IR_CLOCK_VALUE_CONST_H */
+++ /dev/null
-#ifndef BABELTRACE_TRACE_IR_CLOCK_VALUE_H
-#define BABELTRACE_TRACE_IR_CLOCK_VALUE_H
-
-/*
- * Copyright 2013, 2014 Jérémie Galarneau <jeremie.galarneau@efficios.com>
- * Copyright 2017 Philippe Proulx <pproulx@efficios.com>
- *
- * Author: Jérémie Galarneau <jeremie.galarneau@efficios.com>
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * The Common Trace Format (CTF) Specification is available at
- * http://www.efficios.com/ctf
- */
-
-#include <stdint.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-struct bt_clock_class;
-struct bt_clock_value;
-
-enum bt_clock_value_status {
- BT_CLOCK_VALUE_STATUS_KNOWN,
- BT_CLOCK_VALUE_STATUS_UNKNOWN,
-};
-
-extern struct bt_clock_class *bt_clock_value_borrow_clock_class(
- struct bt_clock_value *clock_value);
-
-extern uint64_t bt_clock_value_get_value(
- struct bt_clock_value *clock_value);
-
-extern int bt_clock_value_get_ns_from_origin(
- struct bt_clock_value *clock_value, int64_t *ns_from_origin);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* BABELTRACE_TRACE_IR_CLOCK_VALUE_H */
--- /dev/null
+#ifndef BABELTRACE_TRACE_IR_EVENT_CLASS_CONST_H
+#define BABELTRACE_TRACE_IR_EVENT_CLASS_CONST_H
+
+/*
+ * Copyright 2013, 2014 Jérémie Galarneau <jeremie.galarneau@efficios.com>
+ *
+ * Author: Jérémie Galarneau <jeremie.galarneau@efficios.com>
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ *
+ * The Common Trace Format (CTF) Specification is available at
+ * http://www.efficios.com/ctf
+ */
+
+/* For enum bt_property_availability */
+#include <babeltrace/property.h>
+
+#include <stdint.h>
+#include <stddef.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+struct bt_event_class;
+struct bt_field_class;
+struct bt_stream_class;
+
+enum bt_event_class_log_level {
+ BT_EVENT_CLASS_LOG_LEVEL_EMERGENCY,
+ BT_EVENT_CLASS_LOG_LEVEL_ALERT,
+ BT_EVENT_CLASS_LOG_LEVEL_CRITICAL,
+ BT_EVENT_CLASS_LOG_LEVEL_ERROR,
+ BT_EVENT_CLASS_LOG_LEVEL_WARNING,
+ BT_EVENT_CLASS_LOG_LEVEL_NOTICE,
+ BT_EVENT_CLASS_LOG_LEVEL_INFO,
+ BT_EVENT_CLASS_LOG_LEVEL_DEBUG_SYSTEM,
+ BT_EVENT_CLASS_LOG_LEVEL_DEBUG_PROGRAM,
+ BT_EVENT_CLASS_LOG_LEVEL_DEBUG_PROCESS,
+ BT_EVENT_CLASS_LOG_LEVEL_DEBUG_MODULE,
+ BT_EVENT_CLASS_LOG_LEVEL_DEBUG_UNIT,
+ BT_EVENT_CLASS_LOG_LEVEL_DEBUG_FUNCTION,
+ BT_EVENT_CLASS_LOG_LEVEL_DEBUG_LINE,
+ BT_EVENT_CLASS_LOG_LEVEL_DEBUG,
+};
+
+extern const struct bt_stream_class *bt_event_class_borrow_stream_class_const(
+ const struct bt_event_class *event_class);
+
+extern const char *bt_event_class_get_name(const struct bt_event_class *event_class);
+
+extern uint64_t bt_event_class_get_id(const struct bt_event_class *event_class);
+
+extern enum bt_property_availability bt_event_class_get_log_level(
+ const struct bt_event_class *event_class,
+ enum bt_event_class_log_level *log_level);
+
+extern const char *bt_event_class_get_emf_uri(
+ const struct bt_event_class *event_class);
+
+extern const struct bt_field_class *
+bt_event_class_borrow_specific_context_field_class(
+ const struct bt_event_class *event_class);
+
+extern const struct bt_field_class *bt_event_class_borrow_payload_field_class(
+ const struct bt_event_class *event_class);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* BABELTRACE_TRACE_IR_EVENT_CLASS_CONST_H */
};
BT_HIDDEN
-void _bt_event_class_freeze(struct bt_event_class *event_class);
+void _bt_event_class_freeze(const struct bt_event_class *event_class);
#ifdef BT_DEV_MODE
# define bt_event_class_freeze _bt_event_class_freeze
static inline
struct bt_stream_class *bt_event_class_borrow_stream_class_inline(
- struct bt_event_class *event_class)
+ const struct bt_event_class *event_class)
{
BT_ASSERT(event_class);
return (void *) bt_object_borrow_parent(&event_class->base);
* http://www.efficios.com/ctf
*/
-/* For enum bt_property_availability */
-#include <babeltrace/property.h>
+/* For enum bt_event_class_log_level */
+#include <babeltrace/trace-ir/event-class-const.h>
#include <stdint.h>
-#include <stddef.h>
#ifdef __cplusplus
extern "C" {
#endif
struct bt_event_class;
-struct bt_field_class;
struct bt_stream_class;
-enum bt_event_class_log_level {
- BT_EVENT_CLASS_LOG_LEVEL_EMERGENCY,
- BT_EVENT_CLASS_LOG_LEVEL_ALERT,
- BT_EVENT_CLASS_LOG_LEVEL_CRITICAL,
- BT_EVENT_CLASS_LOG_LEVEL_ERROR,
- BT_EVENT_CLASS_LOG_LEVEL_WARNING,
- BT_EVENT_CLASS_LOG_LEVEL_NOTICE,
- BT_EVENT_CLASS_LOG_LEVEL_INFO,
- BT_EVENT_CLASS_LOG_LEVEL_DEBUG_SYSTEM,
- BT_EVENT_CLASS_LOG_LEVEL_DEBUG_PROGRAM,
- BT_EVENT_CLASS_LOG_LEVEL_DEBUG_PROCESS,
- BT_EVENT_CLASS_LOG_LEVEL_DEBUG_MODULE,
- BT_EVENT_CLASS_LOG_LEVEL_DEBUG_UNIT,
- BT_EVENT_CLASS_LOG_LEVEL_DEBUG_FUNCTION,
- BT_EVENT_CLASS_LOG_LEVEL_DEBUG_LINE,
- BT_EVENT_CLASS_LOG_LEVEL_DEBUG,
-};
+extern struct bt_event_class *bt_event_class_create(
+ struct bt_stream_class *stream_class);
+
+extern struct bt_event_class *bt_event_class_create_with_id(
+ struct bt_stream_class *stream_class, uint64_t id);
extern struct bt_stream_class *bt_event_class_borrow_stream_class(
struct bt_event_class *event_class);
-extern const char *bt_event_class_get_name(struct bt_event_class *event_class);
-
-extern uint64_t bt_event_class_get_id(struct bt_event_class *event_class);
+extern int bt_event_class_set_name(struct bt_event_class *event_class,
+ const char *name);
-extern enum bt_property_availability bt_event_class_get_log_level(
+extern void bt_event_class_set_log_level(
struct bt_event_class *event_class,
- enum bt_event_class_log_level *log_level);
+ enum bt_event_class_log_level log_level);
-extern const char *bt_event_class_get_emf_uri(
- struct bt_event_class *event_class);
+extern int bt_event_class_set_emf_uri(
+ struct bt_event_class *event_class,
+ const char *emf_uri);
-extern struct bt_field_class *bt_event_class_borrow_specific_context_field_class(
- struct bt_event_class *event_class);
+extern int bt_event_class_set_specific_context_field_class(
+ struct bt_event_class *event_class,
+ struct bt_field_class *field_class);
-extern struct bt_field_class *bt_event_class_borrow_payload_field_class(
- struct bt_event_class *event_class);
+extern int bt_event_class_set_payload_field_class(
+ struct bt_event_class *event_class,
+ struct bt_field_class *field_class);
#ifdef __cplusplus
}
--- /dev/null
+#ifndef BABELTRACE_TRACE_IR_EVENT_CONST_H
+#define BABELTRACE_TRACE_IR_EVENT_CONST_H
+
+/*
+ * Copyright 2013, 2014 Jérémie Galarneau <jeremie.galarneau@efficios.com>
+ *
+ * Author: Jérémie Galarneau <jeremie.galarneau@efficios.com>
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ *
+ * The Common Trace Format (CTF) Specification is available at
+ * http://www.efficios.com/ctf
+ */
+
+/* For enum bt_clock_value_status */
+#include <babeltrace/trace-ir/clock-value-const.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+struct bt_event;
+struct bt_clock_value;
+struct bt_event_class;
+struct bt_field;
+struct bt_packet;
+
+extern const struct bt_event_class *bt_event_borrow_class_const(
+ const struct bt_event *event);
+
+extern const struct bt_packet *bt_event_borrow_packet_const(
+ const struct bt_event *event);
+
+extern const struct bt_stream *bt_event_borrow_stream_const(
+ const struct bt_event *event);
+
+extern const struct bt_field *bt_event_borrow_header_field_const(
+ const struct bt_event *event);
+
+extern const struct bt_field *bt_event_borrow_common_context_field_const(
+ const struct bt_event *event);
+
+extern const struct bt_field *bt_event_borrow_specific_context_field_const(
+ const struct bt_event *event);
+
+extern const struct bt_field *bt_event_borrow_payload_field_const(
+ const struct bt_event *event);
+
+extern enum bt_clock_value_status bt_event_borrow_default_clock_value_const(
+ const struct bt_event *event,
+ const struct bt_clock_value **clock_value);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* BABELTRACE_TRACE_IR_EVENT_CONST_H */
--- /dev/null
+#ifndef BABELTRACE_TRACE_IR_EVENT_HEADER_FIELD_H
+#define BABELTRACE_TRACE_IR_EVENT_HEADER_FIELD_H
+
+/*
+ * Copyright 2018 Philippe Proulx <pproulx@efficios.com>
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ *
+ * The Common Trace Format (CTF) Specification is available at
+ * http://www.efficios.com/ctf
+ */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+struct bt_stream_class;
+struct bt_event_header_field;
+struct bt_field;
+
+extern
+struct bt_event_header_field *bt_event_header_field_create(
+ struct bt_stream_class *stream_class);
+
+extern
+struct bt_field *bt_event_header_field_borrow_field(
+ struct bt_event_header_field *field);
+
+extern
+void bt_event_header_field_release(struct bt_event_header_field *field);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* BABELTRACE_TRACE_IR_EVENT_HEADER_FIELD_H */
#include <glib.h>
#define BT_ASSERT_PRE_EVENT_HOT(_event) \
- BT_ASSERT_PRE_HOT(((struct bt_event *) (_event)), "Event", ": %!+e", (_event))
+ BT_ASSERT_PRE_HOT(((const struct bt_event *) (_event)), \
+ "Event", ": %!+e", (_event))
struct bt_event {
struct bt_object base;
struct bt_event *bt_event_new(struct bt_event_class *event_class);
BT_HIDDEN
-void _bt_event_set_is_frozen(struct bt_event *event, bool is_frozen);
+void _bt_event_set_is_frozen(const struct bt_event *event, bool is_frozen);
#ifdef BT_DEV_MODE
# define bt_event_set_is_frozen _bt_event_set_is_frozen
* http://www.efficios.com/ctf
*/
-/* For enum bt_clock_value_status */
-#include <babeltrace/trace-ir/clock-value.h>
-
#ifdef __cplusplus
extern "C" {
#endif
struct bt_event;
-struct bt_clock_value;
+struct bt_event_header_field;
struct bt_event_class;
struct bt_field;
struct bt_packet;
extern struct bt_field *bt_event_borrow_header_field(struct bt_event *event);
-extern struct bt_field *bt_event_borrow_common_context_field(
- struct bt_event *event);
+extern int bt_event_move_header_field(struct bt_event *event,
+ struct bt_event_header_field *header);
+
+extern struct bt_field *
+bt_event_borrow_common_context_field(struct bt_event *event);
-extern struct bt_field *bt_event_borrow_specific_context_field(
- struct bt_event *event);
+extern struct bt_field *
+bt_event_borrow_specific_context_field(struct bt_event *event);
extern struct bt_field *bt_event_borrow_payload_field(struct bt_event *event);
-extern enum bt_clock_value_status bt_event_borrow_default_clock_value(
- struct bt_event *event, struct bt_clock_value **clock_value);
+extern void bt_event_set_default_clock_value(struct bt_event *event,
+ uint64_t value_cycles);
#ifdef __cplusplus
}
--- /dev/null
+#ifndef BABELTRACE_TRACE_IR_FIELD_CLASSES_CONST_H
+#define BABELTRACE_TRACE_IR_FIELD_CLASSES_CONST_H
+
+/*
+ * Copyright 2013, 2014 Jérémie Galarneau <jeremie.galarneau@efficios.com>
+ *
+ * Author: Jérémie Galarneau <jeremie.galarneau@efficios.com>
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ *
+ * The Common Trace Format (CTF) Specification is available at
+ * http://www.efficios.com/ctf
+ */
+
+/* For bt_bool */
+#include <babeltrace/types.h>
+
+#include <stdint.h>
+#include <stddef.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+struct bt_field_class;
+struct bt_field_path;
+struct bt_field_class_signed_enumeration_mapping_ranges;
+struct bt_field_class_unsigned_enumeration_mapping_ranges;
+
+typedef const char * const *bt_field_class_enumeration_mapping_label_array;
+
+enum bt_field_class_type {
+ BT_FIELD_CLASS_TYPE_UNSIGNED_INTEGER,
+ BT_FIELD_CLASS_TYPE_SIGNED_INTEGER,
+ BT_FIELD_CLASS_TYPE_UNSIGNED_ENUMERATION,
+ BT_FIELD_CLASS_TYPE_SIGNED_ENUMERATION,
+ BT_FIELD_CLASS_TYPE_REAL,
+ BT_FIELD_CLASS_TYPE_STRING,
+ BT_FIELD_CLASS_TYPE_STRUCTURE,
+ BT_FIELD_CLASS_TYPE_STATIC_ARRAY,
+ BT_FIELD_CLASS_TYPE_DYNAMIC_ARRAY,
+ BT_FIELD_CLASS_TYPE_VARIANT,
+};
+
+enum bt_field_class_integer_preferred_display_base {
+ BT_FIELD_CLASS_INTEGER_PREFERRED_DISPLAY_BASE_BINARY,
+ BT_FIELD_CLASS_INTEGER_PREFERRED_DISPLAY_BASE_OCTAL,
+ BT_FIELD_CLASS_INTEGER_PREFERRED_DISPLAY_BASE_DECIMAL,
+ BT_FIELD_CLASS_INTEGER_PREFERRED_DISPLAY_BASE_HEXADECIMAL,
+};
+
+extern enum bt_field_class_type bt_field_class_get_type(
+ const struct bt_field_class *field_class);
+
+extern uint64_t bt_field_class_integer_get_field_value_range(
+ const struct bt_field_class *field_class);
+
+extern enum bt_field_class_integer_preferred_display_base
+bt_field_class_integer_get_preferred_display_base(
+ const struct bt_field_class *field_class);
+
+extern bt_bool bt_field_class_real_is_single_precision(
+ const struct bt_field_class *field_class);
+
+extern uint64_t bt_field_class_enumeration_get_mapping_count(
+ const struct bt_field_class *field_class);
+
+extern void bt_field_class_unsigned_enumeration_borrow_mapping_by_index_const(
+ const struct bt_field_class *field_class, uint64_t index,
+ const char **label,
+ const struct bt_field_class_unsigned_enumeration_mapping_ranges **ranges);
+
+extern void bt_field_class_signed_enumeration_borrow_mapping_by_index_const(
+ const struct bt_field_class *field_class, uint64_t index,
+ const char **label,
+ const struct bt_field_class_signed_enumeration_mapping_ranges **ranges);
+
+extern uint64_t
+bt_field_class_unsigned_enumeration_mapping_ranges_get_range_count(
+ const struct bt_field_class_unsigned_enumeration_mapping_ranges *ranges);
+
+extern uint64_t
+bt_field_class_signed_enumeration_mapping_ranges_get_range_count(
+ const struct bt_field_class_signed_enumeration_mapping_ranges *ranges);
+
+extern void
+bt_field_class_unsigned_enumeration_mapping_ranges_get_range_by_index(
+ const struct bt_field_class_unsigned_enumeration_mapping_ranges *ranges,
+ uint64_t index, uint64_t *lower, uint64_t *upper);
+
+extern void
+bt_field_class_signed_enumeration_mapping_ranges_get_range_by_index(
+ const struct bt_field_class_unsigned_enumeration_mapping_ranges *ranges,
+ uint64_t index, int64_t *lower, int64_t *upper);
+
+extern int bt_field_class_unsigned_enumeration_get_mapping_labels_by_value(
+ const struct bt_field_class *field_class, uint64_t value,
+ bt_field_class_enumeration_mapping_label_array *label_array,
+ uint64_t *count);
+
+extern int bt_field_class_signed_enumeration_get_mapping_labels_by_value(
+ const struct bt_field_class *field_class, int64_t value,
+ bt_field_class_enumeration_mapping_label_array *label_array,
+ uint64_t *count);
+
+extern uint64_t bt_field_class_structure_get_member_count(
+ const struct bt_field_class *field_class);
+
+extern void bt_field_class_structure_borrow_member_by_index_const(
+ const struct bt_field_class *struct_field_class, uint64_t index,
+ const char **name, const struct bt_field_class **field_class);
+
+extern
+const struct bt_field_class *
+bt_field_class_structure_borrow_member_field_class_by_name_const(
+ const struct bt_field_class *field_class, const char *name);
+
+extern const struct bt_field_class *
+bt_field_class_array_borrow_element_field_class_const(
+ const struct bt_field_class *field_class);
+
+extern uint64_t bt_field_class_static_array_get_length(
+ const struct bt_field_class *field_class);
+
+extern const struct bt_field_path *
+bt_field_class_dynamic_array_borrow_length_field_path_const(
+ const struct bt_field_class *field_class);
+
+extern const struct bt_field_path *
+bt_field_class_variant_borrow_selector_field_path_const(
+ const struct bt_field_class *field_class);
+
+extern uint64_t bt_field_class_variant_get_option_count(
+ const struct bt_field_class *field_class);
+
+extern void bt_field_class_variant_borrow_option_by_index_const(
+ const struct bt_field_class *variant_field_class, uint64_t index,
+ const char **name, const struct bt_field_class **field_class);
+
+extern
+const struct bt_field_class *
+bt_field_class_variant_borrow_option_field_class_by_name_const(
+ const struct bt_field_class *field_class,
+ const char *name);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* BABELTRACE_TRACE_IR_FIELD_CLASSES_CONST_H */
#define BT_ASSERT_PRE_FC_IS_INT(_fc, _name) \
BT_ASSERT_PRE( \
- ((struct bt_field_class *) (_fc))->type == BT_FIELD_CLASS_TYPE_UNSIGNED_INTEGER || \
- ((struct bt_field_class *) (_fc))->type == BT_FIELD_CLASS_TYPE_SIGNED_INTEGER || \
- ((struct bt_field_class *) (_fc))->type == BT_FIELD_CLASS_TYPE_UNSIGNED_ENUMERATION || \
- ((struct bt_field_class *) (_fc))->type == BT_FIELD_CLASS_TYPE_SIGNED_ENUMERATION, \
+ ((const struct bt_field_class *) (_fc))->type == BT_FIELD_CLASS_TYPE_UNSIGNED_INTEGER || \
+ ((const struct bt_field_class *) (_fc))->type == BT_FIELD_CLASS_TYPE_SIGNED_INTEGER || \
+ ((const struct bt_field_class *) (_fc))->type == BT_FIELD_CLASS_TYPE_UNSIGNED_ENUMERATION || \
+ ((const struct bt_field_class *) (_fc))->type == BT_FIELD_CLASS_TYPE_SIGNED_ENUMERATION, \
_name " is not an integer field class: %![fc-]+F", (_fc))
#define BT_ASSERT_PRE_FC_IS_UNSIGNED_INT(_fc, _name) \
BT_ASSERT_PRE( \
- ((struct bt_field_class *) (_fc))->type == BT_FIELD_CLASS_TYPE_UNSIGNED_INTEGER || \
- ((struct bt_field_class *) (_fc))->type == BT_FIELD_CLASS_TYPE_UNSIGNED_ENUMERATION, \
+ ((const struct bt_field_class *) (_fc))->type == BT_FIELD_CLASS_TYPE_UNSIGNED_INTEGER || \
+ ((const struct bt_field_class *) (_fc))->type == BT_FIELD_CLASS_TYPE_UNSIGNED_ENUMERATION, \
_name " is not an unsigned integer field class: %![fc-]+F", (_fc))
#define BT_ASSERT_PRE_FC_IS_ENUM(_fc, _name) \
BT_ASSERT_PRE( \
- ((struct bt_field_class *) (_fc))->type == BT_FIELD_CLASS_TYPE_UNSIGNED_ENUMERATION || \
- ((struct bt_field_class *) (_fc))->type == BT_FIELD_CLASS_TYPE_SIGNED_ENUMERATION, \
+ ((const struct bt_field_class *) (_fc))->type == BT_FIELD_CLASS_TYPE_UNSIGNED_ENUMERATION || \
+ ((const struct bt_field_class *) (_fc))->type == BT_FIELD_CLASS_TYPE_SIGNED_ENUMERATION, \
_name " is not an enumeration field class: %![fc-]+F", (_fc))
#define BT_ASSERT_PRE_FC_IS_ARRAY(_fc, _name) \
BT_ASSERT_PRE( \
- ((struct bt_field_class *) (_fc))->type == BT_FIELD_CLASS_TYPE_STATIC_ARRAY || \
- ((struct bt_field_class *) (_fc))->type == BT_FIELD_CLASS_TYPE_DYNAMIC_ARRAY, \
+ ((const struct bt_field_class *) (_fc))->type == BT_FIELD_CLASS_TYPE_STATIC_ARRAY || \
+ ((const struct bt_field_class *) (_fc))->type == BT_FIELD_CLASS_TYPE_DYNAMIC_ARRAY, \
_name " is not an array field class: %![fc-]+F", (_fc))
#define BT_ASSERT_PRE_FC_HAS_ID(_fc, _type, _name) \
- BT_ASSERT_PRE(((struct bt_field_class *) (_fc))->type == (_type), \
+ BT_ASSERT_PRE(((const struct bt_field_class *) (_fc))->type == (_type), \
_name " has the wrong type: expected-type=%s, " \
"%![fc-]+F", bt_common_field_class_type_string(_type), (_fc))
#define BT_ASSERT_PRE_FC_HOT(_fc, _name) \
- BT_ASSERT_PRE_HOT((struct bt_field_class *) (_fc), \
+ BT_ASSERT_PRE_HOT((const struct bt_field_class *) (_fc), \
(_name), ": %!+F", (_fc))
#define BT_FIELD_CLASS_NAMED_FC_AT_INDEX(_fc, _index) \
};
static inline
-bool bt_field_class_has_known_type(struct bt_field_class *fc)
+bool bt_field_class_has_known_type(const struct bt_field_class *fc)
{
return fc->type >= BT_FIELD_CLASS_TYPE_UNSIGNED_INTEGER &&
fc->type <= BT_FIELD_CLASS_TYPE_VARIANT;
}
BT_HIDDEN
-void _bt_field_class_freeze(struct bt_field_class *field_class);
+void _bt_field_class_freeze(const struct bt_field_class *field_class);
#ifdef BT_DEV_MODE
# define bt_field_class_freeze _bt_field_class_freeze
* shared objects for other purposes.
*/
BT_HIDDEN
-void _bt_field_class_make_part_of_trace(struct bt_field_class *field_class);
+void _bt_field_class_make_part_of_trace(const struct bt_field_class *field_class);
#ifdef BT_DEV_MODE
# define bt_field_class_make_part_of_trace _bt_field_class_make_part_of_trace
/* For bt_bool */
#include <babeltrace/types.h>
+/* For enum bt_field_class_integer_preferred_display_base */
+#include <babeltrace/trace-ir/field-classes-const.h>
+
#include <stdint.h>
#include <stddef.h>
#endif
struct bt_field_class;
-struct bt_field_path;
-struct bt_field_class_signed_enumeration_mapping_ranges;
-struct bt_field_class_unsigned_enumeration_mapping_ranges;
-
-typedef const char * const *bt_field_class_enumeration_mapping_label_array;
-
-enum bt_field_class_type {
- BT_FIELD_CLASS_TYPE_UNSIGNED_INTEGER,
- BT_FIELD_CLASS_TYPE_SIGNED_INTEGER,
- BT_FIELD_CLASS_TYPE_UNSIGNED_ENUMERATION,
- BT_FIELD_CLASS_TYPE_SIGNED_ENUMERATION,
- BT_FIELD_CLASS_TYPE_REAL,
- BT_FIELD_CLASS_TYPE_STRING,
- BT_FIELD_CLASS_TYPE_STRUCTURE,
- BT_FIELD_CLASS_TYPE_STATIC_ARRAY,
- BT_FIELD_CLASS_TYPE_DYNAMIC_ARRAY,
- BT_FIELD_CLASS_TYPE_VARIANT,
-};
-
-enum bt_field_class_integer_preferred_display_base {
- BT_FIELD_CLASS_INTEGER_PREFERRED_DISPLAY_BASE_BINARY,
- BT_FIELD_CLASS_INTEGER_PREFERRED_DISPLAY_BASE_OCTAL,
- BT_FIELD_CLASS_INTEGER_PREFERRED_DISPLAY_BASE_DECIMAL,
- BT_FIELD_CLASS_INTEGER_PREFERRED_DISPLAY_BASE_HEXADECIMAL,
-};
-
-extern enum bt_field_class_type bt_field_class_get_type(
- struct bt_field_class *field_class);
-
-extern uint64_t bt_field_class_integer_get_field_value_range(
- struct bt_field_class *field_class);
-
-extern enum bt_field_class_integer_preferred_display_base
-bt_field_class_integer_get_preferred_display_base(
- struct bt_field_class *field_class);
-
-extern bt_bool bt_field_class_real_is_single_precision(
- struct bt_field_class *field_class);
-
-extern uint64_t bt_field_class_enumeration_get_mapping_count(
- struct bt_field_class *field_class);
-
-extern void bt_field_class_unsigned_enumeration_borrow_mapping_by_index(
- struct bt_field_class *field_class, uint64_t index,
- const char **label,
- struct bt_field_class_unsigned_enumeration_mapping_ranges **ranges);
-
-extern void bt_field_class_signed_enumeration_borrow_mapping_by_index(
- struct bt_field_class *field_class, uint64_t index,
- const char **label,
- struct bt_field_class_signed_enumeration_mapping_ranges **ranges);
-
-extern uint64_t bt_field_class_unsigned_enumeration_mapping_ranges_get_range_count(
- struct bt_field_class_unsigned_enumeration_mapping_ranges *ranges);
-
-extern uint64_t bt_field_class_signed_enumeration_mapping_ranges_get_range_count(
- struct bt_field_class_signed_enumeration_mapping_ranges *ranges);
-
-extern void bt_field_class_unsigned_enumeration_mapping_ranges_get_range_by_index(
- struct bt_field_class_unsigned_enumeration_mapping_ranges *ranges,
- uint64_t index, uint64_t *lower, uint64_t *upper);
-
-extern void bt_field_class_signed_enumeration_mapping_ranges_get_range_by_index(
- struct bt_field_class_unsigned_enumeration_mapping_ranges *ranges,
- uint64_t index, int64_t *lower, int64_t *upper);
-
-extern int bt_field_class_unsigned_enumeration_get_mapping_labels_by_value(
- struct bt_field_class *field_class, uint64_t value,
- bt_field_class_enumeration_mapping_label_array *label_array,
- uint64_t *count);
-
-extern int bt_field_class_signed_enumeration_get_mapping_labels_by_value(
- struct bt_field_class *field_class, int64_t value,
- bt_field_class_enumeration_mapping_label_array *label_array,
- uint64_t *count);
-
-extern uint64_t bt_field_class_structure_get_member_count(
- struct bt_field_class *field_class);
-
-extern void bt_field_class_structure_borrow_member_by_index(
- struct bt_field_class *struct_field_class, uint64_t index,
- const char **name, struct bt_field_class **field_class);
-
-extern
-struct bt_field_class *bt_field_class_structure_borrow_member_field_class_by_name(
- struct bt_field_class *field_class, const char *name);
-
-extern struct bt_field_class *bt_field_class_array_borrow_element_field_class(
- struct bt_field_class *field_class);
-
-extern uint64_t bt_field_class_static_array_get_length(
- struct bt_field_class *field_class);
-
-extern struct bt_field_path *
-bt_field_class_dynamic_array_borrow_length_field_path(
- struct bt_field_class *field_class);
-
-extern struct bt_field_path *
-bt_field_class_variant_borrow_selector_field_path(
- struct bt_field_class *field_class);
-
-extern uint64_t bt_field_class_variant_get_option_count(
- struct bt_field_class *field_class);
-extern void bt_field_class_variant_borrow_option_by_index(
- struct bt_field_class *variant_field_class, uint64_t index,
- const char **name, struct bt_field_class **field_class);
-
-extern
-struct bt_field_class *bt_field_class_variant_borrow_option_field_class_by_name(
+extern struct bt_field_class *bt_field_class_unsigned_integer_create(void);
+
+extern struct bt_field_class *bt_field_class_signed_integer_create(void);
+
+extern void bt_field_class_integer_set_field_value_range(
+ struct bt_field_class *field_class, uint64_t size);
+
+extern void bt_field_class_integer_set_preferred_display_base(
+ struct bt_field_class *field_class,
+ enum bt_field_class_integer_preferred_display_base base);
+
+extern struct bt_field_class *bt_field_class_real_create(void);
+
+extern void bt_field_class_real_set_is_single_precision(
+ struct bt_field_class *field_class,
+ bt_bool is_single_precision);
+
+extern struct bt_field_class *bt_field_class_unsigned_enumeration_create(void);
+
+extern struct bt_field_class *bt_field_class_signed_enumeration_create(void);
+
+extern int bt_field_class_unsigned_enumeration_map_range(
+ struct bt_field_class *field_class, const char *label,
+ uint64_t range_lower, uint64_t range_upper);
+
+extern int bt_field_class_signed_enumeration_map_range(
+ struct bt_field_class *field_class, const char *label,
+ int64_t range_lower, int64_t range_upper);
+
+extern struct bt_field_class *bt_field_class_string_create(void);
+
+extern struct bt_field_class *bt_field_class_structure_create(void);
+
+extern int bt_field_class_structure_append_member(
+ struct bt_field_class *struct_field_class,
+ const char *name, struct bt_field_class *field_class);
+
+extern struct bt_field_class *bt_field_class_static_array_create(
+ struct bt_field_class *elem_field_class, uint64_t length);
+
+extern struct bt_field_class *bt_field_class_dynamic_array_create(
+ struct bt_field_class *elem_field_class);
+
+extern int bt_field_class_dynamic_array_set_length_field_class(
struct bt_field_class *field_class,
- const char *name);
+ struct bt_field_class *length_field_class);
+
+extern struct bt_field_class *bt_field_class_variant_create(void);
+
+extern int bt_field_class_variant_set_selector_field_class(
+ struct bt_field_class *field_class,
+ struct bt_field_class *selector_field_class);
+
+extern int bt_field_class_variant_append_option(
+ struct bt_field_class *var_field_class,
+ const char *name, struct bt_field_class *field_class);
#ifdef __cplusplus
}
--- /dev/null
+#ifndef BABELTRACE_TRACE_IR_FIELD_PATH_CONST_H
+#define BABELTRACE_TRACE_IR_FIELD_PATH_CONST_H
+
+/*
+ * Copyright 2016-2018 Philippe Proulx <pproulx@efficios.com>
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ *
+ * The Common Trace Format (CTF) Specification is available at
+ * http://www.efficios.com/ctf
+ */
+
+#include <stdint.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+struct bt_field_path;
+
+enum bt_scope {
+ BT_SCOPE_PACKET_HEADER,
+ BT_SCOPE_PACKET_CONTEXT,
+ BT_SCOPE_EVENT_HEADER,
+ BT_SCOPE_EVENT_COMMON_CONTEXT,
+ BT_SCOPE_EVENT_SPECIFIC_CONTEXT,
+ BT_SCOPE_EVENT_PAYLOAD,
+};
+
+extern enum bt_scope bt_field_path_get_root_scope(
+ const struct bt_field_path *field_path);
+
+extern uint64_t bt_field_path_get_index_count(
+ const struct bt_field_path *field_path);
+
+extern uint64_t bt_field_path_get_index_by_index(
+ const struct bt_field_path *field_path, uint64_t index);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* BABELTRACE_TRACE_IR_FIELD_PATH_CONST_H */
*/
#include <babeltrace/object-internal.h>
-#include <babeltrace/trace-ir/field-path.h>
+#include <babeltrace/trace-ir/field-path-const.h>
#include <babeltrace/assert-internal.h>
#include <glib.h>
static inline
uint64_t bt_field_path_get_index_by_index_inline(
- struct bt_field_path *field_path, uint64_t index)
+ const struct bt_field_path *field_path, uint64_t index)
{
BT_ASSERT(field_path);
BT_ASSERT(index < field_path->indexes->len);
+++ /dev/null
-#ifndef BABELTRACE_TRACE_IR_FIELD_PATH_H
-#define BABELTRACE_TRACE_IR_FIELD_PATH_H
-
-/*
- * Copyright 2016-2018 Philippe Proulx <pproulx@efficios.com>
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * The Common Trace Format (CTF) Specification is available at
- * http://www.efficios.com/ctf
- */
-
-#include <stdint.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-struct bt_field_path;
-
-enum bt_scope {
- BT_SCOPE_PACKET_HEADER,
- BT_SCOPE_PACKET_CONTEXT,
- BT_SCOPE_EVENT_HEADER,
- BT_SCOPE_EVENT_COMMON_CONTEXT,
- BT_SCOPE_EVENT_SPECIFIC_CONTEXT,
- BT_SCOPE_EVENT_PAYLOAD,
-};
-
-extern enum bt_scope bt_field_path_get_root_scope(
- struct bt_field_path *field_path);
-
-extern uint64_t bt_field_path_get_index_count(
- struct bt_field_path *field_path);
-
-extern uint64_t bt_field_path_get_index_by_index(
- struct bt_field_path *field_path, uint64_t index);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* BABELTRACE_TRACE_IR_FIELD_PATH_H */
--- /dev/null
+#ifndef BABELTRACE_TRACE_IR_FIELDS_CONST_H
+#define BABELTRACE_TRACE_IR_FIELDS_CONST_H
+
+/*
+ * Copyright 2013, 2014 Jérémie Galarneau <jeremie.galarneau@efficios.com>
+ *
+ * Author: Jérémie Galarneau <jeremie.galarneau@efficios.com>
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ *
+ * The Common Trace Format (CTF) Specification is available at
+ * http://www.efficios.com/ctf
+ */
+
+#include <stdint.h>
+
+/* For enum bt_field_class_type */
+#include <babeltrace/trace-ir/field-classes.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+struct bt_field;
+struct bt_field_class;
+
+extern const struct bt_field_class *bt_field_borrow_class_const(
+ const struct bt_field *field);
+
+extern enum bt_field_class_type bt_field_get_class_type(
+ const struct bt_field *field);
+
+extern int64_t bt_field_signed_integer_get_value(const struct bt_field *field);
+
+extern uint64_t bt_field_unsigned_integer_get_value(
+ const struct bt_field *field);
+
+extern double bt_field_real_get_value(const struct bt_field *field);
+
+extern int bt_field_unsigned_enumeration_get_mapping_labels(
+ const struct bt_field *field,
+ bt_field_class_enumeration_mapping_label_array *label_array,
+ uint64_t *count);
+
+extern int bt_field_signed_enumeration_get_mapping_labels(
+ const struct bt_field *field,
+ bt_field_class_enumeration_mapping_label_array *label_array,
+ uint64_t *count);
+
+extern const char *bt_field_string_get_value(const struct bt_field *field);
+
+extern uint64_t bt_field_string_get_length(const struct bt_field *field);
+
+extern const struct bt_field *
+bt_field_structure_borrow_member_field_by_index_const(
+ const struct bt_field *field, uint64_t index);
+
+extern const struct bt_field *
+bt_field_structure_borrow_member_field_by_name_const(
+ const struct bt_field *field, const char *name);
+
+extern uint64_t bt_field_array_get_length(const struct bt_field *field);
+
+extern const struct bt_field *
+bt_field_array_borrow_element_field_by_index_const(
+ const struct bt_field *field, uint64_t index);
+
+extern uint64_t bt_field_variant_get_selected_option_field_index(
+ const struct bt_field *field);
+
+extern const struct bt_field *
+bt_field_variant_borrow_selected_option_field_const(
+ const struct bt_field *field);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* BABELTRACE_TRACE_IR_FIELDS_CONST_H */
#include <glib.h>
#define BT_ASSERT_PRE_FIELD_HAS_CLASS_TYPE(_field, _cls_type, _name) \
- BT_ASSERT_PRE(((struct bt_field *) (_field))->class->type == (_cls_type), \
+ BT_ASSERT_PRE(((const struct bt_field *) (_field))->class->type == (_cls_type), \
_name " has the wrong class type: expected-class-type=%s, " \
"%![field-]+f", \
bt_common_field_class_type_string(_cls_type), (_field))
#define BT_ASSERT_PRE_FIELD_IS_UNSIGNED_INT(_field, _name) \
BT_ASSERT_PRE( \
- ((struct bt_field *) (_field))->class->type == BT_FIELD_CLASS_TYPE_UNSIGNED_INTEGER || \
- ((struct bt_field *) (_field))->class->type == BT_FIELD_CLASS_TYPE_UNSIGNED_ENUMERATION, \
+ ((const struct bt_field *) (_field))->class->type == BT_FIELD_CLASS_TYPE_UNSIGNED_INTEGER || \
+ ((const struct bt_field *) (_field))->class->type == BT_FIELD_CLASS_TYPE_UNSIGNED_ENUMERATION, \
_name " is not an unsigned integer field: %![field-]+f", \
(_field))
#define BT_ASSERT_PRE_FIELD_IS_SIGNED_INT(_field, _name) \
BT_ASSERT_PRE( \
- ((struct bt_field *) (_field))->class->type == BT_FIELD_CLASS_TYPE_SIGNED_INTEGER || \
- ((struct bt_field *) (_field))->class->type == BT_FIELD_CLASS_TYPE_SIGNED_ENUMERATION, \
+ ((const struct bt_field *) (_field))->class->type == BT_FIELD_CLASS_TYPE_SIGNED_INTEGER || \
+ ((const struct bt_field *) (_field))->class->type == BT_FIELD_CLASS_TYPE_SIGNED_ENUMERATION, \
_name " is not a signed integer field: %![field-]+f", \
(_field))
#define BT_ASSERT_PRE_FIELD_IS_ARRAY(_field, _name) \
BT_ASSERT_PRE( \
- ((struct bt_field *) (_field))->class->type == BT_FIELD_CLASS_TYPE_STATIC_ARRAY || \
- ((struct bt_field *) (_field))->class->type == BT_FIELD_CLASS_TYPE_DYNAMIC_ARRAY, \
+ ((const struct bt_field *) (_field))->class->type == BT_FIELD_CLASS_TYPE_STATIC_ARRAY || \
+ ((const struct bt_field *) (_field))->class->type == BT_FIELD_CLASS_TYPE_DYNAMIC_ARRAY, \
_name " is not an array field: %![field-]+f", (_field))
#define BT_ASSERT_PRE_FIELD_IS_SET(_field, _name) \
_name " is not set: %!+f", (_field))
#define BT_ASSERT_PRE_FIELD_HOT(_field, _name) \
- BT_ASSERT_PRE_HOT((struct bt_field *) (_field), (_name), \
+ BT_ASSERT_PRE_HOT((const struct bt_field *) (_field), (_name), \
": %!+f", (_field))
struct bt_field;
typedef struct bt_field *(* bt_field_create_func)(struct bt_field_class *);
typedef void (*bt_field_method_set_is_frozen)(struct bt_field *, bool);
-typedef bool (*bt_field_method_is_set)(struct bt_field *);
+typedef bool (*bt_field_method_is_set)(const struct bt_field *);
typedef void (*bt_field_method_reset)(struct bt_field *);
struct bt_field_methods {
#endif
BT_HIDDEN
-void _bt_field_set_is_frozen(struct bt_field *field, bool is_frozen);
+void _bt_field_set_is_frozen(const struct bt_field *field, bool is_frozen);
static inline
-void _bt_field_reset(struct bt_field *field)
+void _bt_field_reset(const struct bt_field *field)
{
BT_ASSERT(field);
BT_ASSERT(field->methods->reset);
- field->methods->reset(field);
+ field->methods->reset((void *) field);
}
static inline
}
static inline
-bt_bool _bt_field_is_set(struct bt_field *field)
+bt_bool _bt_field_is_set(const struct bt_field *field)
{
bt_bool is_set = BT_FALSE;
#include <stdint.h>
-/* For enum bt_field_class_type */
-#include <babeltrace/trace-ir/field-classes.h>
-
#ifdef __cplusplus
extern "C" {
#endif
struct bt_field;
struct bt_field_class;
-extern struct bt_field_class *bt_field_borrow_class(struct bt_field *field);
-
-extern enum bt_field_class_type bt_field_get_class_type(struct bt_field *field);
-
-extern int64_t bt_field_signed_integer_get_value(struct bt_field *field);
+extern void bt_field_signed_integer_set_value(struct bt_field *field,
+ int64_t value);
-extern uint64_t bt_field_unsigned_integer_get_value(struct bt_field *field);
+extern void bt_field_unsigned_integer_set_value(struct bt_field *field,
+ uint64_t value);
-extern double bt_field_real_get_value(struct bt_field *field);
+extern void bt_field_real_set_value(struct bt_field *field, double value);
-extern int bt_field_unsigned_enumeration_get_mapping_labels(
- struct bt_field *field,
- bt_field_class_enumeration_mapping_label_array *label_array,
- uint64_t *count);
+extern int bt_field_string_set_value(struct bt_field *field, const char *value);
-extern int bt_field_signed_enumeration_get_mapping_labels(
- struct bt_field *field,
- bt_field_class_enumeration_mapping_label_array *label_array,
- uint64_t *count);
+extern int bt_field_string_append(struct bt_field *field, const char *value);
-extern const char *bt_field_string_get_value(struct bt_field *field);
+extern int bt_field_string_append_with_length(struct bt_field *field,
+ const char *value, uint64_t length);
-extern uint64_t bt_field_string_get_length(struct bt_field *field);
+extern int bt_field_string_clear(struct bt_field *field);
extern struct bt_field *bt_field_structure_borrow_member_field_by_index(
struct bt_field *field, uint64_t index);
extern struct bt_field *bt_field_structure_borrow_member_field_by_name(
struct bt_field *field, const char *name);
-extern uint64_t bt_field_array_get_length(struct bt_field *field);
-
extern struct bt_field *bt_field_array_borrow_element_field_by_index(
struct bt_field *field, uint64_t index);
-extern uint64_t bt_field_variant_get_selected_option_field_index(
- struct bt_field *field);
+extern int bt_field_dynamic_array_set_length(struct bt_field *field,
+ uint64_t length);
+
+extern int bt_field_variant_select_option_field(struct bt_field *field,
+ uint64_t index);
extern struct bt_field *bt_field_variant_borrow_selected_option_field(
struct bt_field *field);
--- /dev/null
+#ifndef BABELTRACE_TRACE_IR_PACKET_CONST_H
+#define BABELTRACE_TRACE_IR_PACKET_CONST_H
+
+/*
+ * Copyright 2016 Philippe Proulx <pproulx@efficios.com>
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ *
+ * The Common Trace Format (CTF) Specification is available at
+ * http://www.efficios.com/ctf
+ */
+
+#include <stdint.h>
+
+/* For enum bt_property_availability */
+#include <babeltrace/property.h>
+
+/* For enum bt_clock_value_status */
+#include <babeltrace/trace-ir/clock-value-const.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+struct bt_packet;
+struct bt_packet_header_field;
+struct bt_packet_context_field;
+struct bt_stream;
+struct bt_clock_value;
+
+extern const struct bt_stream *bt_packet_borrow_stream_const(
+ const struct bt_packet *packet);
+
+extern
+const struct bt_field *bt_packet_borrow_header_field_const(
+ const struct bt_packet *packet);
+
+extern
+const struct bt_field *bt_packet_borrow_context_field_const(
+ const struct bt_packet *packet);
+
+extern
+enum bt_clock_value_status bt_packet_borrow_default_beginning_clock_value_const(
+ const struct bt_packet *packet,
+ const struct bt_clock_value **clock_value);
+
+extern
+enum bt_clock_value_status bt_packet_borrow_default_end_clock_valeu_const(
+ const struct bt_packet *packet,
+ const struct bt_clock_value **clock_value);
+
+extern
+enum bt_property_availability bt_packet_get_discarded_event_counter_snapshot(
+ const struct bt_packet *packet, uint64_t *value);
+
+extern
+enum bt_property_availability bt_packet_get_packet_counter_snapshot(
+ const struct bt_packet *packet, uint64_t *value);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* BABELTRACE_TRACE_IR_PACKET_CONST_H */
--- /dev/null
+#ifndef BABELTRACE_TRACE_IR_PACKET_CONTEXT_FIELD_H
+#define BABELTRACE_TRACE_IR_PACKET_CONTEXT_FIELD_H
+
+/*
+ * Copyright 2018 Philippe Proulx <pproulx@efficios.com>
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ *
+ * The Common Trace Format (CTF) Specification is available at
+ * http://www.efficios.com/ctf
+ */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+struct bt_stream_class;
+struct bt_packet_context_field;
+struct bt_field;
+
+extern
+struct bt_packet_context_field *bt_packet_context_field_create(
+ struct bt_stream_class *stream_class);
+
+extern
+struct bt_field *bt_packet_context_field_borrow_field(
+ struct bt_packet_context_field *field);
+
+extern
+void bt_packet_context_field_release(
+ struct bt_packet_context_field *field);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* BABELTRACE_TRACE_IR_PACKET_CONTEXT_FIELD_H */
--- /dev/null
+#ifndef BABELTRACE_TRACE_IR_PACKET_HEADER_FIELD_H
+#define BABELTRACE_TRACE_IR_PACKET_HEADER_FIELD_H
+
+/*
+ * Copyright 2018 Philippe Proulx <pproulx@efficios.com>
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ *
+ * The Common Trace Format (CTF) Specification is available at
+ * http://www.efficios.com/ctf
+ */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+struct bt_trace;
+struct bt_packet_header_field;
+struct bt_field;
+
+extern
+struct bt_packet_header_field *bt_packet_header_field_create(
+ struct bt_trace *trace);
+
+extern
+struct bt_field *bt_packet_header_field_borrow_field(
+ struct bt_packet_header_field *field);
+
+extern
+void bt_packet_header_field_release(
+ struct bt_packet_header_field *field);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* BABELTRACE_TRACE_IR_PACKET_HEADER_FIELD_H */
#include <stdbool.h>
#include <babeltrace/assert-internal.h>
-#include <babeltrace/trace-ir/clock-value.h>
+#include <babeltrace/trace-ir/clock-value-const.h>
#include <babeltrace/trace-ir/packet.h>
#include <babeltrace/trace-ir/fields.h>
#include <babeltrace/trace-ir/stream.h>
};
BT_HIDDEN
-void _bt_packet_set_is_frozen(struct bt_packet *packet, bool is_frozen);
+void _bt_packet_set_is_frozen(const struct bt_packet *packet, bool is_frozen);
#ifdef BT_DEV_MODE
# define bt_packet_set_is_frozen _bt_packet_set_is_frozen
#include <stdint.h>
-/* For enum bt_property_availability */
-#include <babeltrace/property.h>
-
-/* For enum bt_clock_value_status */
-#include <babeltrace/trace-ir/clock-value.h>
-
#ifdef __cplusplus
extern "C" {
#endif
struct bt_packet_header_field;
struct bt_packet_context_field;
struct bt_stream;
-struct bt_clock_value;
+
+extern struct bt_packet *bt_packet_create(struct bt_stream *stream);
extern struct bt_stream *bt_packet_borrow_stream(struct bt_packet *packet);
extern
struct bt_field *bt_packet_borrow_header_field(struct bt_packet *packet);
+extern
+int bt_packet_move_header_field(struct bt_packet *packet,
+ struct bt_packet_header_field *header);
+
extern
struct bt_field *bt_packet_borrow_context_field(struct bt_packet *packet);
extern
-enum bt_clock_value_status bt_packet_borrow_default_beginning_clock_value(
- struct bt_packet *packet, struct bt_clock_value **clock_value);
+int bt_packet_move_context_field(struct bt_packet *packet,
+ struct bt_packet_context_field *context);
+
+extern
+void bt_packet_set_default_beginning_clock_value(struct bt_packet *packet,
+ uint64_t value_cycles);
extern
-enum bt_clock_value_status bt_packet_borrow_default_end_clock_valeu(
- struct bt_packet *packet, struct bt_clock_value **clock_value);
+void bt_packet_set_default_end_clock_value(struct bt_packet *packet,
+ uint64_t value_cycles);
extern
-enum bt_property_availability bt_packet_get_discarded_event_counter_snapshot(
- struct bt_packet *packet, uint64_t *value);
+void bt_packet_set_discarded_event_counter_snapshot(struct bt_packet *packet,
+ uint64_t value);
extern
-enum bt_property_availability bt_packet_get_packet_counter_snapshot(
- struct bt_packet *packet, uint64_t *value);
+void bt_packet_set_packet_counter_snapshot(struct bt_packet *packet,
+ uint64_t value);
#ifdef __cplusplus
}
+++ /dev/null
-#ifndef BABELTRACE_TRACE_IR_PRIVATE_CLOCK_CLASS_H
-#define BABELTRACE_TRACE_IR_PRIVATE_CLOCK_CLASS_H
-
-/*
- * Copyright 2013, 2014 Jérémie Galarneau <jeremie.galarneau@efficios.com>
- * Copyright 2017-2018 Philippe Proulx <pproulx@efficios.com>
- *
- * Author: Jérémie Galarneau <jeremie.galarneau@efficios.com>
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * The Common Trace Format (CTF) Specification is available at
- * http://www.efficios.com/ctf
- */
-
-#include <stdint.h>
-
-/* For bt_bool, bt_uuid */
-#include <babeltrace/types.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-struct bt_clock_class;
-struct bt_private_clock_class;
-
-static inline
-struct bt_clock_class *bt_private_clock_class_as_clock_class(
- struct bt_private_clock_class *priv_clock_class)
-{
- return (void *) priv_clock_class;
-}
-
-extern struct bt_private_clock_class *bt_private_clock_class_create(void);
-
-extern int bt_private_clock_class_set_name(
- struct bt_private_clock_class *clock_class,
- const char *name);
-
-extern int bt_private_clock_class_set_description(
- struct bt_private_clock_class *clock_class,
- const char *description);
-
-extern void bt_private_clock_class_set_frequency(
- struct bt_private_clock_class *clock_class, uint64_t freq);
-
-extern void bt_private_clock_class_set_precision(
- struct bt_private_clock_class *clock_class,
- uint64_t precision);
-
-extern void bt_private_clock_class_set_offset(
- struct bt_private_clock_class *clock_class,
- int64_t seconds, uint64_t cycles);
-
-extern void bt_private_clock_class_set_is_absolute(
- struct bt_private_clock_class *clock_class,
- bt_bool is_absolute);
-
-extern void bt_private_clock_class_set_uuid(
- struct bt_private_clock_class *clock_class, bt_uuid uuid);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* BABELTRACE_TRACE_IR_PRIVATE_CLOCK_CLASS_H */
+++ /dev/null
-#ifndef BABELTRACE_TRACE_IR_PRIVATE_EVENT_CLASS_H
-#define BABELTRACE_TRACE_IR_PRIVATE_EVENT_CLASS_H
-
-/*
- * Copyright 2013, 2014 Jérémie Galarneau <jeremie.galarneau@efficios.com>
- *
- * Author: Jérémie Galarneau <jeremie.galarneau@efficios.com>
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * The Common Trace Format (CTF) Specification is available at
- * http://www.efficios.com/ctf
- */
-
-/* For enum bt_event_class_log_level */
-#include <babeltrace/trace-ir/event-class.h>
-
-#include <stdint.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-struct bt_event_class;
-struct bt_private_event_class;
-struct bt_private_stream_class;
-
-static inline
-struct bt_event_class *bt_private_event_class_as_event_class(
- struct bt_private_event_class *priv_event_class)
-{
- return (void *) priv_event_class;
-}
-
-extern struct bt_private_event_class *bt_private_event_class_create(
- struct bt_private_stream_class *stream_class);
-
-extern struct bt_private_event_class *bt_private_event_class_create_with_id(
- struct bt_private_stream_class *stream_class, uint64_t id);
-
-extern struct bt_private_stream_class *
-bt_private_event_class_borrow_stream_class(
- struct bt_private_event_class *event_class);
-
-extern int bt_private_event_class_set_name(
- struct bt_private_event_class *event_class, const char *name);
-
-extern void bt_private_event_class_set_log_level(
- struct bt_private_event_class *event_class,
- enum bt_event_class_log_level log_level);
-
-extern int bt_private_event_class_set_emf_uri(
- struct bt_private_event_class *event_class,
- const char *emf_uri);
-
-extern struct bt_private_field_class *
-bt_private_event_class_borrow_specific_context_field_class(
- struct bt_private_event_class *event_class);
-
-extern int bt_private_event_class_set_specific_context_field_class(
- struct bt_private_event_class *event_class,
- struct bt_private_field_class *field_class);
-
-extern struct bt_private_field_class *
-bt_private_event_class_borrow_payload_field_class(
- struct bt_private_event_class *event_class);
-
-extern int bt_private_event_class_set_payload_field_class(
- struct bt_private_event_class *event_class,
- struct bt_private_field_class *field_class);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* BABELTRACE_TRACE_IR_PRIVATE_EVENT_CLASS_H */
+++ /dev/null
-#ifndef BABELTRACE_TRACE_IR_PRIVATE_EVENT_HEADER_FIELD_H
-#define BABELTRACE_TRACE_IR_PRIVATE_EVENT_HEADER_FIELD_H
-
-/*
- * Copyright 2018 Philippe Proulx <pproulx@efficios.com>
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * The Common Trace Format (CTF) Specification is available at
- * http://www.efficios.com/ctf
- */
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-struct bt_private_stream_class;
-struct bt_private_event_header_field;
-struct bt_private_field;
-
-extern
-struct bt_private_event_header_field *bt_private_event_header_field_create(
- struct bt_private_stream_class *stream_class);
-
-extern
-struct bt_private_field *bt_private_event_header_field_borrow_field(
- struct bt_private_event_header_field *field);
-
-extern
-void bt_private_event_header_field_release(
- struct bt_private_event_header_field *field);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* BABELTRACE_TRACE_IR_PRIVATE_EVENT_HEADER_FIELD_H */
+++ /dev/null
-#ifndef BABELTRACE_TRACE_IR_PRIVATE_EVENT_H
-#define BABELTRACE_TRACE_IR_PRIVATE_EVENT_H
-
-/*
- * Copyright 2013, 2014 Jérémie Galarneau <jeremie.galarneau@efficios.com>
- *
- * Author: Jérémie Galarneau <jeremie.galarneau@efficios.com>
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * The Common Trace Format (CTF) Specification is available at
- * http://www.efficios.com/ctf
- */
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-struct bt_private_event;
-struct bt_private_event_header_field;
-struct bt_private_event_class;
-struct bt_private_field;
-struct bt_private_packet;
-
-static inline
-struct bt_event *bt_private_event_as_event(
- struct bt_private_event *priv_event)
-{
- return (void *) priv_event;
-}
-
-extern struct bt_private_event_class *bt_private_event_borrow_class(
- struct bt_private_event *event);
-
-extern struct bt_private_packet *bt_private_event_borrow_packet(
- struct bt_private_event *event);
-
-extern struct bt_private_stream *bt_private_event_borrow_stream(
- struct bt_private_event *event);
-
-extern struct bt_private_field *bt_private_event_borrow_header_field(
- struct bt_private_event *event);
-
-extern int bt_private_event_move_header_field(
- struct bt_private_event *event,
- struct bt_private_event_header_field *header);
-
-extern struct bt_private_field *
-bt_private_event_borrow_common_context_field(
- struct bt_private_event *event);
-
-extern struct bt_private_field *
-bt_private_event_borrow_specific_context_field(
- struct bt_private_event *event);
-
-extern struct bt_private_field *bt_private_event_borrow_payload_field(
- struct bt_private_event *event);
-
-extern void bt_private_event_set_default_clock_value(
- struct bt_private_event *event, uint64_t value_cycles);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* BABELTRACE_TRACE_IR_PRIVATE_EVENT_H */
+++ /dev/null
-#ifndef BABELTRACE_TRACE_IR_PRIVATE_FIELD_CLASSES_H
-#define BABELTRACE_TRACE_IR_PRIVATE_FIELD_CLASSES_H
-
-/*
- * Copyright 2013, 2014 Jérémie Galarneau <jeremie.galarneau@efficios.com>
- *
- * Author: Jérémie Galarneau <jeremie.galarneau@efficios.com>
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * The Common Trace Format (CTF) Specification is available at
- * http://www.efficios.com/ctf
- */
-
-/* For bt_bool */
-#include <babeltrace/types.h>
-
-/* For enum bt_field_class_integer_preferred_display_base */
-#include <babeltrace/trace-ir/field-classes.h>
-
-#include <stdint.h>
-#include <stddef.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-struct bt_field_class;
-struct bt_private_field_class;
-struct bt_private_field_path;
-struct bt_private_field_class_signed_enumeration_mapping_ranges;
-struct bt_private_field_class_unsigned_enumeration_mapping_ranges;
-
-static inline
-struct bt_field_class *bt_private_field_class_as_field_class(
- struct bt_private_field_class *priv_field_class)
-{
- return (void *) priv_field_class;
-}
-
-extern struct bt_private_field_class *
-bt_private_field_class_unsigned_integer_create(void);
-
-extern struct bt_private_field_class *
-bt_private_field_class_signed_integer_create(void);
-
-extern void bt_private_field_class_integer_set_field_value_range(
- struct bt_private_field_class *field_class, uint64_t size);
-
-extern void bt_private_field_class_integer_set_preferred_display_base(
- struct bt_private_field_class *field_class,
- enum bt_field_class_integer_preferred_display_base base);
-
-extern struct bt_private_field_class *bt_private_field_class_real_create(void);
-
-extern void bt_private_field_class_real_set_is_single_precision(
- struct bt_private_field_class *field_class,
- bt_bool is_single_precision);
-
-extern struct bt_private_field_class *
-bt_private_field_class_unsigned_enumeration_create(void);
-
-extern struct bt_private_field_class *
-bt_private_field_class_signed_enumeration_create(void);
-
-extern uint64_t bt_private_field_class_enumeration_get_mapping_count(
- struct bt_private_field_class *field_class);
-
-extern int bt_private_field_class_unsigned_enumeration_map_range(
- struct bt_private_field_class *field_class, const char *label,
- uint64_t range_lower, uint64_t range_upper);
-
-extern int bt_private_field_class_signed_enumeration_map_range(
- struct bt_private_field_class *field_class, const char *label,
- int64_t range_lower, int64_t range_upper);
-
-extern struct bt_private_field_class *
-bt_private_field_class_string_create(void);
-
-extern struct bt_private_field_class *
-bt_private_field_class_structure_create(void);
-
-extern void bt_private_field_class_structure_borrow_member_by_index(
- struct bt_private_field_class *struct_field_class,
- uint64_t index, const char **name,
- struct bt_private_field_class **field_class);
-
-extern
-struct bt_private_field_class *
-bt_private_field_class_structure_borrow_member_field_class_by_name(
- struct bt_private_field_class *field_class, const char *name);
-
-extern int bt_private_field_class_structure_append_member(
- struct bt_private_field_class *struct_field_class,
- const char *name, struct bt_private_field_class *field_class);
-
-extern struct bt_private_field_class *
-bt_private_field_class_static_array_create(
- struct bt_private_field_class *elem_field_class,
- uint64_t length);
-
-extern struct bt_private_field_class *
-bt_private_field_class_dynamic_array_create(
- struct bt_private_field_class *elem_field_class);
-
-extern struct bt_private_field_class *
-bt_private_field_class_array_borrow_element_field_class(
- struct bt_private_field_class *field_class);
-
-extern int bt_private_field_class_dynamic_array_set_length_field_class(
- struct bt_private_field_class *field_class,
- struct bt_private_field_class *length_field_class);
-
-extern struct bt_private_field_class *
-bt_private_field_class_variant_create(void);
-
-extern int bt_private_field_class_variant_set_selector_field_class(
- struct bt_private_field_class *field_class,
- struct bt_private_field_class *selector_field_class);
-
-extern void bt_private_field_class_variant_borrow_option_by_index(
- struct bt_private_field_class *variant_field_class,
- uint64_t index, const char **name,
- struct bt_private_field_class **field_class);
-
-extern
-struct bt_private_field_class *
-bt_private_field_class_variant_borrow_option_field_class_by_name(
- struct bt_private_field_class *field_class, const char *name);
-
-extern int bt_private_field_class_variant_append_private_option(
- struct bt_private_field_class *var_field_class,
- const char *name, struct bt_private_field_class *field_class);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* BABELTRACE_TRACE_IR_PRIVATE_FIELD_CLASSES_H */
+++ /dev/null
-#ifndef BABELTRACE_TRACE_IR_PRIVATE_FIELDS_H
-#define BABELTRACE_TRACE_IR_PRIVATE_FIELDS_H
-
-/*
- * Copyright 2013, 2014 Jérémie Galarneau <jeremie.galarneau@efficios.com>
- *
- * Author: Jérémie Galarneau <jeremie.galarneau@efficios.com>
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * The Common Trace Format (CTF) Specification is available at
- * http://www.efficios.com/ctf
- */
-
-#include <stdint.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-struct bt_field;
-struct bt_private_field;
-struct bt_private_field_class;
-
-static inline
-struct bt_field *bt_private_field_as_field(
- struct bt_private_field *priv_field)
-{
- return (void *) priv_field;
-}
-
-extern struct bt_private_field_class *bt_private_field_borrow_class(
- struct bt_private_field *field);
-
-extern void bt_private_field_signed_integer_set_value(
- struct bt_private_field *field, int64_t value);
-
-extern void bt_private_field_unsigned_integer_set_value(
- struct bt_private_field *field, uint64_t value);
-
-extern void bt_private_field_real_set_value(struct bt_private_field *field,
- double value);
-
-extern int bt_private_field_string_set_value(struct bt_private_field *field,
- const char *value);
-
-extern int bt_private_field_string_append(struct bt_private_field *field,
- const char *value);
-
-extern int bt_private_field_string_append_with_length(
- struct bt_private_field *field,
- const char *value, uint64_t length);
-
-extern int bt_private_field_string_clear(struct bt_private_field *field);
-
-extern struct bt_private_field *
-bt_private_field_structure_borrow_member_field_by_index(
- struct bt_private_field *field, uint64_t index);
-
-extern struct bt_private_field *
-bt_private_field_structure_borrow_member_field_by_name(
- struct bt_private_field *field, const char *name);
-
-extern struct bt_private_field *
-bt_private_field_array_borrow_element_field_by_index(
- struct bt_private_field *field, uint64_t index);
-
-extern int bt_private_field_dynamic_array_set_length(
- struct bt_private_field *field, uint64_t length);
-
-extern int bt_private_field_variant_select_option_field(
- struct bt_private_field *field, uint64_t index);
-
-extern struct bt_private_field *
-bt_private_field_variant_borrow_selected_option_field(
- struct bt_private_field *field);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* BABELTRACE_TRACE_IR_PRIVATE_FIELDS_H */
+++ /dev/null
-#ifndef BABELTRACE_TRACE_IR_PRIVATE_PACKET_CONTEXT_FIELD_H
-#define BABELTRACE_TRACE_IR_PRIVATE_PACKET_CONTEXT_FIELD_H
-
-/*
- * Copyright 2018 Philippe Proulx <pproulx@efficios.com>
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * The Common Trace Format (CTF) Specification is available at
- * http://www.efficios.com/ctf
- */
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-struct bt_private_stream_class;
-struct bt_private_packet_context_field;
-struct bt_private_field;
-
-extern
-struct bt_private_packet_context_field *bt_private_packet_context_field_create(
- struct bt_private_stream_class *stream_class);
-
-extern
-struct bt_private_field *bt_private_packet_context_field_borrow_field(
- struct bt_private_packet_context_field *field);
-
-extern
-void bt_private_packet_context_field_release(
- struct bt_private_packet_context_field *field);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* BABELTRACE_TRACE_IR_PRIVATE_PACKET_CONTEXT_FIELD_H */
+++ /dev/null
-#ifndef BABELTRACE_TRACE_IR_PRIVATE_PACKET_HEADER_FIELD_H
-#define BABELTRACE_TRACE_IR_PRIVATE_PACKET_HEADER_FIELD_H
-
-/*
- * Copyright 2018 Philippe Proulx <pproulx@efficios.com>
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * The Common Trace Format (CTF) Specification is available at
- * http://www.efficios.com/ctf
- */
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-struct bt_private_trace;
-struct bt_private_packet_header_field;
-struct bt_private_field;
-
-extern
-struct bt_private_packet_header_field *bt_private_packet_header_field_create(
- struct bt_private_trace *trace);
-
-extern
-struct bt_private_field *bt_private_packet_header_field_borrow_field(
- struct bt_private_packet_header_field *field);
-
-extern
-void bt_private_packet_header_field_release(
- struct bt_private_packet_header_field *field);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* BABELTRACE_TRACE_IR_PRIVATE_PACKET_HEADER_FIELD_H */
+++ /dev/null
-#ifndef BABELTRACE_TRACE_IR_PRIVATE_PACKET_H
-#define BABELTRACE_TRACE_IR_PRIVATE_PACKET_H
-
-/*
- * Copyright 2016 Philippe Proulx <pproulx@efficios.com>
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * The Common Trace Format (CTF) Specification is available at
- * http://www.efficios.com/ctf
- */
-
-#include <stdint.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-struct bt_packet;
-struct bt_private_packet;
-struct bt_private_packet_header_field;
-struct bt_private_packet_context_field;
-struct bt_private_stream;
-
-static inline
-struct bt_packet *bt_private_packet_as_packet(
- struct bt_private_packet *priv_packet)
-{
- return (void *) priv_packet;
-}
-
-extern struct bt_private_packet *bt_private_packet_create(
- struct bt_private_stream *stream);
-
-extern struct bt_private_stream *bt_private_packet_borrow_stream(
- struct bt_private_packet *packet);
-
-extern
-struct bt_private_field *bt_private_packet_borrow_header_field(
- struct bt_private_packet *packet);
-
-extern
-int bt_private_packet_move_header_field(
- struct bt_private_packet *packet,
- struct bt_private_packet_header_field *header);
-
-extern
-struct bt_private_field *bt_private_packet_borrow_context_field(
- struct bt_private_packet *packet);
-
-extern
-int bt_private_packet_move_context_field(
- struct bt_private_packet *packet,
- struct bt_private_packet_context_field *context);
-
-extern
-void bt_private_packet_set_default_beginning_clock_value(
- struct bt_private_packet *packet, uint64_t value_cycles);
-
-extern
-void bt_private_packet_set_default_end_clock_value(
- struct bt_private_packet *packet, uint64_t value_cycles);
-
-extern
-void bt_private_packet_set_discarded_event_counter_snapshot(
- struct bt_private_packet *packet, uint64_t value);
-
-extern
-void bt_private_packet_set_packet_counter_snapshot(
- struct bt_private_packet *packet, uint64_t value);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* BABELTRACE_TRACE_IR_PRIVATE_PACKET_H */
+++ /dev/null
-#ifndef BABELTRACE_TRACE_IR_PRIVATE_STREAM_CLASS_H
-#define BABELTRACE_TRACE_IR_PRIVATE_STREAM_CLASS_H
-
-/*
- * Copyright 2014 Jérémie Galarneau <jeremie.galarneau@efficios.com>
- *
- * Author: Jérémie Galarneau <jeremie.galarneau@efficios.com>
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * The Common Trace Format (CTF) Specification is available at
- * http://www.efficios.com/ctf
- */
-
-#include <stdint.h>
-
-/* For bt_bool */
-#include <babeltrace/types.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-struct bt_stream_class;
-struct bt_private_stream_class;
-struct bt_private_trace;
-struct bt_private_event_class;
-struct bt_private_clock_class;
-
-static inline
-struct bt_stream_class *bt_private_stream_class_as_stream_class(
- struct bt_private_stream_class *priv_stream_class)
-{
- return (void *) priv_stream_class;
-}
-
-extern struct bt_private_stream_class *bt_private_stream_class_create(
- struct bt_private_trace *trace);
-
-extern struct bt_private_stream_class *bt_private_stream_class_create_with_id(
- struct bt_private_trace *trace, uint64_t id);
-
-extern struct bt_private_trace *bt_private_stream_class_borrow_trace(
- struct bt_private_stream_class *stream_class);
-
-extern int bt_private_stream_class_set_name(
- struct bt_private_stream_class *stream_class,
- const char *name);
-
-extern void bt_private_stream_class_set_assigns_automatic_event_class_id(
- struct bt_private_stream_class *stream_class, bt_bool value);
-
-extern void bt_private_stream_class_set_assigns_automatic_stream_id(
- struct bt_private_stream_class *stream_class, bt_bool value);
-
-extern struct bt_private_field_class *
-bt_private_stream_class_borrow_packet_context_field_class(
- struct bt_private_stream_class *stream_class);
-
-extern int bt_private_stream_class_set_packet_context_field_class(
- struct bt_private_stream_class *stream_class,
- struct bt_private_field_class *field_class);
-
-extern struct bt_private_field_class *
-bt_private_stream_class_borrow_event_header_field_class(
- struct bt_private_stream_class *stream_class);
-
-extern int bt_private_stream_class_set_event_header_field_class(
- struct bt_private_stream_class *stream_class,
- struct bt_private_field_class *field_class);
-
-extern struct bt_private_field_class *
-bt_private_stream_class_borrow_event_common_context_field_class(
- struct bt_private_stream_class *stream_class);
-
-extern int
-bt_private_stream_class_set_event_common_context_field_class(
- struct bt_private_stream_class *stream_class,
- struct bt_private_field_class *field_class);
-
-extern struct bt_private_event_class *
-bt_private_stream_class_borrow_event_class_by_index(
- struct bt_private_stream_class *stream_class, uint64_t index);
-
-extern struct bt_private_event_class *
-bt_private_stream_class_borrow_event_class_by_id(
- struct bt_private_stream_class *stream_class, uint64_t id);
-
-extern int bt_private_stream_class_set_default_clock_class(
- struct bt_private_stream_class *stream_class,
- struct bt_clock_class *clock_class);
-
-extern bt_bool bt_private_stream_class_default_clock_is_always_known(
- struct bt_private_stream_class *stream_class);
-
-extern void
-bt_private_stream_class_set_packets_have_discarded_event_counter_snapshot(
- struct bt_private_stream_class *stream_class, bt_bool value);
-
-extern void
-bt_private_stream_class_set_packets_have_packet_counter_snapshot(
- struct bt_private_stream_class *stream_class, bt_bool value);
-
-extern void
-bt_private_stream_class_set_packets_have_default_beginning_clock_value(
- struct bt_private_stream_class *stream_class, bt_bool value);
-
-extern void
-bt_private_stream_class_set_packets_have_default_end_clock_value(
- struct bt_private_stream_class *stream_class, bt_bool value);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* BABELTRACE_TRACE_IR_PRIVATE_STREAM_CLASS_H */
+++ /dev/null
-#ifndef BABELTRACE_TRACE_IR_PRIVATE_STREAM_H
-#define BABELTRACE_TRACE_IR_PRIVATE_STREAM_H
-
-/*
- * Copyright 2013, 2014 Jérémie Galarneau <jeremie.galarneau@efficios.com>
- *
- * Author: Jérémie Galarneau <jeremie.galarneau@efficios.com>
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * The Common Trace Format (CTF) Specification is available at
- * http://www.efficios.com/ctf
- */
-
-#include <stdint.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-struct bt_stream;
-struct bt_private_stream;
-struct bt_private_stream_class;
-
-static inline
-struct bt_stream *bt_private_stream_as_stream(
- struct bt_private_stream *priv_stream)
-{
- return (void *) priv_stream;
-}
-
-extern struct bt_private_stream *bt_private_stream_create(
- struct bt_private_stream_class *stream_class);
-
-extern struct bt_private_stream *bt_private_stream_create_with_id(
- struct bt_private_stream_class *stream_class, uint64_t id);
-
-extern struct bt_private_stream_class *bt_private_stream_borrow_class(
- struct bt_private_stream *stream);
-
-extern int bt_private_stream_set_name(struct bt_private_stream *stream,
- const char *name);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* BABELTRACE_TRACE_IR_PRIVATE_STREAM_H */
+++ /dev/null
-#ifndef BABELTRACE_TRACE_IR_PRIVATE_TRACE_H
-#define BABELTRACE_TRACE_IR_PRIVATE_TRACE_H
-
-/*
- * Copyright 2014 Jérémie Galarneau <jeremie.galarneau@efficios.com>
- *
- * Author: Jérémie Galarneau <jeremie.galarneau@efficios.com>
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * The Common Trace Format (CTF) Specification is available at
- * http://www.efficios.com/ctf
- */
-
-/* For bt_bool, bt_uuid */
-#include <babeltrace/types.h>
-
-#include <stdint.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-struct bt_trace;
-struct bt_private_trace;
-struct bt_private_stream;
-struct bt_private_stream_class;
-struct bt_private_field_class;
-struct bt_value;
-struct bt_private_packet_header_field;
-
-typedef void (* bt_private_trace_is_static_listener)(
- struct bt_private_trace *trace, void *data);
-
-typedef void (* bt_private_trace_listener_removed)(
- struct bt_private_trace *trace, void *data);
-
-static inline
-struct bt_trace *bt_private_trace_as_trace(
- struct bt_private_trace *priv_trace)
-{
- return (void *) priv_trace;
-}
-
-extern struct bt_private_trace *bt_private_trace_create(void);
-
-extern void bt_private_trace_set_assigns_automatic_stream_class_id(
- struct bt_private_trace *trace, bt_bool value);
-
-extern int bt_private_trace_set_name(struct bt_private_trace *trace,
- const char *name);
-
-extern void bt_private_trace_set_uuid(struct bt_private_trace *trace,
- bt_uuid uuid);
-
-extern void bt_private_trace_borrow_environment_entry_by_index(
- struct bt_private_trace *trace, uint64_t index,
- const char **name, const struct bt_value **value);
-
-extern const struct bt_value *
-bt_private_trace_borrow_environment_entry_value_by_name(
- struct bt_private_trace *trace, const char *name);
-
-extern int bt_private_trace_set_environment_entry_integer(
- struct bt_private_trace *trace, const char *name,
- int64_t value);
-
-extern int bt_private_trace_set_environment_entry_string(
- struct bt_private_trace *trace, const char *name,
- const char *value);
-
-extern struct bt_private_field_class *
-bt_private_trace_borrow_packet_header_field_class(
- struct bt_private_trace *trace);
-
-extern int bt_private_trace_set_packet_header_field_class(
- struct bt_private_trace *trace,
- struct bt_private_field_class *packet_header_field_class);
-
-extern struct bt_private_stream_class *
-bt_private_trace_borrow_stream_class_by_index(
- struct bt_private_trace *trace, uint64_t index);
-
-extern struct bt_private_stream_class *
-bt_private_trace_borrow_stream_class_by_id(
- struct bt_private_trace *trace, uint64_t id);
-
-extern struct bt_private_stream *
-bt_private_trace_borrow_stream_by_index(
- struct bt_private_trace *trace, uint64_t index);
-
-extern struct bt_private_stream *bt_private_trace_borrow_stream_by_id(
- struct bt_private_trace *trace, uint64_t id);
-
-extern int bt_private_trace_make_static(struct bt_private_trace *trace);
-
-extern int bt_private_trace_add_is_static_listener(
- struct bt_private_trace *trace,
- bt_private_trace_is_static_listener listener,
- bt_private_trace_listener_removed listener_removed, void *data,
- uint64_t *listener_id);
-
-extern int bt_private_trace_remove_is_static_listener(
- struct bt_private_trace *trace, uint64_t listener_id);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* BABELTRACE_TRACE_IR_PRIVATE_TRACE_H */
*/
#include <babeltrace/object-internal.h>
-#include <babeltrace/trace-ir/field-classes.h>
-#include <babeltrace/trace-ir/field-path.h>
+#include <babeltrace/trace-ir/field-classes-const.h>
+#include <babeltrace/trace-ir/field-path-const.h>
#include <glib.h>
struct bt_resolve_field_path_context {
--- /dev/null
+#ifndef BABELTRACE_TRACE_IR_STREAM_CLASS_CONST_H
+#define BABELTRACE_TRACE_IR_STREAM_CLASS_CONST_H
+
+/*
+ * Copyright 2014 Jérémie Galarneau <jeremie.galarneau@efficios.com>
+ *
+ * Author: Jérémie Galarneau <jeremie.galarneau@efficios.com>
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ *
+ * The Common Trace Format (CTF) Specification is available at
+ * http://www.efficios.com/ctf
+ */
+
+#include <stdint.h>
+
+/* For bt_bool */
+#include <babeltrace/types.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+struct bt_trace;
+struct bt_stream_class;
+struct bt_event_class;
+struct bt_clock_class;
+struct bt_event_header_field;
+struct bt_packet_context_field;
+
+extern const struct bt_trace *bt_stream_class_borrow_trace_const(
+ const struct bt_stream_class *stream_class);
+
+extern const char *bt_stream_class_get_name(
+ const struct bt_stream_class *stream_class);
+
+extern bt_bool bt_stream_class_assigns_automatic_event_class_id(
+ const struct bt_stream_class *stream_class);
+
+extern bt_bool bt_stream_class_assigns_automatic_stream_id(
+ const struct bt_stream_class *stream_class);
+
+extern uint64_t bt_stream_class_get_id(
+ const struct bt_stream_class *stream_class);
+
+extern const struct bt_field_class *
+bt_stream_class_borrow_packet_context_field_class_const(
+ const struct bt_stream_class *stream_class);
+
+extern const struct bt_field_class *
+bt_stream_class_borrow_event_header_field_class_const(
+ const struct bt_stream_class *stream_class);
+
+extern const struct bt_field_class *
+bt_stream_class_borrow_event_common_context_field_class_const(
+ const struct bt_stream_class *stream_class);
+
+extern uint64_t bt_stream_class_get_event_class_count(
+ const struct bt_stream_class *stream_class);
+
+extern const struct bt_event_class *
+bt_stream_class_borrow_event_class_by_index_const(
+ const struct bt_stream_class *stream_class, uint64_t index);
+
+extern const struct bt_event_class *
+bt_stream_class_borrow_event_class_by_id_const(
+ const struct bt_stream_class *stream_class, uint64_t id);
+
+extern const struct bt_clock_class *
+bt_stream_class_borrow_default_clock_class_const(
+ const struct bt_stream_class *stream_class);
+
+extern bt_bool bt_stream_class_default_clock_is_always_known(
+ const struct bt_stream_class *stream_class);
+
+extern bt_bool bt_stream_class_packets_have_discarded_event_counter_snapshot(
+ const struct bt_stream_class *stream_class);
+
+extern bt_bool bt_stream_class_packets_have_packet_counter_snapshot(
+ const struct bt_stream_class *stream_class);
+
+extern bt_bool bt_stream_class_packets_have_default_beginning_clock_value(
+ const struct bt_stream_class *stream_class);
+
+extern bt_bool bt_stream_class_packets_have_default_end_clock_value(
+ const struct bt_stream_class *stream_class);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* BABELTRACE_TRACE_IR_STREAM_CLASS_CONST_H */
};
BT_HIDDEN
-void _bt_stream_class_freeze(struct bt_stream_class *stream_class);
+void _bt_stream_class_freeze(const struct bt_stream_class *stream_class);
#ifdef BT_DEV_MODE
# define bt_stream_class_freeze _bt_stream_class_freeze
static inline
struct bt_trace *bt_stream_class_borrow_trace_inline(
- struct bt_stream_class *stream_class)
+ const struct bt_stream_class *stream_class)
{
BT_ASSERT(stream_class);
return (void *) bt_object_borrow_parent(&stream_class->base);
extern "C" {
#endif
-struct bt_trace;
struct bt_stream_class;
+struct bt_trace;
struct bt_event_class;
struct bt_clock_class;
-struct bt_event_header_field;
-struct bt_packet_context_field;
-extern struct bt_trace *bt_stream_class_borrow_trace(
- struct bt_stream_class *stream_class);
+extern struct bt_stream_class *bt_stream_class_create(struct bt_trace *trace);
-extern const char *bt_stream_class_get_name(
- struct bt_stream_class *stream_class);
+extern struct bt_stream_class *bt_stream_class_create_with_id(
+ struct bt_trace *trace, uint64_t id);
-extern bt_bool bt_stream_class_assigns_automatic_event_class_id(
+extern struct bt_trace *bt_stream_class_borrow_trace(
struct bt_stream_class *stream_class);
-extern bt_bool bt_stream_class_assigns_automatic_stream_id(
- struct bt_stream_class *stream_class);
+extern int bt_stream_class_set_name(struct bt_stream_class *stream_class,
+ const char *name);
-extern uint64_t bt_stream_class_get_id(struct bt_stream_class *stream_class);
+extern void bt_stream_class_set_assigns_automatic_event_class_id(
+ struct bt_stream_class *stream_class, bt_bool value);
-extern struct bt_field_class *bt_stream_class_borrow_packet_context_field_class(
- struct bt_stream_class *stream_class);
+extern void bt_stream_class_set_assigns_automatic_stream_id(
+ struct bt_stream_class *stream_class, bt_bool value);
-extern struct bt_field_class *
-bt_stream_class_borrow_event_header_field_class(
- struct bt_stream_class *stream_class);
+extern int bt_stream_class_set_packet_context_field_class(
+ struct bt_stream_class *stream_class,
+ struct bt_field_class *field_class);
-extern struct bt_field_class *
-bt_stream_class_borrow_event_common_context_field_class(
- struct bt_stream_class *stream_class);
+extern int bt_stream_class_set_event_header_field_class(
+ struct bt_stream_class *stream_class,
+ struct bt_field_class *field_class);
-extern uint64_t bt_stream_class_get_event_class_count(
- struct bt_stream_class *stream_class);
+extern int
+bt_stream_class_set_event_common_context_field_class(
+ struct bt_stream_class *stream_class,
+ struct bt_field_class *field_class);
-extern struct bt_event_class *bt_stream_class_borrow_event_class_by_index(
+extern struct bt_event_class *
+bt_stream_class_borrow_event_class_by_index(
struct bt_stream_class *stream_class, uint64_t index);
-extern struct bt_event_class *bt_stream_class_borrow_event_class_by_id(
+extern struct bt_event_class *
+bt_stream_class_borrow_event_class_by_id(
struct bt_stream_class *stream_class, uint64_t id);
extern struct bt_clock_class *bt_stream_class_borrow_default_clock_class(
struct bt_stream_class *stream_class);
-extern bt_bool bt_stream_class_default_clock_is_always_known(
- struct bt_stream_class *stream_class);
+extern int bt_stream_class_set_default_clock_class(
+ struct bt_stream_class *stream_class,
+ struct bt_clock_class *clock_class);
-extern bt_bool bt_stream_class_packets_have_discarded_event_counter_snapshot(
- struct bt_stream_class *stream_class);
+extern void
+bt_stream_class_set_packets_have_discarded_event_counter_snapshot(
+ struct bt_stream_class *stream_class, bt_bool value);
-extern bt_bool bt_stream_class_packets_have_packet_counter_snapshot(
- struct bt_stream_class *stream_class);
+extern void
+bt_stream_class_set_packets_have_packet_counter_snapshot(
+ struct bt_stream_class *stream_class, bt_bool value);
-extern bt_bool bt_stream_class_packets_have_default_beginning_clock_value(
- struct bt_stream_class *stream_class);
+extern void
+bt_stream_class_set_packets_have_default_beginning_clock_value(
+ struct bt_stream_class *stream_class, bt_bool value);
-extern bt_bool bt_stream_class_packets_have_default_end_clock_value(
- struct bt_stream_class *stream_class);
+extern void
+bt_stream_class_set_packets_have_default_end_clock_value(
+ struct bt_stream_class *stream_class, bt_bool value);
#ifdef __cplusplus
}
--- /dev/null
+#ifndef BABELTRACE_TRACE_IR_STREAM_CONST_H
+#define BABELTRACE_TRACE_IR_STREAM_CONST_H
+
+/*
+ * Copyright 2013, 2014 Jérémie Galarneau <jeremie.galarneau@efficios.com>
+ *
+ * Author: Jérémie Galarneau <jeremie.galarneau@efficios.com>
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ *
+ * The Common Trace Format (CTF) Specification is available at
+ * http://www.efficios.com/ctf
+ */
+
+#include <stdint.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+struct bt_stream;
+struct bt_stream_class;
+
+extern const struct bt_stream_class *bt_stream_borrow_class_const(
+ const struct bt_stream *stream);
+
+extern const char *bt_stream_get_name(const struct bt_stream *stream);
+
+extern uint64_t bt_stream_get_id(const struct bt_stream *stream);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* BABELTRACE_TRACE_IR_STREAM_CONST_H */
};
BT_HIDDEN
-void _bt_stream_freeze(struct bt_stream *stream);
+void _bt_stream_freeze(const struct bt_stream *stream);
#ifdef BT_DEV_MODE
# define bt_stream_freeze _bt_stream_freeze
struct bt_stream;
struct bt_stream_class;
-extern struct bt_stream_class *bt_stream_borrow_class(struct bt_stream *stream);
+extern struct bt_stream *bt_stream_create(struct bt_stream_class *stream_class);
+
+extern struct bt_stream *bt_stream_create_with_id(
+ struct bt_stream_class *stream_class, uint64_t id);
-extern const char *bt_stream_get_name(struct bt_stream *stream);
+extern struct bt_stream_class *bt_stream_borrow_class(struct bt_stream *stream);
-extern uint64_t bt_stream_get_id(struct bt_stream *stream);
+extern int bt_stream_set_name(struct bt_stream *stream, const char *name);
#ifdef __cplusplus
}
--- /dev/null
+#ifndef BABELTRACE_TRACE_IR_TRACE_CONST_H
+#define BABELTRACE_TRACE_IR_TRACE_CONST_H
+
+/*
+ * Copyright 2014 Jérémie Galarneau <jeremie.galarneau@efficios.com>
+ *
+ * Author: Jérémie Galarneau <jeremie.galarneau@efficios.com>
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ *
+ * The Common Trace Format (CTF) Specification is available at
+ * http://www.efficios.com/ctf
+ */
+
+/* For bt_bool, bt_uuid */
+#include <babeltrace/types.h>
+
+#include <stdint.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+struct bt_trace;
+struct bt_stream;
+struct bt_stream_class;
+struct bt_field_class;
+struct bt_value;
+
+typedef void (* bt_trace_is_static_listener_func)(const struct bt_trace *trace,
+ void *data);
+
+typedef void (* bt_trace_listener_removed_func)(const struct bt_trace *trace,
+ void *data);
+
+extern bt_bool bt_trace_assigns_automatic_stream_class_id(
+ const struct bt_trace *trace);
+
+extern const char *bt_trace_get_name(const struct bt_trace *trace);
+
+extern bt_uuid bt_trace_get_uuid(const struct bt_trace *trace);
+
+extern uint64_t bt_trace_get_environment_entry_count(
+ const struct bt_trace *trace);
+
+extern void bt_trace_borrow_environment_entry_by_index_const(
+ const struct bt_trace *trace, uint64_t index,
+ const char **name, const struct bt_value **value);
+
+extern const struct bt_value *
+bt_trace_borrow_environment_entry_value_by_name_const(
+ const struct bt_trace *trace, const char *name);
+
+extern const struct bt_field_class *
+bt_trace_borrow_packet_header_field_class_const(
+ const struct bt_trace *trace);
+
+extern uint64_t bt_trace_get_stream_class_count(const struct bt_trace *trace);
+
+extern const struct bt_stream_class *
+bt_trace_borrow_stream_class_by_index_const(const struct bt_trace *trace,
+ uint64_t index);
+
+extern const struct bt_stream_class *bt_trace_borrow_stream_class_by_id_const(
+ const struct bt_trace *trace, uint64_t id);
+
+extern uint64_t bt_trace_get_stream_count(const struct bt_trace *trace);
+
+extern const struct bt_stream *bt_trace_borrow_stream_by_index_const(
+ const struct bt_trace *trace, uint64_t index);
+
+extern const struct bt_stream *bt_trace_borrow_stream_by_id_const(
+ const struct bt_trace *trace, uint64_t id);
+
+extern bt_bool bt_trace_is_static(const struct bt_trace *trace);
+
+extern int bt_trace_add_is_static_listener(const struct bt_trace *trace,
+ bt_trace_is_static_listener_func listener,
+ bt_trace_listener_removed_func listener_removed, void *data,
+ uint64_t *listener_id);
+
+extern int bt_trace_remove_is_static_listener(const struct bt_trace *trace,
+ uint64_t listener_id);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* BABELTRACE_TRACE_IR_TRACE_CONST_H */
};
BT_HIDDEN
-void _bt_trace_freeze(struct bt_trace *trace);
+void _bt_trace_freeze(const struct bt_trace *trace);
#ifdef BT_DEV_MODE
# define bt_trace_freeze _bt_trace_freeze
void bt_trace_add_stream(struct bt_trace *trace, struct bt_stream *stream);
BT_HIDDEN
-uint64_t bt_trace_get_automatic_stream_id(struct bt_trace *trace,
- struct bt_stream_class *stream_class);
+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 */
struct bt_stream_class;
struct bt_field_class;
struct bt_value;
+struct bt_packet_header_field;
-extern bt_bool bt_trace_assigns_automatic_stream_class_id(
- struct bt_trace *trace);
+extern struct bt_trace *bt_trace_create(void);
-extern const char *bt_trace_get_name(struct bt_trace *trace);
+extern void bt_trace_set_assigns_automatic_stream_class_id(
+ struct bt_trace *trace, bt_bool value);
-extern bt_uuid bt_trace_get_uuid(struct bt_trace *trace);
+extern int bt_trace_set_name(struct bt_trace *trace, const char *name);
-extern uint64_t bt_trace_get_environment_entry_count(struct bt_trace *trace);
+extern void bt_trace_set_uuid(struct bt_trace *trace, bt_uuid uuid);
-extern void bt_trace_borrow_environment_entry_by_index(
- struct bt_trace *trace, uint64_t index,
- const char **name, const struct bt_value **value);
+extern int bt_trace_set_environment_entry_integer(struct bt_trace *trace,
+ const char *name, int64_t value);
-extern const struct bt_value *bt_trace_borrow_environment_entry_value_by_name(
- struct bt_trace *trace, const char *name);
+extern int bt_trace_set_environment_entry_string(struct bt_trace *trace,
+ const char *name, const char *value);
-extern struct bt_field_class *bt_trace_borrow_packet_header_field_class(
- struct bt_trace *trace);
-
-extern uint64_t bt_trace_get_stream_class_count(struct bt_trace *trace);
+extern int bt_trace_set_packet_header_field_class(
+ struct bt_trace *trace,
+ struct bt_field_class *packet_header_field_class);
extern struct bt_stream_class *bt_trace_borrow_stream_class_by_index(
struct bt_trace *trace, uint64_t index);
extern struct bt_stream_class *bt_trace_borrow_stream_class_by_id(
struct bt_trace *trace, uint64_t id);
-extern uint64_t bt_trace_get_stream_count(struct bt_trace *trace);
-
-extern struct bt_stream *bt_trace_borrow_stream_by_index(
- struct bt_trace *trace, uint64_t index);
+extern struct bt_stream *bt_trace_borrow_stream_by_index(struct bt_trace *trace,
+ uint64_t index);
-extern struct bt_stream *bt_trace_borrow_stream_by_id(
- struct bt_trace *trace, uint64_t id);
+extern struct bt_stream *bt_trace_borrow_stream_by_id(struct bt_trace *trace,
+ uint64_t id);
-extern bt_bool bt_trace_is_static(struct bt_trace *trace);
+extern int bt_trace_make_static(struct bt_trace *trace);
#ifdef __cplusplus
}
}
static inline
-int bt_util_ns_from_origin(struct bt_clock_class *clock_class, uint64_t value,
- int64_t *ns_from_origin)
+int bt_util_ns_from_origin(const struct bt_clock_class *clock_class,
+ uint64_t value, int64_t *ns_from_origin)
{
int ret = 0;
uint64_t value_ns_unsigned;
/* For bt_bool */
#include <babeltrace/types.h>
-/* For enum bt_value_status, enum bt_value_type */
-#include <babeltrace/values.h>
-
#ifdef __cplusplus
extern "C" {
#endif
struct bt_value;
+enum bt_value_status {
+ /// Operation canceled.
+ BT_VALUE_STATUS_CANCELED = 125,
+
+ /// Cannot allocate memory.
+ BT_VALUE_STATUS_NOMEM = -12,
+
+ /// Okay, no error.
+ BT_VALUE_STATUS_OK = 0,
+};
+
+enum bt_value_type {
+ /// Null value object.
+ BT_VALUE_TYPE_NULL = 0,
+
+ /// Boolean value object (holds #BT_TRUE or #BT_FALSE).
+ BT_VALUE_TYPE_BOOL = 1,
+
+ /// Integer value object (holds a signed 64-bit integer raw value).
+ BT_VALUE_TYPE_INTEGER = 2,
+
+ /// Floating point number value object (holds a \c double raw value).
+ BT_VALUE_TYPE_REAL = 3,
+
+ /// String value object.
+ BT_VALUE_TYPE_STRING = 4,
+
+ /// Array value object.
+ BT_VALUE_TYPE_ARRAY = 5,
+
+ /// Map value object.
+ BT_VALUE_TYPE_MAP = 6,
+};
+
extern enum bt_value_type bt_value_get_type(const struct bt_value *object);
static inline
extern const struct bt_value *bt_value_map_borrow_entry_value_const(
const struct bt_value *map_obj, const char *key);
-typedef bt_bool (* bt_value_map_foreach_entry_const_cb)(const char *key,
+typedef bt_bool (* bt_value_map_foreach_entry_const_func)(const char *key,
const struct bt_value *object, void *data);
extern enum bt_value_status bt_value_map_foreach_entry_const(
const struct bt_value *map_obj,
- bt_value_map_foreach_entry_const_cb cb, void *data);
+ bt_value_map_foreach_entry_const_func func, void *data);
extern bt_bool bt_value_map_has_entry(const struct bt_value *map_obj,
const char *key);
/* For bt_bool */
#include <babeltrace/types.h>
+/* For enum bt_value_status, enum bt_value_type */
+#include <babeltrace/values-const.h>
+
#ifdef __cplusplus
extern "C" {
#endif
-enum bt_value_status {
- /// Operation canceled.
- BT_VALUE_STATUS_CANCELED = 125,
-
- /// Cannot allocate memory.
- BT_VALUE_STATUS_NOMEM = -12,
-
- /// Okay, no error.
- BT_VALUE_STATUS_OK = 0,
-};
-
-enum bt_value_type {
- /// Null value object.
- BT_VALUE_TYPE_NULL = 0,
-
- /// Boolean value object (holds #BT_TRUE or #BT_FALSE).
- BT_VALUE_TYPE_BOOL = 1,
-
- /// Integer value object (holds a signed 64-bit integer raw value).
- BT_VALUE_TYPE_INTEGER = 2,
-
- /// Floating point number value object (holds a \c double raw value).
- BT_VALUE_TYPE_REAL = 3,
-
- /// String value object.
- BT_VALUE_TYPE_STRING = 4,
-
- /// Array value object.
- BT_VALUE_TYPE_ARRAY = 5,
-
- /// Map value object.
- BT_VALUE_TYPE_MAP = 6,
-};
-
struct bt_value;
extern struct bt_value *bt_value_null;
extern struct bt_value *bt_value_map_borrow_entry_value(
struct bt_value *map_obj, const char *key);
-typedef bt_bool (* bt_value_map_foreach_entry_cb)(const char *key,
+typedef bt_bool (* bt_value_map_foreach_entry_func)(const char *key,
struct bt_value *object, void *data);
extern enum bt_value_status bt_value_map_foreach_entry(
struct bt_value *map_obj,
- bt_value_map_foreach_entry_cb cb, void *data);
+ bt_value_map_foreach_entry_func func, void *data);
extern enum bt_value_status bt_value_map_insert_entry(
struct bt_value *map_obj, const char *key,
#include <babeltrace/compiler-internal.h>
#include <babeltrace/object.h>
#include <babeltrace/trace-ir/fields.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-internal.h>
#include <babeltrace/graph/connection.h>
#define NOTIF_BATCH_SIZE 15
struct stream_state {
- struct bt_stream *stream; /* owned by this */
- struct bt_packet *cur_packet; /* owned by this */
+ const struct bt_stream *stream; /* owned by this */
+ const struct bt_packet *cur_packet; /* owned by this */
uint64_t expected_notif_seq_num;
bt_bool is_ended;
};
BT_ASSERT_PRE_FUNC
static
-struct stream_state *create_stream_state(struct bt_stream *stream)
+struct stream_state *create_stream_state(const struct bt_stream *stream)
{
struct stream_state *stream_state = g_new0(struct stream_state, 1);
BT_ASSERT_PRE_FUNC
static inline
void bt_notification_borrow_packet_stream(struct bt_notification *notif,
- struct bt_stream **stream, struct bt_packet **packet)
+ const struct bt_stream **stream,
+ const struct bt_packet **packet)
{
BT_ASSERT(notif);
switch (notif->type) {
case BT_NOTIFICATION_TYPE_EVENT:
- *packet = bt_event_borrow_packet(
+ *packet = bt_event_borrow_packet_const(
bt_notification_event_borrow_event(notif));
- *stream = bt_packet_borrow_stream(*packet);
+ *stream = bt_packet_borrow_stream_const(*packet);
break;
case BT_NOTIFICATION_TYPE_STREAM_BEGIN:
*stream = bt_notification_stream_begin_borrow_stream(notif);
break;
case BT_NOTIFICATION_TYPE_PACKET_BEGIN:
*packet = bt_notification_packet_begin_borrow_packet(notif);
- *stream = bt_packet_borrow_stream(*packet);
+ *stream = bt_packet_borrow_stream_const(*packet);
break;
case BT_NOTIFICATION_TYPE_PACKET_END:
*packet = bt_notification_packet_end_borrow_packet(notif);
- *stream = bt_packet_borrow_stream(*packet);
+ *stream = bt_packet_borrow_stream_const(*packet);
break;
default:
break;
{
bool is_valid = true;
struct stream_state *stream_state;
- struct bt_stream *stream = NULL;
- struct bt_packet *packet = NULL;
+ const struct bt_stream *stream = NULL;
+ const struct bt_packet *packet = NULL;
BT_ASSERT(notif);
bt_notification_borrow_packet_stream(notif, &stream, &packet);
abort();
}
- g_hash_table_insert(iterator->stream_states, stream,
- stream_state);
+ g_hash_table_insert(iterator->stream_states,
+ (void *) stream, stream_state);
stream_state->expected_notif_seq_num++;
goto end;
}
struct bt_private_notification *bt_private_notification_event_create(
struct bt_self_notification_iterator *self_notif_iter,
- struct bt_private_event_class *priv_event_class,
- struct bt_private_packet *priv_packet)
+ struct bt_event_class *event_class,
+ struct bt_packet *packet)
{
struct bt_self_component_port_input_notification_iterator *notif_iter =
(void *) self_notif_iter;
- struct bt_event_class *event_class = (void *) priv_event_class;
- struct bt_packet *packet = (void *) priv_packet;
struct bt_notification_event *notification = NULL;
struct bt_event *event;
bt_object_pool_recycle_object(&graph->event_notif_pool, notif);
}
-struct bt_event *bt_notification_event_borrow_event(
- struct bt_notification *notification)
+static inline
+struct bt_event *borrow_event(struct bt_notification *notification)
{
struct bt_notification_event *event_notification;
return event_notification->event;
}
-struct bt_private_event *bt_private_notification_event_borrow_event(
+struct bt_event *bt_private_notification_event_borrow_event(
struct bt_private_notification *notification)
{
- return (void *) bt_notification_event_borrow_event(
- (void *) notification);
+ return borrow_event((void *) notification);
+}
+
+const struct bt_event *bt_notification_event_borrow_event(
+ struct bt_notification *notification)
+{
+ return borrow_event(notification);
}
struct bt_private_notification *bt_private_notification_packet_begin_create(
struct bt_self_notification_iterator *self_notif_iter,
- struct bt_private_packet *priv_packet)
+ struct bt_packet *packet)
{
struct bt_self_component_port_input_notification_iterator *notif_iter =
(void *) self_notif_iter;
- struct bt_packet *packet = (void *) priv_packet;
struct bt_notification_packet_begin *notification = NULL;
struct bt_stream *stream;
struct bt_stream_class *stream_class;
bt_object_pool_recycle_object(&graph->packet_begin_notif_pool, notif);
}
-struct bt_packet *bt_notification_packet_begin_borrow_packet(
- struct bt_notification *notification)
+struct bt_packet *bt_private_notification_packet_begin_borrow_packet(
+ struct bt_private_notification *notification)
{
struct bt_notification_packet_begin *packet_begin;
BT_ASSERT_PRE_NON_NULL(notification, "Notification");
BT_ASSERT_PRE_NOTIF_IS_TYPE(notification,
BT_NOTIFICATION_TYPE_PACKET_BEGIN);
- packet_begin = container_of(notification,
- struct bt_notification_packet_begin, parent);
+ packet_begin = (void *) notification;
return packet_begin->packet;
}
-struct bt_private_packet *
-bt_private_notification_packet_begin_borrow_packet(
- struct bt_private_notification *notification)
+const struct bt_packet *bt_notification_packet_begin_borrow_packet(
+ struct bt_notification *notification)
{
- return (void *) bt_notification_packet_begin_borrow_packet(
+ return bt_private_notification_packet_begin_borrow_packet(
(void *) notification);
}
struct bt_private_notification *bt_private_notification_packet_end_create(
struct bt_self_notification_iterator *self_notif_iter,
- struct bt_private_packet *priv_packet)
+ struct bt_packet *packet)
{
struct bt_self_component_port_input_notification_iterator *notif_iter =
(void *) self_notif_iter;
- struct bt_packet *packet = (void *) priv_packet;
struct bt_notification_packet_end *notification = NULL;
struct bt_stream *stream;
struct bt_stream_class *stream_class;
bt_object_pool_recycle_object(&graph->packet_end_notif_pool, notif);
}
-struct bt_packet *bt_notification_packet_end_borrow_packet(
- struct bt_notification *notification)
+struct bt_packet *bt_private_notification_packet_end_borrow_packet(
+ struct bt_private_notification *notification)
{
struct bt_notification_packet_end *packet_end;
BT_ASSERT_PRE_NON_NULL(notification, "Notification");
BT_ASSERT_PRE_NOTIF_IS_TYPE(notification,
BT_NOTIFICATION_TYPE_PACKET_END);
- packet_end = container_of(notification,
- struct bt_notification_packet_end, parent);
+ packet_end = (void *) notification;
return packet_end->packet;
}
-struct bt_private_packet *bt_private_notification_packet_end_borrow_packet(
- struct bt_private_notification *notification)
+const struct bt_packet *bt_notification_packet_end_borrow_packet(
+ struct bt_notification *notification)
{
- return (void *) bt_notification_packet_end_borrow_packet(
+ return bt_private_notification_packet_end_borrow_packet(
(void *) notification);
}
struct bt_private_notification *bt_private_notification_stream_end_create(
struct bt_self_notification_iterator *self_notif_iter,
- struct bt_private_stream *priv_stream)
+ struct bt_stream *stream)
{
- struct bt_stream *stream = (void *) priv_stream;
struct bt_notification_stream_end *notification;
struct bt_stream_class *stream_class;
return NULL;
}
-struct bt_stream *bt_notification_stream_end_borrow_stream(
- struct bt_notification *notification)
+struct bt_stream *bt_private_notification_stream_end_borrow_stream(
+ struct bt_private_notification *notification)
{
struct bt_notification_stream_end *stream_end;
BT_ASSERT_PRE_NON_NULL(notification, "Notification");
BT_ASSERT_PRE_NOTIF_IS_TYPE(notification,
BT_NOTIFICATION_TYPE_STREAM_END);
- stream_end = container_of(notification,
- struct bt_notification_stream_end, parent);
+ stream_end = (void *) notification;
return stream_end->stream;
}
-struct bt_private_stream *bt_private_notification_stream_end_borrow_stream(
- struct bt_private_notification *notification)
+const struct bt_stream *bt_notification_stream_end_borrow_stream(
+ struct bt_notification *notification)
{
- return (void *) bt_notification_stream_end_borrow_stream(
+ return bt_private_notification_stream_end_borrow_stream(
(void *) notification);
}
struct bt_private_notification *bt_private_notification_stream_begin_create(
struct bt_self_notification_iterator *self_notif_iter,
- struct bt_private_stream *priv_stream)
+ struct bt_stream *stream)
{
- struct bt_stream *stream = (void *) priv_stream;
struct bt_notification_stream_begin *notification;
struct bt_stream_class *stream_class;
return NULL;
}
-struct bt_stream *bt_notification_stream_begin_borrow_stream(
- struct bt_notification *notification)
+struct bt_stream *bt_private_notification_stream_begin_borrow_stream(
+ struct bt_private_notification *notification)
{
struct bt_notification_stream_begin *stream_begin;
BT_ASSERT_PRE_NON_NULL(notification, "Notification");
BT_ASSERT_PRE_NOTIF_IS_TYPE(notification,
BT_NOTIFICATION_TYPE_STREAM_BEGIN);
- stream_begin = container_of(notification,
- struct bt_notification_stream_begin, parent);
+ stream_begin = (void *) notification;
return stream_begin->stream;
}
-struct bt_private_stream *bt_private_notification_stream_begin_borrow_stream(
- struct bt_private_notification *notification)
+const struct bt_stream *bt_notification_stream_begin_borrow_stream(
+ struct bt_notification *notification)
{
- return (void *) bt_notification_stream_begin_borrow_stream(
+ return bt_private_notification_stream_begin_borrow_stream(
(void *) notification);
}
#include <babeltrace/graph/query-executor-internal.h>
#include <babeltrace/graph/component-class.h>
#include <babeltrace/graph/component-class-internal.h>
+#include <babeltrace/values.h>
#include <babeltrace/values-const.h>
#include <babeltrace/object-internal.h>
#include <babeltrace/object.h>
return;
}
-struct bt_private_clock_class *bt_private_clock_class_create(void)
+struct bt_clock_class *bt_clock_class_create(void)
{
int ret;
struct bt_clock_class *clock_class = NULL;
BT_OBJECT_PUT_REF_AND_RESET(clock_class);
end:
- return (void *) clock_class;
+ return clock_class;
}
-const char *bt_clock_class_get_name(
- struct bt_clock_class *clock_class)
+const char *bt_clock_class_get_name(const struct bt_clock_class *clock_class)
{
BT_ASSERT_PRE_NON_NULL(clock_class, "Clock class");
return clock_class->name.value;
}
-int bt_private_clock_class_set_name(
- struct bt_private_clock_class *priv_clock_class,
+int bt_clock_class_set_name(struct bt_clock_class *clock_class,
const char *name)
{
- struct bt_clock_class *clock_class = (void *) priv_clock_class;
-
BT_ASSERT_PRE_NON_NULL(clock_class, "Clock class");
BT_ASSERT_PRE_NON_NULL(name, "Name");
BT_ASSERT_PRE_CLOCK_CLASS_HOT(clock_class);
return 0;
}
-const char *bt_clock_class_get_description(struct bt_clock_class *clock_class)
+const char *bt_clock_class_get_description(
+ const struct bt_clock_class *clock_class)
{
BT_ASSERT_PRE_NON_NULL(clock_class, "Clock class");
return clock_class->description.value;
}
-int bt_private_clock_class_set_description(
- struct bt_private_clock_class *priv_clock_class,
+int bt_clock_class_set_description(struct bt_clock_class *clock_class,
const char *descr)
{
- struct bt_clock_class *clock_class = (void *) priv_clock_class;
-
BT_ASSERT_PRE_NON_NULL(clock_class, "Clock class");
BT_ASSERT_PRE_NON_NULL(descr, "Description");
BT_ASSERT_PRE_CLOCK_CLASS_HOT(clock_class);
return 0;
}
-uint64_t bt_clock_class_get_frequency(struct bt_clock_class *clock_class)
+uint64_t bt_clock_class_get_frequency(const struct bt_clock_class *clock_class)
{
BT_ASSERT_PRE_NON_NULL(clock_class, "Clock class");
return clock_class->frequency;
}
-void bt_private_clock_class_set_frequency(
- struct bt_private_clock_class *priv_clock_class,
+void bt_clock_class_set_frequency(struct bt_clock_class *clock_class,
uint64_t frequency)
{
- struct bt_clock_class *clock_class = (void *) priv_clock_class;
-
BT_ASSERT_PRE_NON_NULL(clock_class, "Clock class");
BT_ASSERT_PRE_CLOCK_CLASS_HOT(clock_class);
BT_ASSERT_PRE(frequency != UINT64_C(-1) && frequency != 0,
BT_LIB_LOGV("Set clock class's frequency: %!+K", clock_class);
}
-uint64_t bt_clock_class_get_precision(struct bt_clock_class *clock_class)
+uint64_t bt_clock_class_get_precision(const struct bt_clock_class *clock_class)
{
BT_ASSERT_PRE_NON_NULL(clock_class, "Clock class");
return clock_class->precision;
}
-void bt_private_clock_class_set_precision(
- struct bt_private_clock_class *priv_clock_class,
+void bt_clock_class_set_precision(struct bt_clock_class *clock_class,
uint64_t precision)
{
- struct bt_clock_class *clock_class = (void *) priv_clock_class;
-
BT_ASSERT_PRE_NON_NULL(clock_class, "Clock class");
BT_ASSERT_PRE_CLOCK_CLASS_HOT(clock_class);
BT_ASSERT_PRE(precision != UINT64_C(-1),
BT_LIB_LOGV("Set clock class's precision: %!+K", clock_class);
}
-void bt_clock_class_get_offset(struct bt_clock_class *clock_class,
+void bt_clock_class_get_offset(const struct bt_clock_class *clock_class,
int64_t *seconds, uint64_t *cycles)
{
BT_ASSERT_PRE_NON_NULL(clock_class, "Clock class");
*cycles = clock_class->offset_cycles;
}
-void bt_private_clock_class_set_offset(
- struct bt_private_clock_class *priv_clock_class,
+void bt_clock_class_set_offset(struct bt_clock_class *clock_class,
int64_t seconds, uint64_t cycles)
{
- struct bt_clock_class *clock_class = (void *) priv_clock_class;
-
BT_ASSERT_PRE_NON_NULL(clock_class, "Clock class");
BT_ASSERT_PRE_CLOCK_CLASS_HOT(clock_class);
BT_ASSERT_PRE(cycles < clock_class->frequency,
BT_LIB_LOGV("Set clock class's offset: %!+K", clock_class);
}
-bt_bool bt_clock_class_is_absolute(struct bt_clock_class *clock_class)
+bt_bool bt_clock_class_is_absolute(const struct bt_clock_class *clock_class)
{
BT_ASSERT_PRE_NON_NULL(clock_class, "Clock class");
return (bool) clock_class->is_absolute;
}
-void bt_private_clock_class_set_is_absolute(
- struct bt_private_clock_class *priv_clock_class,
+void bt_clock_class_set_is_absolute(struct bt_clock_class *clock_class,
bt_bool is_absolute)
{
- struct bt_clock_class *clock_class = (void *) priv_clock_class;
-
BT_ASSERT_PRE_NON_NULL(clock_class, "Clock class");
BT_ASSERT_PRE_CLOCK_CLASS_HOT(clock_class);
clock_class->is_absolute = (bool) is_absolute;
clock_class);
}
-bt_uuid bt_clock_class_get_uuid(struct bt_clock_class *clock_class)
+bt_uuid bt_clock_class_get_uuid(const struct bt_clock_class *clock_class)
{
BT_ASSERT_PRE_NON_NULL(clock_class, "Clock class");
return clock_class->uuid.value;
}
-void bt_private_clock_class_set_uuid(
- struct bt_private_clock_class *priv_clock_class,
+void bt_clock_class_set_uuid(struct bt_clock_class *clock_class,
bt_uuid uuid)
{
- struct bt_clock_class *clock_class = (void *) priv_clock_class;
-
BT_ASSERT_PRE_NON_NULL(clock_class, "Clock class");
BT_ASSERT_PRE_NON_NULL(uuid, "UUID");
BT_ASSERT_PRE_CLOCK_CLASS_HOT(clock_class);
}
BT_HIDDEN
-void _bt_clock_class_freeze(struct bt_clock_class *clock_class)
+void _bt_clock_class_freeze(const struct bt_clock_class *clock_class)
{
BT_ASSERT(clock_class);
}
BT_LIB_LOGD("Freezing clock class: %!+K", clock_class);
- clock_class->frozen = 1;
+ ((struct bt_clock_class *) clock_class)->frozen = 1;
}
-int bt_clock_class_cycles_to_ns_from_origin(struct bt_clock_class *clock_class,
+int bt_clock_class_cycles_to_ns_from_origin(
+ const struct bt_clock_class *clock_class,
uint64_t cycles, int64_t *ns)
{
int ret;
bt_object_put_ref(clock_class);
}
-uint64_t bt_clock_value_get_value(struct bt_clock_value *clock_value)
+uint64_t bt_clock_value_get_value(const struct bt_clock_value *clock_value)
{
BT_ASSERT_PRE_NON_NULL(clock_value, "Clock value");
BT_ASSERT_PRE(clock_value->is_set,
return clock_value->value_cycles;
}
-int bt_clock_value_get_ns_from_origin(struct bt_clock_value *clock_value,
+int bt_clock_value_get_ns_from_origin(const struct bt_clock_value *clock_value,
int64_t *ret_value_ns)
{
int ret = 0;
return ret;
}
-struct bt_clock_class *bt_clock_value_borrow_clock_class(
- struct bt_clock_value *clock_value)
+const struct bt_clock_class *bt_clock_value_borrow_clock_class_const(
+ const struct bt_clock_value *clock_value)
{
BT_ASSERT_PRE_NON_NULL(clock_value, "Clock value");
return clock_value->clock_class;
#include <babeltrace/trace-ir/fields-internal.h>
#include <babeltrace/trace-ir/field-classes.h>
#include <babeltrace/trace-ir/field-classes-internal.h>
-#include <babeltrace/trace-ir/private-event-class.h>
#include <babeltrace/trace-ir/event-class.h>
+#include <babeltrace/trace-ir/event-class-const.h>
#include <babeltrace/trace-ir/event-class-internal.h>
#include <babeltrace/trace-ir/event-internal.h>
-#include <babeltrace/trace-ir/private-stream-class.h>
#include <babeltrace/trace-ir/stream-class.h>
#include <babeltrace/trace-ir/stream-class-internal.h>
#include <babeltrace/trace-ir/trace-internal.h>
#include <stdlib.h>
#define BT_ASSERT_PRE_EVENT_CLASS_HOT(_ec) \
- BT_ASSERT_PRE_HOT(((struct bt_event_class *) (_ec)), \
+ BT_ASSERT_PRE_HOT(((const struct bt_event_class *) (_ec)), \
"Event class", ": %!+E", (_ec))
static
BT_ASSERT_PRE_FUNC
static
-bool event_class_id_is_unique(struct bt_stream_class *stream_class, uint64_t id)
+bool event_class_id_is_unique(const struct bt_stream_class *stream_class,
+ uint64_t id)
{
uint64_t i;
bool is_unique = true;
for (i = 0; i < stream_class->event_classes->len; i++) {
- struct bt_event_class *ec =
+ const struct bt_event_class *ec =
stream_class->event_classes->pdata[i];
if (ec->id == id) {
return event_class;
}
-struct bt_private_event_class *bt_private_event_class_create(
- struct bt_private_stream_class *priv_stream_class)
+struct bt_event_class *bt_event_class_create(
+ struct bt_stream_class *stream_class)
{
- struct bt_stream_class *stream_class = (void *) priv_stream_class;
-
BT_ASSERT_PRE_NON_NULL(stream_class, "Stream class");
BT_ASSERT_PRE(stream_class->assigns_automatic_event_class_id,
"Stream class does not automatically assigns event class IDs: "
"%![sc-]+S", stream_class);
- return (void *) create_event_class_with_id((void *) stream_class,
+ return create_event_class_with_id(stream_class,
(uint64_t) stream_class->event_classes->len);
}
-struct bt_private_event_class *bt_private_event_class_create_with_id(
- struct bt_private_stream_class *priv_stream_class, uint64_t id)
+struct bt_event_class *bt_event_class_create_with_id(
+ struct bt_stream_class *stream_class, uint64_t id)
{
- struct bt_stream_class *stream_class = (void *) priv_stream_class;
-
BT_ASSERT_PRE(!stream_class->assigns_automatic_event_class_id,
"Stream class automatically assigns event class IDs: "
"%![sc-]+S", stream_class);
- return (void *) create_event_class_with_id((void *) stream_class, id);
+ return create_event_class_with_id(stream_class, id);
}
-const char *bt_event_class_get_name(struct bt_event_class *event_class)
+const char *bt_event_class_get_name(const struct bt_event_class *event_class)
{
BT_ASSERT_PRE_NON_NULL(event_class, "Event class");
return event_class->name.value;
}
-int bt_private_event_class_set_name(struct bt_private_event_class *priv_event_class,
+int bt_event_class_set_name(struct bt_event_class *event_class,
const char *name)
{
- struct bt_event_class *event_class = (void *) priv_event_class;
-
BT_ASSERT_PRE_NON_NULL(event_class, "Event class");
BT_ASSERT_PRE_NON_NULL(name, "Name");
BT_ASSERT_PRE_EVENT_CLASS_HOT(event_class);
return 0;
}
-uint64_t bt_event_class_get_id(struct bt_event_class *event_class)
+uint64_t bt_event_class_get_id(const struct bt_event_class *event_class)
{
BT_ASSERT_PRE_NON_NULL(event_class, "Event class");
return event_class->id;
}
enum bt_property_availability bt_event_class_get_log_level(
- struct bt_event_class *event_class,
+ const struct bt_event_class *event_class,
enum bt_event_class_log_level *log_level)
{
BT_ASSERT_PRE_NON_NULL(event_class, "Event class");
return event_class->log_level.base.avail;
}
-void bt_private_event_class_set_log_level(
- struct bt_private_event_class *priv_event_class,
+void bt_event_class_set_log_level(
+ struct bt_event_class *event_class,
enum bt_event_class_log_level log_level)
{
- struct bt_event_class *event_class = (void *) priv_event_class;
-
BT_ASSERT_PRE_NON_NULL(event_class, "Event class");
BT_ASSERT_PRE_EVENT_CLASS_HOT(event_class);
bt_property_uint_set(&event_class->log_level,
BT_LIB_LOGV("Set event class's log level: %!+E", event_class);
}
-const char *bt_event_class_get_emf_uri(struct bt_event_class *event_class)
+const char *bt_event_class_get_emf_uri(const struct bt_event_class *event_class)
{
BT_ASSERT_PRE_NON_NULL(event_class, "Event class");
return event_class->emf_uri.value;
}
-int bt_private_event_class_set_emf_uri(
- struct bt_private_event_class *priv_event_class,
+int bt_event_class_set_emf_uri(
+ struct bt_event_class *event_class,
const char *emf_uri)
{
- struct bt_event_class *event_class = (void *) priv_event_class;
-
BT_ASSERT_PRE_NON_NULL(event_class, "Event class");
BT_ASSERT_PRE_NON_NULL(emf_uri, "EMF URI");
BT_ASSERT_PRE_EVENT_CLASS_HOT(event_class);
return bt_event_class_borrow_stream_class_inline(event_class);
}
-struct bt_private_stream_class *
-bt_private_event_class_borrow_stream_class(
- struct bt_private_event_class *event_class)
+const struct bt_stream_class *
+bt_event_class_borrow_stream_class_const(
+ const struct bt_event_class *event_class)
{
- return (void *) bt_event_class_borrow_stream_class(
- (void *) event_class);
+ return bt_event_class_borrow_stream_class((void *) event_class);
}
-struct bt_field_class *bt_event_class_borrow_specific_context_field_class(
- struct bt_event_class *event_class)
+const struct bt_field_class *
+bt_event_class_borrow_specific_context_field_class_const(
+ const struct bt_event_class *event_class)
{
BT_ASSERT_PRE_NON_NULL(event_class, "Event class");
return event_class->specific_context_fc;
}
-struct bt_private_field_class *
-bt_private_event_class_borrow_specific_context_field_class(
- struct bt_private_event_class *event_class)
-{
- return (void *) bt_event_class_borrow_specific_context_field_class(
- (void *) event_class);
-}
-
-int bt_private_event_class_set_specific_context_field_class(
- struct bt_private_event_class *priv_event_class,
- struct bt_private_field_class *priv_field_class)
+int bt_event_class_set_specific_context_field_class(
+ struct bt_event_class *event_class,
+ struct bt_field_class *field_class)
{
int ret;
- struct bt_event_class *event_class = (void *) priv_event_class;
- struct bt_field_class *field_class = (void *) priv_field_class;
struct bt_stream_class *stream_class;
struct bt_trace *trace;
struct bt_resolve_field_path_context resolve_ctx = {
return ret;
}
-struct bt_field_class *bt_event_class_borrow_payload_field_class(
- struct bt_event_class *event_class)
+const struct bt_field_class *bt_event_class_borrow_payload_field_class_const(
+ const struct bt_event_class *event_class)
{
BT_ASSERT_PRE_NON_NULL(event_class, "Event class");
return event_class->payload_fc;
}
-struct bt_private_field_class *bt_private_event_class_borrow_payload_field_class(
- struct bt_private_event_class *event_class)
-{
- return (void *) bt_event_class_borrow_payload_field_class(
- (void *) event_class);
-}
-
-int bt_private_event_class_set_payload_field_class(
- struct bt_private_event_class *priv_event_class,
- struct bt_private_field_class *priv_field_class)
+int bt_event_class_set_payload_field_class(
+ struct bt_event_class *event_class,
+ struct bt_field_class *field_class)
{
int ret;
- struct bt_event_class *event_class = (void *) priv_event_class;
- struct bt_field_class *field_class = (void *) priv_field_class;
struct bt_stream_class *stream_class;
struct bt_trace *trace;
struct bt_resolve_field_path_context resolve_ctx = {
}
BT_HIDDEN
-void _bt_event_class_freeze(struct bt_event_class *event_class)
+void _bt_event_class_freeze(const struct bt_event_class *event_class)
{
/* The field classes are already frozen */
BT_ASSERT(event_class);
BT_LIB_LOGD("Freezing event class: %!+E", event_class);
- event_class->frozen = true;
+ ((struct bt_event_class *) event_class)->frozen = true;
}
#include <babeltrace/lib-logging-internal.h>
#include <babeltrace/assert-pre-internal.h>
-#include <babeltrace/trace-ir/private-event-header-field.h>
+#include <babeltrace/trace-ir/event-header-field.h>
#include <babeltrace/trace-ir/stream-class-internal.h>
#include <babeltrace/trace-ir/fields-internal.h>
#include <babeltrace/trace-ir/field-wrapper-internal.h>
#include <glib.h>
-struct bt_private_field *bt_private_event_header_field_borrow_field(
- struct bt_private_event_header_field *header_field)
+struct bt_field *bt_event_header_field_borrow_field(
+ struct bt_event_header_field *header_field)
{
struct bt_field_wrapper *field_wrapper = (void *) header_field;
return (void *) field_wrapper->field;
}
-void bt_private_event_header_field_release(
- struct bt_private_event_header_field *header_field)
+void bt_event_header_field_release(
+ struct bt_event_header_field *header_field)
{
struct bt_field_wrapper *field_wrapper = (void *) header_field;
bt_field_wrapper_destroy(field_wrapper);
}
-struct bt_private_event_header_field *bt_private_event_header_field_create(
- struct bt_private_stream_class *priv_stream_class)
+struct bt_event_header_field *bt_event_header_field_create(
+ struct bt_stream_class *priv_stream_class)
{
struct bt_stream_class *stream_class = (void *) priv_stream_class;
struct bt_field_wrapper *field_wrapper;
#include <babeltrace/trace-ir/fields-internal.h>
#include <babeltrace/trace-ir/field-classes-internal.h>
#include <babeltrace/trace-ir/clock-class.h>
-#include <babeltrace/trace-ir/clock-value.h>
+#include <babeltrace/trace-ir/clock-value-const.h>
#include <babeltrace/trace-ir/clock-value-internal.h>
#include <babeltrace/trace-ir/clock-class-internal.h>
-#include <babeltrace/trace-ir/private-event.h>
+#include <babeltrace/trace-ir/event-const.h>
#include <babeltrace/trace-ir/event-internal.h>
#include <babeltrace/trace-ir/event-class.h>
#include <babeltrace/trace-ir/event-class-internal.h>
#include <babeltrace/trace-ir/stream-class.h>
+#include <babeltrace/trace-ir/stream-class-const.h>
#include <babeltrace/trace-ir/stream-class-internal.h>
#include <babeltrace/trace-ir/stream-internal.h>
#include <babeltrace/trace-ir/packet.h>
#include <inttypes.h>
BT_HIDDEN
-void _bt_event_set_is_frozen(struct bt_event *event, bool is_frozen)
+void _bt_event_set_is_frozen(const struct bt_event *event, bool is_frozen)
{
BT_ASSERT(event);
BT_LIB_LOGD("Setting event's frozen state: %!+e, is-frozen=%d",
is_frozen);
}
- event->frozen = is_frozen;
+ ((struct bt_event *) event)->frozen = is_frozen;
BT_LOGD_STR("Setting event's packet's frozen state.");
bt_packet_set_is_frozen(event->packet, is_frozen);
}
field_wrapper = bt_field_wrapper_create(
&stream_class->event_header_field_pool,
- bt_stream_class_borrow_event_header_field_class(stream_class));
+ stream_class->event_header_fc);
if (!field_wrapper) {
goto error;
}
stream_class = bt_event_class_borrow_stream_class(event_class);
BT_ASSERT(stream_class);
- if (bt_stream_class_borrow_event_header_field_class(stream_class)) {
+ if (stream_class->event_header_fc) {
event->header_field = create_event_header_field(stream_class);
if (!event->header_field) {
BT_LOGE_STR("Cannot create event header field.");
}
}
- fc = bt_stream_class_borrow_event_common_context_field_class(
- stream_class);
+ fc = stream_class->event_common_context_fc;
if (fc) {
event->common_context_field = bt_field_create(fc);
if (!event->common_context_field) {
}
}
- fc = bt_event_class_borrow_specific_context_field_class(event_class);
+ fc = event_class->specific_context_fc;
if (fc) {
event->specific_context_field = bt_field_create(fc);
if (!event->specific_context_field) {
}
}
- fc = bt_event_class_borrow_payload_field_class(event_class);
+ fc = event_class->payload_fc;
if (fc) {
event->payload_field = bt_field_create(fc);
if (!event->payload_field) {
return event->class;
}
+const struct bt_event_class *bt_event_borrow_class_const(
+ const struct bt_event *event)
+{
+ return bt_event_borrow_class((void *) event);
+}
+
struct bt_stream *bt_event_borrow_stream(struct bt_event *event)
{
BT_ASSERT_PRE_NON_NULL(event, "Event");
return event->packet ? event->packet->stream : NULL;
}
+const struct bt_stream *bt_event_borrow_stream_const(
+ const struct bt_event *event)
+{
+ return bt_event_borrow_stream((void *) event);
+}
+
struct bt_field *bt_event_borrow_header_field(struct bt_event *event)
{
BT_ASSERT_PRE_NON_NULL(event, "Event");
return event->header_field ? event->header_field->field : NULL;
}
-struct bt_private_field *bt_private_event_borrow_header_field(
- struct bt_private_event *event)
+const struct bt_field *bt_event_borrow_header_field_const(
+ const struct bt_event *event)
{
- return (void *) bt_event_borrow_header_field((void *) event);
+ BT_ASSERT_PRE_NON_NULL(event, "Event");
+ return event->header_field ? event->header_field->field : NULL;
}
struct bt_field *bt_event_borrow_common_context_field(struct bt_event *event)
return event->common_context_field;
}
-struct bt_private_field *bt_private_event_borrow_common_context_field(
- struct bt_private_event *event)
+const struct bt_field *bt_event_borrow_common_context_field_const(
+ const struct bt_event *event)
{
- return (void *) bt_event_borrow_common_context_field((void *) event);
+ BT_ASSERT_PRE_NON_NULL(event, "Event");
+ return event->common_context_field;
}
struct bt_field *bt_event_borrow_specific_context_field(struct bt_event *event)
return event->specific_context_field;
}
-struct bt_private_field *bt_private_event_borrow_specific_context_field(
- struct bt_private_event *event)
+const struct bt_field *bt_event_borrow_specific_context_field_const(
+ const struct bt_event *event)
{
- return (void *) bt_event_borrow_specific_context_field((void *) event);
+ BT_ASSERT_PRE_NON_NULL(event, "Event");
+ return event->specific_context_field;
}
struct bt_field *bt_event_borrow_payload_field(struct bt_event *event)
return event->payload_field;
}
-struct bt_private_field *bt_private_event_borrow_payload_field(
- struct bt_private_event *event)
+const struct bt_field *bt_event_borrow_payload_field_const(
+ const struct bt_event *event)
{
- return (void *) bt_event_borrow_payload_field((void *) event);
+ BT_ASSERT_PRE_NON_NULL(event, "Event");
+ return event->payload_field;
}
static
g_free(event);
}
-void bt_private_event_set_default_clock_value(
- struct bt_private_event *priv_event, uint64_t value_cycles)
+void bt_event_set_default_clock_value(struct bt_event *event,
+ uint64_t value_cycles)
{
- struct bt_event *event = (void *) priv_event;
struct bt_stream_class *sc;
BT_ASSERT_PRE_NON_NULL(event, "Event");
"value=%" PRIu64, event, value_cycles);
}
-enum bt_clock_value_status bt_event_borrow_default_clock_value(
- struct bt_event *event, struct bt_clock_value **clock_value)
+enum bt_clock_value_status bt_event_borrow_default_clock_value_const(
+ const struct bt_event *event,
+ const struct bt_clock_value **clock_value)
{
BT_ASSERT_PRE_NON_NULL(event, "Event");
BT_ASSERT_PRE_NON_NULL(clock_value, "Clock value (output)");
return event->packet;
}
-struct bt_private_packet *bt_private_event_borrow_packet(
- struct bt_private_event *event)
+const struct bt_packet *bt_event_borrow_packet_const(
+ const struct bt_event *event)
{
- return (void *) bt_event_borrow_packet((void *) event);
+ return bt_event_borrow_packet((void *) event);
}
-int bt_private_event_move_header_field(
- struct bt_private_event *priv_event,
- struct bt_private_event_header_field *priv_header_field)
+int bt_event_move_header_field(struct bt_event *event,
+ struct bt_event_header_field *header_field)
{
struct bt_stream_class *stream_class;
- struct bt_event *event = (void *) priv_event;
- struct bt_event_class *event_class = (void *) event_class;
- struct bt_field_wrapper *field_wrapper = (void *) priv_header_field;
+ struct bt_field_wrapper *field_wrapper = (void *) header_field;
BT_ASSERT_PRE_NON_NULL(event, "Event");
BT_ASSERT_PRE_NON_NULL(field_wrapper, "Header field");
#include <babeltrace/lib-logging-internal.h>
#include <babeltrace/assert-pre-internal.h>
-#include <babeltrace/trace-ir/private-field-classes.h>
+#include <babeltrace/trace-ir/field-classes.h>
+#include <babeltrace/trace-ir/field-classes-const.h>
#include <babeltrace/trace-ir/field-classes-internal.h>
#include <babeltrace/trace-ir/field-path-internal.h>
#include <babeltrace/trace-ir/fields-internal.h>
-#include <babeltrace/trace-ir/private-fields.h>
+#include <babeltrace/trace-ir/fields-const.h>
#include <babeltrace/trace-ir/fields.h>
#include <babeltrace/trace-ir/utils-internal.h>
#include <babeltrace/object.h>
#include <inttypes.h>
#include <stdlib.h>
-enum bt_field_class_type bt_field_class_get_type(struct bt_field_class *fc)
+enum bt_field_class_type bt_field_class_get_type(
+ const struct bt_field_class *fc)
{
BT_ASSERT_PRE_NON_NULL(fc, "Field class");
return fc->type;
return (void *) int_fc;
}
-struct bt_private_field_class *
-bt_private_field_class_unsigned_integer_create(void)
+struct bt_field_class *
+bt_field_class_unsigned_integer_create(void)
{
- return (void *) create_integer_field_class(
+ return create_integer_field_class(
BT_FIELD_CLASS_TYPE_UNSIGNED_INTEGER);
}
-struct bt_private_field_class *bt_private_field_class_signed_integer_create(void)
+struct bt_field_class *bt_field_class_signed_integer_create(void)
{
- return (void *) create_integer_field_class(
+ return create_integer_field_class(
BT_FIELD_CLASS_TYPE_SIGNED_INTEGER);
}
uint64_t bt_field_class_integer_get_field_value_range(
- struct bt_field_class *fc)
+ const struct bt_field_class *fc)
{
- struct bt_field_class_integer *int_fc = (void *) fc;
+ const struct bt_field_class_integer *int_fc = (const void *) fc;
BT_ASSERT_PRE_NON_NULL(fc, "Field class");
BT_ASSERT_PRE_FC_IS_INT(fc, "Field class");
return true;
}
-void bt_private_field_class_integer_set_field_value_range(
- struct bt_private_field_class *priv_fc, uint64_t size)
+void bt_field_class_integer_set_field_value_range(
+ struct bt_field_class *fc, uint64_t size)
{
- struct bt_field_class *fc = (void *) priv_fc;
struct bt_field_class_integer *int_fc = (void *) fc;
BT_ASSERT_PRE_NON_NULL(fc, "Field class");
}
enum bt_field_class_integer_preferred_display_base
-bt_field_class_integer_get_preferred_display_base(struct bt_field_class *fc)
+bt_field_class_integer_get_preferred_display_base(const struct bt_field_class *fc)
{
- struct bt_field_class_integer *int_fc = (void *) fc;
+ const struct bt_field_class_integer *int_fc = (const void *) fc;
BT_ASSERT_PRE_NON_NULL(fc, "Field class");
BT_ASSERT_PRE_FC_IS_INT(fc, "Field class");
return int_fc->base;
}
-void bt_private_field_class_integer_set_preferred_display_base(
- struct bt_private_field_class *priv_fc,
+void bt_field_class_integer_set_preferred_display_base(
+ struct bt_field_class *fc,
enum bt_field_class_integer_preferred_display_base base)
{
- struct bt_field_class *fc = (void *) priv_fc;
struct bt_field_class_integer *int_fc = (void *) fc;
BT_ASSERT_PRE_NON_NULL(fc, "Field class");
}
static
-struct bt_field_class *create_enumeration_field_class(enum bt_field_class_type type)
+struct bt_field_class *create_enumeration_field_class(
+ enum bt_field_class_type type)
{
struct bt_field_class_enumeration *enum_fc = NULL;
return (void *) enum_fc;
}
-struct bt_private_field_class *
-bt_private_field_class_unsigned_enumeration_create(void)
+struct bt_field_class *bt_field_class_unsigned_enumeration_create(void)
{
- return (void *) create_enumeration_field_class(
+ return create_enumeration_field_class(
BT_FIELD_CLASS_TYPE_UNSIGNED_ENUMERATION);
}
-struct bt_private_field_class *
-bt_private_field_class_signed_enumeration_create(void)
+struct bt_field_class *bt_field_class_signed_enumeration_create(void)
{
- return (void *) create_enumeration_field_class(
+ return create_enumeration_field_class(
BT_FIELD_CLASS_TYPE_SIGNED_ENUMERATION);
}
-uint64_t bt_field_class_enumeration_get_mapping_count(struct bt_field_class *fc)
+uint64_t bt_field_class_enumeration_get_mapping_count(
+ const struct bt_field_class *fc)
{
- struct bt_field_class_enumeration *enum_fc = (void *) fc;
+ const struct bt_field_class_enumeration *enum_fc = (const void *) fc;
BT_ASSERT_PRE_NON_NULL(fc, "Field class");
BT_ASSERT_PRE_FC_IS_ENUM(fc, "Field class");
return (uint64_t) enum_fc->mappings->len;
}
-void bt_field_class_unsigned_enumeration_borrow_mapping_by_index(
- struct bt_field_class *fc, uint64_t index,
+void bt_field_class_unsigned_enumeration_borrow_mapping_by_index_const(
+ const struct bt_field_class *fc, uint64_t index,
const char **name,
- struct bt_field_class_unsigned_enumeration_mapping_ranges **ranges)
+ const struct bt_field_class_unsigned_enumeration_mapping_ranges **ranges)
{
- struct bt_field_class_enumeration *enum_fc = (void *) fc;
- struct bt_field_class_enumeration_mapping *mapping;
+ const struct bt_field_class_enumeration *enum_fc = (const void *) fc;
+ const struct bt_field_class_enumeration_mapping *mapping;
BT_ASSERT_PRE_NON_NULL(fc, "Field class");
BT_ASSERT_PRE_NON_NULL(name, "Name (output)");
*ranges = (void *) mapping;
}
-void bt_field_class_signed_enumeration_borrow_mapping_by_index(
- struct bt_field_class *fc, uint64_t index,
+void bt_field_class_signed_enumeration_borrow_mapping_by_index_const(
+ const struct bt_field_class *fc, uint64_t index,
const char **name,
- struct bt_field_class_signed_enumeration_mapping_ranges **ranges)
+ const struct bt_field_class_signed_enumeration_mapping_ranges **ranges)
{
- struct bt_field_class_enumeration *enum_fc = (void *) fc;
- struct bt_field_class_enumeration_mapping *mapping;
+ const struct bt_field_class_enumeration *enum_fc = (const void *) fc;
+ const struct bt_field_class_enumeration_mapping *mapping;
BT_ASSERT_PRE_NON_NULL(fc, "Field class");
BT_ASSERT_PRE_NON_NULL(name, "Name (output)");
static inline
uint64_t get_enumeration_field_class_mapping_range_count(
- struct bt_field_class_enumeration_mapping *mapping)
+ const struct bt_field_class_enumeration_mapping *mapping)
{
BT_ASSERT_PRE_NON_NULL(mapping, "Ranges");
return (uint64_t) mapping->ranges->len;
}
uint64_t bt_field_class_unsigned_enumeration_mapping_ranges_get_range_count(
- struct bt_field_class_unsigned_enumeration_mapping_ranges *ranges)
+ const struct bt_field_class_unsigned_enumeration_mapping_ranges *ranges)
{
- return get_enumeration_field_class_mapping_range_count((void *) ranges);
+ return get_enumeration_field_class_mapping_range_count(
+ (const void *) ranges);
}
uint64_t bt_field_class_signed_enumeration_mapping_ranges_get_range_count(
- struct bt_field_class_signed_enumeration_mapping_ranges *ranges)
+ const struct bt_field_class_signed_enumeration_mapping_ranges *ranges)
{
- return get_enumeration_field_class_mapping_range_count((void *) ranges);
+ return get_enumeration_field_class_mapping_range_count(
+ (const void *) ranges);
}
static inline
void get_enumeration_field_class_mapping_range_at_index(
- struct bt_field_class_enumeration_mapping *mapping,
+ const struct bt_field_class_enumeration_mapping *mapping,
uint64_t index, uint64_t *lower, uint64_t *upper)
{
- struct bt_field_class_enumeration_mapping_range *range;
+ const struct bt_field_class_enumeration_mapping_range *range;
BT_ASSERT_PRE_NON_NULL(mapping, "Ranges");
BT_ASSERT_PRE_NON_NULL(lower, "Range's lower (output)");
}
void bt_field_class_unsigned_enumeration_mapping_ranges_get_range_by_index(
- struct bt_field_class_unsigned_enumeration_mapping_ranges *ranges,
+ const struct bt_field_class_unsigned_enumeration_mapping_ranges *ranges,
uint64_t index, uint64_t *lower, uint64_t *upper)
{
- get_enumeration_field_class_mapping_range_at_index((void *) ranges,
- index, lower, upper);
+ get_enumeration_field_class_mapping_range_at_index(
+ (const void *) ranges, index, lower, upper);
}
void bt_field_class_signed_enumeration_mapping_ranges_get_range_by_index(
- struct bt_field_class_unsigned_enumeration_mapping_ranges *ranges,
+ const struct bt_field_class_unsigned_enumeration_mapping_ranges *ranges,
uint64_t index, int64_t *lower, int64_t *upper)
{
- get_enumeration_field_class_mapping_range_at_index((void *) ranges,
- index, (uint64_t *) lower, (uint64_t *) upper);
+ get_enumeration_field_class_mapping_range_at_index(
+ (const void *) ranges, index,
+ (uint64_t *) lower, (uint64_t *) upper);
}
int bt_field_class_unsigned_enumeration_get_mapping_labels_by_value(
- struct bt_field_class *fc, uint64_t value,
+ const struct bt_field_class *fc, uint64_t value,
bt_field_class_enumeration_mapping_label_array *label_array,
uint64_t *count)
{
- struct bt_field_class_enumeration *enum_fc = (void *) fc;
+ const struct bt_field_class_enumeration *enum_fc = (const void *) fc;
uint64_t i;
BT_ASSERT_PRE_NON_NULL(fc, "Field class");
for (i = 0; i < enum_fc->mappings->len; i++) {
uint64_t j;
- struct bt_field_class_enumeration_mapping *mapping =
+ const struct bt_field_class_enumeration_mapping *mapping =
BT_FIELD_CLASS_ENUM_MAPPING_AT_INDEX(enum_fc, i);
for (j = 0; j < mapping->ranges->len; j++) {
- struct bt_field_class_enumeration_mapping_range *range =
+ const struct bt_field_class_enumeration_mapping_range *range =
BT_FIELD_CLASS_ENUM_MAPPING_RANGE_AT_INDEX(
mapping, j);
}
int bt_field_class_signed_enumeration_get_mapping_labels_by_value(
- struct bt_field_class *fc, int64_t value,
+ const struct bt_field_class *fc, int64_t value,
bt_field_class_enumeration_mapping_label_array *label_array,
uint64_t *count)
{
- struct bt_field_class_enumeration *enum_fc = (void *) fc;
+ const struct bt_field_class_enumeration *enum_fc = (const void *) fc;
uint64_t i;
BT_ASSERT_PRE_NON_NULL(fc, "Field class");
for (i = 0; i < enum_fc->mappings->len; i++) {
uint64_t j;
- struct bt_field_class_enumeration_mapping *mapping =
+ const struct bt_field_class_enumeration_mapping *mapping =
BT_FIELD_CLASS_ENUM_MAPPING_AT_INDEX(enum_fc, i);
for (j = 0; j < mapping->ranges->len; j++) {
- struct bt_field_class_enumeration_mapping_range *range =
+ const struct bt_field_class_enumeration_mapping_range *range =
BT_FIELD_CLASS_ENUM_MAPPING_RANGE_AT_INDEX(
mapping, j);
return ret;
}
-int bt_private_field_class_unsigned_enumeration_map_range(
- struct bt_private_field_class *priv_fc, const char *label,
+int bt_field_class_unsigned_enumeration_map_range(
+ struct bt_field_class *fc, const char *label,
uint64_t range_lower, uint64_t range_upper)
{
- struct bt_field_class *fc = (void *) priv_fc;
struct bt_field_class_enumeration *enum_fc = (void *) fc;
BT_ASSERT_PRE_NON_NULL(fc, "Field class");
range_upper);
}
-int bt_private_field_class_signed_enumeration_map_range(
- struct bt_private_field_class *priv_fc, const char *label,
+int bt_field_class_signed_enumeration_map_range(
+ struct bt_field_class *fc, const char *label,
int64_t range_lower, int64_t range_upper)
{
- struct bt_field_class *fc = (void *) priv_fc;
struct bt_field_class_enumeration *enum_fc = (void *) fc;
BT_ASSERT_PRE_NON_NULL(fc, "Field class");
g_free(obj);
}
-struct bt_private_field_class *bt_private_field_class_real_create(void)
+struct bt_field_class *bt_field_class_real_create(void)
{
struct bt_field_class_real *real_fc = NULL;
return (void *) real_fc;
}
-bt_bool bt_field_class_real_is_single_precision(struct bt_field_class *fc)
+bt_bool bt_field_class_real_is_single_precision(const struct bt_field_class *fc)
{
- struct bt_field_class_real *real_fc = (void *) fc;
+ const struct bt_field_class_real *real_fc = (const void *) fc;
BT_ASSERT_PRE_NON_NULL(fc, "Field class");
BT_ASSERT_PRE_FC_HAS_ID(fc, BT_FIELD_CLASS_TYPE_REAL, "Field class");
return real_fc->is_single_precision;
}
-void bt_private_field_class_real_set_is_single_precision(
- struct bt_private_field_class *priv_fc,
+void bt_field_class_real_set_is_single_precision(struct bt_field_class *fc,
bt_bool is_single_precision)
{
- struct bt_field_class *fc = (void *) priv_fc;
struct bt_field_class_real *real_fc = (void *) fc;
BT_ASSERT_PRE_NON_NULL(fc, "Field class");
static
int init_named_field_classes_container(
struct bt_field_class_named_field_class_container *fc,
- enum bt_field_class_type type, bt_object_release_func release_func)
+ enum bt_field_class_type type,
+ bt_object_release_func release_func)
{
int ret = 0;
g_free(obj);
}
-struct bt_private_field_class *bt_private_field_class_structure_create(void)
+struct bt_field_class *bt_field_class_structure_create(void)
{
int ret;
struct bt_field_class_structure *struct_fc = NULL;
return ret;
}
-int bt_private_field_class_structure_append_member(
- struct bt_private_field_class *priv_fc,
- const char *name, struct bt_private_field_class *member_fc)
+int bt_field_class_structure_append_member(struct bt_field_class *fc,
+ const char *name, struct bt_field_class *member_fc)
{
- struct bt_field_class *fc = (void *) priv_fc;
BT_ASSERT_PRE_NON_NULL(fc, "Field class");
BT_ASSERT_PRE_FC_HAS_ID(fc, BT_FIELD_CLASS_TYPE_STRUCTURE, "Field class");
return append_named_field_class_to_container_field_class((void *) fc,
- name, (void *) member_fc);
+ name, member_fc);
}
-uint64_t bt_field_class_structure_get_member_count(struct bt_field_class *fc)
+uint64_t bt_field_class_structure_get_member_count(
+ const struct bt_field_class *fc)
{
struct bt_field_class_structure *struct_fc = (void *) fc;
}
static
-void borrow_named_field_class_from_container_field_class_at_index(
- struct bt_field_class_named_field_class_container *fc,
+void borrow_named_field_class_from_container_field_class_at_index_const(
+ const struct bt_field_class_named_field_class_container *fc,
uint64_t index, const char **name,
- struct bt_field_class **out_fc)
+ const struct bt_field_class **out_fc)
{
- struct bt_named_field_class *named_fc;
+ const struct bt_named_field_class *named_fc;
BT_ASSERT(fc);
BT_ASSERT_PRE_NON_NULL(name, "Name");
*out_fc = named_fc->fc;
}
-void bt_field_class_structure_borrow_member_by_index(
- struct bt_field_class *fc, uint64_t index,
- const char **name, struct bt_field_class **out_fc)
+void bt_field_class_structure_borrow_member_by_index_const(
+ const struct bt_field_class *fc, uint64_t index,
+ const char **name, const struct bt_field_class **out_fc)
{
BT_ASSERT_PRE_NON_NULL(fc, "Field class");
BT_ASSERT_PRE_FC_HAS_ID(fc, BT_FIELD_CLASS_TYPE_STRUCTURE, "Field class");
- borrow_named_field_class_from_container_field_class_at_index((void *) fc,
- index, name, out_fc);
-}
-
-void bt_private_field_class_structure_borrow_member_by_index(
- struct bt_private_field_class *fc, uint64_t index,
- const char **name, struct bt_private_field_class **out_fc)
-{
- bt_field_class_structure_borrow_member_by_index((void *) fc,
- index, name, (void *) out_fc);
+ borrow_named_field_class_from_container_field_class_at_index_const(
+ (void *) fc, index, name, out_fc);
}
static
-struct bt_field_class *borrow_field_class_from_container_field_class_by_name(
- struct bt_field_class_named_field_class_container *fc,
+const struct bt_field_class *
+borrow_field_class_from_container_field_class_by_name_const(
+ const struct bt_field_class_named_field_class_container *fc,
const char *name)
{
- struct bt_field_class *ret_fc = NULL;
- struct bt_named_field_class *named_fc;
+ const struct bt_field_class *ret_fc = NULL;
+ const struct bt_named_field_class *named_fc;
gpointer orig_key;
gpointer value;
return ret_fc;
}
-struct bt_field_class *bt_field_class_structure_borrow_member_field_class_by_name(
- struct bt_field_class *fc, const char *name)
+const struct bt_field_class *
+bt_field_class_structure_borrow_member_field_class_by_name(
+ const struct bt_field_class *fc, const char *name)
{
BT_ASSERT_PRE_NON_NULL(fc, "Field class");
BT_ASSERT_PRE_FC_HAS_ID(fc, BT_FIELD_CLASS_TYPE_STRUCTURE, "Field class");
- return borrow_field_class_from_container_field_class_by_name((void *) fc,
- name);
-}
-
-struct bt_private_field_class *
-bt_private_field_class_structure_borrow_member_field_class_by_name(
- struct bt_private_field_class *fc, const char *name)
-{
- return (void *) bt_field_class_structure_borrow_member_field_class_by_name(
- (void *) fc, name);
+ return borrow_field_class_from_container_field_class_by_name_const(
+ (void *) fc, name);
}
static
g_free(fc);
}
-struct bt_private_field_class *bt_private_field_class_variant_create(void)
+struct bt_field_class *bt_field_class_variant_create(void)
{
int ret;
struct bt_field_class_variant *var_fc = NULL;
return (void *) var_fc;
}
-int bt_private_field_class_variant_set_selector_field_class(
- struct bt_private_field_class *priv_fc,
- struct bt_private_field_class *selector_fc)
+int bt_field_class_variant_set_selector_field_class(
+ struct bt_field_class *fc,
+ struct bt_field_class *selector_fc)
{
- struct bt_field_class *fc = (void *) priv_fc;
struct bt_field_class_variant *var_fc = (void *) fc;
BT_ASSERT_PRE_NON_NULL(fc, "Variant field class");
BT_ASSERT_PRE_FC_HAS_ID(fc, BT_FIELD_CLASS_TYPE_VARIANT, "Field class");
BT_ASSERT_PRE_FC_IS_ENUM(selector_fc, "Selector field class");
BT_ASSERT_PRE_FC_HOT(fc, "Variant field class");
- var_fc->selector_fc = (void *) selector_fc;
+ var_fc->selector_fc = selector_fc;
bt_object_get_no_null_check(selector_fc);
- bt_field_class_freeze((void *) selector_fc);
+ bt_field_class_freeze(selector_fc);
return 0;
}
-int bt_private_field_class_variant_append_private_option(
- struct bt_private_field_class *priv_fc,
- const char *name, struct bt_private_field_class *option_fc)
+int bt_field_class_variant_append_option(
+ struct bt_field_class *fc,
+ const char *name, struct bt_field_class *option_fc)
{
- struct bt_field_class *fc = (void *) priv_fc;
BT_ASSERT_PRE_NON_NULL(fc, "Field class");
BT_ASSERT_PRE_FC_HAS_ID(fc, BT_FIELD_CLASS_TYPE_VARIANT, "Field class");
return append_named_field_class_to_container_field_class((void *) fc,
- name, (void *) option_fc);
+ name, option_fc);
}
-struct bt_field_class *bt_field_class_variant_borrow_option_field_class_by_name(
- struct bt_field_class *fc, const char *name)
+const struct bt_field_class *
+bt_field_class_variant_borrow_option_field_class_by_name_const(
+ const struct bt_field_class *fc, const char *name)
{
BT_ASSERT_PRE_NON_NULL(fc, "Field class");
BT_ASSERT_PRE_FC_HAS_ID(fc, BT_FIELD_CLASS_TYPE_VARIANT, "Field class");
- return borrow_field_class_from_container_field_class_by_name((void *) fc,
- name);
-}
-
-struct bt_private_field_class *
-bt_private_field_class_variant_borrow_option_field_class_by_name(
- struct bt_private_field_class *fc, const char *name)
-{
- return (void *) bt_field_class_variant_borrow_option_field_class_by_name(
+ return borrow_field_class_from_container_field_class_by_name_const(
(void *) fc, name);
}
-uint64_t bt_field_class_variant_get_option_count(struct bt_field_class *fc)
+uint64_t bt_field_class_variant_get_option_count(const struct bt_field_class *fc)
{
- struct bt_field_class_variant *var_fc = (void *) fc;
+ const struct bt_field_class_variant *var_fc = (const void *) fc;
BT_ASSERT_PRE_NON_NULL(fc, "Field class");
BT_ASSERT_PRE_FC_HAS_ID(fc, BT_FIELD_CLASS_TYPE_VARIANT, "Field class");
return (uint64_t) var_fc->common.named_fcs->len;
}
-void bt_field_class_variant_borrow_option_by_index(
- struct bt_field_class *fc, uint64_t index,
- const char **name, struct bt_field_class **out_fc)
+void bt_field_class_variant_borrow_option_by_index_const(
+ const struct bt_field_class *fc, uint64_t index,
+ const char **name, const struct bt_field_class **out_fc)
{
BT_ASSERT_PRE_NON_NULL(fc, "Field class");
BT_ASSERT_PRE_FC_HAS_ID(fc, BT_FIELD_CLASS_TYPE_VARIANT, "Field class");
- borrow_named_field_class_from_container_field_class_at_index((void *) fc,
- index, name, out_fc);
+ borrow_named_field_class_from_container_field_class_at_index_const(
+ (void *) fc, index, name, out_fc);
}
-void bt_private_field_class_variant_borrow_option_by_index(
- struct bt_private_field_class *fc, uint64_t index,
- const char **name, struct bt_private_field_class **out_fc)
+const struct bt_field_path *
+bt_field_class_variant_borrow_selector_field_path_const(
+ const struct bt_field_class *fc)
{
- bt_field_class_variant_borrow_option_by_index((void *) fc,
- index, name, (void *) out_fc);
-}
-
-struct bt_field_path *bt_field_class_variant_borrow_selector_field_path(
- struct bt_field_class *fc)
-{
- struct bt_field_class_variant *var_fc = (void *) fc;
+ const struct bt_field_class_variant *var_fc = (const void *) fc;
BT_ASSERT_PRE_NON_NULL(fc, "Field class");
BT_ASSERT_PRE_FC_HAS_ID(fc, BT_FIELD_CLASS_TYPE_VARIANT,
g_free(obj);
}
-struct bt_private_field_class *
-bt_private_field_class_static_array_create(
- struct bt_private_field_class *priv_element_fc,
+struct bt_field_class *
+bt_field_class_static_array_create(struct bt_field_class *element_fc,
uint64_t length)
{
- struct bt_field_class *element_fc = (void *) priv_element_fc;
struct bt_field_class_static_array *array_fc = NULL;
BT_ASSERT_PRE_NON_NULL(element_fc, "Element field class");
return (void *) array_fc;
}
-struct bt_field_class *bt_field_class_array_borrow_element_field_class(
- struct bt_field_class *fc)
+const struct bt_field_class *
+bt_field_class_array_borrow_element_field_class_const(
+ const struct bt_field_class *fc)
{
- struct bt_field_class_array *array_fc = (void *) fc;
+ const struct bt_field_class_array *array_fc = (const void *) fc;
BT_ASSERT_PRE_NON_NULL(fc, "Field class");
BT_ASSERT_PRE_FC_IS_ARRAY(fc, "Field class");
return array_fc->element_fc;
}
-struct bt_private_field_class *
-bt_private_field_class_array_borrow_element_field_class(
- struct bt_private_field_class *fc)
+uint64_t bt_field_class_static_array_get_length(const struct bt_field_class *fc)
{
- return (void *) bt_field_class_array_borrow_element_field_class(
- (void *) fc);
-}
-
-uint64_t bt_field_class_static_array_get_length(struct bt_field_class *fc)
-{
- struct bt_field_class_static_array *array_fc = (void *) fc;
+ const struct bt_field_class_static_array *array_fc = (const void *) fc;
BT_ASSERT_PRE_NON_NULL(fc, "Field class");
BT_ASSERT_PRE_FC_HAS_ID(fc, BT_FIELD_CLASS_TYPE_STATIC_ARRAY,
g_free(fc);
}
-struct bt_private_field_class *bt_private_field_class_dynamic_array_create(
- struct bt_private_field_class *priv_element_fc)
+struct bt_field_class *bt_field_class_dynamic_array_create(
+ struct bt_field_class *element_fc)
{
- struct bt_field_class *element_fc = (void *) priv_element_fc;
struct bt_field_class_dynamic_array *array_fc = NULL;
BT_ASSERT_PRE_NON_NULL(element_fc, "Element field class");
goto error;
}
- init_array_field_class((void *) array_fc, BT_FIELD_CLASS_TYPE_DYNAMIC_ARRAY,
+ init_array_field_class((void *) array_fc,
+ BT_FIELD_CLASS_TYPE_DYNAMIC_ARRAY,
destroy_dynamic_array_field_class, element_fc);
BT_LIB_LOGD("Created dynamic array field class object: %!+F", array_fc);
goto end;
return (void *) array_fc;
}
-int bt_private_field_class_dynamic_array_set_length_field_class(
- struct bt_private_field_class *priv_fc,
- struct bt_private_field_class *priv_length_fc)
+int bt_field_class_dynamic_array_set_length_field_class(
+ struct bt_field_class *fc,
+ struct bt_field_class *length_fc)
{
- struct bt_field_class *fc = (void *) priv_fc;
- struct bt_field_class *length_fc = (void *) priv_length_fc;
struct bt_field_class_dynamic_array *array_fc = (void *) fc;
BT_ASSERT_PRE_NON_NULL(fc, "Dynamic array field class");
"Field class");
BT_ASSERT_PRE_FC_IS_UNSIGNED_INT(length_fc, "Length field class");
BT_ASSERT_PRE_FC_HOT(fc, "Dynamic array field class");
- array_fc->length_fc = (void *) length_fc;
+ array_fc->length_fc = length_fc;
bt_object_get_no_null_check(length_fc);
bt_field_class_freeze(length_fc);
return 0;
}
-struct bt_field_path *bt_field_class_dynamic_array_borrow_length_field_path(
- struct bt_field_class *fc)
+const struct bt_field_path *
+bt_field_class_dynamic_array_borrow_length_field_path_const(
+ const struct bt_field_class *fc)
{
- struct bt_field_class_dynamic_array *seq_fc = (void *) fc;
+ const struct bt_field_class_dynamic_array *seq_fc = (const void *) fc;
BT_ASSERT_PRE_NON_NULL(fc, "Field class");
BT_ASSERT_PRE_FC_HAS_ID(fc, BT_FIELD_CLASS_TYPE_DYNAMIC_ARRAY,
g_free(obj);
}
-struct bt_private_field_class *bt_private_field_class_string_create(void)
+struct bt_field_class *bt_field_class_string_create(void)
{
struct bt_field_class_string *string_fc = NULL;
}
BT_HIDDEN
-void _bt_field_class_freeze(struct bt_field_class *fc)
+void _bt_field_class_freeze(const struct bt_field_class *fc)
{
/*
* Element/member/option field classes are frozen when added to
* their owner.
*/
BT_ASSERT(fc);
- fc->frozen = true;
+ ((struct bt_field_class *) fc)->frozen = true;
}
BT_HIDDEN
-void _bt_field_class_make_part_of_trace(struct bt_field_class *fc)
+void _bt_field_class_make_part_of_trace(const struct bt_field_class *c_fc)
{
+ struct bt_field_class *fc = (void *) c_fc;
+
BT_ASSERT(fc);
BT_ASSERT_PRE(!fc->part_of_trace,
"Field class is already part of a trace: %!+F", fc);
#include <babeltrace/trace-ir/field-classes.h>
#include <babeltrace/trace-ir/field-classes-internal.h>
#include <babeltrace/trace-ir/field-path-internal.h>
-#include <babeltrace/trace-ir/field-path.h>
+#include <babeltrace/trace-ir/field-path-const.h>
#include <babeltrace/object.h>
#include <limits.h>
#include <stdint.h>
return field_path;
}
-enum bt_scope bt_field_path_get_root_scope(struct bt_field_path *field_path)
+enum bt_scope bt_field_path_get_root_scope(
+ const struct bt_field_path *field_path)
{
BT_ASSERT_PRE_NON_NULL(field_path, "Field path");
return field_path->root;
}
-uint64_t bt_field_path_get_index_count(struct bt_field_path *field_path)
+uint64_t bt_field_path_get_index_count(const struct bt_field_path *field_path)
{
BT_ASSERT_PRE_NON_NULL(field_path, "Field path");
return (uint64_t) field_path->indexes->len;
}
-uint64_t bt_field_path_get_index_by_index(struct bt_field_path *field_path,
- uint64_t index)
+uint64_t bt_field_path_get_index_by_index(
+ const struct bt_field_path *field_path, uint64_t index)
{
BT_ASSERT_PRE_NON_NULL(field_path, "Field path");
BT_ASSERT_PRE_VALID_INDEX(index, field_path->indexes->len);
#include <babeltrace/lib-logging-internal.h>
#include <babeltrace/assert-pre-internal.h>
-#include <babeltrace/trace-ir/private-fields.h>
#include <babeltrace/trace-ir/fields.h>
+#include <babeltrace/trace-ir/fields-const.h>
#include <babeltrace/trace-ir/fields-internal.h>
#include <babeltrace/trace-ir/field-classes-internal.h>
#include <babeltrace/object-internal.h>
void set_variant_field_is_frozen(struct bt_field *field, bool is_frozen);
static
-bool single_field_is_set(struct bt_field *field);
+bool single_field_is_set(const struct bt_field *field);
static
-bool array_field_is_set(struct bt_field *field);
+bool array_field_is_set(const struct bt_field *field);
static
-bool structure_field_is_set(struct bt_field *field);
+bool structure_field_is_set(const struct bt_field *field);
static
-bool variant_field_is_set(struct bt_field *field);
+bool variant_field_is_set(const struct bt_field *field);
static
struct bt_field_methods integer_field_methods = {
[BT_FIELD_CLASS_TYPE_VARIANT] = destroy_variant_field,
};
-struct bt_field_class *bt_field_borrow_class(struct bt_field *field)
+struct bt_field_class *bt_field_borrow_class(const struct bt_field *field)
{
BT_ASSERT_PRE_NON_NULL(field, "Field");
return field->class;
}
-struct bt_private_field_class *bt_private_field_borrow_class(
- struct bt_private_field *field)
+const struct bt_field_class *bt_field_borrow_class_const(
+ const struct bt_field *field)
{
- return (void *) bt_field_borrow_class((void *) field);
+ BT_ASSERT_PRE_NON_NULL(field, "Field");
+ return field->class;
}
-enum bt_field_class_type bt_field_get_class_type(struct bt_field *field)
+enum bt_field_class_type bt_field_get_class_type(const struct bt_field *field)
{
BT_ASSERT_PRE_NON_NULL(field, "Field");
return field->class->type;
return (void *) array_field;
}
-int64_t bt_field_signed_integer_get_value(struct bt_field *field)
+int64_t bt_field_signed_integer_get_value(const struct bt_field *field)
{
- struct bt_field_integer *int_field = (void *) field;
+ const struct bt_field_integer *int_field = (const void *) field;
BT_ASSERT_PRE_NON_NULL(field, "Field");
BT_ASSERT_PRE_FIELD_IS_SET(field, "Field");
return int_field->value.i;
}
-void bt_private_field_signed_integer_set_value(
- struct bt_private_field *priv_field, int64_t value)
+void bt_field_signed_integer_set_value(struct bt_field *field, int64_t value)
{
- struct bt_field *field = (void *) priv_field;
struct bt_field_integer *int_field = (void *) field;
BT_ASSERT_PRE_NON_NULL(field, "Field");
bt_field_set_single(field, true);
}
-uint64_t bt_field_unsigned_integer_get_value(struct bt_field *field)
+uint64_t bt_field_unsigned_integer_get_value(const struct bt_field *field)
{
- struct bt_field_integer *int_field = (void *) field;
+ const struct bt_field_integer *int_field = (const void *) field;
BT_ASSERT_PRE_NON_NULL(field, "Field");
BT_ASSERT_PRE_FIELD_IS_SET(field, "Field");
return int_field->value.u;
}
-void bt_private_field_unsigned_integer_set_value(
- struct bt_private_field *priv_field, uint64_t value)
+void bt_field_unsigned_integer_set_value(struct bt_field *field, uint64_t value)
{
- struct bt_field *field = (void *) priv_field;
struct bt_field_integer *int_field = (void *) field;
BT_ASSERT_PRE_NON_NULL(field, "Field");
bt_field_set_single(field, true);
}
-double bt_field_real_get_value(struct bt_field *field)
+double bt_field_real_get_value(const struct bt_field *field)
{
- struct bt_field_real *real_field = (void *) field;
+ const struct bt_field_real *real_field = (const void *) field;
BT_ASSERT_PRE_NON_NULL(field, "Field");
BT_ASSERT_PRE_FIELD_IS_SET(field, "Field");
return real_field->value;
}
-void bt_private_field_real_set_value(struct bt_private_field *priv_field,
- double value)
+void bt_field_real_set_value(struct bt_field *field, double value)
{
- struct bt_field *field = (void *) priv_field;
struct bt_field_real *real_field = (void *) field;
BT_ASSERT_PRE_NON_NULL(field, "Field");
bt_field_set_single(field, true);
}
-int bt_field_unsigned_enumeration_get_mapping_labels(struct bt_field *field,
+int bt_field_unsigned_enumeration_get_mapping_labels(
+ const struct bt_field *field,
bt_field_class_enumeration_mapping_label_array *label_array,
uint64_t *count)
{
- struct bt_field_integer *int_field = (void *) field;
+ const struct bt_field_integer *int_field = (const void *) field;
BT_ASSERT_PRE_NON_NULL(field, "Field");
BT_ASSERT_PRE_NON_NULL(label_array, "Label array (output)");
field->class, int_field->value.u, label_array, count);
}
-int bt_field_signed_enumeration_get_mapping_labels(struct bt_field *field,
+int bt_field_signed_enumeration_get_mapping_labels(
+ const struct bt_field *field,
bt_field_class_enumeration_mapping_label_array *label_array,
uint64_t *count)
{
- struct bt_field_integer *int_field = (void *) field;
+ const struct bt_field_integer *int_field = (const void *) field;
BT_ASSERT_PRE_NON_NULL(field, "Field");
BT_ASSERT_PRE_NON_NULL(label_array, "Label array (output)");
field->class, int_field->value.i, label_array, count);
}
-const char *bt_field_string_get_value(struct bt_field *field)
+const char *bt_field_string_get_value(const struct bt_field *field)
{
- struct bt_field_string *string_field = (void *) field;
+ const struct bt_field_string *string_field = (const void *) field;
BT_ASSERT_PRE_NON_NULL(field, "Field");
BT_ASSERT_PRE_FIELD_IS_SET(field, "Field");
return (const char *) string_field->buf->data;
}
-uint64_t bt_field_string_get_length(struct bt_field *field)
+uint64_t bt_field_string_get_length(const struct bt_field *field)
{
- struct bt_field_string *string_field = (void *) field;
+ const struct bt_field_string *string_field = (const void *) field;
BT_ASSERT_PRE_NON_NULL(field, "Field");
BT_ASSERT_PRE_FIELD_IS_SET(field, "Field");
return string_field->length;
}
-int bt_private_field_string_set_value(struct bt_private_field *priv_field,
- const char *value)
+int bt_field_string_set_value(struct bt_field *field, const char *value)
{
- struct bt_field *field = (void *) priv_field;
-
BT_ASSERT_PRE_NON_NULL(field, "Field");
BT_ASSERT_PRE_NON_NULL(value, "Value");
BT_ASSERT_PRE_FIELD_HOT(field, "Field");
BT_ASSERT_PRE_FIELD_HAS_CLASS_TYPE(field, BT_FIELD_CLASS_TYPE_STRING,
"Field");
- bt_private_field_string_clear(priv_field);
- return bt_private_field_string_append_with_length(priv_field, value,
+ bt_field_string_clear(field);
+ return bt_field_string_append_with_length(field, value,
(uint64_t) strlen(value));
}
-int bt_private_field_string_append(struct bt_private_field *field,
- const char *value)
+int bt_field_string_append(struct bt_field *field, const char *value)
{
- return bt_private_field_string_append_with_length(field,
+ return bt_field_string_append_with_length(field,
value, (uint64_t) strlen(value));
}
-int bt_private_field_string_append_with_length(
- struct bt_private_field *priv_field,
+int bt_field_string_append_with_length(struct bt_field *field,
const char *value, uint64_t length)
{
- struct bt_field *field = (void *) priv_field;
struct bt_field_string *string_field = (void *) field;
char *data;
uint64_t new_length;
return 0;
}
-int bt_private_field_string_clear(struct bt_private_field *priv_field)
+int bt_field_string_clear(struct bt_field *field)
{
- struct bt_field *field = (void *) priv_field;
struct bt_field_string *string_field = (void *) field;
BT_ASSERT_PRE_NON_NULL(field, "Field");
return 0;
}
-uint64_t bt_field_array_get_length(struct bt_field *field)
+uint64_t bt_field_array_get_length(const struct bt_field *field)
{
- struct bt_field_array *array_field = (void *) field;
+ const struct bt_field_array *array_field = (const void *) field;
BT_ASSERT_PRE_NON_NULL(field, "Field");
BT_ASSERT_PRE_FIELD_IS_ARRAY(field, "Field");
return array_field->length;
}
-int bt_private_field_dynamic_array_set_length(
- struct bt_private_field *priv_field, uint64_t length)
+int bt_field_dynamic_array_set_length(struct bt_field *field, uint64_t length)
{
int ret = 0;
- struct bt_field *field = (void *) priv_field;
struct bt_field_array *array_field = (void *) field;
BT_ASSERT_PRE_NON_NULL(field, "Field");
return ret;
}
-struct bt_field *bt_field_array_borrow_element_field_by_index(
+static inline
+struct bt_field *borrow_array_field_element_field_by_index(
struct bt_field *field, uint64_t index)
{
struct bt_field_array *array_field = (void *) field;
return array_field->fields->pdata[index];
}
-struct bt_private_field *
-bt_private_field_array_borrow_element_field_by_index(
- struct bt_private_field *field, uint64_t index)
+struct bt_field *bt_field_array_borrow_element_field_by_index(
+ struct bt_field *field, uint64_t index)
{
- return (void *) bt_field_array_borrow_element_field_by_index(
- (void *) field, index);
+ return borrow_array_field_element_field_by_index(field, index);
}
-struct bt_field *bt_field_structure_borrow_member_field_by_index(
+const struct bt_field *
+bt_field_array_borrow_element_field_by_index_const(
+ const struct bt_field *field, uint64_t index)
+{
+ return borrow_array_field_element_field_by_index((void *) field, index);
+}
+
+static inline
+struct bt_field *borrow_structure_field_member_field_by_index(
struct bt_field *field, uint64_t index)
{
struct bt_field_structure *struct_field = (void *) field;
return struct_field->fields->pdata[index];
}
-struct bt_private_field *
-bt_private_field_structure_borrow_member_field_by_index(
- struct bt_private_field *field, uint64_t index)
+struct bt_field *bt_field_structure_borrow_member_field_by_index(
+ struct bt_field *field, uint64_t index)
+{
+ return borrow_structure_field_member_field_by_index(field,
+ index);
+}
+
+const struct bt_field *
+bt_field_structure_borrow_member_field_by_index_const(
+ const struct bt_field *field, uint64_t index)
{
- return (void *) bt_field_structure_borrow_member_field_by_index(
+ return borrow_structure_field_member_field_by_index(
(void *) field, index);
}
-struct bt_field *bt_field_structure_borrow_member_field_by_name(
+static inline
+struct bt_field *borrow_structure_field_member_field_by_name(
struct bt_field *field, const char *name)
{
struct bt_field *ret_field = NULL;
return ret_field;
}
-struct bt_private_field *
-bt_private_field_structure_borrow_member_field_by_name(
- struct bt_private_field *field, const char *name)
+struct bt_field *bt_field_structure_borrow_member_field_by_name(
+ struct bt_field *field, const char *name)
+{
+ return borrow_structure_field_member_field_by_name(field, name);
+}
+
+const struct bt_field *bt_field_structure_borrow_member_field_by_name_const(
+ const struct bt_field *field, const char *name)
{
- return (void *) bt_field_structure_borrow_member_field_by_name(
+ return borrow_structure_field_member_field_by_name(
(void *) field, name);
}
-struct bt_field *bt_field_variant_borrow_selected_option_field(
+static inline
+struct bt_field *borrow_variant_field_selected_option_field(
struct bt_field *field)
{
struct bt_field_variant *var_field = (void *) field;
return var_field->selected_field;
}
-struct bt_private_field *
-bt_private_field_variant_borrow_selected_option_field(
- struct bt_private_field *field)
+struct bt_field *bt_field_variant_borrow_selected_option_field(
+ struct bt_field *field)
+{
+ return borrow_variant_field_selected_option_field(field);
+}
+
+const struct bt_field *bt_field_variant_borrow_selected_option_field_const(
+ const struct bt_field *field)
{
- return (void *) bt_field_variant_borrow_selected_option_field(
- (void *) field);
+ return borrow_variant_field_selected_option_field((void *) field);
}
-int bt_private_field_variant_select_option_field(
- struct bt_private_field *priv_field, uint64_t index)
+int bt_field_variant_select_option_field(
+ struct bt_field *field, uint64_t index)
{
- struct bt_field *field = (void *) priv_field;
struct bt_field_variant *var_field = (void *) field;
BT_ASSERT_PRE_NON_NULL(field, "Field");
}
uint64_t bt_field_variant_get_selected_option_field_index(
- struct bt_field *field)
+ const struct bt_field *field)
{
- struct bt_field_variant *var_field = (void *) field;
+ const struct bt_field_variant *var_field = (const void *) field;
BT_ASSERT_PRE_NON_NULL(field, "Field");
BT_ASSERT_PRE_FIELD_HAS_CLASS_TYPE(field,
}
BT_HIDDEN
-void _bt_field_set_is_frozen(struct bt_field *field,
+void _bt_field_set_is_frozen(const struct bt_field *field,
bool is_frozen)
{
BT_ASSERT(field);
BT_LIB_LOGD("Setting field object's frozen state: %!+f, is-frozen=%d",
field, is_frozen);
BT_ASSERT(field->methods->set_is_frozen);
- field->methods->set_is_frozen(field, is_frozen);
+ field->methods->set_is_frozen((void *) field, is_frozen);
}
static
-bool single_field_is_set(struct bt_field *field)
+bool single_field_is_set(const struct bt_field *field)
{
BT_ASSERT(field);
return field->is_set;
}
static
-bool structure_field_is_set(struct bt_field *field)
+bool structure_field_is_set(const struct bt_field *field)
{
bool is_set = true;
uint64_t i;
- struct bt_field_structure *struct_field = (void *) field;
+ const struct bt_field_structure *struct_field = (const void *) field;
BT_ASSERT(field);
}
static
-bool variant_field_is_set(struct bt_field *field)
+bool variant_field_is_set(const struct bt_field *field)
{
- struct bt_field_variant *var_field = (void *) field;
+ const struct bt_field_variant *var_field = (const void *) field;
bool is_set = false;
BT_ASSERT(field);
}
static
-bool array_field_is_set(struct bt_field *field)
+bool array_field_is_set(const struct bt_field *field)
{
bool is_set = true;
uint64_t i;
- struct bt_field_array *array_field = (void *) field;
+ const struct bt_field_array *array_field = (const void *) field;
BT_ASSERT(field);
#include <babeltrace/lib-logging-internal.h>
#include <babeltrace/assert-pre-internal.h>
+#include <babeltrace/trace-ir/packet-context-field.h>
#include <babeltrace/trace-ir/stream-class-internal.h>
-#include <babeltrace/trace-ir/private-packet-context-field.h>
#include <babeltrace/trace-ir/fields-internal.h>
#include <babeltrace/trace-ir/field-wrapper-internal.h>
#include <glib.h>
-struct bt_private_field *bt_private_packet_context_field_borrow_field(
- struct bt_private_packet_context_field *context_field)
+struct bt_field *bt_packet_context_field_borrow_field(
+ struct bt_packet_context_field *context_field)
{
struct bt_field_wrapper *field_wrapper = (void *) context_field;
return (void *) field_wrapper->field;
}
-void bt_private_packet_context_field_release(
- struct bt_private_packet_context_field *context_field)
+void bt_packet_context_field_release(
+ struct bt_packet_context_field *context_field)
{
struct bt_field_wrapper *field_wrapper = (void *) context_field;
bt_field_wrapper_destroy(field_wrapper);
}
-struct bt_private_packet_context_field *bt_private_packet_context_field_create(
- struct bt_private_stream_class *priv_stream_class)
+struct bt_packet_context_field *bt_packet_context_field_create(
+ struct bt_stream_class *priv_stream_class)
{
struct bt_stream_class *stream_class = (void *) priv_stream_class;
struct bt_field_wrapper *field_wrapper;
#include <babeltrace/lib-logging-internal.h>
#include <babeltrace/assert-pre-internal.h>
+#include <babeltrace/trace-ir/packet-header-field.h>
#include <babeltrace/trace-ir/trace-internal.h>
-#include <babeltrace/trace-ir/private-packet-header-field.h>
#include <babeltrace/trace-ir/field-wrapper-internal.h>
#include <babeltrace/trace-ir/fields-internal.h>
#include <glib.h>
-struct bt_private_field *bt_private_packet_header_field_borrow_field(
- struct bt_private_packet_header_field *header_field)
+struct bt_field *bt_packet_header_field_borrow_field(
+ struct bt_packet_header_field *header_field)
{
struct bt_field_wrapper *field_wrapper = (void *) header_field;
return (void *) field_wrapper->field;
}
-void bt_private_packet_header_field_release(
- struct bt_private_packet_header_field *header_field)
+void bt_packet_header_field_release(
+ struct bt_packet_header_field *header_field)
{
struct bt_field_wrapper *field_wrapper = (void *) header_field;
bt_field_wrapper_destroy(field_wrapper);
}
-struct bt_private_packet_header_field *bt_private_packet_header_field_create(
- struct bt_private_trace *priv_trace)
+struct bt_packet_header_field *bt_packet_header_field_create(
+ struct bt_trace *priv_trace)
{
struct bt_field_wrapper *field_wrapper;
struct bt_trace *trace = (void *) priv_trace;
#include <babeltrace/assert-pre-internal.h>
#include <babeltrace/trace-ir/fields-internal.h>
-#include <babeltrace/trace-ir/private-packet.h>
+#include <babeltrace/trace-ir/packet-const.h>
#include <babeltrace/trace-ir/packet.h>
#include <babeltrace/trace-ir/packet-internal.h>
#include <babeltrace/trace-ir/field-wrapper-internal.h>
return packet->stream;
}
-struct bt_private_stream *bt_private_packet_borrow_stream(
- struct bt_private_packet *packet)
+const struct bt_stream *bt_packet_borrow_stream_const(
+ const struct bt_packet *packet)
{
- return (void *) bt_packet_borrow_stream((void *) packet);
+ return bt_packet_borrow_stream((void *) packet);
}
struct bt_field *bt_packet_borrow_header_field(struct bt_packet *packet)
return packet->header_field ? packet->header_field->field : NULL;
}
-struct bt_private_field *bt_private_packet_borrow_header_field(
- struct bt_private_packet *packet)
+const struct bt_field *bt_packet_borrow_header_field_const(
+ const struct bt_packet *packet)
{
- return (void *) bt_packet_borrow_header_field((void *) packet);
+ return bt_packet_borrow_header_field((void *) packet);
}
struct bt_field *bt_packet_borrow_context_field(struct bt_packet *packet)
return packet->context_field ? packet->context_field->field : NULL;
}
-struct bt_private_field *bt_private_packet_borrow_context_field(
- struct bt_private_packet *packet)
+const struct bt_field *bt_packet_borrow_context_field_const(
+ const struct bt_packet *packet)
{
- return (void *) bt_packet_borrow_context_field((void *) packet);
+ return bt_packet_borrow_context_field((void *) packet);
}
BT_HIDDEN
-void _bt_packet_set_is_frozen(struct bt_packet *packet, bool is_frozen)
+void _bt_packet_set_is_frozen(const struct bt_packet *packet, bool is_frozen)
{
if (!packet) {
return;
is_frozen);
}
- packet->frozen = is_frozen;
+ ((struct bt_packet *) packet)->frozen = is_frozen;
}
static inline
return packet;
}
-struct bt_private_packet *bt_private_packet_create(
- struct bt_private_stream *priv_stream)
+struct bt_packet *bt_packet_create(struct bt_stream *stream)
{
- struct bt_stream *stream = (void *) priv_stream;
struct bt_packet *packet = NULL;
BT_ASSERT_PRE_NON_NULL(stream, "Stream");
return (void *) packet;
}
-int bt_private_packet_move_header_field(
- struct bt_private_packet *priv_packet,
- struct bt_private_packet_header_field *header_field)
+int bt_packet_move_header_field(struct bt_packet *packet,
+ struct bt_packet_header_field *header_field)
{
- struct bt_packet *packet = (void *) priv_packet;
struct bt_trace *trace;
struct bt_field_wrapper *field_wrapper = (void *) header_field;
return 0;
}
-int bt_private_packet_move_context_field(
- struct bt_private_packet *priv_packet,
- struct bt_private_packet_context_field *context_field)
+int bt_packet_move_context_field(struct bt_packet *packet,
+ struct bt_packet_context_field *context_field)
{
- struct bt_packet *packet = (void *) priv_packet;
struct bt_stream_class *stream_class;
struct bt_field_wrapper *field_wrapper = (void *) context_field;
return 0;
}
-void bt_private_packet_set_default_beginning_clock_value(
- struct bt_private_packet *priv_packet,
+void bt_packet_set_default_beginning_clock_value(struct bt_packet *packet,
uint64_t value_cycles)
{
- struct bt_packet *packet = (void *) priv_packet;
struct bt_stream_class *sc;
BT_ASSERT_PRE_NON_NULL(packet, "Packet");
}
enum bt_clock_value_status bt_packet_borrow_default_beginning_clock_value(
- struct bt_packet *packet, struct bt_clock_value **clock_value)
+ const struct bt_packet *packet,
+ const struct bt_clock_value **clock_value)
{
BT_ASSERT_PRE_NON_NULL(packet, "Packet");
BT_ASSERT_PRE_NON_NULL(clock_value, "Clock value (output)");
return BT_CLOCK_VALUE_STATUS_KNOWN;
}
-void bt_private_packet_set_default_end_clock_value(
- struct bt_private_packet *priv_packet,
+void bt_packet_set_default_end_clock_value(struct bt_packet *packet,
uint64_t value_cycles)
{
- struct bt_packet *packet = (void *) priv_packet;
struct bt_stream_class *sc;
BT_ASSERT_PRE_NON_NULL(packet, "Packet");
}
enum bt_clock_value_status bt_packet_borrow_default_end_clock_value(
- struct bt_packet *packet, struct bt_clock_value **clock_value)
+ const struct bt_packet *packet,
+ const struct bt_clock_value **clock_value)
{
BT_ASSERT_PRE_NON_NULL(packet, "Packet");
BT_ASSERT_PRE_NON_NULL(clock_value, "Clock value (output)");
}
enum bt_property_availability bt_packet_get_discarded_event_counter_snapshot(
- struct bt_packet *packet, uint64_t *value)
+ const struct bt_packet *packet, uint64_t *value)
{
BT_ASSERT_PRE_NON_NULL(packet, "Packet");
BT_ASSERT_PRE_NON_NULL(value, "Value (output)");
return packet->discarded_event_counter_snapshot.base.avail;
}
-void bt_private_packet_set_discarded_event_counter_snapshot(
- struct bt_private_packet *priv_packet, uint64_t value)
+void bt_packet_set_discarded_event_counter_snapshot(struct bt_packet *packet,
+ uint64_t value)
{
- struct bt_packet *packet = (void *) priv_packet;
-
BT_ASSERT_PRE_NON_NULL(packet, "Packet");
BT_ASSERT_PRE_PACKET_HOT(packet);
BT_ASSERT_PRE(packet->stream->class->packets_have_discarded_event_counter_snapshot,
}
enum bt_property_availability bt_packet_get_packet_counter_snapshot(
- struct bt_packet *packet, uint64_t *value)
+ const struct bt_packet *packet, uint64_t *value)
{
BT_ASSERT_PRE_NON_NULL(packet, "Packet");
BT_ASSERT_PRE_NON_NULL(value, "Value (output)");
return packet->packet_counter_snapshot.base.avail;
}
-void bt_private_packet_set_packet_counter_snapshot(
- struct bt_private_packet *priv_packet, uint64_t value)
+void bt_packet_set_packet_counter_snapshot(struct bt_packet *packet,
+ uint64_t value)
{
- struct bt_packet *packet = (void *) priv_packet;
-
BT_ASSERT_PRE_NON_NULL(packet, "Packet");
BT_ASSERT_PRE_PACKET_HOT(packet);
BT_ASSERT_PRE(packet->stream->class->packets_have_packet_counter_snapshot,
#include <babeltrace/object.h>
#include <babeltrace/trace-ir/field-classes-internal.h>
#include <babeltrace/trace-ir/field-path-internal.h>
-#include <babeltrace/trace-ir/field-path.h>
+#include <babeltrace/trace-ir/field-path-const.h>
#include <babeltrace/trace-ir/resolve-field-path-internal.h>
#include <limits.h>
#include <stdint.h>
#include <babeltrace/trace-ir/field-classes-internal.h>
#include <babeltrace/trace-ir/fields-internal.h>
#include <babeltrace/trace-ir/stream-class-internal.h>
-#include <babeltrace/trace-ir/private-trace.h>
+#include <babeltrace/trace-ir/trace-const.h>
#include <babeltrace/trace-ir/trace-internal.h>
#include <babeltrace/trace-ir/utils-internal.h>
#include <babeltrace/trace-ir/field-wrapper-internal.h>
BT_ASSERT_PRE_FUNC
static
-bool stream_class_id_is_unique(struct bt_trace *trace, uint64_t id)
+bool stream_class_id_is_unique(const struct bt_trace *trace, uint64_t id)
{
uint64_t i;
bool is_unique = true;
for (i = 0; i < trace->stream_classes->len; i++) {
- struct bt_stream_class *sc =
+ const struct bt_stream_class *sc =
trace->stream_classes->pdata[i];
if (sc->id == id) {
return stream_class;
}
-struct bt_private_stream_class *bt_private_stream_class_create(
- struct bt_private_trace *priv_trace)
+struct bt_stream_class *bt_stream_class_create(struct bt_trace *trace)
{
- struct bt_trace *trace = (void *) priv_trace;
-
BT_ASSERT_PRE_NON_NULL(trace, "Trace");
BT_ASSERT_PRE(trace->assigns_automatic_stream_class_id,
"Trace does not automatically assigns stream class IDs: "
"%![sc-]+t", trace);
- return (void *) create_stream_class_with_id(trace,
+ return create_stream_class_with_id(trace,
(uint64_t) trace->stream_classes->len);
}
-struct bt_private_stream_class *bt_private_stream_class_create_with_id(
- struct bt_private_trace *priv_trace, uint64_t id)
+struct bt_stream_class *bt_stream_class_create_with_id(
+ struct bt_trace *trace, uint64_t id)
{
- struct bt_trace *trace = (void *) priv_trace;
-
BT_ASSERT_PRE_NON_NULL(trace, "Trace");
BT_ASSERT_PRE(!trace->assigns_automatic_stream_class_id,
"Trace automatically assigns stream class IDs: "
"%![sc-]+t", trace);
- return (void *) create_stream_class_with_id(trace, id);
+ return create_stream_class_with_id(trace, id);
}
-struct bt_trace *bt_stream_class_borrow_trace(struct bt_stream_class *stream_class)
+struct bt_trace *bt_stream_class_borrow_trace(
+ struct bt_stream_class *stream_class)
{
BT_ASSERT_PRE_NON_NULL(stream_class, "Stream class");
return bt_stream_class_borrow_trace_inline(stream_class);
}
-struct bt_private_trace *bt_private_stream_class_borrow_trace(
- struct bt_private_stream_class *stream_class)
+const struct bt_trace *bt_stream_class_borrow_trace_const(
+ const struct bt_stream_class *stream_class)
{
- return (void *) bt_stream_class_borrow_trace((void *) stream_class);
+ return bt_stream_class_borrow_trace((void *) stream_class);
}
-const char *bt_stream_class_get_name(struct bt_stream_class *stream_class)
+const char *bt_stream_class_get_name(const struct bt_stream_class *stream_class)
{
BT_ASSERT_PRE_NON_NULL(stream_class, "Stream class");
return stream_class->name.value;
}
-int bt_private_stream_class_set_name(
- struct bt_private_stream_class *priv_stream_class,
+int bt_stream_class_set_name(
+ struct bt_stream_class *stream_class,
const char *name)
{
- struct bt_stream_class *stream_class = (void *) priv_stream_class;
-
BT_ASSERT_PRE_NON_NULL(stream_class, "Stream class");
BT_ASSERT_PRE_NON_NULL(name, "Name");
BT_ASSERT_PRE_STREAM_CLASS_HOT(stream_class);
return 0;
}
-uint64_t bt_stream_class_get_id(struct bt_stream_class *stream_class)
+uint64_t bt_stream_class_get_id(const struct bt_stream_class *stream_class)
{
BT_ASSERT_PRE_NON_NULL(stream_class, "Stream class");
return stream_class->id;
}
uint64_t bt_stream_class_get_event_class_count(
- struct bt_stream_class *stream_class)
+ const struct bt_stream_class *stream_class)
{
BT_ASSERT_PRE_NON_NULL(stream_class, "Stream class");
return (uint64_t) stream_class->event_classes->len;
return g_ptr_array_index(stream_class->event_classes, index);
}
-struct bt_private_event_class *
-bt_private_stream_class_borrow_event_class_by_index(
- struct bt_private_stream_class *stream_class, uint64_t index)
+const struct bt_event_class *
+bt_stream_class_borrow_event_class_by_index_const(
+ const struct bt_stream_class *stream_class, uint64_t index)
{
- return (void *) bt_stream_class_borrow_event_class_by_index(
+ return bt_stream_class_borrow_event_class_by_index(
(void *) stream_class, index);
}
return event_class;
}
-struct bt_private_event_class *
-bt_private_stream_class_borrow_event_class_by_id(
- struct bt_private_stream_class *stream_class, uint64_t id)
+const struct bt_event_class *
+bt_stream_class_borrow_event_class_by_id_const(
+ const struct bt_stream_class *stream_class, uint64_t id)
{
- return (void *) bt_stream_class_borrow_event_class_by_id(
+ return bt_stream_class_borrow_event_class_by_id(
(void *) stream_class, id);
}
-struct bt_field_class *bt_stream_class_borrow_packet_context_field_class(
- struct bt_stream_class *stream_class)
+const struct bt_field_class *
+bt_stream_class_borrow_packet_context_field_class_const(
+ const struct bt_stream_class *stream_class)
{
BT_ASSERT_PRE_NON_NULL(stream_class, "Stream class");
return stream_class->packet_context_fc;
}
-struct bt_private_field_class *
-bt_private_stream_class_borrow_packet_context_field_class(
- struct bt_private_stream_class *stream_class)
-{
- return (void *) bt_stream_class_borrow_packet_context_field_class(
- (void *) stream_class);
-}
-
-int bt_private_stream_class_set_packet_context_field_class(
- struct bt_private_stream_class *priv_stream_class,
- struct bt_private_field_class *priv_field_class)
+int bt_stream_class_set_packet_context_field_class(
+ struct bt_stream_class *stream_class,
+ struct bt_field_class *field_class)
{
int ret;
- struct bt_stream_class *stream_class = (void *) priv_stream_class;
- struct bt_field_class *field_class = (void *) priv_field_class;
struct bt_resolve_field_path_context resolve_ctx = {
.packet_header = NULL,
.packet_context = field_class,
return ret;
}
-struct bt_field_class *bt_stream_class_borrow_event_header_field_class(
- struct bt_stream_class *stream_class)
+const struct bt_field_class *bt_stream_class_borrow_event_header_field_class_const(
+ const struct bt_stream_class *stream_class)
{
BT_ASSERT_PRE_NON_NULL(stream_class, "Stream class");
return stream_class->event_header_fc;
}
-struct bt_private_field_class *
-bt_private_stream_class_borrow_event_header_field_class(
- struct bt_private_stream_class *stream_class)
-{
- return (void *) bt_stream_class_borrow_event_header_field_class(
- (void *) stream_class);
-}
-
-int bt_private_stream_class_set_event_header_field_class(
- struct bt_private_stream_class *priv_stream_class,
- struct bt_private_field_class *priv_field_class)
+int bt_stream_class_set_event_header_field_class(
+ struct bt_stream_class *stream_class,
+ struct bt_field_class *field_class)
{
int ret;
- struct bt_stream_class *stream_class = (void *) priv_stream_class;
- struct bt_field_class *field_class = (void *) priv_field_class;
struct bt_resolve_field_path_context resolve_ctx = {
.packet_header = NULL,
.packet_context = NULL,
return ret;
}
-struct bt_field_class *bt_stream_class_borrow_event_common_context_field_class(
- struct bt_stream_class *stream_class)
+const struct bt_field_class *
+bt_stream_class_borrow_event_common_context_field_class_const(
+ const struct bt_stream_class *stream_class)
{
BT_ASSERT_PRE_NON_NULL(stream_class, "Stream class");
return stream_class->event_common_context_fc;
}
-struct bt_private_field_class *
-bt_private_stream_class_borrow_event_common_context_field_class(
- struct bt_private_stream_class *stream_class)
-{
- return (void *) bt_stream_class_borrow_event_common_context_field_class(
- (void *) stream_class);
-}
-
-int bt_private_stream_class_set_event_common_context_field_class(
- struct bt_private_stream_class *priv_stream_class,
- struct bt_private_field_class *priv_field_class)
+int bt_stream_class_set_event_common_context_field_class(
+ struct bt_stream_class *stream_class,
+ struct bt_field_class *field_class)
{
int ret;
- struct bt_stream_class *stream_class = (void *) priv_stream_class;
- struct bt_field_class *field_class = (void *) priv_field_class;
struct bt_resolve_field_path_context resolve_ctx = {
.packet_header = NULL,
.packet_context = NULL,
}
BT_HIDDEN
-void _bt_stream_class_freeze(struct bt_stream_class *stream_class)
+void _bt_stream_class_freeze(const struct bt_stream_class *stream_class)
{
/* The field classes and default clock class are already frozen */
BT_ASSERT(stream_class);
BT_LIB_LOGD("Freezing stream class: %!+S", stream_class);
- stream_class->frozen = true;
+ ((struct bt_stream_class *) stream_class)->frozen = true;
}
-int bt_private_stream_class_set_default_clock_class(
- struct bt_private_stream_class *priv_stream_class,
+int bt_stream_class_set_default_clock_class(
+ struct bt_stream_class *stream_class,
struct bt_clock_class *clock_class)
{
- struct bt_stream_class *stream_class = (void *) priv_stream_class;
-
BT_ASSERT_PRE_NON_NULL(stream_class, "Stream class");
BT_ASSERT_PRE_NON_NULL(clock_class, "Clock class");
BT_ASSERT_PRE_STREAM_CLASS_HOT(stream_class);
return stream_class->default_clock_class;
}
+const struct bt_clock_class *bt_stream_class_borrow_default_clock_class_const(
+ const struct bt_stream_class *stream_class)
+{
+ BT_ASSERT_PRE_NON_NULL(stream_class, "Stream class");
+ return stream_class->default_clock_class;
+}
+
bt_bool bt_stream_class_assigns_automatic_event_class_id(
- struct bt_stream_class *stream_class)
+ const struct bt_stream_class *stream_class)
{
BT_ASSERT_PRE_NON_NULL(stream_class, "Stream class");
return (bt_bool) stream_class->assigns_automatic_event_class_id;
}
-void bt_private_stream_class_set_assigns_automatic_event_class_id(
- struct bt_private_stream_class *priv_stream_class,
+void bt_stream_class_set_assigns_automatic_event_class_id(
+ struct bt_stream_class *stream_class,
bt_bool value)
{
- struct bt_stream_class *stream_class = (void *) priv_stream_class;
-
BT_ASSERT_PRE_NON_NULL(stream_class, "Stream class");
BT_ASSERT_PRE_STREAM_CLASS_HOT(stream_class);
stream_class->assigns_automatic_event_class_id = (bool) value;
}
bt_bool bt_stream_class_assigns_automatic_stream_id(
- struct bt_stream_class *stream_class)
+ const struct bt_stream_class *stream_class)
{
BT_ASSERT_PRE_NON_NULL(stream_class, "Stream class");
return (bt_bool) stream_class->assigns_automatic_stream_id;
}
-void bt_private_stream_class_set_assigns_automatic_stream_id(
- struct bt_private_stream_class *priv_stream_class,
+void bt_stream_class_set_assigns_automatic_stream_id(
+ struct bt_stream_class *stream_class,
bt_bool value)
{
- struct bt_stream_class *stream_class = (void *) priv_stream_class;
-
BT_ASSERT_PRE_NON_NULL(stream_class, "Stream class");
BT_ASSERT_PRE_STREAM_CLASS_HOT(stream_class);
stream_class->assigns_automatic_stream_id = (bool) value;
}
bt_bool bt_stream_class_packets_have_discarded_event_counter_snapshot(
- struct bt_stream_class *stream_class)
+ const struct bt_stream_class *stream_class)
{
BT_ASSERT_PRE_NON_NULL(stream_class, "Stream class");
return (bt_bool) stream_class->packets_have_discarded_event_counter_snapshot;
}
-void bt_private_stream_class_set_packets_have_discarded_event_counter_snapshot(
- struct bt_private_stream_class *priv_stream_class,
+void bt_stream_class_set_packets_have_discarded_event_counter_snapshot(
+ struct bt_stream_class *stream_class,
bt_bool value)
{
- struct bt_stream_class *stream_class = (void *) priv_stream_class;
-
BT_ASSERT_PRE_NON_NULL(stream_class, "Stream class");
BT_ASSERT_PRE_STREAM_CLASS_HOT(stream_class);
stream_class->packets_have_discarded_event_counter_snapshot =
}
bt_bool bt_stream_class_packets_have_packet_counter_snapshot(
- struct bt_stream_class *stream_class)
+ const struct bt_stream_class *stream_class)
{
BT_ASSERT_PRE_NON_NULL(stream_class, "Stream class");
return (bt_bool) stream_class->packets_have_packet_counter_snapshot;
}
-void bt_private_stream_class_set_packets_have_packet_counter_snapshot(
- struct bt_private_stream_class *priv_stream_class,
+void bt_stream_class_set_packets_have_packet_counter_snapshot(
+ struct bt_stream_class *stream_class,
bt_bool value)
{
- struct bt_stream_class *stream_class = (void *) priv_stream_class;
-
BT_ASSERT_PRE_NON_NULL(stream_class, "Stream class");
BT_ASSERT_PRE_STREAM_CLASS_HOT(stream_class);
stream_class->packets_have_packet_counter_snapshot =
}
bt_bool bt_stream_class_packets_have_default_beginning_clock_value(
- struct bt_stream_class *stream_class)
+ const struct bt_stream_class *stream_class)
{
BT_ASSERT_PRE_NON_NULL(stream_class, "Stream class");
return (bt_bool) stream_class->packets_have_default_beginning_cv;
}
-void bt_private_stream_class_set_packets_have_default_beginning_clock_value(
- struct bt_private_stream_class *priv_stream_class,
+void bt_stream_class_set_packets_have_default_beginning_clock_value(
+ struct bt_stream_class *stream_class,
bt_bool value)
{
- struct bt_stream_class *stream_class = (void *) priv_stream_class;
-
BT_ASSERT_PRE_NON_NULL(stream_class, "Stream class");
BT_ASSERT_PRE_STREAM_CLASS_HOT(stream_class);
BT_ASSERT_PRE(!value || stream_class->default_clock_class,
}
bt_bool bt_stream_class_packets_have_default_end_clock_value(
- struct bt_stream_class *stream_class)
+ const struct bt_stream_class *stream_class)
{
BT_ASSERT_PRE_NON_NULL(stream_class, "Stream class");
return (bt_bool) stream_class->packets_have_default_end_cv;
}
-void bt_private_stream_class_set_packets_have_default_end_clock_value(
- struct bt_private_stream_class *priv_stream_class,
+void bt_stream_class_set_packets_have_default_end_clock_value(
+ struct bt_stream_class *stream_class,
bt_bool value)
{
- struct bt_stream_class *stream_class = (void *) priv_stream_class;
-
BT_ASSERT_PRE_NON_NULL(stream_class, "Stream class");
BT_ASSERT_PRE_STREAM_CLASS_HOT(stream_class);
BT_ASSERT_PRE(!value || stream_class->default_clock_class,
}
bt_bool bt_stream_class_default_clock_is_always_known(
- struct bt_stream_class *stream_class)
+ const struct bt_stream_class *stream_class)
{
/* BT_CLOCK_VALUE_STATUS_UNKNOWN is not supported as of 2.0 */
return BT_TRUE;
#include <babeltrace/lib-logging-internal.h>
#include <babeltrace/assert-pre-internal.h>
-#include <babeltrace/trace-ir/private-stream.h>
+#include <babeltrace/trace-ir/stream-const.h>
#include <babeltrace/trace-ir/stream.h>
#include <babeltrace/trace-ir/stream-internal.h>
#include <babeltrace/trace-ir/stream-class.h>
return stream;
}
-struct bt_private_stream *bt_private_stream_create(
- struct bt_private_stream_class *priv_stream_class)
+struct bt_stream *bt_stream_create(struct bt_stream_class *stream_class)
{
- struct bt_stream_class *stream_class = (void *) priv_stream_class;
uint64_t id;
BT_ASSERT_PRE_NON_NULL(stream_class, "Stream class");
id = bt_trace_get_automatic_stream_id(
bt_stream_class_borrow_trace_inline(stream_class),
stream_class);
- return (void *) create_stream_with_id(stream_class, id);
+ return create_stream_with_id(stream_class, id);
}
-struct bt_private_stream *bt_private_stream_create_with_id(
- struct bt_private_stream_class *priv_stream_class,
+struct bt_stream *bt_stream_create_with_id(struct bt_stream_class *stream_class,
uint64_t id)
{
- struct bt_stream_class *stream_class = (void *) priv_stream_class;
-
BT_ASSERT_PRE(!stream_class->assigns_automatic_stream_id,
"Stream class automatically assigns stream IDs: "
"%![sc-]+S", stream_class);
- return (void *) create_stream_with_id(stream_class, id);
+ return create_stream_with_id(stream_class, id);
}
struct bt_stream_class *bt_stream_borrow_class(struct bt_stream *stream)
return stream->class;
}
-struct bt_private_stream_class *bt_private_stream_borrow_class(
- struct bt_private_stream *priv_stream)
+const struct bt_stream_class *bt_stream_borrow_class_const(
+ const struct bt_stream *stream)
{
- return (void *) bt_stream_borrow_class((void *) priv_stream);
+ return bt_stream_borrow_class((void *) stream);
}
-const char *bt_stream_get_name(struct bt_stream *stream)
+const char *bt_stream_get_name(const struct bt_stream *stream)
{
BT_ASSERT_PRE_NON_NULL(stream, "Stream class");
return stream->name.value;
}
-int bt_private_stream_set_name(struct bt_private_stream *priv_stream,
- const char *name)
+int bt_stream_set_name(struct bt_stream *stream, const char *name)
{
- struct bt_stream *stream = (void *) priv_stream;
-
BT_ASSERT_PRE_NON_NULL(stream, "Clock class");
BT_ASSERT_PRE_NON_NULL(name, "Name");
BT_ASSERT_PRE_STREAM_HOT(stream);
return 0;
}
-uint64_t bt_stream_get_id(struct bt_stream *stream)
+uint64_t bt_stream_get_id(const struct bt_stream *stream)
{
BT_ASSERT_PRE_NON_NULL(stream, "Stream class");
return stream->id;
}
BT_HIDDEN
-void _bt_stream_freeze(struct bt_stream *stream)
+void _bt_stream_freeze(const struct bt_stream *stream)
{
/* The field classes and default clock class are already frozen */
BT_ASSERT(stream);
BT_LIB_LOGD("Freezing stream: %!+s", stream);
- stream->frozen = true;
+ ((struct bt_stream *) stream)->frozen = true;
}
#include <babeltrace/lib-logging-internal.h>
#include <babeltrace/assert-pre-internal.h>
-#include <babeltrace/trace-ir/private-trace.h>
+#include <babeltrace/trace-ir/trace-const.h>
#include <babeltrace/trace-ir/trace-internal.h>
#include <babeltrace/trace-ir/clock-class-internal.h>
#include <babeltrace/trace-ir/stream-internal.h>
#include <stdlib.h>
struct bt_trace_is_static_listener_elem {
- bt_private_trace_is_static_listener func;
- bt_private_trace_listener_removed removed;
+ bt_trace_is_static_listener_func func;
+ bt_trace_listener_removed_func removed;
void *data;
};
bt_field_wrapper_destroy(field_wrapper);
}
-struct bt_private_trace *bt_private_trace_create(void)
+struct bt_trace *bt_trace_create(void)
{
struct bt_trace *trace = NULL;
int ret;
return (void *) trace;
}
-const char *bt_trace_get_name(struct bt_trace *trace)
+const char *bt_trace_get_name(const struct bt_trace *trace)
{
BT_ASSERT_PRE_NON_NULL(trace, "Trace");
return trace->name.value;
}
-int bt_private_trace_set_name(struct bt_private_trace *priv_trace,
- const char *name)
+int bt_trace_set_name(struct bt_trace *trace, const char *name)
{
- struct bt_trace *trace = (void *) priv_trace;
-
BT_ASSERT_PRE_NON_NULL(trace, "Trace");
BT_ASSERT_PRE_NON_NULL(name, "Name");
BT_ASSERT_PRE_TRACE_HOT(trace);
return 0;
}
-bt_uuid bt_trace_get_uuid(struct bt_trace *trace)
+bt_uuid bt_trace_get_uuid(const struct bt_trace *trace)
{
BT_ASSERT_PRE_NON_NULL(trace, "Trace");
return trace->uuid.value;
}
-void bt_private_trace_set_uuid(struct bt_private_trace *priv_trace,
- bt_uuid uuid)
+void bt_trace_set_uuid(struct bt_trace *trace, bt_uuid uuid)
{
- struct bt_trace *trace = (void *) priv_trace;
-
BT_ASSERT_PRE_NON_NULL(trace, "Trace");
BT_ASSERT_PRE_NON_NULL(uuid, "UUID");
BT_ASSERT_PRE_TRACE_HOT(trace);
BT_ASSERT_FUNC
static
-bool trace_has_environment_entry(struct bt_trace *trace, const char *name)
+bool trace_has_environment_entry(const struct bt_trace *trace, const char *name)
{
BT_ASSERT(trace);
return ret;
}
-int bt_private_trace_set_environment_entry_string(
- struct bt_private_trace *priv_trace,
+int bt_trace_set_environment_entry_string(
+ struct bt_trace *trace,
const char *name, const char *value)
{
int ret;
struct bt_value *value_obj;
- struct bt_trace *trace = (void *) priv_trace;
-
BT_ASSERT_PRE_NON_NULL(trace, "Trace");
BT_ASSERT_PRE_NON_NULL(name, "Name");
BT_ASSERT_PRE_NON_NULL(value, "Value");
return ret;
}
-int bt_private_trace_set_environment_entry_integer(
- struct bt_private_trace *priv_trace,
+int bt_trace_set_environment_entry_integer(struct bt_trace *trace,
const char *name, int64_t value)
{
int ret;
struct bt_value *value_obj;
- struct bt_trace *trace = (void *) priv_trace;
-
BT_ASSERT_PRE_NON_NULL(trace, "Trace");
BT_ASSERT_PRE_NON_NULL(name, "Name");
value_obj = bt_value_integer_create_init(value);
return ret;
}
-uint64_t bt_trace_get_environment_entry_count(struct bt_trace *trace)
+uint64_t bt_trace_get_environment_entry_count(const struct bt_trace *trace)
{
int64_t ret;
return (uint64_t) ret;
}
-void bt_trace_borrow_environment_entry_by_index(
- struct bt_trace *trace, uint64_t index,
+void bt_trace_borrow_environment_entry_by_index_const(
+ const struct bt_trace *trace, uint64_t index,
const char **name, const struct bt_value **value)
{
BT_ASSERT_PRE_NON_NULL(trace, "Trace");
BT_ASSERT(*name);
}
-void bt_private_trace_borrow_environment_entry_by_index(
- struct bt_private_trace *trace, uint64_t index,
- const char **name, const struct bt_value **value)
-{
- bt_trace_borrow_environment_entry_by_index((void *) trace,
- index, name, (void *) value);
-}
-
-const struct bt_value *bt_trace_borrow_environment_entry_value_by_name(
- struct bt_trace *trace, const char *name)
+const struct bt_value *bt_trace_borrow_environment_entry_value_by_name_const(
+ const struct bt_trace *trace, const char *name)
{
BT_ASSERT_PRE_NON_NULL(trace, "Trace");
BT_ASSERT_PRE_NON_NULL(name, "Name");
name);
}
-const struct bt_value *
-bt_private_trace_borrow_environment_entry_value_by_name(
- struct bt_private_trace *trace, const char *name)
-{
- return (void *) bt_trace_borrow_environment_entry_value_by_name(
- (void *) trace, name);
-}
-
-uint64_t bt_trace_get_stream_count(struct bt_trace *trace)
+uint64_t bt_trace_get_stream_count(const struct bt_trace *trace)
{
BT_ASSERT_PRE_NON_NULL(trace, "Trace");
return (uint64_t) trace->streams->len;
return g_ptr_array_index(trace->streams, index);
}
-struct bt_private_stream *bt_private_trace_borrow_stream_by_index(
- struct bt_private_trace *trace, uint64_t index)
+const struct bt_stream *bt_trace_borrow_stream_by_index_const(
+ const struct bt_trace *trace, uint64_t index)
{
- return (void *) bt_trace_borrow_stream_by_index((void *) trace, index);
+ return bt_trace_borrow_stream_by_index((void *) trace, index);
}
-struct bt_stream *bt_trace_borrow_stream_by_id(
- struct bt_trace *trace, uint64_t id)
+struct bt_stream *bt_trace_borrow_stream_by_id(struct bt_trace *trace,
+ uint64_t id)
{
struct bt_stream *stream = NULL;
uint64_t i;
return stream;
}
-struct bt_private_stream *bt_private_trace_borrow_private_stream_by_id(
- struct bt_private_trace *trace, uint64_t id)
+const struct bt_stream *bt_trace_borrow_stream_by_id_const(
+ const struct bt_trace *trace, uint64_t id)
{
- return (void *) bt_trace_borrow_stream_by_id((void *) trace, id);
+ return bt_trace_borrow_stream_by_id((void *) trace, id);
}
-uint64_t bt_trace_get_stream_class_count(struct bt_trace *trace)
+uint64_t bt_trace_get_stream_class_count(const struct bt_trace *trace)
{
BT_ASSERT_PRE_NON_NULL(trace, "Trace");
return (uint64_t) trace->stream_classes->len;
return g_ptr_array_index(trace->stream_classes, index);
}
-struct bt_private_stream_class *
-bt_private_trace_borrow_stream_class_by_index(
- struct bt_private_trace *trace, uint64_t index)
+const struct bt_stream_class *
+bt_trace_borrow_stream_class_by_index_const(
+ const struct bt_trace *trace, uint64_t index)
{
- return (void *) bt_trace_borrow_stream_class_by_index(
+ return bt_trace_borrow_stream_class_by_index(
(void *) trace, index);
}
return stream_class;
}
-struct bt_private_stream_class *
-bt_private_trace_borrow_stream_class_by_id(
- struct bt_private_trace *trace, uint64_t id)
+const struct bt_stream_class *
+bt_trace_borrow_stream_class_by_id_const(
+ const struct bt_trace *trace, uint64_t id)
{
- return (void *) bt_trace_borrow_stream_class_by_id((void *) trace, id);
+ return bt_trace_borrow_stream_class_by_id((void *) trace, id);
}
-struct bt_field_class *bt_trace_borrow_packet_header_field_class(
- struct bt_trace *trace)
+const struct bt_field_class *bt_trace_borrow_packet_header_field_class_const(
+ const struct bt_trace *trace)
{
BT_ASSERT_PRE_NON_NULL(trace, "Trace");
return trace->packet_header_fc;
}
-int bt_private_trace_set_packet_header_field_class(
- struct bt_private_trace *priv_trace,
- struct bt_private_field_class *priv_field_class)
+int bt_trace_set_packet_header_field_class(
+ struct bt_trace *trace,
+ struct bt_field_class *field_class)
{
int ret;
- struct bt_trace *trace = (void *) priv_trace;
- struct bt_field_class *field_class = (void *) priv_field_class;
struct bt_resolve_field_path_context resolve_ctx = {
.packet_header = field_class,
.packet_context = NULL,
return ret;
}
-bt_bool bt_trace_is_static(struct bt_trace *trace)
+bt_bool bt_trace_is_static(const struct bt_trace *trace)
{
BT_ASSERT_PRE_NON_NULL(trace, "Trace");
return (bt_bool) trace->is_static;
}
-int bt_private_trace_make_static(struct bt_private_trace *priv_trace)
-{
- struct bt_trace *trace = (void *) priv_trace;
- uint64_t i;
+int bt_trace_make_static(struct bt_trace *trace)
+{ uint64_t i;
BT_ASSERT_PRE_NON_NULL(trace, "Trace");
trace->is_static = true;
return 0;
}
-int bt_private_trace_add_is_static_listener(
- struct bt_private_trace *priv_trace,
- bt_private_trace_is_static_listener listener,
- bt_private_trace_listener_removed listener_removed, void *data,
+int bt_trace_add_is_static_listener(
+ const struct bt_trace *c_trace,
+ bt_trace_is_static_listener_func listener,
+ bt_trace_listener_removed_func listener_removed, void *data,
uint64_t *listener_id)
{
- struct bt_trace *trace = (void *) priv_trace;
+ struct bt_trace *trace = (void *) c_trace;
uint64_t i;
struct bt_trace_is_static_listener_elem new_elem = {
.func = listener,
BT_ASSERT_PRE_FUNC
static
-bool has_listener_id(struct bt_trace *trace, uint64_t listener_id)
+bool has_listener_id(const struct bt_trace *trace, uint64_t listener_id)
{
BT_ASSERT(listener_id < trace->is_static_listeners->len);
return (&g_array_index(trace->is_static_listeners,
listener_id))->func != NULL;
}
-int bt_private_trace_remove_is_static_listener(
- struct bt_private_trace *priv_trace, uint64_t listener_id)
+int bt_trace_remove_is_static_listener(const struct bt_trace *c_trace,
+ uint64_t listener_id)
{
- struct bt_trace *trace = (void *) priv_trace;
+ struct bt_trace *trace = (void *) c_trace;
struct bt_trace_is_static_listener_elem *elem;
BT_ASSERT_PRE_NON_NULL(trace, "Trace");
}
BT_HIDDEN
-void _bt_trace_freeze(struct bt_trace *trace)
+void _bt_trace_freeze(const struct bt_trace *trace)
{
/* The packet header field classe is already frozen */
BT_ASSERT(trace);
BT_LIB_LOGD("Freezing trace: %!+t", trace);
- trace->frozen = true;
+ ((struct bt_trace *) trace)->frozen = true;
}
-bt_bool bt_trace_assigns_automatic_stream_class_id(struct bt_trace *trace)
+bt_bool bt_trace_assigns_automatic_stream_class_id(const struct bt_trace *trace)
{
BT_ASSERT_PRE_NON_NULL(trace, "Trace");
return (bt_bool) trace->assigns_automatic_stream_class_id;
}
-void bt_private_trace_set_assigns_automatic_stream_class_id(
- struct bt_private_trace *priv_trace, bt_bool value)
+void bt_trace_set_assigns_automatic_stream_class_id(struct bt_trace *trace,
+ bt_bool value)
{
- struct bt_trace *trace = (void *) priv_trace;
-
BT_ASSERT_PRE_NON_NULL(trace, "Trace");
BT_ASSERT_PRE_TRACE_HOT(trace);
trace->assigns_automatic_stream_class_id = (bool) value;
}
BT_HIDDEN
-uint64_t bt_trace_get_automatic_stream_id(struct bt_trace *trace,
- struct bt_stream_class *stream_class)
+uint64_t bt_trace_get_automatic_stream_id(const struct bt_trace *trace,
+ const struct bt_stream_class *stream_class)
{
gpointer orig_key;
gpointer value;
}
enum bt_value_status bt_value_map_foreach_entry(struct bt_value *map_obj,
- bt_value_map_foreach_entry_cb cb, void *data)
+ bt_value_map_foreach_entry_func func, void *data)
{
enum bt_value_status ret = BT_VALUE_STATUS_OK;
gpointer key, element_obj;
struct bt_value_map *typed_map_obj = BT_VALUE_TO_MAP(map_obj);
BT_ASSERT_PRE_NON_NULL(map_obj, "Value object");
- BT_ASSERT_PRE_NON_NULL(cb, "Callback");
+ BT_ASSERT_PRE_NON_NULL(func, "Callback");
BT_ASSERT_PRE_VALUE_IS_TYPE(map_obj, BT_VALUE_TYPE_MAP);
g_hash_table_iter_init(&iter, typed_map_obj->ght);
while (g_hash_table_iter_next(&iter, &key, &element_obj)) {
const char *key_str = g_quark_to_string(GPOINTER_TO_UINT(key));
- if (!cb(key_str, element_obj, data)) {
+ if (!func(key_str, element_obj, data)) {
BT_LOGV("User canceled the loop: key=\"%s\", "
"value-addr=%p, data=%p",
key_str, element_obj, data);
enum bt_value_status bt_value_map_foreach_entry_const(
const struct bt_value *map_obj,
- bt_value_map_foreach_entry_const_cb cb, void *data)
+ bt_value_map_foreach_entry_const_func func, void *data)
{
return bt_value_map_foreach_entry((void *) map_obj,
- (bt_value_map_foreach_entry_cb) cb, data);
+ (bt_value_map_foreach_entry_func) func, data);
}
struct extend_map_element_data {
void ctf_visitor_generate_ir_destroy(struct ctf_visitor_generate_ir *visitor);
BT_HIDDEN
-struct bt_private_trace *ctf_visitor_generate_ir_get_ir_trace(
+struct bt_trace *ctf_visitor_generate_ir_get_ir_trace(
struct ctf_visitor_generate_ir *visitor);
BT_HIDDEN
#include "ctf-meta-visitors.h"
static inline
-struct bt_private_field_class *ctf_field_class_to_ir(struct ctf_field_class *fc,
+struct bt_field_class *ctf_field_class_to_ir(struct ctf_field_class *fc,
struct ctf_trace_class *tc,
struct ctf_stream_class *sc,
struct ctf_event_class *ec);
static inline
void ctf_field_class_int_set_props(struct ctf_field_class_int *fc,
- struct bt_private_field_class *ir_fc)
+ struct bt_field_class *ir_fc)
{
- bt_private_field_class_integer_set_field_value_range(ir_fc,
+ bt_field_class_integer_set_field_value_range(ir_fc,
fc->base.size);
- bt_private_field_class_integer_set_preferred_display_base(ir_fc,
+ bt_field_class_integer_set_preferred_display_base(ir_fc,
fc->disp_base);
}
static inline
-struct bt_private_field_class *ctf_field_class_int_to_ir(
+struct bt_field_class *ctf_field_class_int_to_ir(
struct ctf_field_class_int *fc)
{
- struct bt_private_field_class *ir_fc;
+ struct bt_field_class *ir_fc;
if (fc->is_signed) {
- ir_fc = bt_private_field_class_signed_integer_create();
+ ir_fc = bt_field_class_signed_integer_create();
} else {
- ir_fc = bt_private_field_class_unsigned_integer_create();
+ ir_fc = bt_field_class_unsigned_integer_create();
}
BT_ASSERT(ir_fc);
}
static inline
-struct bt_private_field_class *ctf_field_class_enum_to_ir(
+struct bt_field_class *ctf_field_class_enum_to_ir(
struct ctf_field_class_enum *fc)
{
int ret;
- struct bt_private_field_class *ir_fc;
+ struct bt_field_class *ir_fc;
uint64_t i;
if (fc->base.is_signed) {
- ir_fc = bt_private_field_class_signed_enumeration_create();
+ ir_fc = bt_field_class_signed_enumeration_create();
} else {
- ir_fc = bt_private_field_class_unsigned_enumeration_create();
+ ir_fc = bt_field_class_unsigned_enumeration_create();
}
BT_ASSERT(ir_fc);
ctf_field_class_enum_borrow_mapping_by_index(fc, i);
if (fc->base.is_signed) {
- ret = bt_private_field_class_signed_enumeration_map_range(
+ ret = bt_field_class_signed_enumeration_map_range(
ir_fc, mapping->label->str,
mapping->range.lower.i, mapping->range.upper.i);
} else {
- ret = bt_private_field_class_unsigned_enumeration_map_range(
+ ret = bt_field_class_unsigned_enumeration_map_range(
ir_fc, mapping->label->str,
mapping->range.lower.u, mapping->range.upper.u);
}
}
static inline
-struct bt_private_field_class *ctf_field_class_float_to_ir(
+struct bt_field_class *ctf_field_class_float_to_ir(
struct ctf_field_class_float *fc)
{
- struct bt_private_field_class *ir_fc;
+ struct bt_field_class *ir_fc;
- ir_fc = bt_private_field_class_real_create();
+ ir_fc = bt_field_class_real_create();
BT_ASSERT(ir_fc);
if (fc->base.size == 32) {
- bt_private_field_class_real_set_is_single_precision(ir_fc,
+ bt_field_class_real_set_is_single_precision(ir_fc,
BT_TRUE);
}
}
static inline
-struct bt_private_field_class *ctf_field_class_string_to_ir(
+struct bt_field_class *ctf_field_class_string_to_ir(
struct ctf_field_class_string *fc)
{
- struct bt_private_field_class *ir_fc =
- bt_private_field_class_string_create();
+ struct bt_field_class *ir_fc =
+ bt_field_class_string_create();
BT_ASSERT(ir_fc);
return ir_fc;
}
static inline
-struct bt_private_field_class *ctf_field_class_struct_to_ir(
+struct bt_field_class *ctf_field_class_struct_to_ir(
struct ctf_field_class_struct *fc,
struct ctf_trace_class *tc,
struct ctf_stream_class *sc,
struct ctf_event_class *ec)
{
int ret;
- struct bt_private_field_class *ir_fc =
- bt_private_field_class_structure_create();
+ struct bt_field_class *ir_fc =
+ bt_field_class_structure_create();
uint64_t i;
BT_ASSERT(ir_fc);
for (i = 0; i < fc->members->len; i++) {
struct ctf_named_field_class *named_fc =
ctf_field_class_struct_borrow_member_by_index(fc, i);
- struct bt_private_field_class *member_ir_fc;
+ struct bt_field_class *member_ir_fc;
if (!named_fc->fc->in_ir) {
continue;
member_ir_fc = ctf_field_class_to_ir(named_fc->fc, tc, sc, ec);
BT_ASSERT(member_ir_fc);
- ret = bt_private_field_class_structure_append_member(
+ ret = bt_field_class_structure_append_member(
ir_fc, named_fc->name->str, member_ir_fc);
BT_ASSERT(ret == 0);
bt_object_put_ref(member_ir_fc);
}
static inline
-struct bt_private_field_class *borrow_ir_ft_from_field_path(
+struct bt_field_class *borrow_ir_ft_from_field_path(
struct ctf_field_path *field_path,
struct ctf_trace_class *tc,
struct ctf_stream_class *sc,
struct ctf_event_class *ec)
{
- struct bt_private_field_class *ir_fc = NULL;
+ struct bt_field_class *ir_fc = NULL;
struct ctf_field_class *fc = ctf_field_path_borrow_field_class(
field_path, tc, sc, ec);
}
static inline
-struct bt_private_field_class *ctf_field_class_variant_to_ir(
+struct bt_field_class *ctf_field_class_variant_to_ir(
struct ctf_field_class_variant *fc,
struct ctf_trace_class *tc,
struct ctf_stream_class *sc,
struct ctf_event_class *ec)
{
int ret;
- struct bt_private_field_class *ir_fc =
- bt_private_field_class_variant_create();
+ struct bt_field_class *ir_fc =
+ bt_field_class_variant_create();
uint64_t i;
BT_ASSERT(ir_fc);
- ret = bt_private_field_class_variant_set_selector_field_class(
+ ret = bt_field_class_variant_set_selector_field_class(
ir_fc, borrow_ir_ft_from_field_path(&fc->tag_path, tc, sc, ec));
BT_ASSERT(ret == 0);
for (i = 0; i < fc->options->len; i++) {
struct ctf_named_field_class *named_fc =
ctf_field_class_variant_borrow_option_by_index(fc, i);
- struct bt_private_field_class *option_ir_fc;
+ struct bt_field_class *option_ir_fc;
BT_ASSERT(named_fc->fc->in_ir);
option_ir_fc = ctf_field_class_to_ir(named_fc->fc, tc, sc, ec);
BT_ASSERT(option_ir_fc);
- ret = bt_private_field_class_variant_append_private_option(
+ ret = bt_field_class_variant_append_option(
ir_fc, named_fc->name->str, option_ir_fc);
BT_ASSERT(ret == 0);
bt_object_put_ref(option_ir_fc);
}
static inline
-struct bt_private_field_class *ctf_field_class_array_to_ir(
+struct bt_field_class *ctf_field_class_array_to_ir(
struct ctf_field_class_array *fc,
struct ctf_trace_class *tc,
struct ctf_stream_class *sc,
struct ctf_event_class *ec)
{
- struct bt_private_field_class *ir_fc;
- struct bt_private_field_class *elem_ir_fc;
+ struct bt_field_class *ir_fc;
+ struct bt_field_class *elem_ir_fc;
if (fc->base.is_text) {
- ir_fc = bt_private_field_class_string_create();
+ ir_fc = bt_field_class_string_create();
BT_ASSERT(ir_fc);
goto end;
}
elem_ir_fc = ctf_field_class_to_ir(fc->base.elem_fc, tc, sc, ec);
BT_ASSERT(elem_ir_fc);
- ir_fc = bt_private_field_class_static_array_create(elem_ir_fc,
+ ir_fc = bt_field_class_static_array_create(elem_ir_fc,
fc->length);
BT_ASSERT(ir_fc);
bt_object_put_ref(elem_ir_fc);
}
static inline
-struct bt_private_field_class *ctf_field_class_sequence_to_ir(
+struct bt_field_class *ctf_field_class_sequence_to_ir(
struct ctf_field_class_sequence *fc,
struct ctf_trace_class *tc,
struct ctf_stream_class *sc,
struct ctf_event_class *ec)
{
int ret;
- struct bt_private_field_class *ir_fc;
- struct bt_private_field_class *elem_ir_fc;
+ struct bt_field_class *ir_fc;
+ struct bt_field_class *elem_ir_fc;
if (fc->base.is_text) {
- ir_fc = bt_private_field_class_string_create();
+ ir_fc = bt_field_class_string_create();
BT_ASSERT(ir_fc);
goto end;
}
elem_ir_fc = ctf_field_class_to_ir(fc->base.elem_fc, tc, sc, ec);
BT_ASSERT(elem_ir_fc);
- ir_fc = bt_private_field_class_dynamic_array_create(elem_ir_fc);
+ ir_fc = bt_field_class_dynamic_array_create(elem_ir_fc);
BT_ASSERT(ir_fc);
bt_object_put_ref(elem_ir_fc);
BT_ASSERT(ir_fc);
- ret = bt_private_field_class_dynamic_array_set_length_field_class(
+ ret = bt_field_class_dynamic_array_set_length_field_class(
ir_fc,
borrow_ir_ft_from_field_path(&fc->length_path, tc, sc, ec));
BT_ASSERT(ret == 0);
}
static inline
-struct bt_private_field_class *ctf_field_class_to_ir(struct ctf_field_class *fc,
+struct bt_field_class *ctf_field_class_to_ir(struct ctf_field_class *fc,
struct ctf_trace_class *tc,
struct ctf_stream_class *sc,
struct ctf_event_class *ec)
{
- struct bt_private_field_class *ir_fc = NULL;
+ struct bt_field_class *ir_fc = NULL;
BT_ASSERT(fc);
BT_ASSERT(fc->in_ir);
}
static inline
-struct bt_private_field_class *scope_ctf_field_class_to_ir(struct ctf_field_class *fc,
+struct bt_field_class *scope_ctf_field_class_to_ir(struct ctf_field_class *fc,
struct ctf_trace_class *tc,
struct ctf_stream_class *sc,
struct ctf_event_class *ec)
{
- struct bt_private_field_class *ir_fc = NULL;
+ struct bt_field_class *ir_fc = NULL;
if (!fc) {
goto end;
}
static inline
-struct bt_private_event_class *ctf_event_class_to_ir(struct ctf_event_class *ec,
- struct bt_private_stream_class *ir_sc, struct ctf_trace_class *tc,
+struct bt_event_class *ctf_event_class_to_ir(struct ctf_event_class *ec,
+ struct bt_stream_class *ir_sc, struct ctf_trace_class *tc,
struct ctf_stream_class *sc)
{
int ret;
- struct bt_private_event_class *ir_ec = NULL;
+ struct bt_event_class *ir_ec = NULL;
if (ec->is_translated) {
- ir_ec = bt_private_stream_class_borrow_event_class_by_id(
+ ir_ec = bt_stream_class_borrow_event_class_by_id(
ir_sc, ec->id);
BT_ASSERT(ir_ec);
goto end;
}
- ir_ec = bt_private_event_class_create_with_id(ir_sc, ec->id);
+ ir_ec = bt_event_class_create_with_id(ir_sc, ec->id);
BT_ASSERT(ir_ec);
bt_object_put_ref(ir_ec);
if (ec->spec_context_fc) {
- struct bt_private_field_class *ir_fc = scope_ctf_field_class_to_ir(
+ struct bt_field_class *ir_fc = scope_ctf_field_class_to_ir(
ec->spec_context_fc, tc, sc, ec);
if (ir_fc) {
- ret = bt_private_event_class_set_specific_context_field_class(
+ ret = bt_event_class_set_specific_context_field_class(
ir_ec, ir_fc);
BT_ASSERT(ret == 0);
bt_object_put_ref(ir_fc);
}
if (ec->payload_fc) {
- struct bt_private_field_class *ir_fc = scope_ctf_field_class_to_ir(
+ struct bt_field_class *ir_fc = scope_ctf_field_class_to_ir(
ec->payload_fc, tc, sc, ec);
if (ir_fc) {
- ret = bt_private_event_class_set_payload_field_class(ir_ec,
+ ret = bt_event_class_set_payload_field_class(ir_ec,
ir_fc);
BT_ASSERT(ret == 0);
bt_object_put_ref(ir_fc);
}
if (ec->name->len > 0) {
- ret = bt_private_event_class_set_name(ir_ec, ec->name->str);
+ ret = bt_event_class_set_name(ir_ec, ec->name->str);
BT_ASSERT(ret == 0);
}
if (ec->emf_uri->len > 0) {
- ret = bt_private_event_class_set_emf_uri(ir_ec, ec->emf_uri->str);
+ ret = bt_event_class_set_emf_uri(ir_ec, ec->emf_uri->str);
BT_ASSERT(ret == 0);
}
if (ec->log_level != -1) {
- bt_private_event_class_set_log_level(ir_ec, ec->log_level);
+ bt_event_class_set_log_level(ir_ec, ec->log_level);
}
ec->is_translated = true;
static inline
-struct bt_private_stream_class *ctf_stream_class_to_ir(struct ctf_stream_class *sc,
- struct bt_private_trace *ir_trace, struct ctf_trace_class *tc)
+struct bt_stream_class *ctf_stream_class_to_ir(struct ctf_stream_class *sc,
+ struct bt_trace *ir_trace, struct ctf_trace_class *tc)
{
int ret;
- struct bt_private_stream_class *ir_sc = NULL;
+ struct bt_stream_class *ir_sc = NULL;
struct ctf_field_class_int *int_fc;
if (sc->is_translated) {
- ir_sc = bt_private_trace_borrow_stream_class_by_id(
+ ir_sc = bt_trace_borrow_stream_class_by_id(
ir_trace, sc->id);
BT_ASSERT(ir_sc);
goto end;
}
- ir_sc = bt_private_stream_class_create_with_id(ir_trace, sc->id);
+ ir_sc = bt_stream_class_create_with_id(ir_trace, sc->id);
BT_ASSERT(ir_sc);
bt_object_put_ref(ir_sc);
if (sc->packet_context_fc) {
- struct bt_private_field_class *ir_fc = scope_ctf_field_class_to_ir(
+ struct bt_field_class *ir_fc = scope_ctf_field_class_to_ir(
sc->packet_context_fc, tc, sc, NULL);
if (ir_fc) {
- ret = bt_private_stream_class_set_packet_context_field_class(
+ ret = bt_stream_class_set_packet_context_field_class(
ir_sc, ir_fc);
BT_ASSERT(ret == 0);
bt_object_put_ref(ir_fc);
}
if (sc->event_header_fc) {
- struct bt_private_field_class *ir_fc = scope_ctf_field_class_to_ir(
+ struct bt_field_class *ir_fc = scope_ctf_field_class_to_ir(
sc->event_header_fc, tc, sc, NULL);
if (ir_fc) {
- ret = bt_private_stream_class_set_event_header_field_class(
+ ret = bt_stream_class_set_event_header_field_class(
ir_sc, ir_fc);
BT_ASSERT(ret == 0);
bt_object_put_ref(ir_fc);
}
if (sc->event_common_context_fc) {
- struct bt_private_field_class *ir_fc = scope_ctf_field_class_to_ir(
+ struct bt_field_class *ir_fc = scope_ctf_field_class_to_ir(
sc->event_common_context_fc, tc, sc, NULL);
if (ir_fc) {
- ret = bt_private_stream_class_set_event_common_context_field_class(
+ ret = bt_stream_class_set_event_common_context_field_class(
ir_sc, ir_fc);
BT_ASSERT(ret == 0);
bt_object_put_ref(ir_fc);
}
}
- bt_private_stream_class_set_assigns_automatic_event_class_id(ir_sc,
+ bt_stream_class_set_assigns_automatic_event_class_id(ir_sc,
BT_FALSE);
- bt_private_stream_class_set_assigns_automatic_stream_id(ir_sc, BT_FALSE);
+ bt_stream_class_set_assigns_automatic_stream_id(ir_sc, BT_FALSE);
if (sc->default_clock_class) {
- ret = bt_private_stream_class_set_default_clock_class(ir_sc,
- bt_private_clock_class_as_clock_class(sc->default_clock_class));
+ ret = bt_stream_class_set_default_clock_class(ir_sc,
+ sc->default_clock_class);
BT_ASSERT(ret == 0);
}
"events_discarded");
if (int_fc) {
if (int_fc->meaning == CTF_FIELD_CLASS_MEANING_DISC_EV_REC_COUNTER_SNAPSHOT) {
- bt_private_stream_class_set_packets_have_discarded_event_counter_snapshot(
+ bt_stream_class_set_packets_have_discarded_event_counter_snapshot(
ir_sc, BT_TRUE);
}
}
"packet_seq_num");
if (int_fc) {
if (int_fc->meaning == CTF_FIELD_CLASS_MEANING_PACKET_COUNTER_SNAPSHOT) {
- bt_private_stream_class_set_packets_have_packet_counter_snapshot(
+ bt_stream_class_set_packets_have_packet_counter_snapshot(
ir_sc, BT_TRUE);
}
}
"timestamp_begin");
if (int_fc) {
if (int_fc->meaning == CTF_FIELD_CLASS_MEANING_PACKET_BEGINNING_TIME) {
- bt_private_stream_class_set_packets_have_default_beginning_clock_value(
+ bt_stream_class_set_packets_have_default_beginning_clock_value(
ir_sc, BT_TRUE);
}
}
"timestamp_end");
if (int_fc) {
if (int_fc->meaning == CTF_FIELD_CLASS_MEANING_PACKET_END_TIME) {
- bt_private_stream_class_set_packets_have_default_end_clock_value(
+ bt_stream_class_set_packets_have_default_end_clock_value(
ir_sc, BT_TRUE);
}
}
}
static inline
-int ctf_trace_class_to_ir(struct bt_private_trace *ir_trace,
+int ctf_trace_class_to_ir(struct bt_trace *ir_trace,
struct ctf_trace_class *tc)
{
int ret = 0;
}
if (tc->packet_header_fc) {
- struct bt_private_field_class *ir_fc = scope_ctf_field_class_to_ir(
+ struct bt_field_class *ir_fc = scope_ctf_field_class_to_ir(
tc->packet_header_fc, tc, NULL, NULL);
if (ir_fc) {
- ret = bt_private_trace_set_packet_header_field_class(
+ ret = bt_trace_set_packet_header_field_class(
ir_trace, ir_fc);
BT_ASSERT(ret == 0);
bt_object_put_ref(ir_fc);
}
if (tc->name->len > 0) {
- ret = bt_private_trace_set_name(ir_trace, tc->name->str);
+ ret = bt_trace_set_name(ir_trace, tc->name->str);
if (ret) {
goto end;
}
}
if (tc->is_uuid_set) {
- bt_private_trace_set_uuid(ir_trace, tc->uuid);
+ bt_trace_set_uuid(ir_trace, tc->uuid);
}
for (i = 0; i < tc->env_entries->len; i++) {
switch (env_entry->type) {
case CTF_TRACE_CLASS_ENV_ENTRY_TYPE_INT:
- ret = bt_private_trace_set_environment_entry_integer(
+ ret = bt_trace_set_environment_entry_integer(
ir_trace, env_entry->name->str,
env_entry->value.i);
break;
case CTF_TRACE_CLASS_ENV_ENTRY_TYPE_STR:
- ret = bt_private_trace_set_environment_entry_string(
+ ret = bt_trace_set_environment_entry_string(
ir_trace, env_entry->name->str,
env_entry->value.str->str);
break;
}
}
- bt_private_trace_set_assigns_automatic_stream_class_id(ir_trace,
+ bt_trace_set_assigns_automatic_stream_class_id(ir_trace,
BT_FALSE);
tc->is_translated = true;
tc->ir_tc = ir_trace;
}
BT_HIDDEN
-int ctf_trace_class_translate(struct bt_private_trace *ir_trace,
+int ctf_trace_class_translate(struct bt_trace *ir_trace,
struct ctf_trace_class *tc)
{
int ret = 0;
for (i = 0; i < tc->stream_classes->len; i++) {
uint64_t j;
struct ctf_stream_class *sc = tc->stream_classes->pdata[i];
- struct bt_private_stream_class *ir_sc;
+ struct bt_stream_class *ir_sc;
ir_sc = ctf_stream_class_to_ir(sc, ir_trace, tc);
if (!ir_sc) {
for (j = 0; j < sc->event_classes->len; j++) {
struct ctf_event_class *ec = sc->event_classes->pdata[j];
- struct bt_private_event_class *ir_ec;
+ struct bt_event_class *ir_ec;
ir_ec = ctf_event_class_to_ir(ec, ir_sc, tc, sc);
if (!ir_ec) {
static inline
int find_mapped_clock_class(struct ctf_field_class *fc,
- struct bt_private_clock_class **clock_class)
+ struct bt_clock_class **clock_class)
{
int ret = 0;
uint64_t i;
BT_LOGE("Stream class contains more than one "
"clock class: expected-cc-name=\"%s\", "
"other-cc-name=\"%s\"",
- bt_clock_class_get_name(
- bt_private_clock_class_as_clock_class(
- *clock_class)),
- bt_clock_class_get_name(
- bt_private_clock_class_as_clock_class(
- int_fc->mapped_clock_class)));
+ bt_clock_class_get_name(*clock_class),
+ bt_clock_class_get_name(int_fc->mapped_clock_class));
ret = -1;
goto end;
}
struct ctf_stream_class *stream_class)
{
int ret = 0;
- struct bt_private_clock_class *clock_class =
+ struct bt_clock_class *clock_class =
stream_class->default_clock_class;
uint64_t i;
{
uint64_t i;
int ret = 0;
- struct bt_private_clock_class *clock_class = NULL;
+ struct bt_clock_class *clock_class = NULL;
ret = find_mapped_clock_class(ctf_tc->packet_header_fc,
&clock_class);
int ctf_trace_class_resolve_field_classes(struct ctf_trace_class *tc);
BT_HIDDEN
-int ctf_trace_class_translate(struct bt_private_trace *ir_trace,
+int ctf_trace_class_translate(struct bt_trace *ir_trace,
struct ctf_trace_class *tc);
BT_HIDDEN
bool in_ir;
/* Weak, set during translation. NULL if `in_ir` is false below. */
- struct bt_private_field_class *ir_fc;
+ struct bt_field_class *ir_fc;
};
struct ctf_field_class_bit_array {
int64_t storing_index;
/* Owned by this */
- struct bt_private_clock_class *mapped_clock_class;
+ struct bt_clock_class *mapped_clock_class;
};
struct ctf_range {
struct ctf_field_class *payload_fc;
/* Weak, set during translation */
- struct bt_private_event_class *ir_ec;
+ struct bt_event_class *ir_ec;
};
struct ctf_stream_class {
GHashTable *event_classes_by_id;
/* Owned by this */
- struct bt_private_clock_class *default_clock_class;
+ struct bt_clock_class *default_clock_class;
/* Weak, set during translation */
- struct bt_private_stream_class *ir_sc;
+ struct bt_stream_class *ir_sc;
};
enum ctf_trace_class_env_entry_type {
uint64_t stored_value_count;
- /* Array of `struct bt_private_clock_class *` (owned by this) */
+ /* Array of `struct bt_clock_class *` (owned by this) */
GPtrArray *clock_classes;
/* Array of `struct ctf_stream_class *` */
bool is_translated;
/* Weak, set during translation */
- struct bt_private_trace *ir_tc;
+ struct bt_trace *ir_tc;
};
static inline
}
static inline
-struct bt_private_clock_class *ctf_trace_class_borrow_clock_class_by_name(
+struct bt_clock_class *ctf_trace_class_borrow_clock_class_by_name(
struct ctf_trace_class *tc, const char *name)
{
uint64_t i;
- struct bt_private_clock_class *ret_cc = NULL;
+ struct bt_clock_class *ret_cc = NULL;
BT_ASSERT(tc);
BT_ASSERT(name);
for (i = 0; i < tc->clock_classes->len; i++) {
- struct bt_private_clock_class *cc = tc->clock_classes->pdata[i];
- const char *cc_name = bt_clock_class_get_name(
- bt_private_clock_class_as_clock_class(cc));
+ struct bt_clock_class *cc = tc->clock_classes->pdata[i];
+ const char *cc_name = bt_clock_class_get_name(cc);
BT_ASSERT(cc_name);
if (strcmp(cc_name, name) == 0) {
}
BT_HIDDEN
-struct bt_private_trace *ctf_metadata_decoder_get_ir_trace(
+struct bt_trace *ctf_metadata_decoder_get_ir_trace(
struct ctf_metadata_decoder *mdec)
{
return ctf_visitor_generate_ir_get_ir_trace(mdec->visitor);
struct ctf_metadata_decoder *metadata_decoder, FILE *fp);
BT_HIDDEN
-struct bt_private_trace *ctf_metadata_decoder_get_ir_trace(
+struct bt_trace *ctf_metadata_decoder_get_ir_trace(
struct ctf_metadata_decoder *mdec);
BT_HIDDEN
*/
struct ctx {
/* Trace IR trace being filled (owned by this) */
- struct bt_private_trace *trace;
+ struct bt_trace *trace;
/* CTF meta trace being filled (owned by this) */
struct ctf_trace_class *ctf_tc;
goto error;
}
- ctx->trace = bt_private_trace_create();
+ ctx->trace = bt_trace_create();
if (!ctx->trace) {
BT_LOGE_STR("Cannot create empty trace.");
goto error;
int signedness = 0;
struct ctf_node *expression;
uint64_t alignment = 0, size = 0;
- struct bt_private_clock_class *mapped_clock_class = NULL;
+ struct bt_clock_class *mapped_clock_class = NULL;
enum ctf_encoding encoding = CTF_ENCODING_NONE;
enum bt_field_class_integer_preferred_display_base base =
BT_FIELD_CLASS_INTEGER_PREFERRED_DISPLAY_BASE_DECIMAL;
int auto_map_field_to_trace_clock_class(struct ctx *ctx,
struct ctf_field_class *fc)
{
- struct bt_private_clock_class *clock_class_to_map_to = NULL;
+ struct bt_clock_class *clock_class_to_map_to = NULL;
struct ctf_field_class_int *int_fc = (void *) fc;
int ret = 0;
uint64_t clock_class_count;
* implicit one at 1 GHz, named `default`, and use this clock
* class.
*/
- clock_class_to_map_to = bt_private_clock_class_create();
+ clock_class_to_map_to = bt_clock_class_create();
BT_ASSERT(clock_class_to_map_to);
- bt_private_clock_class_set_frequency(clock_class_to_map_to,
+ bt_clock_class_set_frequency(clock_class_to_map_to,
UINT64_C(1000000000));
- ret = bt_private_clock_class_set_name(clock_class_to_map_to,
+ ret = bt_clock_class_set_name(clock_class_to_map_to,
"default");
BT_ASSERT(ret == 0);
g_ptr_array_add(ctx->ctf_tc->clock_classes,
static
int visit_clock_decl_entry(struct ctx *ctx, struct ctf_node *entry_node,
- struct bt_private_clock_class *clock, int *set, int64_t *offset_seconds,
+ struct bt_clock_class *clock, int *set, int64_t *offset_seconds,
uint64_t *offset_cycles)
{
int ret = 0;
goto error;
}
- ret = bt_private_clock_class_set_name(clock, right);
+ ret = bt_clock_class_set_name(clock, right);
if (ret) {
_BT_LOGE_NODE(entry_node,
"cannot set clock class's name");
goto error;
}
- bt_private_clock_class_set_uuid(clock, uuid);
+ bt_clock_class_set_uuid(clock, uuid);
_SET(set, _CLOCK_UUID_SET);
} else if (!strcmp(left, "description")) {
char *right;
goto error;
}
- ret = bt_private_clock_class_set_description(clock, right);
+ ret = bt_clock_class_set_description(clock, right);
if (ret) {
_BT_LOGE_NODE(entry_node,
"Cannot set clock class's description.");
goto error;
}
- bt_private_clock_class_set_frequency(clock, freq);
+ bt_clock_class_set_frequency(clock, freq);
_SET(set, _CLOCK_FREQ_SET);
} else if (!strcmp(left, "precision")) {
uint64_t precision;
goto error;
}
- bt_private_clock_class_set_precision(clock, precision);
+ bt_clock_class_set_precision(clock, precision);
_SET(set, _CLOCK_PRECISION_SET);
} else if (!strcmp(left, "offset_s")) {
if (_IS_SET(set, _CLOCK_OFFSET_S_SET)) {
goto error;
}
- bt_private_clock_class_set_is_absolute(clock, ret);
+ bt_clock_class_set_is_absolute(clock, ret);
_SET(set, _CLOCK_ABSOLUTE_SET);
} else {
_BT_LOGW_NODE(entry_node,
static
void apply_clock_class_offset(struct ctx *ctx,
- struct bt_private_clock_class *clock)
+ struct bt_clock_class *clock)
{
uint64_t freq;
int64_t offset_s_to_apply = ctx->decoder_config.clock_class_offset_s;
offset_s_to_apply += extra_s;
}
- freq = bt_clock_class_get_frequency(
- bt_private_clock_class_as_clock_class(clock));
- bt_clock_class_get_offset(bt_private_clock_class_as_clock_class(clock),
- &cur_offset_s, &cur_offset_cycles);
+ freq = bt_clock_class_get_frequency(clock);
+ bt_clock_class_get_offset(clock,
+ &cur_offset_s, &cur_offset_cycles);
/* Apply offsets */
cur_offset_s += offset_s_to_apply;
calibrate_clock_class_offsets(&cur_offset_s, &cur_offset_cycles, freq);
/* Set final offsets */
- bt_private_clock_class_set_offset(clock, cur_offset_s, cur_offset_cycles);
+ bt_clock_class_set_offset(clock, cur_offset_s, cur_offset_cycles);
end:
return;
{
int ret = 0;
int set = 0;
- struct bt_private_clock_class *clock;
+ struct bt_clock_class *clock;
struct ctf_node *entry_node;
struct bt_list_head *decl_list = &clock_node->u.clock.declaration_list;
const char *clock_class_name;
clock_node->visited = TRUE;
/* CTF 1.8's default frequency for a clock class is 1 GHz */
- clock = bt_private_clock_class_create();
+ clock = bt_clock_class_create();
if (!clock) {
_BT_LOGE_NODE(clock_node,
"Cannot create default clock class.");
}
/* CTF: not absolute by default */
- bt_private_clock_class_set_is_absolute(clock, BT_FALSE);
+ bt_clock_class_set_is_absolute(clock, BT_FALSE);
bt_list_for_each_entry(entry_node, decl_list, siblings) {
ret = visit_clock_decl_entry(ctx, entry_node, clock, &set,
goto end;
}
- clock_class_name = bt_clock_class_get_name(
- bt_private_clock_class_as_clock_class(clock));
+ clock_class_name = bt_clock_class_get_name(clock);
BT_ASSERT(clock_class_name);
if (ctx->is_lttng && strcmp(clock_class_name, "monotonic") == 0) {
/*
* it's a condition to be able to sort notifications
* from different sources.
*/
- bt_private_clock_class_set_is_absolute(clock, BT_TRUE);
+ bt_clock_class_set_is_absolute(clock, BT_TRUE);
}
/*
* Adjust offsets so that the part in cycles is less than the
* frequency (move to the part in seconds).
*/
- freq = bt_clock_class_get_frequency(
- bt_private_clock_class_as_clock_class(clock));
+ freq = bt_clock_class_get_frequency(clock);
calibrate_clock_class_offsets(&offset_seconds, &offset_cycles, freq);
- BT_ASSERT(offset_cycles < bt_clock_class_get_frequency(
- bt_private_clock_class_as_clock_class(clock)));
- bt_private_clock_class_set_offset(clock, offset_seconds, offset_cycles);
+ BT_ASSERT(offset_cycles < bt_clock_class_get_frequency(clock));
+ bt_clock_class_set_offset(clock, offset_seconds, offset_cycles);
apply_clock_class_offset(ctx, clock);
g_ptr_array_add(ctx->ctf_tc->clock_classes, clock);
bt_object_get_ref(clock);
}
BT_HIDDEN
-struct bt_private_trace *ctf_visitor_generate_ir_get_ir_trace(
+struct bt_trace *ctf_visitor_generate_ir_get_ir_trace(
struct ctf_visitor_generate_ir *visitor)
{
struct ctx *ctx = (void *) visitor;
*
* Field is borrowed.
*/
- struct bt_private_field *base;
+ struct bt_field *base;
/* Index of next field to set */
size_t index;
* This is set by read_dscope_begin_state() and contains the
* value of one of the pointers in `dscopes` below.
*/
- struct bt_private_field *cur_dscope_field;
+ struct bt_field *cur_dscope_field;
/*
* True if we're done filling a string field from a text
} meta;
/* Current packet header field wrapper (NULL if not created yet) */
- struct bt_private_packet_header_field *packet_header_field;
+ struct bt_packet_header_field *packet_header_field;
/* Current packet header field wrapper (NULL if not created yet) */
- struct bt_private_packet_context_field *packet_context_field;
+ struct bt_packet_context_field *packet_context_field;
/* Current event header field (NULL if not created yet) */
- struct bt_private_event_header_field *event_header_field;
+ struct bt_event_header_field *event_header_field;
/* Current packet (NULL if not created yet) */
- struct bt_private_packet *packet;
+ struct bt_packet *packet;
/* Current stream (NULL if not set yet) */
- struct bt_private_stream *stream;
+ struct bt_stream *stream;
/* Current event (NULL if not created yet) */
- struct bt_private_event *event;
+ struct bt_event *event;
/* Current event notification (NULL if not created yet) */
struct bt_private_notification *event_notif;
/* Database of current dynamic scopes */
struct {
- struct bt_private_field *trace_packet_header;
- struct bt_private_field *stream_packet_context;
- struct bt_private_field *event_header;
- struct bt_private_field *event_common_context;
- struct bt_private_field *event_spec_context;
- struct bt_private_field *event_payload;
+ struct bt_field *trace_packet_header;
+ struct bt_field *stream_packet_context;
+ struct bt_field *event_header;
+ struct bt_field *event_common_context;
+ struct bt_field *event_spec_context;
+ struct bt_field *event_payload;
} dscopes;
/* Current state */
}
static
-void stack_push(struct stack *stack, struct bt_private_field *base)
+void stack_push(struct stack *stack, struct bt_field *base)
{
struct stack_entry *entry;
struct bt_notif_iter *notit,
struct ctf_field_class *dscope_fc,
enum state done_state, enum state continue_state,
- struct bt_private_field *dscope_field)
+ struct bt_field *dscope_field)
{
enum bt_notif_iter_status status = BT_NOTIF_ITER_STATUS_OK;
enum bt_bfcr_status bfcr_status;
notit->dscopes.event_header = NULL;
if (notit->event_header_field) {
- bt_private_event_header_field_release(notit->event_header_field);
+ bt_event_header_field_release(notit->event_header_field);
notit->event_header_field = NULL;
}
notit->dscopes.trace_packet_header = NULL;
if (notit->packet_header_field) {
- bt_private_packet_header_field_release(notit->packet_header_field);
+ bt_packet_header_field_release(notit->packet_header_field);
notit->packet_header_field = NULL;
}
notit->dscopes.stream_packet_context = NULL;
if (notit->packet_context_field) {
- bt_private_packet_context_field_release(notit->packet_context_field);
+ bt_packet_context_field_release(notit->packet_context_field);
notit->packet_context_field = NULL;
}
* the ID of the stream class to select.
*/
notit->packet_header_field =
- bt_private_packet_header_field_create(
+ bt_packet_header_field_create(
notit->meta.tc->ir_tc);
if (!notit->packet_header_field) {
BT_LOGE_STR("Cannot create packet header field wrapper from trace.");
}
notit->dscopes.trace_packet_header =
- bt_private_packet_header_field_borrow_field(
+ bt_packet_header_field_borrow_field(
notit->packet_header_field);
BT_ASSERT(notit->dscopes.trace_packet_header);
}
enum bt_notif_iter_status set_current_stream(struct bt_notif_iter *notit)
{
enum bt_notif_iter_status status = BT_NOTIF_ITER_STATUS_OK;
- struct bt_private_stream *stream = NULL;
+ struct bt_stream *stream = NULL;
BT_LOGV("Calling user function (get stream): notit-addr=%p, "
"stream-class-addr=%p, stream-class-id=%" PRId64,
enum bt_notif_iter_status set_current_packet(struct bt_notif_iter *notit)
{
enum bt_notif_iter_status status = BT_NOTIF_ITER_STATUS_OK;
- struct bt_private_packet *packet = NULL;
+ struct bt_packet *packet = NULL;
BT_LOGV("Creating packet for packet notification: "
"notit-addr=%p", notit);
/* Create packet */
BT_ASSERT(notit->stream);
- packet = bt_private_packet_create(notit->stream);
+ packet = bt_packet_create(notit->stream);
if (!packet) {
BT_LOGE("Cannot create packet from stream: "
"notit-addr=%p, stream-addr=%p, "
* (bt_notif_iter_borrow_packet_header_context_fields()).
*/
notit->packet_context_field =
- bt_private_packet_context_field_create(
+ bt_packet_context_field_create(
notit->meta.sc->ir_sc);
if (!notit->packet_context_field) {
BT_LOGE_STR("Cannot create packet context field wrapper from stream class.");
}
notit->dscopes.stream_packet_context =
- bt_private_packet_context_field_borrow_field(
+ bt_packet_context_field_borrow_field(
notit->packet_context_field);
BT_ASSERT(notit->dscopes.stream_packet_context);
}
if (event_header_fc->in_ir) {
BT_ASSERT(!notit->event_header_field);
notit->event_header_field =
- bt_private_event_header_field_create(
+ bt_event_header_field_create(
notit->meta.sc->ir_sc);
if (!notit->event_header_field) {
BT_LOGE_STR("Cannot create event header field wrapper from trace.");
}
notit->dscopes.event_header =
- bt_private_event_header_field_borrow_field(
+ bt_event_header_field_borrow_field(
notit->event_header_field);
BT_ASSERT(notit->dscopes.event_header);
}
int ret;
BT_ASSERT(notit->event);
- ret = bt_private_event_move_header_field(notit->event,
+ ret = bt_event_move_header_field(notit->event,
notit->event_header_field);
if (ret) {
status = BT_NOTIF_ITER_STATUS_ERROR;
* the same value as the event header field within
* notit->event.
*/
- BT_ASSERT(bt_private_event_borrow_header_field(
+ BT_ASSERT(bt_event_borrow_header_field(
notit->event) == notit->dscopes.event_header);
}
if (event_common_context_fc->in_ir) {
BT_ASSERT(!notit->dscopes.event_common_context);
notit->dscopes.event_common_context =
- bt_private_event_borrow_common_context_field(
+ bt_event_borrow_common_context_field(
notit->event);
BT_ASSERT(notit->dscopes.event_common_context);
}
if (event_spec_context_fc->in_ir) {
BT_ASSERT(!notit->dscopes.event_spec_context);
notit->dscopes.event_spec_context =
- bt_private_event_borrow_specific_context_field(
+ bt_event_borrow_specific_context_field(
notit->event);
BT_ASSERT(notit->dscopes.event_spec_context);
}
if (event_payload_fc->in_ir) {
BT_ASSERT(!notit->dscopes.event_payload);
notit->dscopes.event_payload =
- bt_private_event_borrow_payload_field(
+ bt_event_borrow_payload_field(
notit->event);
BT_ASSERT(notit->dscopes.event_payload);
}
notit->cur_dscope_field = NULL;
if (notit->packet_header_field) {
- bt_private_packet_header_field_release(notit->packet_header_field);
+ bt_packet_header_field_release(notit->packet_header_field);
notit->packet_header_field = NULL;
}
if (notit->packet_context_field) {
- bt_private_packet_context_field_release(notit->packet_context_field);
+ bt_packet_context_field_release(notit->packet_context_field);
notit->packet_context_field = NULL;
}
if (notit->event_header_field) {
- bt_private_event_header_field_release(notit->event_header_field);
+ bt_event_header_field_release(notit->event_header_field);
notit->event_header_field = NULL;
}
}
static
-struct bt_private_field *borrow_next_field(struct bt_notif_iter *notit)
+struct bt_field *borrow_next_field(struct bt_notif_iter *notit)
{
- struct bt_private_field *next_field = NULL;
- struct bt_private_field *base_field;
- struct bt_private_field_class *base_fc;
+ struct bt_field *next_field = NULL;
+ struct bt_field *base_field;
+ const struct bt_field_class *base_fc;
size_t index;
BT_ASSERT(!stack_empty(notit->stack));
index = stack_top(notit->stack)->index;
base_field = stack_top(notit->stack)->base;
BT_ASSERT(base_field);
- base_fc = bt_private_field_borrow_class(base_field);
+ base_fc = bt_field_borrow_class_const(base_field);
BT_ASSERT(base_fc);
- switch (bt_field_class_get_type(
- bt_private_field_class_as_field_class(base_fc))) {
+ switch (bt_field_class_get_type(base_fc)) {
case BT_FIELD_CLASS_TYPE_STRUCTURE:
{
BT_ASSERT(index <
bt_field_class_structure_get_member_count(
- bt_private_field_class_as_field_class(
- bt_private_field_borrow_class(
- base_field))));
+ bt_field_borrow_class_const(
+ base_field)));
next_field =
- bt_private_field_structure_borrow_member_field_by_index(
+ bt_field_structure_borrow_member_field_by_index(
base_field, index);
break;
}
case BT_FIELD_CLASS_TYPE_STATIC_ARRAY:
case BT_FIELD_CLASS_TYPE_DYNAMIC_ARRAY:
- BT_ASSERT(index < bt_field_array_get_length(
- bt_private_field_as_field(base_field)));
- next_field = bt_private_field_array_borrow_element_field_by_index(
+ BT_ASSERT(index < bt_field_array_get_length(base_field));
+ next_field = bt_field_array_borrow_element_field_by_index(
base_field, index);
break;
case BT_FIELD_CLASS_TYPE_VARIANT:
BT_ASSERT(index == 0);
- next_field = bt_private_field_variant_borrow_selected_option_field(
+ next_field = bt_field_variant_borrow_selected_option_field(
base_field);
break;
default:
{
struct bt_notif_iter *notit = data;
enum bt_bfcr_status status = BT_BFCR_STATUS_OK;
- struct bt_private_field *field = NULL;
+ struct bt_field *field = NULL;
struct ctf_field_class_int *int_fc = (void *) fc;
BT_LOGV("Unsigned integer function called from BFCR: "
field = borrow_next_field(notit);
BT_ASSERT(field);
- BT_ASSERT(bt_private_field_borrow_class(field) == fc->ir_fc);
- BT_ASSERT(bt_field_get_class_type(
- bt_private_field_as_field(field)) ==
- BT_FIELD_CLASS_TYPE_UNSIGNED_INTEGER ||
- bt_field_get_class_type(bt_private_field_as_field(field)) ==
- BT_FIELD_CLASS_TYPE_UNSIGNED_ENUMERATION);
- bt_private_field_unsigned_integer_set_value(field, value);
+ BT_ASSERT(bt_field_borrow_class_const(field) == fc->ir_fc);
+ BT_ASSERT(bt_field_get_class_type(field) ==
+ BT_FIELD_CLASS_TYPE_UNSIGNED_INTEGER ||
+ bt_field_get_class_type(field) ==
+ BT_FIELD_CLASS_TYPE_UNSIGNED_ENUMERATION);
+ bt_field_unsigned_integer_set_value(field, value);
stack_top(notit->stack)->index++;
end:
int ret;
struct bt_notif_iter *notit = data;
enum bt_bfcr_status status = BT_BFCR_STATUS_OK;
- struct bt_private_field *string_field = NULL;
+ struct bt_field *string_field = NULL;
struct ctf_field_class_int *int_fc = (void *) fc;
char str[2] = {'\0', '\0'};
}
string_field = stack_top(notit->stack)->base;
- BT_ASSERT(bt_field_get_class_type(
- bt_private_field_as_field(string_field)) ==
- BT_FIELD_CLASS_TYPE_STRING);
+ BT_ASSERT(bt_field_get_class_type(string_field) ==
+ BT_FIELD_CLASS_TYPE_STRING);
/* Append character */
str[0] = (char) value;
- ret = bt_private_field_string_append_with_length(string_field, str, 1);
+ ret = bt_field_string_append_with_length(string_field, str, 1);
if (ret) {
BT_LOGE("Cannot append character to string field's value: "
"notit-addr=%p, field-addr=%p, ret=%d",
struct ctf_field_class *fc, void *data)
{
enum bt_bfcr_status status = BT_BFCR_STATUS_OK;
- struct bt_private_field *field = NULL;
+ struct bt_field *field = NULL;
struct bt_notif_iter *notit = data;
struct ctf_field_class_int *int_fc = (void *) fc;
field = borrow_next_field(notit);
BT_ASSERT(field);
- BT_ASSERT(bt_private_field_borrow_class(field) == fc->ir_fc);
- BT_ASSERT(bt_field_get_class_type(
- bt_private_field_as_field(field)) ==
- BT_FIELD_CLASS_TYPE_SIGNED_INTEGER ||
- bt_field_get_class_type(bt_private_field_as_field(field)) ==
- BT_FIELD_CLASS_TYPE_SIGNED_ENUMERATION);
- bt_private_field_signed_integer_set_value(field, value);
+ BT_ASSERT(bt_field_borrow_class_const(field) == fc->ir_fc);
+ BT_ASSERT(bt_field_get_class_type(field) ==
+ BT_FIELD_CLASS_TYPE_SIGNED_INTEGER ||
+ bt_field_get_class_type(field) ==
+ BT_FIELD_CLASS_TYPE_SIGNED_ENUMERATION);
+ bt_field_signed_integer_set_value(field, value);
stack_top(notit->stack)->index++;
end:
struct ctf_field_class *fc, void *data)
{
enum bt_bfcr_status status = BT_BFCR_STATUS_OK;
- struct bt_private_field *field = NULL;
+ struct bt_field *field = NULL;
struct bt_notif_iter *notit = data;
BT_LOGV("Floating point number function called from BFCR: "
BT_ASSERT(fc->in_ir);
field = borrow_next_field(notit);
BT_ASSERT(field);
- BT_ASSERT(bt_private_field_borrow_class(field) == fc->ir_fc);
- BT_ASSERT(bt_field_get_class_type(
- bt_private_field_as_field(field)) ==
- BT_FIELD_CLASS_TYPE_REAL);
- bt_private_field_real_set_value(field, value);
+ BT_ASSERT(bt_field_borrow_class_const(field) == fc->ir_fc);
+ BT_ASSERT(bt_field_get_class_type(field) ==
+ BT_FIELD_CLASS_TYPE_REAL);
+ bt_field_real_set_value(field, value);
stack_top(notit->stack)->index++;
return status;
}
enum bt_bfcr_status bfcr_string_begin_cb(
struct ctf_field_class *fc, void *data)
{
- struct bt_private_field *field = NULL;
+ struct bt_field *field = NULL;
struct bt_notif_iter *notit = data;
int ret;
BT_ASSERT(fc->in_ir);
field = borrow_next_field(notit);
BT_ASSERT(field);
- BT_ASSERT(bt_private_field_borrow_class(field) == fc->ir_fc);
- BT_ASSERT(bt_field_get_class_type(
- bt_private_field_as_field(field)) ==
- BT_FIELD_CLASS_TYPE_STRING);
- ret = bt_private_field_string_clear(field);
+ BT_ASSERT(bt_field_borrow_class_const(field) == fc->ir_fc);
+ BT_ASSERT(bt_field_get_class_type(field) ==
+ BT_FIELD_CLASS_TYPE_STRING);
+ ret = bt_field_string_clear(field);
BT_ASSERT(ret == 0);
/*
size_t len, struct ctf_field_class *fc, void *data)
{
enum bt_bfcr_status status = BT_BFCR_STATUS_OK;
- struct bt_private_field *field = NULL;
+ struct bt_field *field = NULL;
struct bt_notif_iter *notit = data;
int ret;
BT_ASSERT(field);
/* Append current substring */
- ret = bt_private_field_string_append_with_length(field, value, len);
+ ret = bt_field_string_append_with_length(field, value, len);
if (ret) {
BT_LOGE("Cannot append substring to string field's value: "
"notit-addr=%p, field-addr=%p, string-length=%zu, "
struct ctf_field_class *fc, void *data)
{
struct bt_notif_iter *notit = data;
- struct bt_private_field *field;
+ struct bt_field *field;
BT_LOGV("Compound (beginning) function called from BFCR: "
"notit-addr=%p, bfcr-addr=%p, fc-addr=%p, "
/* Push field */
BT_ASSERT(field);
- BT_ASSERT(bt_private_field_borrow_class(field) == fc->ir_fc);
+ BT_ASSERT(bt_field_borrow_class_const(field) == fc->ir_fc);
stack_push(notit->stack, field);
/*
if (array_fc->is_text) {
int ret;
- BT_ASSERT(bt_field_get_class_type(
- bt_private_field_as_field(field)) ==
- BT_FIELD_CLASS_TYPE_STRING);
+ BT_ASSERT(bt_field_get_class_type(field) ==
+ BT_FIELD_CLASS_TYPE_STRING);
notit->done_filling_string = false;
- ret = bt_private_field_string_clear(field);
+ ret = bt_field_string_clear(field);
BT_ASSERT(ret == 0);
bt_bfcr_set_unsigned_int_cb(notit->bfcr,
bfcr_unsigned_int_char_cb);
}
BT_ASSERT(!stack_empty(notit->stack));
- BT_ASSERT(bt_private_field_borrow_class(stack_top(notit->stack)->base) ==
+ BT_ASSERT(bt_field_borrow_class_const(stack_top(notit->stack)->base) ==
fc->ir_fc);
/*
if (array_fc->is_text) {
BT_ASSERT(bt_field_get_class_type(
- bt_private_field_as_field(
- stack_top(notit->stack)->base)) ==
+ stack_top(notit->stack)->base) ==
BT_FIELD_CLASS_TYPE_STRING);
bt_bfcr_set_unsigned_int_cb(notit->bfcr,
bfcr_unsigned_int_cb);
static
int64_t bfcr_get_sequence_length_cb(struct ctf_field_class *fc, void *data)
{
- struct bt_private_field *seq_field;
+ struct bt_field *seq_field;
struct bt_notif_iter *notit = data;
struct ctf_field_class_sequence *seq_fc = (void *) fc;
int64_t length = -1;
seq_fc->stored_length_index);
seq_field = stack_top(notit->stack)->base;
BT_ASSERT(seq_field);
- ret = bt_private_field_dynamic_array_set_length(seq_field, (uint64_t) length);
+ ret = bt_field_dynamic_array_set_length(seq_field, (uint64_t) length);
if (ret) {
BT_LOGE("Cannot set dynamic array field's length field: "
"notit-addr=%p, field-addr=%p, "
var_fc, (uint64_t) option_index);
if (selected_option->fc->in_ir) {
- struct bt_private_field *var_field = stack_top(notit->stack)->base;
+ struct bt_field *var_field = stack_top(notit->stack)->base;
- ret = bt_private_field_variant_select_option_field(
+ ret = bt_field_variant_select_option_field(
var_field, option_index);
if (ret) {
BT_LOGW("Cannot select variant field's option field: "
static
void set_event_default_clock_value(struct bt_notif_iter *notit)
{
- struct bt_private_event *event =
+ struct bt_event *event =
bt_private_notification_event_borrow_event(
notit->event_notif);
- struct bt_stream_class *sc = bt_private_stream_class_as_stream_class(
- notit->meta.sc->ir_sc);
+ struct bt_stream_class *sc = notit->meta.sc->ir_sc;
BT_ASSERT(event);
if (bt_stream_class_borrow_default_clock_class(sc)) {
- bt_private_event_set_default_clock_value(event,
+ bt_event_set_default_clock_value(event,
notit->default_clock_val);
}
}
int ret;
enum bt_notif_iter_status status;
struct bt_private_notification *notif = NULL;
- struct bt_stream_class *sc;
+ const struct bt_stream_class *sc;
status = set_current_packet(notit);
if (status != BT_NOTIF_ITER_STATUS_OK) {
}
BT_ASSERT(notit->packet);
- sc = bt_private_stream_class_as_stream_class(notit->meta.sc->ir_sc);
+ sc = notit->meta.sc->ir_sc;
BT_ASSERT(sc);
if (bt_stream_class_packets_have_discarded_event_counter_snapshot(sc)) {
BT_ASSERT(notit->snapshots.discarded_events != UINT64_C(-1));
- bt_private_packet_set_discarded_event_counter_snapshot(
+ bt_packet_set_discarded_event_counter_snapshot(
notit->packet, notit->snapshots.discarded_events);
}
if (bt_stream_class_packets_have_packet_counter_snapshot(sc)) {
BT_ASSERT(notit->snapshots.packets != UINT64_C(-1));
- bt_private_packet_set_packet_counter_snapshot(
+ bt_packet_set_packet_counter_snapshot(
notit->packet, notit->snapshots.packets);
}
if (bt_stream_class_packets_have_default_beginning_clock_value(sc)) {
BT_ASSERT(notit->snapshots.beginning_clock != UINT64_C(-1));
- bt_private_packet_set_default_beginning_clock_value(
+ bt_packet_set_default_beginning_clock_value(
notit->packet, notit->snapshots.beginning_clock);
}
if (bt_stream_class_packets_have_default_end_clock_value(sc)) {
BT_ASSERT(notit->snapshots.end_clock != UINT64_C(-1));
- bt_private_packet_set_default_end_clock_value(
+ bt_packet_set_default_end_clock_value(
notit->packet, notit->snapshots.end_clock);
}
if (notit->packet_header_field) {
- ret = bt_private_packet_move_header_field(
+ ret = bt_packet_move_header_field(
notit->packet, notit->packet_header_field);
if (ret) {
goto end;
* the same value as the packet header field within
* notit->packet.
*/
- BT_ASSERT(bt_private_packet_borrow_header_field(
+ BT_ASSERT(bt_packet_borrow_header_field(
notit->packet) ==
notit->dscopes.trace_packet_header);
}
if (notit->packet_context_field) {
- ret = bt_private_packet_move_context_field(
+ ret = bt_packet_move_context_field(
notit->packet, notit->packet_context_field);
if (ret) {
goto end;
* the same value as the packet header field within
* notit->packet.
*/
- BT_ASSERT(bt_private_packet_borrow_context_field(
+ BT_ASSERT(bt_packet_borrow_context_field(
notit->packet) ==
notit->dscopes.stream_packet_context);
}
BT_HIDDEN
enum bt_notif_iter_status bt_notif_iter_borrow_packet_header_context_fields(
struct bt_notif_iter *notit,
- struct bt_private_field **packet_header_field,
- struct bt_private_field **packet_context_field)
+ struct bt_field **packet_header_field,
+ struct bt_field **packet_context_field)
{
int ret;
enum bt_notif_iter_status status = BT_NOTIF_ITER_STATUS_OK;
* @returns Stream instance (weak reference) or
* \c NULL on error
*/
- struct bt_private_stream * (* borrow_stream)(
- struct bt_private_stream_class *stream_class,
+ struct bt_stream * (* borrow_stream)(
+ struct bt_stream_class *stream_class,
int64_t stream_id, void *data);
};
BT_HIDDEN
enum bt_notif_iter_status bt_notif_iter_borrow_packet_header_context_fields(
struct bt_notif_iter *notit,
- struct bt_private_field **packet_header_field,
- struct bt_private_field **packet_context_field);
+ struct bt_field **packet_header_field,
+ struct bt_field **packet_context_field);
struct bt_notif_iter_packet_properties {
uint64_t exp_packet_total_size;
#include "writer.h"
static
-void unref_stream_class(struct bt_stream_class *writer_stream_class)
+void unref_stream_class(const struct bt_stream_class *writer_stream_class)
{
bt_object_put_ref(writer_stream_class);
}
static
-void unref_stream(struct bt_stream_class *writer_stream)
+void unref_stream(const struct bt_stream_class *writer_stream)
{
bt_object_put_ref(writer_stream);
}
gboolean empty_streams_ht(gpointer key, gpointer value, gpointer user_data)
{
int ret;
- struct bt_stream *writer_stream = value;
+ const struct bt_stream *writer_stream = value;
ret = bt_stream_flush(writer_stream);
if (ret) {
}
static
-void trace_is_static_listener(struct bt_trace *trace, void *data)
+void trace_is_static_listener(const struct bt_trace *trace, void *data)
{
struct fs_writer *fs_writer = data;
int trace_completed = 1;
}
static
-struct bt_stream_class *insert_new_stream_class(
+const struct bt_stream_class *insert_new_stream_class(
struct writer_component *writer_component,
struct fs_writer *fs_writer,
- struct bt_stream_class *stream_class)
+ const struct bt_stream_class *stream_class)
{
- struct bt_stream_class *writer_stream_class = NULL;
- struct bt_trace *trace = NULL, *writer_trace = NULL;
+ const struct bt_stream_class *writer_stream_class = NULL;
+ const struct bt_trace *trace = NULL, *writer_trace = NULL;
struct bt_ctf_writer *ctf_writer = fs_writer->writer;
enum bt_component_status ret;
static
enum fs_writer_stream_state *insert_new_stream_state(
struct writer_component *writer_component,
- struct fs_writer *fs_writer, struct bt_stream *stream)
+ struct fs_writer *fs_writer, const struct bt_stream *stream)
{
enum fs_writer_stream_state *v = NULL;
static
int make_trace_path(struct writer_component *writer_component,
- struct bt_trace *trace, char *trace_path)
+ const struct bt_trace *trace, char *trace_path)
{
int ret;
const char *trace_name;
static
struct fs_writer *insert_new_writer(
struct writer_component *writer_component,
- struct bt_trace *trace)
+ const struct bt_trace *trace)
{
struct bt_ctf_writer *ctf_writer = NULL;
- struct bt_trace *writer_trace = NULL;
+ const struct bt_trace *writer_trace = NULL;
char trace_path[PATH_MAX];
enum bt_component_status ret;
- struct bt_stream *stream = NULL;
+ const struct bt_stream *stream = NULL;
struct fs_writer *fs_writer = NULL;
int nr_stream, i;
static
struct fs_writer *get_fs_writer(struct writer_component *writer_component,
- struct bt_stream_class *stream_class)
+ const struct bt_stream_class *stream_class)
{
- struct bt_trace *trace = NULL;
+ const struct bt_trace *trace = NULL;
struct fs_writer *fs_writer;
trace = bt_stream_class_get_trace(stream_class);
static
struct fs_writer *get_fs_writer_from_stream(
struct writer_component *writer_component,
- struct bt_stream *stream)
+ const struct bt_stream *stream)
{
- struct bt_stream_class *stream_class = NULL;
+ const struct bt_stream_class *stream_class = NULL;
struct fs_writer *fs_writer;
stream_class = bt_stream_get_class(stream);
}
static
-struct bt_stream_class *lookup_stream_class(
+const struct bt_stream_class *lookup_stream_class(
struct writer_component *writer_component,
- struct bt_stream_class *stream_class)
+ const struct bt_stream_class *stream_class)
{
struct fs_writer *fs_writer = get_fs_writer(
writer_component, stream_class);
BT_ASSERT(fs_writer);
- return (struct bt_stream_class *) g_hash_table_lookup(
+ return (const struct bt_stream_class *) g_hash_table_lookup(
fs_writer->stream_class_map, (gpointer) stream_class);
}
static
-struct bt_stream *lookup_stream(struct writer_component *writer_component,
- struct bt_stream *stream)
+const struct bt_stream *lookup_stream(struct writer_component *writer_component,
+ const struct bt_stream *stream)
{
struct fs_writer *fs_writer = get_fs_writer_from_stream(
writer_component, stream);
BT_ASSERT(fs_writer);
- return (struct bt_stream *) g_hash_table_lookup(
+ return (const struct bt_stream *) g_hash_table_lookup(
fs_writer->stream_map, (gpointer) stream);
}
static
-struct bt_stream *insert_new_stream(
+const struct bt_stream *insert_new_stream(
struct writer_component *writer_component,
struct fs_writer *fs_writer,
- struct bt_stream_class *stream_class,
- struct bt_stream *stream)
+ const struct bt_stream_class *stream_class,
+ const struct bt_stream *stream)
{
- struct bt_stream *writer_stream = NULL;
- struct bt_stream_class *writer_stream_class = NULL;
+ const struct bt_stream *writer_stream = NULL;
+ const struct bt_stream_class *writer_stream_class = NULL;
struct bt_ctf_writer *ctf_writer = bt_object_get_ref(fs_writer->writer);
writer_stream_class = lookup_stream_class(writer_component,
}
static
-struct bt_event_class *get_event_class(struct writer_component *writer_component,
- struct bt_stream_class *writer_stream_class,
- struct bt_event_class *event_class)
+const struct bt_event_class *get_event_class(struct writer_component *writer_component,
+ const struct bt_stream_class *writer_stream_class,
+ const struct bt_event_class *event_class)
{
return bt_stream_class_get_event_class_by_id(writer_stream_class,
bt_event_class_get_id(event_class));
}
static
-struct bt_stream *get_writer_stream(
+const struct bt_stream *get_writer_stream(
struct writer_component *writer_component,
- struct bt_packet *packet, struct bt_stream *stream)
+ const struct bt_packet *packet, const struct bt_stream *stream)
{
- struct bt_stream *writer_stream = NULL;
+ const struct bt_stream *writer_stream = NULL;
writer_stream = lookup_stream(writer_component, stream);
if (!writer_stream) {
BT_HIDDEN
enum bt_component_status writer_stream_begin(
struct writer_component *writer_component,
- struct bt_stream *stream)
+ const struct bt_stream *stream)
{
- struct bt_stream_class *stream_class = NULL;
+ const struct bt_stream_class *stream_class = NULL;
struct fs_writer *fs_writer;
- struct bt_stream *writer_stream = NULL;
+ const struct bt_stream *writer_stream = NULL;
enum bt_component_status ret = BT_COMPONENT_STATUS_OK;
enum fs_writer_stream_state *state;
BT_HIDDEN
enum bt_component_status writer_stream_end(
struct writer_component *writer_component,
- struct bt_stream *stream)
+ const struct bt_stream *stream)
{
- struct bt_stream_class *stream_class = NULL;
+ const struct bt_stream_class *stream_class = NULL;
struct fs_writer *fs_writer;
- struct bt_trace *trace = NULL;
+ const struct bt_trace *trace = NULL;
enum bt_component_status ret = BT_COMPONENT_STATUS_OK;
enum fs_writer_stream_state *state;
BT_HIDDEN
enum bt_component_status writer_new_packet(
struct writer_component *writer_component,
- struct bt_packet *packet)
+ const struct bt_packet *packet)
{
- struct bt_stream *stream = NULL, *writer_stream = NULL;
+ const struct bt_stream *stream = NULL, *writer_stream = NULL;
enum bt_component_status ret = BT_COMPONENT_STATUS_OK;
int int_ret;
BT_HIDDEN
enum bt_component_status writer_close_packet(
struct writer_component *writer_component,
- struct bt_packet *packet)
+ const struct bt_packet *packet)
{
- struct bt_stream *stream = NULL, *writer_stream = NULL;
+ const struct bt_stream *stream = NULL, *writer_stream = NULL;
enum bt_component_status ret;
stream = bt_packet_get_stream(packet);
BT_HIDDEN
enum bt_component_status writer_output_event(
struct writer_component *writer_component,
- struct bt_event *event)
+ const struct bt_event *event)
{
enum bt_component_status ret;
- struct bt_event_class *event_class = NULL, *writer_event_class = NULL;
- struct bt_stream *stream = NULL, *writer_stream = NULL;
- struct bt_stream_class *stream_class = NULL, *writer_stream_class = NULL;
- struct bt_event *writer_event = NULL;
+ const struct bt_event_class *event_class = NULL, *writer_event_class = NULL;
+ const struct bt_stream *stream = NULL, *writer_stream = NULL;
+ const struct bt_stream_class *stream_class = NULL, *writer_stream_class = NULL;
+ const struct bt_event *writer_event = NULL;
int int_ret;
- struct bt_trace *writer_trace = NULL;
+ const struct bt_trace *writer_trace = NULL;
event_class = bt_event_get_class(event);
BT_ASSERT(event_class);
switch (bt_notification_get_type(notification)) {
case BT_NOTIFICATION_TYPE_PACKET_BEGIN:
{
- struct bt_packet *packet =
+ const struct bt_packet *packet =
bt_notification_packet_begin_get_packet(notification);
if (!packet) {
}
case BT_NOTIFICATION_TYPE_PACKET_END:
{
- struct bt_packet *packet =
+ const struct bt_packet *packet =
bt_notification_packet_end_get_packet(notification);
if (!packet) {
}
case BT_NOTIFICATION_TYPE_EVENT:
{
- struct bt_event *event = bt_notification_event_get_event(
+ const struct bt_event *event = bt_notification_event_get_event(
notification);
if (!event) {
}
case BT_NOTIFICATION_TYPE_STREAM_BEGIN:
{
- struct bt_stream *stream =
+ const struct bt_stream *stream =
bt_notification_stream_begin_get_stream(notification);
if (!stream) {
}
case BT_NOTIFICATION_TYPE_STREAM_END:
{
- struct bt_stream *stream =
+ const struct bt_stream *stream =
bt_notification_stream_end_get_stream(notification);
if (!stream) {
struct fs_writer {
struct bt_ctf_writer *writer;
- struct bt_trace *trace;
- struct bt_trace *writer_trace;
+ const struct bt_trace *trace;
+ const struct bt_trace *writer_trace;
struct writer_component *writer_component;
int static_listener_id;
int trace_static;
struct fs_writer *fs_writer);
BT_HIDDEN
enum bt_component_status writer_output_event(struct writer_component *writer,
- struct bt_event *event);
+ const struct bt_event *event);
BT_HIDDEN
enum bt_component_status writer_new_packet(struct writer_component *writer,
- struct bt_packet *packet);
+ const struct bt_packet *packet);
BT_HIDDEN
enum bt_component_status writer_close_packet(struct writer_component *writer,
- struct bt_packet *packet);
+ const struct bt_packet *packet);
BT_HIDDEN
enum bt_component_status writer_stream_begin(struct writer_component *writer,
- struct bt_stream *stream);
+ const struct bt_stream *stream);
BT_HIDDEN
enum bt_component_status writer_stream_end(struct writer_component *writer,
- struct bt_stream *stream);
+ const struct bt_stream *stream);
BT_HIDDEN
enum bt_component_status writer_component_init(
}
static
-struct bt_private_stream *medop_borrow_stream(
- struct bt_private_stream_class *stream_class, int64_t stream_id,
+struct bt_stream *medop_borrow_stream(
+ struct bt_stream_class *stream_class, int64_t stream_id,
void *data)
{
struct ctf_fs_ds_file *ds_file = data;
- struct bt_private_stream_class *ds_file_stream_class;
- struct bt_private_stream *stream = NULL;
+ struct bt_stream_class *ds_file_stream_class;
+ struct bt_stream *stream = NULL;
- ds_file_stream_class = bt_private_stream_borrow_class(
+ ds_file_stream_class = bt_stream_borrow_class(
ds_file->stream);
if (stream_class != ds_file_stream_class) {
}
static
-int convert_cycles_to_ns(struct bt_private_clock_class *clock_class,
+int convert_cycles_to_ns(struct bt_clock_class *clock_class,
uint64_t cycles, int64_t *ns)
{
- return bt_clock_class_cycles_to_ns_from_origin(
- bt_private_clock_class_as_clock_class(clock_class), cycles, ns);
+ return bt_clock_class_cycles_to_ns_from_origin(clock_class, cycles,
+ ns);
}
static
struct ctf_fs_trace *ctf_fs_trace,
struct bt_self_notification_iterator *pc_notif_iter,
struct bt_notif_iter *notif_iter,
- struct bt_private_stream *stream, const char *path)
+ struct bt_stream *stream, const char *path)
{
int ret;
const size_t page_size = bt_common_get_page_size();
BT_HIDDEN
int ctf_fs_ds_file_borrow_packet_header_context_fields(
struct ctf_fs_ds_file *ds_file,
- struct bt_private_field **packet_header_field,
- struct bt_private_field **packet_context_field)
+ struct bt_field **packet_header_field,
+ struct bt_field **packet_context_field)
{
enum bt_notif_iter_status notif_iter_status;
int ret = 0;
struct ctf_fs_file *file;
/* Owned by this */
- struct bt_private_stream *stream;
+ struct bt_stream *stream;
/* Weak */
struct bt_notif_iter *notif_iter;
struct ctf_fs_trace *ctf_fs_trace,
struct bt_self_notification_iterator *pc_notif_iter,
struct bt_notif_iter *notif_iter,
- struct bt_private_stream *stream, const char *path);
+ struct bt_stream *stream, const char *path);
BT_HIDDEN
int ctf_fs_ds_file_borrow_packet_header_context_fields(
struct ctf_fs_ds_file *ds_file,
- struct bt_private_field **packet_header_field,
- struct bt_private_field **packet_context_field);
+ struct bt_field **packet_header_field,
+ struct bt_field **packet_context_field);
BT_HIDDEN
void ctf_fs_ds_file_destroy(struct ctf_fs_ds_file *stream);
static
struct ctf_fs_ds_file_group *ctf_fs_ds_file_group_create(
struct ctf_fs_trace *ctf_fs_trace,
- struct bt_private_stream_class *stream_class,
+ struct bt_stream_class *stream_class,
uint64_t stream_instance_id)
{
struct ctf_fs_ds_file_group *ds_file_group;
int add_ds_file_to_ds_file_group(struct ctf_fs_trace *ctf_fs_trace,
const char *path)
{
- struct bt_private_stream_class *stream_class = NULL;
+ struct bt_stream_class *stream_class = NULL;
int64_t stream_instance_id = -1;
int64_t begin_ns = -1;
struct ctf_fs_ds_file_group *ds_file_group = NULL;
if (props.snapshots.beginning_clock != UINT64_C(-1)) {
BT_ASSERT(sc->default_clock_class);
ret = bt_clock_class_cycles_to_ns_from_origin(
- bt_private_clock_class_as_clock_class(
- sc->default_clock_class),
+ sc->default_clock_class,
props.snapshots.beginning_clock, &begin_ns);
if (ret) {
BT_LOGE("Cannot convert clock cycles to nanoseconds from origin (`%s`).",
if (ds_file_group->stream_id == UINT64_C(-1)) {
/* No stream ID: use 0 */
- ds_file_group->stream = bt_private_stream_create_with_id(
+ ds_file_group->stream = bt_stream_create_with_id(
ds_file_group->stream_class,
ctf_fs_trace->next_stream_id);
ctf_fs_trace->next_stream_id++;
} else {
/* Specific stream ID */
- ds_file_group->stream = bt_private_stream_create_with_id(
+ ds_file_group->stream = bt_stream_create_with_id(
ds_file_group->stream_class,
(uint64_t) ds_file_group->stream_id);
}
goto error;
}
- ret = bt_private_stream_set_name(ds_file_group->stream,
+ ret = bt_stream_set_name(ds_file_group->stream,
name->str);
if (ret) {
BT_LOGE("Cannot set stream's name: "
* trace needs. There won't be any more. Therefore it is safe to
* make this trace static.
*/
- (void) bt_private_trace_make_static(ctf_fs_trace->metadata->trace);
+ (void) bt_trace_make_static(ctf_fs_trace->metadata->trace);
goto end;
struct ctf_metadata_decoder *decoder;
/* Owned by this */
- struct bt_private_trace *trace;
+ struct bt_trace *trace;
/* Weak (owned by `decoder` above) */
struct ctf_trace_class *tc;
GPtrArray *ds_file_infos;
/* Owned by this */
- struct bt_private_stream_class *stream_class;
+ struct bt_stream_class *stream_class;
/* Owned by this */
- struct bt_private_stream *stream;
+ struct bt_stream *stream;
/* Stream (instance) ID; -1ULL means none */
uint64_t stream_id;
}
static
-int add_stream_ids(struct bt_value *info, struct bt_stream *stream)
+int add_stream_ids(struct bt_value *info, const struct bt_stream *stream)
{
int ret = 0;
int64_t stream_class_id, stream_instance_id;
enum bt_value_status status;
- struct bt_stream_class *stream_class = NULL;
+ const struct bt_stream_class *stream_class = NULL;
stream_instance_id = bt_stream_get_id(stream);
if (stream_instance_id != -1) {
}
}
- stream_class = bt_stream_borrow_class(stream);
+ stream_class = bt_stream_borrow_class_const(stream);
if (!stream_class) {
ret = -1;
goto end;
goto end;
}
- ret = add_stream_ids(group_info,
- bt_private_stream_as_stream(group->stream));
+ ret = add_stream_ids(group_info, group->stream);
if (ret) {
goto end;
}
}
static
-struct bt_stream *medop_get_stream(
- struct bt_stream_class *stream_class,
+const struct bt_stream *medop_get_stream(
+ const struct bt_stream_class *stream_class,
uint64_t stream_id, void *data)
{
struct lttng_live_stream_iterator *lttng_live_stream = data;
struct lttng_live_stream_iterator {
struct lttng_live_stream_iterator_generic p;
- struct bt_stream *stream;
+ const struct bt_stream *stream;
struct lttng_live_trace *trace;
struct bt_private_port *port; /* weak ref. */
uint64_t id; /* ctf trace ID within the session. */
- struct bt_trace *trace;
+ const struct bt_trace *trace;
struct lttng_live_metadata *metadata;
struct bt_clock_class_priority_map *cc_prio_map;
enum bt_lttng_live_iterator_status ret =
BT_LTTNG_LIVE_ITERATOR_STATUS_OK;
struct lttng_live_trace *trace;
- struct bt_clock_class *clock_class = NULL;
+ const struct bt_clock_class *clock_class = NULL;
struct bt_clock_value *clock_value = NULL;
struct bt_notification *notif = NULL;
int retval;
{
enum bt_lttng_live_iterator_status ret =
BT_LTTNG_LIVE_ITERATOR_STATUS_OK;
- struct bt_clock_class *clock_class = NULL;
+ const struct bt_clock_class *clock_class = NULL;
struct bt_clock_value *clock_value = NULL;
if (lttng_live_stream->state != LTTNG_LIVE_STREAM_QUIESCENT) {
BT_ASSERT(count >= 0);
for (i = 0; i < count; i++) {
- struct bt_clock_class *clock_class =
+ const struct bt_clock_class *clock_class =
bt_trace_get_clock_class_by_index(trace->trace, i);
BT_ASSERT(clock_class);
static
int find_update_struct_clock_fields(FILE *err, struct bt_field_type *type,
- struct bt_clock_class *writer_clock_class);
+ const struct bt_clock_class *writer_clock_class);
static
int find_update_array_clock_fields(FILE *err, struct bt_field_type *type,
- struct bt_clock_class *writer_clock_class);
+ const struct bt_clock_class *writer_clock_class);
static
int find_update_enum_clock_fields(FILE *err, struct bt_field_type *type,
- struct bt_clock_class *writer_clock_class);
+ const struct bt_clock_class *writer_clock_class);
static
int find_update_sequence_clock_fields(FILE *err, struct bt_field_type *type,
- struct bt_clock_class *writer_clock_class);
+ const struct bt_clock_class *writer_clock_class);
static
int find_update_variant_clock_fields(FILE *err, struct bt_field_type *type,
- struct bt_clock_class *writer_clock_class);
+ const struct bt_clock_class *writer_clock_class);
static
int copy_find_clock_int_field(FILE *err,
- struct bt_event *event, struct bt_event *writer_event,
- struct bt_field *field, struct bt_field_type *type,
- struct bt_field *copy_field);
+ const struct bt_event *event, const struct bt_event *writer_event,
+ const struct bt_field *field, struct bt_field_type *type,
+ const struct bt_field *copy_field);
static
int copy_find_clock_struct_field(FILE *err,
- struct bt_event *event, struct bt_event *writer_event,
- struct bt_field *field, struct bt_field_type *type,
- struct bt_field *copy_field);
+ const struct bt_event *event, const struct bt_event *writer_event,
+ const struct bt_field *field, struct bt_field_type *type,
+ const struct bt_field *copy_field);
static
int copy_find_clock_array_field(FILE *err,
- struct bt_event *event, struct bt_event *writer_event,
- struct bt_field *field, struct bt_field_type *type,
- struct bt_field *copy_field);
+ const struct bt_event *event, const struct bt_event *writer_event,
+ const struct bt_field *field, struct bt_field_type *type,
+ const struct bt_field *copy_field);
static
int copy_find_clock_sequence_field(FILE *err,
- struct bt_event *event, struct bt_event *writer_event,
- struct bt_field *field, struct bt_field_type *type,
- struct bt_field *copy_field);
+ const struct bt_event *event, const struct bt_event *writer_event,
+ const struct bt_field *field, struct bt_field_type *type,
+ const struct bt_field *copy_field);
static
-int copy_find_clock_variant_field(FILE *err, struct bt_event *event,
- struct bt_event *writer_event, struct bt_field *field,
- struct bt_field_type *type, struct bt_field *copy_field);
+int copy_find_clock_variant_field(FILE *err, const struct bt_event *event,
+ const struct bt_event *writer_event, const struct bt_field *field,
+ struct bt_field_type *type, const struct bt_field *copy_field);
static
-int copy_find_clock_enum_field(FILE *err, struct bt_event *event,
- struct bt_event *writer_event, struct bt_field *field,
- struct bt_field_type *type, struct bt_field *copy_field);
+int copy_find_clock_enum_field(FILE *err, const struct bt_event *event,
+ const struct bt_event *writer_event, const struct bt_field *field,
+ struct bt_field_type *type, const struct bt_field *copy_field);
static
int update_header_clock_int_field_type(FILE *err, struct bt_field_type *type,
- struct bt_clock_class *writer_clock_class)
+ const struct bt_clock_class *writer_clock_class)
{
- struct bt_clock_class *clock = NULL;
+ const struct bt_clock_class *clock = NULL;
int ret;
clock = bt_field_type_integer_get_mapped_clock_class(type);
static
int find_update_clock_fields(FILE *err, struct bt_field_type *type,
- struct bt_clock_class *writer_clock_class)
+ const struct bt_clock_class *writer_clock_class)
{
int ret;
static
int find_update_variant_clock_fields(FILE *err, struct bt_field_type *type,
- struct bt_clock_class *writer_clock_class)
+ const struct bt_clock_class *writer_clock_class)
{
int count, i, ret;
struct bt_field_type *entry_type = NULL;
static
int find_update_struct_clock_fields(FILE *err, struct bt_field_type *type,
- struct bt_clock_class *writer_clock_class)
+ const struct bt_clock_class *writer_clock_class)
{
int count, i, ret;
struct bt_field_type *entry_type = NULL;
static
int find_update_sequence_clock_fields(FILE *err, struct bt_field_type *type,
- struct bt_clock_class *writer_clock_class)
+ const struct bt_clock_class *writer_clock_class)
{
int ret;
struct bt_field_type *entry_type = NULL;
static
int find_update_array_clock_fields(FILE *err, struct bt_field_type *type,
- struct bt_clock_class *writer_clock_class)
+ const struct bt_clock_class *writer_clock_class)
{
int ret = 0;
struct bt_field_type *entry_type = NULL;
static
int find_update_enum_clock_fields(FILE *err, struct bt_field_type *type,
- struct bt_clock_class *writer_clock_class)
+ const struct bt_clock_class *writer_clock_class)
{
int ret;
struct bt_field_type *entry_type = NULL;
BT_HIDDEN
struct bt_field_type *override_header_type(FILE *err,
struct bt_field_type *type,
- struct bt_trace *writer_trace)
+ const struct bt_trace *writer_trace)
{
struct bt_field_type *new_type = NULL;
- struct bt_clock_class *writer_clock_class = NULL;
+ const struct bt_clock_class *writer_clock_class = NULL;
int ret;
/* FIXME multi-clock? */
}
static
-int copy_float_field(FILE *err, struct bt_field *field,
+int copy_float_field(FILE *err, const struct bt_field *field,
struct bt_field_type *type,
- struct bt_field *copy_field)
+ const struct bt_field *copy_field)
{
double value;
int ret;
}
static
-int copy_string_field(FILE *err, struct bt_field *field,
+int copy_string_field(FILE *err, const struct bt_field *field,
struct bt_field_type *type,
- struct bt_field *copy_field)
+ const struct bt_field *copy_field)
{
const char *value;
int ret;
}
BT_HIDDEN
-int copy_override_field(FILE *err, struct bt_event *event,
- struct bt_event *writer_event, struct bt_field *field,
- struct bt_field *copy_field)
+int copy_override_field(FILE *err, const struct bt_event *event,
+ const struct bt_event *writer_event, const struct bt_field *field,
+ const struct bt_field *copy_field)
{
struct bt_field_type *type = NULL;
int ret = 0;
}
static
-int copy_find_clock_enum_field(FILE *err, struct bt_event *event,
- struct bt_event *writer_event, struct bt_field *field,
- struct bt_field_type *type, struct bt_field *copy_field)
+int copy_find_clock_enum_field(FILE *err, const struct bt_event *event,
+ const struct bt_event *writer_event, const struct bt_field *field,
+ struct bt_field_type *type, const struct bt_field *copy_field)
{
int ret;
- struct bt_field *container = NULL, *copy_container = NULL;
+ const struct bt_field *container = NULL, *copy_container = NULL;
container = bt_field_enumeration_get_container(field);
BT_ASSERT(container);
}
static
-int copy_find_clock_variant_field(FILE *err, struct bt_event *event,
- struct bt_event *writer_event, struct bt_field *field,
- struct bt_field_type *type, struct bt_field *copy_field)
+int copy_find_clock_variant_field(FILE *err, const struct bt_event *event,
+ const struct bt_event *writer_event, const struct bt_field *field,
+ struct bt_field_type *type, const struct bt_field *copy_field)
{
int ret;
- struct bt_field *tag = NULL;
- struct bt_field *variant_field = NULL, *copy_variant_field = NULL;
+ const struct bt_field *tag = NULL;
+ const struct bt_field *variant_field = NULL, *copy_variant_field = NULL;
tag = bt_field_variant_get_tag(field);
BT_ASSERT(tag);
static
int copy_find_clock_sequence_field(FILE *err,
- struct bt_event *event, struct bt_event *writer_event,
- struct bt_field *field, struct bt_field_type *type,
- struct bt_field *copy_field)
+ const struct bt_event *event, const struct bt_event *writer_event,
+ const struct bt_field *field, struct bt_field_type *type,
+ const struct bt_field *copy_field)
{
int ret;
uint64_t i, count;
- struct bt_field *length_field = NULL;
- struct bt_field *entry_field = NULL, *entry_copy = NULL;
+ const struct bt_field *length_field = NULL;
+ const struct bt_field *entry_field = NULL, *entry_copy = NULL;
length_field = bt_field_sequence_get_length(field);
BT_ASSERT(length_field);
static
int copy_find_clock_array_field(FILE *err,
- struct bt_event *event, struct bt_event *writer_event,
- struct bt_field *field, struct bt_field_type *type,
- struct bt_field *copy_field)
+ const struct bt_event *event, const struct bt_event *writer_event,
+ const struct bt_field *field, struct bt_field_type *type,
+ const struct bt_field *copy_field)
{
int ret, count, i;
- struct bt_field *entry_field = NULL, *entry_copy = NULL;
+ const struct bt_field *entry_field = NULL, *entry_copy = NULL;
count = bt_field_type_array_get_length(type);
for (i = 0; i < count; i++) {
static
int copy_find_clock_struct_field(FILE *err,
- struct bt_event *event, struct bt_event *writer_event,
- struct bt_field *field, struct bt_field_type *type,
- struct bt_field *copy_field)
+ const struct bt_event *event, const struct bt_event *writer_event,
+ const struct bt_field *field, struct bt_field_type *type,
+ const struct bt_field *copy_field)
{
int count, i, ret;
struct bt_field_type *entry_type = NULL;
- struct bt_field *entry_field = NULL, *entry_copy = NULL;
+ const struct bt_field *entry_field = NULL, *entry_copy = NULL;
count = bt_field_type_structure_get_field_count(type);
for (i = 0; i < count; i++) {
}
static
-int set_int_value(FILE *err, struct bt_field *field,
- struct bt_field *copy_field,
+int set_int_value(FILE *err, const struct bt_field *field,
+ const struct bt_field *copy_field,
struct bt_field_type *type)
{
uint64_t uvalue;
return ret;
}
-struct bt_clock_class *stream_class_get_clock_class(FILE *err,
- struct bt_stream_class *stream_class)
+const struct bt_clock_class *stream_class_get_clock_class(FILE *err,
+ const struct bt_stream_class *stream_class)
{
- struct bt_trace *trace = NULL;
- struct bt_clock_class *clock_class = NULL;
+ const struct bt_trace *trace = NULL;
+ const struct bt_clock_class *clock_class = NULL;
trace = bt_stream_class_get_trace(stream_class);
BT_ASSERT(trace);
return clock_class;
}
-struct bt_clock_class *event_get_clock_class(FILE *err, struct bt_event *event)
+const struct bt_clock_class *event_get_clock_class(FILE *err, const struct bt_event *event)
{
- struct bt_event_class *event_class = NULL;
- struct bt_stream_class *stream_class = NULL;
- struct bt_clock_class *clock_class = NULL;
+ const struct bt_event_class *event_class = NULL;
+ const struct bt_stream_class *stream_class = NULL;
+ const struct bt_clock_class *clock_class = NULL;
event_class = bt_event_get_class(event);
BT_ASSERT(event_class);
static
int copy_find_clock_int_field(FILE *err,
- struct bt_event *event, struct bt_event *writer_event,
- struct bt_field *field, struct bt_field_type *type,
- struct bt_field *copy_field)
+ const struct bt_event *event, const struct bt_event *writer_event,
+ const struct bt_field *field, struct bt_field_type *type,
+ const struct bt_field *copy_field)
{
- struct bt_clock_class *clock_class = NULL, *writer_clock_class = NULL;
+ const struct bt_clock_class *clock_class = NULL, *writer_clock_class = NULL;
struct bt_clock_value *clock_value = NULL, *writer_clock_value = NULL;
uint64_t value;
int ret;
BT_HIDDEN
struct bt_field_type *override_header_type(FILE *err,
struct bt_field_type *type,
- struct bt_trace *writer_trace);
+ const struct bt_trace *writer_trace);
BT_HIDDEN
-int copy_override_field(FILE *err, struct bt_event *event,
- struct bt_event *writer_event, struct bt_field *field,
- struct bt_field *copy_field);
+int copy_override_field(FILE *err, const struct bt_event *event,
+ const struct bt_event *writer_event, const struct bt_field *field,
+ const struct bt_field *copy_field);
BT_HIDDEN
-struct bt_clock_class *stream_class_get_clock_class(FILE *err,
- struct bt_stream_class *stream_class);
+const struct bt_clock_class *stream_class_get_clock_class(FILE *err,
+ const struct bt_stream_class *stream_class);
BT_HIDDEN
-struct bt_clock_class *event_get_clock_class(FILE *err,
- struct bt_event *event);
+const struct bt_clock_class *event_get_clock_class(FILE *err,
+ const struct bt_event *event);
#ifdef __cplusplus
}
#include "clock-fields.h"
BT_HIDDEN
-struct bt_clock_class *ctf_copy_clock_class(FILE *err,
- struct bt_clock_class *clock_class)
+const struct bt_clock_class *ctf_copy_clock_class(FILE *err,
+ const struct bt_clock_class *clock_class)
{
int64_t offset, offset_s;
int int_ret;
uint64_t u64_ret;
const char *name, *description;
- struct bt_clock_class *writer_clock_class = NULL;
+ const struct bt_clock_class *writer_clock_class = NULL;
BT_ASSERT(err && clock_class);
BT_HIDDEN
enum bt_component_status ctf_copy_clock_classes(FILE *err,
- struct bt_trace *writer_trace,
- struct bt_stream_class *writer_stream_class,
- struct bt_trace *trace)
+ const struct bt_trace *writer_trace,
+ const struct bt_stream_class *writer_stream_class,
+ const struct bt_trace *trace)
{
enum bt_component_status ret;
int int_ret, clock_class_count, i;
clock_class_count = bt_trace_get_clock_class_count(trace);
for (i = 0; i < clock_class_count; i++) {
- struct bt_clock_class *writer_clock_class;
- struct bt_clock_class *clock_class =
+ const struct bt_clock_class *writer_clock_class;
+ const struct bt_clock_class *clock_class =
bt_trace_get_clock_class_by_index(trace, i);
BT_ASSERT(clock_class);
}
static
-void replace_clock_classes(struct bt_trace *trace_copy,
+void replace_clock_classes(const struct bt_trace *trace_copy,
struct bt_field_type *field_type)
{
int ret;
switch (bt_field_type_get_type_id(field_type)) {
case BT_FIELD_TYPE_ID_INTEGER:
{
- struct bt_clock_class *mapped_clock_class =
+ const struct bt_clock_class *mapped_clock_class =
bt_field_type_integer_get_mapped_clock_class(field_type);
- struct bt_clock_class *clock_class_copy = NULL;
+ const struct bt_clock_class *clock_class_copy = NULL;
const char *name;
if (!mapped_clock_class) {
}
BT_HIDDEN
-struct bt_event_class *ctf_copy_event_class(FILE *err,
- struct bt_trace *trace_copy,
- struct bt_event_class *event_class)
+const struct bt_event_class *ctf_copy_event_class(FILE *err,
+ const struct bt_trace *trace_copy,
+ const struct bt_event_class *event_class)
{
- struct bt_event_class *writer_event_class = NULL;
+ const struct bt_event_class *writer_event_class = NULL;
struct bt_field_type *context = NULL, *payload_type = NULL;
const char *name;
int ret;
name = bt_event_class_get_name(event_class);
- writer_event_class = bt_private_event_class_create(name);
+ writer_event_class = bt_event_class_create(name);
BT_ASSERT(writer_event_class);
id = bt_event_class_get_id(event_class);
goto error;
}
- ret = bt_private_event_class_set_log_level(writer_event_class, log_level);
+ ret = bt_event_class_set_log_level(writer_event_class, log_level);
if (ret) {
BT_LOGE_STR("Failed to set log_level.");
goto error;
emf_uri = bt_event_class_get_emf_uri(event_class);
if (emf_uri) {
- ret = bt_private_event_class_set_emf_uri(writer_event_class,
+ ret = bt_event_class_set_emf_uri(writer_event_class,
emf_uri);
if (ret) {
BT_LOGE_STR("Failed to set emf uri.");
BT_HIDDEN
enum bt_component_status ctf_copy_event_classes(FILE *err,
- struct bt_stream_class *stream_class,
- struct bt_stream_class *writer_stream_class)
+ const struct bt_stream_class *stream_class,
+ const struct bt_stream_class *writer_stream_class)
{
enum bt_component_status ret = BT_COMPONENT_STATUS_OK;
- struct bt_event_class *event_class = NULL, *writer_event_class = NULL;
+ const struct bt_event_class *event_class = NULL, *writer_event_class = NULL;
int count, i;
- struct bt_trace *writer_trace =
+ const struct bt_trace *writer_trace =
bt_stream_class_get_trace(writer_stream_class);
BT_ASSERT(writer_trace);
}
BT_HIDDEN
-struct bt_stream_class *ctf_copy_stream_class(FILE *err,
- struct bt_stream_class *stream_class,
- struct bt_trace *writer_trace,
+const struct bt_stream_class *ctf_copy_stream_class(FILE *err,
+ const struct bt_stream_class *stream_class,
+ const struct bt_trace *writer_trace,
bool override_ts64)
{
struct bt_field_type *type = NULL;
struct bt_field_type *type_copy = NULL;
- struct bt_stream_class *writer_stream_class = NULL;
+ const struct bt_stream_class *writer_stream_class = NULL;
int ret_int;
const char *name = bt_stream_class_get_name(stream_class);
}
BT_HIDDEN
-int ctf_stream_copy_packet_header(FILE *err, struct bt_packet *packet,
- struct bt_stream *writer_stream)
+int ctf_stream_copy_packet_header(FILE *err, const struct bt_packet *packet,
+ const struct bt_stream *writer_stream)
{
- struct bt_field *packet_header = NULL, *writer_packet_header = NULL;
+ const struct bt_field *packet_header = NULL, *writer_packet_header = NULL;
int ret = 0;
packet_header = bt_packet_get_header(packet);
}
BT_HIDDEN
-int ctf_packet_copy_header(FILE *err, struct bt_packet *packet,
- struct bt_packet *writer_packet)
+int ctf_packet_copy_header(FILE *err, const struct bt_packet *packet,
+ const struct bt_packet *writer_packet)
{
- struct bt_field *packet_header = NULL, *writer_packet_header = NULL;
+ const struct bt_field *packet_header = NULL, *writer_packet_header = NULL;
int ret = 0;
packet_header = bt_packet_get_header(packet);
}
BT_HIDDEN
-int ctf_stream_copy_packet_context(FILE *err, struct bt_packet *packet,
- struct bt_stream *writer_stream)
+int ctf_stream_copy_packet_context(FILE *err, const struct bt_packet *packet,
+ const struct bt_stream *writer_stream)
{
- struct bt_field *packet_context = NULL, *writer_packet_context = NULL;
+ const struct bt_field *packet_context = NULL, *writer_packet_context = NULL;
int ret = 0;
packet_context = bt_packet_get_context(packet);
}
BT_HIDDEN
-int ctf_packet_copy_context(FILE *err, struct bt_packet *packet,
- struct bt_stream *writer_stream,
- struct bt_packet *writer_packet)
+int ctf_packet_copy_context(FILE *err, const struct bt_packet *packet,
+ const struct bt_stream *writer_stream,
+ const struct bt_packet *writer_packet)
{
- struct bt_field *packet_context = NULL, *writer_packet_context = NULL;
+ const struct bt_field *packet_context = NULL, *writer_packet_context = NULL;
int ret = 0;
packet_context = bt_packet_get_context(packet);
}
BT_HIDDEN
-int ctf_copy_event_header(FILE *err, struct bt_event *event,
- struct bt_event_class *writer_event_class,
- struct bt_event *writer_event,
- struct bt_field *event_header)
+int ctf_copy_event_header(FILE *err, const struct bt_event *event,
+ const struct bt_event_class *writer_event_class,
+ const struct bt_event *writer_event,
+ const struct bt_field *event_header)
{
- struct bt_clock_class *clock_class = NULL, *writer_clock_class = NULL;
+ const struct bt_clock_class *clock_class = NULL, *writer_clock_class = NULL;
struct bt_clock_value *clock_value = NULL, *writer_clock_value = NULL;
int ret;
- struct bt_field *writer_event_header = NULL;
+ const struct bt_field *writer_event_header = NULL;
uint64_t value;
clock_class = event_get_clock_class(err, event);
}
static
-struct bt_trace *event_class_get_trace(FILE *err,
- struct bt_event_class *event_class)
+const struct bt_trace *event_class_get_trace(FILE *err,
+ const struct bt_event_class *event_class)
{
- struct bt_trace *trace = NULL;
- struct bt_stream_class *stream_class = NULL;
+ const struct bt_trace *trace = NULL;
+ const struct bt_stream_class *stream_class = NULL;
stream_class = bt_event_class_get_stream_class(event_class);
BT_ASSERT(stream_class);
}
BT_HIDDEN
-struct bt_event *ctf_copy_event(FILE *err, struct bt_event *event,
- struct bt_event_class *writer_event_class,
+const struct bt_event *ctf_copy_event(FILE *err, const struct bt_event *event,
+ const struct bt_event_class *writer_event_class,
bool override_ts64)
{
- struct bt_event *writer_event = NULL;
- struct bt_field *field = NULL, *copy_field = NULL;
- struct bt_trace *writer_trace = NULL;
+ const struct bt_event *writer_event = NULL;
+ const struct bt_field *field = NULL, *copy_field = NULL;
+ const struct bt_trace *writer_trace = NULL;
int ret;
writer_event = bt_event_create(writer_event_class);
}
BT_HIDDEN
-enum bt_component_status ctf_copy_trace(FILE *err, struct bt_trace *trace,
- struct bt_trace *writer_trace)
+enum bt_component_status ctf_copy_trace(FILE *err, const struct bt_trace *trace,
+ const struct bt_trace *writer_trace)
{
enum bt_component_status ret = BT_COMPONENT_STATUS_OK;
int field_count, i, int_ret;
*
* Returns NULL on error.
*/
-struct bt_clock_class *ctf_copy_clock_class(FILE *err,
- struct bt_clock_class *clock_class);
+const struct bt_clock_class *ctf_copy_clock_class(FILE *err,
+ const struct bt_clock_class *clock_class);
/*
* Copy all the clock classes from the input trace and add them to the writer
*/
BT_HIDDEN
enum bt_component_status ctf_copy_clock_classes(FILE *err,
- struct bt_trace *writer_trace,
- struct bt_stream_class *writer_stream_class,
- struct bt_trace *trace);
+ const struct bt_trace *writer_trace,
+ const struct bt_stream_class *writer_stream_class,
+ const struct bt_trace *trace);
/*
* Create a copy of the event class passed in parameter.
* Returns NULL on error.
*/
BT_HIDDEN
-struct bt_event_class *ctf_copy_event_class(FILE *err,
- struct bt_trace *trace_copy,
- struct bt_event_class *event_class);
+const struct bt_event_class *ctf_copy_event_class(FILE *err,
+ const struct bt_trace *trace_copy,
+ const struct bt_event_class *event_class);
/*
* Copy all the event classes from the input stream class and add them to the
*/
BT_HIDDEN
enum bt_component_status ctf_copy_event_classes(FILE *err,
- struct bt_stream_class *stream_class,
- struct bt_stream_class *writer_stream_class);
+ const struct bt_stream_class *stream_class,
+ const struct bt_stream_class *writer_stream_class);
/*
* Create a copy of the stream class passed in parameter.
* Returns NULL or error.
*/
BT_HIDDEN
-struct bt_stream_class *ctf_copy_stream_class(FILE *err,
- struct bt_stream_class *stream_class,
- struct bt_trace *writer_trace,
+const struct bt_stream_class *ctf_copy_stream_class(FILE *err,
+ const struct bt_stream_class *stream_class,
+ const struct bt_trace *writer_trace,
bool override_ts64);
/*
*/
BT_HIDDEN
enum bt_component_status ctf_copy_packet_context_field(FILE *err,
- struct bt_field *field, const char *field_name,
- struct bt_field *writer_packet_context,
+ const struct bt_field *field, const char *field_name,
+ const struct bt_field *writer_packet_context,
struct bt_field_type *writer_packet_context_type);
* Returns 0 on success or -1 on error.
*/
BT_HIDDEN
-int ctf_stream_copy_packet_header(FILE *err, struct bt_packet *packet,
- struct bt_stream *writer_stream);
+int ctf_stream_copy_packet_header(FILE *err, const struct bt_packet *packet,
+ const struct bt_stream *writer_stream);
/*
* Copy the packet_header from the packet passed in parameter and assign it
* Returns 0 on success or -1 on error.
*/
BT_HIDDEN
-int ctf_packet_copy_header(FILE *err, struct bt_packet *packet,
- struct bt_packet *writer_packet);
+int ctf_packet_copy_header(FILE *err, const struct bt_packet *packet,
+ const struct bt_packet *writer_packet);
/*
* Copy all the field values of the packet context from the packet passed in
* Returns 0 on success or -1 on error.
*/
BT_HIDDEN
-int ctf_stream_copy_packet_context(FILE *err, struct bt_packet *packet,
- struct bt_stream *writer_stream);
+int ctf_stream_copy_packet_context(FILE *err, const struct bt_packet *packet,
+ const struct bt_stream *writer_stream);
/*
* Copy all the field values of the packet context from the packet passed in
* Returns 0 on success or -1 on error.
*/
BT_HIDDEN
-int ctf_packet_copy_context(FILE *err, struct bt_packet *packet,
- struct bt_stream *writer_stream,
- struct bt_packet *writer_packet);
+int ctf_packet_copy_context(FILE *err, const struct bt_packet *packet,
+ const struct bt_stream *writer_stream,
+ const struct bt_packet *writer_packet);
/*
* Create and return a copy of the event passed in parameter. The caller has to
* Returns NULL on error.
*/
BT_HIDDEN
-struct bt_event *ctf_copy_event(FILE *err, struct bt_event *event,
- struct bt_event_class *writer_event_class,
+const struct bt_event *ctf_copy_event(FILE *err, const struct bt_event *event,
+ const struct bt_event_class *writer_event_class,
bool override_ts64);
/*
* Returns 0 on success, -1 on error.
*/
BT_HIDDEN
-int ctf_copy_event_header(FILE *err, struct bt_event *event,
- struct bt_event_class *writer_event_class,
- struct bt_event *writer_event,
- struct bt_field *event_header);
+int ctf_copy_event_header(FILE *err, const struct bt_event *event,
+ const struct bt_event_class *writer_event_class,
+ const struct bt_event *writer_event,
+ const struct bt_field *event_header);
/*
* Copy the environment and the packet header from the input trace to the
* error.
*/
BT_HIDDEN
-enum bt_component_status ctf_copy_trace(FILE *err, struct bt_trace *trace,
- struct bt_trace *writer_trace);
+enum bt_component_status ctf_copy_trace(FILE *err, const struct bt_trace *trace,
+ const struct bt_trace *writer_trace);
#ifdef __cplusplus
}
#include "debug-info.h"
static
-struct bt_stream *insert_new_stream(
+const struct bt_stream *insert_new_stream(
struct debug_info_iterator *debug_it,
- struct bt_stream *stream,
+ const struct bt_stream *stream,
struct debug_info_trace *di_trace);
static
-void unref_stream(struct bt_stream *stream)
+void unref_stream(const struct bt_stream *stream)
{
bt_object_put_ref(stream);
}
static
-void unref_packet(struct bt_packet *packet)
+void unref_packet(const struct bt_packet *packet)
{
bt_object_put_ref(packet);
}
static
-void unref_stream_class(struct bt_stream_class *stream_class)
+void unref_stream_class(const struct bt_stream_class *stream_class)
{
bt_object_put_ref(stream_class);
}
}
static
-struct bt_field *get_payload_field(FILE *err,
- struct bt_event *event, const char *field_name)
+const struct bt_field *get_payload_field(FILE *err,
+ const struct bt_event *event, const char *field_name)
{
- struct bt_field *field = NULL, *payload = NULL;
- struct bt_field_class *payload_class = NULL;
+ const struct bt_field *field = NULL, *payload = NULL;
+ const struct bt_field_class *payload_class = NULL;
payload = bt_event_get_payload(event, NULL);
BT_ASSERT(payload);
}
static
-struct bt_field *get_stream_event_context_field(FILE *err,
- struct bt_event *event, const char *field_name)
+const struct bt_field *get_stream_event_context_field(FILE *err,
+ const struct bt_event *event, const char *field_name)
{
- struct bt_field *field = NULL, *sec = NULL;
- struct bt_field_class *sec_class = NULL;
+ const struct bt_field *field = NULL, *sec = NULL;
+ const struct bt_field_class *sec_class = NULL;
sec = bt_event_get_stream_event_context(event);
if (!sec) {
BT_HIDDEN
int get_stream_event_context_unsigned_int_field_value(FILE *err,
- struct bt_event *event, const char *field_name,
+ const struct bt_event *event, const char *field_name,
uint64_t *value)
{
int ret;
- struct bt_field *field = NULL;
- struct bt_field_class *field_class = NULL;
+ const struct bt_field *field = NULL;
+ const struct bt_field_class *field_class = NULL;
field = get_stream_event_context_field(err, event, field_name);
if (!field) {
}
BT_HIDDEN
-int get_stream_event_context_int_field_value(FILE *err, struct bt_event *event,
+int get_stream_event_context_int_field_value(FILE *err, const struct bt_event *event,
const char *field_name, int64_t *value)
{
- struct bt_field *field = NULL;
- struct bt_field_class *field_class = NULL;
+ const struct bt_field *field = NULL;
+ const struct bt_field_class *field_class = NULL;
int ret;
field = get_stream_event_context_field(err, event, field_name);
BT_HIDDEN
int get_payload_unsigned_int_field_value(FILE *err,
- struct bt_event *event, const char *field_name,
+ const struct bt_event *event, const char *field_name,
uint64_t *value)
{
- struct bt_field *field = NULL;
- struct bt_field_class *field_class = NULL;
+ const struct bt_field *field = NULL;
+ const struct bt_field_class *field_class = NULL;
int ret;
field = get_payload_field(err, event, field_name);
}
BT_HIDDEN
-int get_payload_int_field_value(FILE *err, struct bt_event *event,
+int get_payload_int_field_value(FILE *err, const struct bt_event *event,
const char *field_name, int64_t *value)
{
- struct bt_field *field = NULL;
- struct bt_field_class *field_class = NULL;
+ const struct bt_field *field = NULL;
+ const struct bt_field_class *field_class = NULL;
int ret;
field = get_payload_field(err, event, field_name);
BT_HIDDEN
int get_payload_string_field_value(FILE *err,
- struct bt_event *event, const char *field_name,
+ const struct bt_event *event, const char *field_name,
const char **value)
{
- struct bt_field *field = NULL;
- struct bt_field_class *field_class = NULL;
+ const struct bt_field *field = NULL;
+ const struct bt_field_class *field_class = NULL;
int ret;
/*
BT_HIDDEN
int get_payload_build_id_field_value(FILE *err,
- struct bt_event *event, const char *field_name,
+ const struct bt_event *event, const char *field_name,
uint8_t **build_id, uint64_t *build_id_len)
{
- struct bt_field *field = NULL, *seq_len = NULL;
- struct bt_field_class *field_class = NULL;
- struct bt_field *seq_field = NULL;
+ const struct bt_field *field = NULL, *seq_len = NULL;
+ const struct bt_field_class *field_class = NULL;
+ const struct bt_field *seq_field = NULL;
uint64_t i;
int ret;
static
struct debug_info *lookup_trace_debug_info(struct debug_info_iterator *debug_it,
- struct bt_trace *writer_trace,
+ const struct bt_trace *writer_trace,
struct debug_info_trace *di_trace)
{
return (struct debug_info *) g_hash_table_lookup(
static
struct debug_info *insert_new_debug_info(struct debug_info_iterator *debug_it,
- struct bt_trace *writer_trace,
+ const struct bt_trace *writer_trace,
struct debug_info_trace *di_trace)
{
struct debug_info *debug_info = NULL;
static
struct debug_info *get_trace_debug_info(struct debug_info_iterator *debug_it,
- struct bt_trace *writer_trace,
+ const struct bt_trace *writer_trace,
struct debug_info_trace *di_trace)
{
struct debug_info *debug_info;
static
struct debug_info_trace *lookup_trace(struct debug_info_iterator *debug_it,
- struct bt_trace *trace)
+ const struct bt_trace *trace)
{
return (struct debug_info_trace *) g_hash_table_lookup(
debug_it->trace_map,
static
enum debug_info_stream_state *insert_new_stream_state(
struct debug_info_iterator *debug_it,
- struct debug_info_trace *di_trace, struct bt_stream *stream)
+ struct debug_info_trace *di_trace, const struct bt_stream *stream)
{
enum debug_info_stream_state *v = NULL;
static
int sync_event_classes(struct debug_info_iterator *debug_it,
- struct bt_stream *stream,
- struct bt_stream *writer_stream)
+ const struct bt_stream *stream,
+ const struct bt_stream *writer_stream)
{
int int_ret;
- struct bt_stream_class *stream_class = NULL,
+ const struct bt_stream_class *stream_class = NULL,
*writer_stream_class = NULL;
enum bt_component_status ret;
}
static
-void trace_is_static_listener(struct bt_trace *trace, void *data)
+void trace_is_static_listener(const struct bt_trace *trace, void *data)
{
struct debug_info_trace *di_trace = data;
int trace_completed = 1, ret, nr_stream, i;
- struct bt_stream *stream = NULL, *writer_stream = NULL;
- struct bt_trace *writer_trace = di_trace->writer_trace;
+ const struct bt_stream *stream = NULL, *writer_stream = NULL;
+ const struct bt_trace *writer_trace = di_trace->writer_trace;
/*
* When the trace becomes static, make sure that we have all
static
struct debug_info_trace *insert_new_trace(struct debug_info_iterator *debug_it,
- struct bt_stream *stream) {
- struct bt_trace *writer_trace = NULL;
+ const struct bt_stream *stream) {
+ const struct bt_trace *writer_trace = NULL;
struct debug_info_trace *di_trace = NULL;
- struct bt_trace *trace = NULL;
- struct bt_stream_class *stream_class = NULL;
- struct bt_stream *writer_stream = NULL;
+ const struct bt_trace *trace = NULL;
+ const struct bt_stream_class *stream_class = NULL;
+ const struct bt_stream *writer_stream = NULL;
int ret, nr_stream, i;
writer_trace = bt_trace_create();
}
static
-struct bt_packet *lookup_packet(struct debug_info_iterator *debug_it,
- struct bt_packet *packet,
+const struct bt_packet *lookup_packet(struct debug_info_iterator *debug_it,
+ const struct bt_packet *packet,
struct debug_info_trace *di_trace)
{
- return (struct bt_packet *) g_hash_table_lookup(
+ return (const struct bt_packet *) g_hash_table_lookup(
di_trace->packet_map,
(gpointer) packet);
}
static
-struct bt_packet *insert_new_packet(struct debug_info_iterator *debug_it,
- struct bt_packet *packet,
- struct bt_stream *writer_stream,
+const struct bt_packet *insert_new_packet(struct debug_info_iterator *debug_it,
+ const struct bt_packet *packet,
+ const struct bt_stream *writer_stream,
struct debug_info_trace *di_trace)
{
- struct bt_packet *writer_packet;
+ const struct bt_packet *writer_packet;
int ret;
writer_packet = bt_packet_create(writer_stream);
static
int add_debug_info_fields(FILE *err,
- struct bt_field_class *writer_event_context_class,
+ const struct bt_field_class *writer_event_context_class,
struct debug_info_component *component)
{
- struct bt_field_class *ip_field = NULL, *debug_field_class = NULL,
+ const struct bt_field_class *ip_field = NULL, *debug_field_class = NULL,
*bin_field_class = NULL, *func_field_class = NULL,
*src_field_class = NULL;
int ret = 0;
static
int create_debug_info_event_context_class(FILE *err,
- struct bt_field_class *event_context_class,
- struct bt_field_class *writer_event_context_class,
+ const struct bt_field_class *event_context_class,
+ const struct bt_field_class *writer_event_context_class,
struct debug_info_component *component)
{
int ret, nr_fields, i;
nr_fields = bt_field_class_structure_get_field_count(event_context_class);
for (i = 0; i < nr_fields; i++) {
- struct bt_field_class *field_class = NULL;
+ const struct bt_field_class *field_class = NULL;
const char *field_name;
if (bt_field_class_structure_get_field_by_index(event_context_class,
}
static
-struct bt_stream_class *copy_stream_class_debug_info(FILE *err,
- struct bt_stream_class *stream_class,
- struct bt_trace *writer_trace,
+const struct bt_stream_class *copy_stream_class_debug_info(FILE *err,
+ const struct bt_stream_class *stream_class,
+ const struct bt_trace *writer_trace,
struct debug_info_component *component)
{
- struct bt_field_class *cls = NULL;
- struct bt_stream_class *writer_stream_class = NULL;
- struct bt_field_class *writer_event_context_class = NULL;
+ const struct bt_field_class *cls = NULL;
+ const struct bt_stream_class *writer_stream_class = NULL;
+ const struct bt_field_class *writer_event_context_class = NULL;
int ret_int;
const char *name = bt_stream_class_get_name(stream_class);
* to update the integers mapping to a clock.
*/
static
-int add_clock_classes(FILE *err, struct bt_trace *writer_trace,
- struct bt_stream_class *writer_stream_class,
- struct bt_trace *trace)
+int add_clock_classes(FILE *err, const struct bt_trace *writer_trace,
+ const struct bt_stream_class *writer_stream_class,
+ const struct bt_trace *trace)
{
int ret, clock_class_count, i;
clock_class_count = bt_trace_get_clock_class_count(trace);
for (i = 0; i < clock_class_count; i++) {
- struct bt_clock_class *clock_class =
+ const struct bt_clock_class *clock_class =
bt_trace_get_clock_class_by_index(trace, i);
- struct bt_clock_class *existing_clock_class = NULL;
+ const struct bt_clock_class *existing_clock_class = NULL;
BT_ASSERT(clock_class);
}
static
-struct bt_stream_class *insert_new_stream_class(
+const struct bt_stream_class *insert_new_stream_class(
struct debug_info_iterator *debug_it,
- struct bt_stream_class *stream_class)
+ const struct bt_stream_class *stream_class)
{
- struct bt_stream_class *writer_stream_class = NULL;
- struct bt_trace *trace, *writer_trace = NULL;
+ const struct bt_stream_class *writer_stream_class = NULL;
+ const struct bt_trace *trace, *writer_trace = NULL;
struct debug_info_trace *di_trace;
enum bt_component_status ret;
int int_ret;
}
static
-struct bt_stream *insert_new_stream(
+const struct bt_stream *insert_new_stream(
struct debug_info_iterator *debug_it,
- struct bt_stream *stream,
+ const struct bt_stream *stream,
struct debug_info_trace *di_trace)
{
- struct bt_stream *writer_stream = NULL;
- struct bt_stream_class *stream_class = NULL;
- struct bt_stream_class *writer_stream_class = NULL;
+ const struct bt_stream *writer_stream = NULL;
+ const struct bt_stream_class *stream_class = NULL;
+ const struct bt_stream_class *writer_stream_class = NULL;
int64_t id;
stream_class = bt_stream_get_class(stream);
}
static
-struct bt_stream *lookup_stream(struct debug_info_iterator *debug_it,
- struct bt_stream *stream,
+const struct bt_stream *lookup_stream(struct debug_info_iterator *debug_it,
+ const struct bt_stream *stream,
struct debug_info_trace *di_trace)
{
- return (struct bt_stream *) g_hash_table_lookup(
+ return (const struct bt_stream *) g_hash_table_lookup(
di_trace->stream_map, (gpointer) stream);
}
static
-struct bt_event_class *get_event_class(struct debug_info_iterator *debug_it,
- struct bt_stream_class *writer_stream_class,
- struct bt_event_class *event_class)
+const struct bt_event_class *get_event_class(struct debug_info_iterator *debug_it,
+ const struct bt_stream_class *writer_stream_class,
+ const struct bt_event_class *event_class)
{
return bt_stream_class_get_event_class_by_id(writer_stream_class,
bt_event_class_get_id(event_class));
static
struct debug_info_trace *lookup_di_trace_from_stream(
struct debug_info_iterator *debug_it,
- struct bt_stream *stream)
+ const struct bt_stream *stream)
{
- struct bt_stream_class *stream_class = NULL;
- struct bt_trace *trace = NULL;
+ const struct bt_stream_class *stream_class = NULL;
+ const struct bt_trace *trace = NULL;
struct debug_info_trace *di_trace = NULL;
stream_class = bt_stream_get_class(stream);
}
static
-struct bt_stream *get_writer_stream(
+const struct bt_stream *get_writer_stream(
struct debug_info_iterator *debug_it,
- struct bt_packet *packet, struct bt_stream *stream)
+ const struct bt_packet *packet, const struct bt_stream *stream)
{
- struct bt_stream_class *stream_class = NULL;
- struct bt_stream *writer_stream = NULL;
+ const struct bt_stream_class *stream_class = NULL;
+ const struct bt_stream *writer_stream = NULL;
struct debug_info_trace *di_trace = NULL;
stream_class = bt_stream_get_class(stream);
}
BT_HIDDEN
-struct bt_packet *debug_info_new_packet(
+const struct bt_packet *debug_info_new_packet(
struct debug_info_iterator *debug_it,
- struct bt_packet *packet)
+ const struct bt_packet *packet)
{
- struct bt_stream *stream = NULL, *writer_stream = NULL;
- struct bt_packet *writer_packet = NULL;
- struct bt_field *packet_context = NULL;
+ const struct bt_stream *stream = NULL, *writer_stream = NULL;
+ const struct bt_packet *writer_packet = NULL;
+ const struct bt_field *packet_context = NULL;
struct debug_info_trace *di_trace;
int int_ret;
}
BT_HIDDEN
-struct bt_packet *debug_info_close_packet(
+const struct bt_packet *debug_info_close_packet(
struct debug_info_iterator *debug_it,
- struct bt_packet *packet)
+ const struct bt_packet *packet)
{
- struct bt_packet *writer_packet = NULL;
- struct bt_stream *stream = NULL;
+ const struct bt_packet *writer_packet = NULL;
+ const struct bt_stream *stream = NULL;
struct debug_info_trace *di_trace;
stream = bt_packet_get_stream(packet);
}
BT_HIDDEN
-struct bt_stream *debug_info_stream_begin(
+const struct bt_stream *debug_info_stream_begin(
struct debug_info_iterator *debug_it,
- struct bt_stream *stream)
+ const struct bt_stream *stream)
{
- struct bt_stream *writer_stream = NULL;
+ const struct bt_stream *writer_stream = NULL;
enum debug_info_stream_state *state;
struct debug_info_trace *di_trace = NULL;
}
BT_HIDDEN
-struct bt_stream *debug_info_stream_end(struct debug_info_iterator *debug_it,
- struct bt_stream *stream)
+const struct bt_stream *debug_info_stream_end(struct debug_info_iterator *debug_it,
+ const struct bt_stream *stream)
{
- struct bt_stream *writer_stream = NULL;
+ const struct bt_stream *writer_stream = NULL;
struct debug_info_trace *di_trace = NULL;
enum debug_info_stream_state *state;
static
struct debug_info_source *lookup_debug_info(FILE *err,
- struct bt_event *event,
+ const struct bt_event *event,
struct debug_info *debug_info)
{
int64_t vpid;
}
static
-int set_debug_info_field(FILE *err, struct bt_field *debug_field,
+int set_debug_info_field(FILE *err, const struct bt_field *debug_field,
struct debug_info_source *dbg_info_src,
struct debug_info_component *component)
{
int i, nr_fields, ret = 0;
- struct bt_field_class *debug_field_class = NULL;
- struct bt_field *field = NULL;
- struct bt_field_class *field_class = NULL;
+ const struct bt_field_class *debug_field_class = NULL;
+ const struct bt_field *field = NULL;
+ const struct bt_field_class *field_class = NULL;
debug_field_class = bt_field_get_class(debug_field);
BT_ASSERT(debug_field_class);
static
int copy_set_debug_info_stream_event_context(FILE *err,
- struct bt_field *event_context,
- struct bt_event *event,
- struct bt_event *writer_event,
+ const struct bt_field *event_context,
+ const struct bt_event *event,
+ const struct bt_event *writer_event,
struct debug_info *debug_info,
struct debug_info_component *component)
{
- struct bt_field_class *writer_event_context_class = NULL,
+ const struct bt_field_class *writer_event_context_class = NULL,
*event_context_class = NULL;
- struct bt_field *writer_event_context = NULL;
- struct bt_field *field = NULL, *copy_field = NULL, *debug_field = NULL;
- struct bt_field_class *field_class = NULL;
+ const struct bt_field *writer_event_context = NULL;
+ const struct bt_field *field = NULL, *copy_field = NULL, *debug_field = NULL;
+ const struct bt_field_class *field_class = NULL;
struct debug_info_source *dbg_info_src;
int ret, nr_fields, i;
}
static
-struct bt_clock_class *stream_class_get_clock_class(FILE *err,
- struct bt_stream_class *stream_class)
+const struct bt_clock_class *stream_class_get_clock_class(FILE *err,
+ const struct bt_stream_class *stream_class)
{
- struct bt_trace *trace = NULL;
- struct bt_clock_class *clock_class = NULL;
+ const struct bt_trace *trace = NULL;
+ const struct bt_clock_class *clock_class = NULL;
trace = bt_stream_class_get_trace(stream_class);
BT_ASSERT(trace);
}
static
-struct bt_clock_class *event_get_clock_class(FILE *err, struct bt_event *event)
+const struct bt_clock_class *event_get_clock_class(FILE *err, const struct bt_event *event)
{
- struct bt_event_class *event_class = NULL;
- struct bt_stream_class *stream_class = NULL;
- struct bt_clock_class *clock_class = NULL;
+ const struct bt_event_class *event_class = NULL;
+ const struct bt_stream_class *stream_class = NULL;
+ const struct bt_clock_class *clock_class = NULL;
event_class = bt_event_get_class(event);
BT_ASSERT(event_class);
}
static
-int set_event_clock_value(FILE *err, struct bt_event *event,
- struct bt_event *writer_event)
+int set_event_clock_value(FILE *err, const struct bt_event *event,
+ const struct bt_event *writer_event)
{
- struct bt_clock_class *clock_class = NULL;
+ const struct bt_clock_class *clock_class = NULL;
struct bt_clock_value *clock_value = NULL;
int ret = 0;
}
static
-struct bt_event *debug_info_copy_event(FILE *err, struct bt_event *event,
- struct bt_event_class *writer_event_class,
+const struct bt_event *debug_info_copy_event(FILE *err, const struct bt_event *event,
+ const struct bt_event_class *writer_event_class,
struct debug_info *debug_info,
struct debug_info_component *component)
{
- struct bt_event *writer_event = NULL;
- struct bt_field *field = NULL, *copy_field = NULL;
+ const struct bt_event *writer_event = NULL;
+ const struct bt_field *field = NULL, *copy_field = NULL;
int ret;
writer_event = bt_event_create(writer_event_class);
}
BT_HIDDEN
-struct bt_event *debug_info_output_event(
+const struct bt_event *debug_info_output_event(
struct debug_info_iterator *debug_it,
- struct bt_event *event)
+ const struct bt_event *event)
{
- struct bt_event_class *event_class = NULL, *writer_event_class = NULL;
- struct bt_stream_class *stream_class = NULL, *writer_stream_class = NULL;
- struct bt_event *writer_event = NULL;
- struct bt_packet *packet = NULL, *writer_packet = NULL;
- struct bt_trace *writer_trace = NULL;
- struct bt_stream *stream = NULL;
+ const struct bt_event_class *event_class = NULL, *writer_event_class = NULL;
+ const struct bt_stream_class *stream_class = NULL, *writer_stream_class = NULL;
+ const struct bt_event *writer_event = NULL;
+ const struct bt_packet *packet = NULL, *writer_packet = NULL;
+ const struct bt_trace *writer_trace = NULL;
+ const struct bt_stream *stream = NULL;
struct debug_info_trace *di_trace;
struct debug_info *debug_info;
int int_ret;
#include <babeltrace/babeltrace.h>
BT_HIDDEN
-struct bt_event *debug_info_output_event(struct debug_info_iterator *debug_it,
- struct bt_event *event);
+const struct bt_event *debug_info_output_event(struct debug_info_iterator *debug_it,
+ const struct bt_event *event);
BT_HIDDEN
-struct bt_packet *debug_info_new_packet(struct debug_info_iterator *debug_it,
- struct bt_packet *packet);
+const struct bt_packet *debug_info_new_packet(struct debug_info_iterator *debug_it,
+ const struct bt_packet *packet);
BT_HIDDEN
-struct bt_packet *debug_info_close_packet(struct debug_info_iterator *debug_it,
- struct bt_packet *packet);
+const struct bt_packet *debug_info_close_packet(struct debug_info_iterator *debug_it,
+ const struct bt_packet *packet);
BT_HIDDEN
-struct bt_stream *debug_info_stream_begin(
+const struct bt_stream *debug_info_stream_begin(
struct debug_info_iterator *debug_it,
- struct bt_stream *stream);
+ const struct bt_stream *stream);
BT_HIDDEN
-struct bt_stream *debug_info_stream_end(struct debug_info_iterator *debug_it,
- struct bt_stream *stream);
+const struct bt_stream *debug_info_stream_end(struct debug_info_iterator *debug_it,
+ const struct bt_stream *stream);
BT_HIDDEN
int get_stream_event_context_unsigned_int_field_value(FILE *err,
- struct bt_event *event, const char *field_name,
+ const struct bt_event *event, const char *field_name,
uint64_t *value);
BT_HIDDEN
-int get_stream_event_context_int_field_value(FILE *err, struct bt_event *event,
+int get_stream_event_context_int_field_value(FILE *err, const struct bt_event *event,
const char *field_name, int64_t *value);
BT_HIDDEN
int get_payload_unsigned_int_field_value(FILE *err,
- struct bt_event *event, const char *field_name,
+ const struct bt_event *event, const char *field_name,
uint64_t *value);
BT_HIDDEN
-int get_payload_int_field_value(FILE *err, struct bt_event *event,
+int get_payload_int_field_value(FILE *err, const struct bt_event *event,
const char *field_name, int64_t *value);
BT_HIDDEN
int get_payload_string_field_value(FILE *err,
- struct bt_event *event, const char *field_name,
+ const struct bt_event *event, const char *field_name,
const char **value);
BT_HIDDEN
int get_payload_build_id_field_value(FILE *err,
- struct bt_event *event, const char *field_name,
+ const struct bt_event *event, const char *field_name,
uint8_t **build_id, uint64_t *build_id_len);
#endif /* BABELTRACE_PLUGIN_TRIMMER_COPY_H */
static
void handle_statedump_build_id_event(FILE *err, struct debug_info *debug_info,
- struct bt_event *event)
+ const struct bt_event *event)
{
struct proc_debug_info_sources *proc_dbg_info_src;
struct bin_info *bin = NULL;
static
void handle_statedump_debug_link_event(FILE *err, struct debug_info *debug_info,
- struct bt_event *event)
+ const struct bt_event *event)
{
struct proc_debug_info_sources *proc_dbg_info_src;
struct bin_info *bin = NULL;
static
void handle_bin_info_event(FILE *err, struct debug_info *debug_info,
- struct bt_event *event, bool has_pic_field)
+ const struct bt_event *event, bool has_pic_field)
{
struct proc_debug_info_sources *proc_dbg_info_src;
struct bin_info *bin;
static inline
void handle_statedump_bin_info_event(FILE *err, struct debug_info *debug_info,
- struct bt_event *event)
+ const struct bt_event *event)
{
handle_bin_info_event(err, debug_info, event, true);
}
static inline
void handle_lib_load_event(FILE *err, struct debug_info *debug_info,
- struct bt_event *event)
+ const struct bt_event *event)
{
handle_bin_info_event(err, debug_info, event, false);
}
static inline
void handle_lib_unload_event(FILE *err, struct debug_info *debug_info,
- struct bt_event *event)
+ const struct bt_event *event)
{
struct proc_debug_info_sources *proc_dbg_info_src;
uint64_t baddr;
static
void handle_statedump_start(FILE *err, struct debug_info *debug_info,
- struct bt_event *event)
+ const struct bt_event *event)
{
struct proc_debug_info_sources *proc_dbg_info_src;
int64_t vpid;
}
BT_HIDDEN
-void debug_info_handle_event(FILE *err, struct bt_event *event,
+void debug_info_handle_event(FILE *err, const struct bt_event *event,
struct debug_info *debug_info)
{
- struct bt_event_class *event_class;
+ const struct bt_event_class *event_class;
const char *event_name;
GQuark q_event_name;
};
struct debug_info_trace {
- struct bt_trace *trace;
- struct bt_trace *writer_trace;
+ const struct bt_trace *trace;
+ const struct bt_trace *writer_trace;
struct debug_info_component *debug_info_component;
struct debug_info_iterator *debug_it;
int static_listener_id;
int64_t vpid, uint64_t ip);
BT_HIDDEN
-void debug_info_handle_event(FILE *err, struct bt_event *event,
+void debug_info_handle_event(FILE *err, const struct bt_event *event,
struct debug_info *debug_info);
BT_HIDDEN
switch (bt_notification_get_type(notification)) {
case BT_NOTIFICATION_TYPE_PACKET_BEGIN:
{
- struct bt_packet *packet =
+ const struct bt_packet *packet =
bt_notification_packet_begin_get_packet(notification);
- struct bt_packet *writer_packet;
+ const struct bt_packet *writer_packet;
if (!packet) {
goto end;
}
case BT_NOTIFICATION_TYPE_PACKET_END:
{
- struct bt_packet *packet =
+ const struct bt_packet *packet =
bt_notification_packet_end_get_packet(notification);
- struct bt_packet *writer_packet;
+ const struct bt_packet *writer_packet;
if (!packet) {
goto end;
}
case BT_NOTIFICATION_TYPE_EVENT:
{
- struct bt_event *event = bt_notification_event_get_event(
+ const struct bt_event *event = bt_notification_event_get_event(
notification);
- struct bt_event *writer_event;
+ const struct bt_event *writer_event;
struct bt_clock_class_priority_map *cc_prio_map =
bt_notification_event_get_clock_class_priority_map(
notification);
}
case BT_NOTIFICATION_TYPE_STREAM_BEGIN:
{
- struct bt_stream *stream =
+ const struct bt_stream *stream =
bt_notification_stream_begin_get_stream(notification);
- struct bt_stream *writer_stream;
+ const struct bt_stream *writer_stream;
if (!stream) {
goto end;
}
case BT_NOTIFICATION_TYPE_STREAM_END:
{
- struct bt_stream *stream =
+ const struct bt_stream *stream =
bt_notification_stream_end_get_stream(notification);
- struct bt_stream *writer_stream;
+ const struct bt_stream *writer_stream;
if (!stream) {
goto end;
bt_bool no_timestamp;
} params;
- struct bt_private_trace *trace;
- struct bt_private_stream_class *stream_class;
- struct bt_private_event_class *event_class;
- struct bt_private_stream *stream;
- struct bt_private_packet *packet;
- struct bt_private_clock_class *clock_class;
+ struct bt_trace *trace;
+ struct bt_stream_class *stream_class;
+ struct bt_event_class *event_class;
+ struct bt_stream *stream;
+ struct bt_packet *packet;
+ struct bt_clock_class *clock_class;
};
static
-struct bt_private_field_class *create_event_payload_fc(void)
+struct bt_field_class *create_event_payload_fc(void)
{
- struct bt_private_field_class *root_fc = NULL;
- struct bt_private_field_class *fc = NULL;
+ struct bt_field_class *root_fc = NULL;
+ struct bt_field_class *fc = NULL;
int ret;
- root_fc = bt_private_field_class_structure_create();
+ root_fc = bt_field_class_structure_create();
if (!root_fc) {
BT_LOGE_STR("Cannot create an empty structure field class object.");
goto error;
}
- fc = bt_private_field_class_string_create();
+ fc = bt_field_class_string_create();
if (!fc) {
BT_LOGE_STR("Cannot create a string field class object.");
goto error;
}
- ret = bt_private_field_class_structure_append_member(root_fc,
+ ret = bt_field_class_structure_append_member(root_fc,
"str", fc);
if (ret) {
BT_LOGE("Cannot add `str` member to structure field class: "
static
int create_meta(struct dmesg_component *dmesg_comp, bool has_ts)
{
- struct bt_private_field_class *fc = NULL;
+ struct bt_field_class *fc = NULL;
const char *trace_name = NULL;
gchar *basename = NULL;
int ret = 0;
- dmesg_comp->trace = bt_private_trace_create();
+ dmesg_comp->trace = bt_trace_create();
if (!dmesg_comp->trace) {
BT_LOGE_STR("Cannot create an empty trace object.");
goto error;
}
if (trace_name) {
- ret = bt_private_trace_set_name(dmesg_comp->trace, trace_name);
+ ret = bt_trace_set_name(dmesg_comp->trace, trace_name);
if (ret) {
BT_LOGE("Cannot set trace's name: name=\"%s\"", trace_name);
goto error;
}
}
- dmesg_comp->stream_class = bt_private_stream_class_create(
+ dmesg_comp->stream_class = bt_stream_class_create(
dmesg_comp->trace);
if (!dmesg_comp->stream_class) {
BT_LOGE_STR("Cannot create a stream class object.");
}
if (has_ts) {
- dmesg_comp->clock_class = bt_private_clock_class_create();
+ dmesg_comp->clock_class = bt_clock_class_create();
if (!dmesg_comp->clock_class) {
BT_LOGE_STR("Cannot create clock class.");
goto error;
}
- ret = bt_private_stream_class_set_default_clock_class(
- dmesg_comp->stream_class,
- bt_private_clock_class_as_clock_class(
- dmesg_comp->clock_class));
+ ret = bt_stream_class_set_default_clock_class(
+ dmesg_comp->stream_class, dmesg_comp->clock_class);
if (ret) {
BT_LOGE_STR("Cannot set stream class's default clock class.");
goto error;
}
}
- dmesg_comp->event_class = bt_private_event_class_create(
+ dmesg_comp->event_class = bt_event_class_create(
dmesg_comp->stream_class);
if (!dmesg_comp->event_class) {
BT_LOGE_STR("Cannot create an event class object.");
goto error;
}
- ret = bt_private_event_class_set_name(dmesg_comp->event_class, "string");
+ ret = bt_event_class_set_name(dmesg_comp->event_class, "string");
if (ret) {
BT_LOGE_STR("Cannot set event class's name.");
goto error;
goto error;
}
- ret = bt_private_event_class_set_payload_field_class(dmesg_comp->event_class, fc);
+ ret = bt_event_class_set_payload_field_class(dmesg_comp->event_class, fc);
if (ret) {
BT_LOGE_STR("Cannot set event class's event payload field class.");
goto error;
{
int ret = 0;
- dmesg_comp->stream = bt_private_stream_create(dmesg_comp->stream_class);
+ dmesg_comp->stream = bt_stream_create(dmesg_comp->stream_class);
if (!dmesg_comp->stream) {
BT_LOGE_STR("Cannot create stream object.");
goto error;
}
- dmesg_comp->packet = bt_private_packet_create(dmesg_comp->stream);
+ dmesg_comp->packet = bt_packet_create(dmesg_comp->stream);
if (!dmesg_comp->packet) {
BT_LOGE_STR("Cannot create packet object.");
goto error;
}
- ret = bt_private_trace_make_static(dmesg_comp->trace);
+ ret = bt_trace_make_static(dmesg_comp->trace);
if (ret) {
BT_LOGE_STR("Cannot make trace static.");
goto error;
struct dmesg_notif_iter *notif_iter,
const char *line, const char **new_start)
{
- struct bt_private_event *event;
+ struct bt_event *event;
struct bt_private_notification *notif = NULL;
bool has_timestamp = false;
unsigned long sec, usec, msec;
BT_ASSERT(event);
if (dmesg_comp->clock_class) {
- bt_private_event_set_default_clock_value(event, ts);
+ bt_event_set_default_clock_value(event, ts);
}
goto end;
static
int fill_event_payload_from_line(const char *line,
- struct bt_private_event *event)
+ struct bt_event *event)
{
- struct bt_private_field *ep_field = NULL;
- struct bt_private_field *str_field = NULL;
+ struct bt_field *ep_field = NULL;
+ struct bt_field *str_field = NULL;
size_t len;
int ret;
- ep_field = bt_private_event_borrow_payload_field(event);
+ ep_field = bt_event_borrow_payload_field(event);
BT_ASSERT(ep_field);
- str_field = bt_private_field_structure_borrow_member_field_by_index(
+ str_field = bt_field_structure_borrow_member_field_by_index(
ep_field, 0);
if (!str_field) {
BT_LOGE_STR("Cannot borrow `timestamp` field from event payload structure field.");
len--;
}
- ret = bt_private_field_string_clear(str_field);
+ ret = bt_field_string_clear(str_field);
if (ret) {
BT_LOGE_STR("Cannot clear string field object.");
goto error;
}
- ret = bt_private_field_string_append_with_length(str_field, line, len);
+ ret = bt_field_string_append_with_length(str_field, line, len);
if (ret) {
BT_LOGE("Cannot append value to string field object: "
"len=%zu", len);
struct bt_private_notification *create_notif_from_line(
struct dmesg_notif_iter *dmesg_notif_iter, const char *line)
{
- struct bt_private_event *event = NULL;
+ struct bt_event *event = NULL;
struct bt_private_notification *notif = NULL;
const char *new_start;
int ret;
static
int print_field(struct pretty_component *pretty,
- struct bt_field *field, bool print_names,
+ const struct bt_field *field, bool print_names,
GQuark *filters_fields, int filter_array_len);
static
static
void print_timestamp_cycles(struct pretty_component *pretty,
- struct bt_event *event)
+ const struct bt_event *event)
{
- struct bt_clock_value *clock_value;
+ const struct bt_clock_value *clock_value;
uint64_t cycles;
enum bt_clock_value_status cv_status;
- cv_status = bt_event_borrow_default_clock_value(event, &clock_value);
+ cv_status = bt_event_borrow_default_clock_value_const(event, &clock_value);
if (cv_status != BT_CLOCK_VALUE_STATUS_KNOWN || !clock_value) {
g_string_append(pretty->string, "????????????????????");
return;
static
void print_timestamp_wall(struct pretty_component *pretty,
- struct bt_clock_value *clock_value)
+ const struct bt_clock_value *clock_value)
{
int ret;
int64_t ts_nsec = 0; /* add configurable offset */
static
int print_event_timestamp(struct pretty_component *pretty,
- struct bt_event *event, bool *start_line)
+ const struct bt_event *event, bool *start_line)
{
bool print_names = pretty->options.print_header_field_names;
int ret = 0;
- struct bt_stream *stream = NULL;
- struct bt_stream_class *stream_class = NULL;
- struct bt_trace *trace = NULL;
- struct bt_clock_value *clock_value = NULL;
+ const struct bt_stream *stream = NULL;
+ const struct bt_stream_class *stream_class = NULL;
+ const struct bt_trace *trace = NULL;
+ const struct bt_clock_value *clock_value = NULL;
enum bt_clock_value_status cv_status;
- stream = bt_event_borrow_stream(event);
+ stream = bt_event_borrow_stream_const(event);
if (!stream) {
ret = -1;
goto end;
}
- stream_class = bt_stream_borrow_class(stream);
+ stream_class = bt_stream_borrow_class_const(stream);
if (!stream_class) {
ret = -1;
goto end;
}
- trace = bt_stream_class_borrow_trace(stream_class);
+ trace = bt_stream_class_borrow_trace_const(stream_class);
if (!trace) {
ret = -1;
goto end;
}
- cv_status = bt_event_borrow_default_clock_value(event, &clock_value);
+ cv_status = bt_event_borrow_default_clock_value_const(event,
+ &clock_value);
if (cv_status != BT_CLOCK_VALUE_STATUS_KNOWN || !clock_value) {
/* No default clock value: skip the timestamp without an error */
goto end;
print_timestamp_cycles(pretty, event);
} else {
clock_value = NULL;
- cv_status = bt_event_borrow_default_clock_value(event,
+ cv_status = bt_event_borrow_default_clock_value_const(event,
&clock_value);
print_timestamp_wall(pretty, clock_value);
}
static
int print_event_header(struct pretty_component *pretty,
- struct bt_event *event)
+ const struct bt_event *event)
{
bool print_names = pretty->options.print_header_field_names;
int ret = 0;
- struct bt_event_class *event_class = NULL;
- struct bt_stream_class *stream_class = NULL;
- struct bt_trace *trace_class = NULL;
+ const struct bt_event_class *event_class = NULL;
+ const struct bt_stream_class *stream_class = NULL;
+ const struct bt_trace *trace_class = NULL;
int dom_print = 0;
enum bt_property_availability prop_avail;
- event_class = bt_event_borrow_class(event);
+ event_class = bt_event_borrow_class_const(event);
if (!event_class) {
ret = -1;
goto end;
}
- stream_class = bt_event_class_borrow_stream_class(event_class);
+ stream_class = bt_event_class_borrow_stream_class_const(event_class);
if (!stream_class) {
ret = -1;
goto end;
}
- trace_class = bt_stream_class_borrow_trace(stream_class);
+ trace_class = bt_stream_class_borrow_trace_const(stream_class);
if (!trace_class) {
ret = -1;
goto end;
if (pretty->options.print_trace_hostname_field) {
const struct bt_value *hostname_str;
- hostname_str = bt_trace_borrow_environment_entry_value_by_name(
+ hostname_str = bt_trace_borrow_environment_entry_value_by_name_const(
trace_class, "hostname");
if (hostname_str) {
const char *str;
if (pretty->options.print_trace_domain_field) {
const struct bt_value *domain_str;
- domain_str = bt_trace_borrow_environment_entry_value_by_name(
+ domain_str = bt_trace_borrow_environment_entry_value_by_name_const(
trace_class, "domain");
if (domain_str) {
const char *str;
if (pretty->options.print_trace_procname_field) {
const struct bt_value *procname_str;
- procname_str = bt_trace_borrow_environment_entry_value_by_name(
+ procname_str = bt_trace_borrow_environment_entry_value_by_name_const(
trace_class, "procname");
if (procname_str) {
const char *str;
if (pretty->options.print_trace_vpid_field) {
const struct bt_value *vpid_value;
- vpid_value = bt_trace_borrow_environment_entry_value_by_name(
+ vpid_value = bt_trace_borrow_environment_entry_value_by_name_const(
trace_class, "vpid");
if (vpid_value) {
int64_t value;
static
int print_integer(struct pretty_component *pretty,
- struct bt_field *field)
+ const struct bt_field *field)
{
int ret = 0;
enum bt_field_class_integer_preferred_display_base base;
- struct bt_field_class *int_fc;
+ const struct bt_field_class *int_fc;
union {
uint64_t u;
int64_t s;
bool rst_color = false;
enum bt_field_class_type ft_type;
- int_fc = bt_field_borrow_class(field);
+ int_fc = bt_field_borrow_class_const(field);
BT_ASSERT(int_fc);
ft_type = bt_field_get_class_type(field);
if (ft_type == BT_FIELD_CLASS_TYPE_UNSIGNED_INTEGER ||
static
int print_enum(struct pretty_component *pretty,
- struct bt_field *field)
+ const struct bt_field *field)
{
int ret = 0;
- struct bt_field_class *enumeration_field_class = NULL;
+ const struct bt_field_class *enumeration_field_class = NULL;
bt_field_class_enumeration_mapping_label_array label_array;
uint64_t label_count;
uint64_t i;
- enumeration_field_class = bt_field_borrow_class(field);
+ enumeration_field_class = bt_field_borrow_class_const(field);
if (!enumeration_field_class) {
ret = -1;
goto end;
static
int print_struct_field(struct pretty_component *pretty,
- struct bt_field *_struct,
- struct bt_field_class *struct_class,
+ const struct bt_field *_struct,
+ const struct bt_field_class *struct_class,
uint64_t i, bool print_names, uint64_t *nr_printed_fields,
GQuark *filter_fields, int filter_array_len)
{
int ret = 0;
const char *field_name;
- struct bt_field *field = NULL;
- struct bt_field_class *field_class = NULL;;
+ const struct bt_field *field = NULL;
+ const struct bt_field_class *field_class = NULL;;
- field = bt_field_structure_borrow_member_field_by_index(_struct, i);
+ field = bt_field_structure_borrow_member_field_by_index_const(_struct, i);
if (!field) {
ret = -1;
goto end;
}
- bt_field_class_structure_borrow_member_by_index(struct_class, i,
+ bt_field_class_structure_borrow_member_by_index_const(struct_class, i,
&field_name, &field_class);
if (filter_fields && !filter_field_name(pretty, field_name,
static
int print_struct(struct pretty_component *pretty,
- struct bt_field *_struct, bool print_names,
+ const struct bt_field *_struct, bool print_names,
GQuark *filter_fields, int filter_array_len)
{
int ret = 0;
- struct bt_field_class *struct_class = NULL;
+ const struct bt_field_class *struct_class = NULL;
uint64_t nr_fields, i, nr_printed_fields;
- struct_class = bt_field_borrow_class(_struct);
+ struct_class = bt_field_borrow_class_const(_struct);
if (!struct_class) {
ret = -1;
goto end;
static
int print_array_field(struct pretty_component *pretty,
- struct bt_field *array, uint64_t i, bool print_names)
+ const struct bt_field *array, uint64_t i, bool print_names)
{
- struct bt_field *field = NULL;
+ const struct bt_field *field = NULL;
if (i != 0) {
g_string_append(pretty->string, ", ");
g_string_append_printf(pretty->string, "[%" PRIu64 "] = ", i);
}
- field = bt_field_array_borrow_element_field_by_index(array, i);
+ field = bt_field_array_borrow_element_field_by_index_const(array, i);
BT_ASSERT(field);
return print_field(pretty, field, print_names, NULL, 0);
}
static
int print_array(struct pretty_component *pretty,
- struct bt_field *array, bool print_names)
+ const struct bt_field *array, bool print_names)
{
int ret = 0;
- struct bt_field_class *array_class = NULL;
+ const struct bt_field_class *array_class = NULL;
uint64_t len;
uint64_t i;
- array_class = bt_field_borrow_class(array);
+ array_class = bt_field_borrow_class_const(array);
if (!array_class) {
ret = -1;
goto end;
static
int print_sequence_field(struct pretty_component *pretty,
- struct bt_field *seq, uint64_t i, bool print_names)
+ const struct bt_field *seq, uint64_t i, bool print_names)
{
- struct bt_field *field = NULL;
+ const struct bt_field *field = NULL;
if (i != 0) {
g_string_append(pretty->string, ", ");
g_string_append_printf(pretty->string, "[%" PRIu64 "] = ", i);
}
- field = bt_field_array_borrow_element_field_by_index(seq, i);
+ field = bt_field_array_borrow_element_field_by_index_const(seq, i);
BT_ASSERT(field);
return print_field(pretty, field, print_names, NULL, 0);
}
static
int print_sequence(struct pretty_component *pretty,
- struct bt_field *seq, bool print_names)
+ const struct bt_field *seq, bool print_names)
{
int ret = 0;
uint64_t len;
static
int print_variant(struct pretty_component *pretty,
- struct bt_field *variant, bool print_names)
+ const struct bt_field *variant, bool print_names)
{
int ret = 0;
- struct bt_field *field = NULL;
+ const struct bt_field *field = NULL;
- field = bt_field_variant_borrow_selected_option_field(variant);
+ field = bt_field_variant_borrow_selected_option_field_const(variant);
BT_ASSERT(field);
g_string_append(pretty->string, "{ ");
pretty->depth++;
static
int print_field(struct pretty_component *pretty,
- struct bt_field *field, bool print_names,
+ const struct bt_field *field, bool print_names,
GQuark *filter_fields, int filter_array_len)
{
enum bt_field_class_type class_id;
static
int print_stream_packet_context(struct pretty_component *pretty,
- struct bt_event *event)
+ const struct bt_event *event)
{
int ret = 0;
- struct bt_packet *packet = NULL;
- struct bt_field *main_field = NULL;
+ const struct bt_packet *packet = NULL;
+ const struct bt_field *main_field = NULL;
- packet = bt_event_borrow_packet(event);
+ packet = bt_event_borrow_packet_const(event);
if (!packet) {
ret = -1;
goto end;
}
- main_field = bt_packet_borrow_context_field(packet);
+ main_field = bt_packet_borrow_context_field_const(packet);
if (!main_field) {
goto end;
}
static
int print_event_header_raw(struct pretty_component *pretty,
- struct bt_event *event)
+ const struct bt_event *event)
{
int ret = 0;
- struct bt_field *main_field = NULL;
+ const struct bt_field *main_field = NULL;
- main_field = bt_event_borrow_header_field(event);
+ main_field = bt_event_borrow_header_field_const(event);
if (!main_field) {
goto end;
}
static
int print_stream_event_context(struct pretty_component *pretty,
- struct bt_event *event)
+ const struct bt_event *event)
{
int ret = 0;
- struct bt_field *main_field = NULL;
+ const struct bt_field *main_field = NULL;
- main_field = bt_event_borrow_common_context_field(event);
+ main_field = bt_event_borrow_common_context_field_const(event);
if (!main_field) {
goto end;
}
static
int print_event_context(struct pretty_component *pretty,
- struct bt_event *event)
+ const struct bt_event *event)
{
int ret = 0;
- struct bt_field *main_field = NULL;
+ const struct bt_field *main_field = NULL;
- main_field = bt_event_borrow_specific_context_field(event);
+ main_field = bt_event_borrow_specific_context_field_const(event);
if (!main_field) {
goto end;
}
static
int print_event_payload(struct pretty_component *pretty,
- struct bt_event *event)
+ const struct bt_event *event)
{
int ret = 0;
- struct bt_field *main_field = NULL;
+ const struct bt_field *main_field = NULL;
- main_field = bt_event_borrow_payload_field(event);
+ main_field = bt_event_borrow_payload_field_const(event);
if (!main_field) {
goto end;
}
struct bt_notification *event_notif)
{
int ret;
- struct bt_event *event =
+ const struct bt_event *event =
bt_notification_event_borrow_event(event_notif);
BT_ASSERT(event);
static
int print_discarded_elements_msg(
- struct pretty_component *pretty, struct bt_packet *packet,
+ struct pretty_component *pretty, const struct bt_packet *packet,
uint64_t count, const char *elem_type)
{
#if 0
int ret = 0;
- struct bt_stream *stream = NULL;
- struct bt_stream_class *stream_class = NULL;
- struct bt_trace *trace = NULL;
+ const struct bt_stream *stream = NULL;
+ const struct bt_stream_class *stream_class = NULL;
+ const struct bt_trace *trace = NULL;
const char *stream_name;
const char *trace_name;
const unsigned char *trace_uuid;
/* Stream name */
BT_ASSERT(packet);
- stream = bt_packet_borrow_stream(packet);
+ stream = bt_packet_borrow_stream_const(packet);
BT_ASSERT(stream);
stream_name = bt_stream_get_name(stream);
/* Stream class ID */
- stream_class = bt_stream_borrow_class(stream);
+ stream_class = bt_stream_borrow_class_const(stream);
BT_ASSERT(stream_class);
stream_class_id = bt_stream_class_get_id(stream_class);
stream_id = bt_stream_get_id(stream);
/* Trace name */
- trace = bt_stream_class_borrow_trace(stream_class);
+ trace = bt_stream_class_borrow_trace_const(stream_class);
BT_ASSERT(trace);
trace_name = bt_trace_get_name(trace);
if (!trace_name) {
trace_uuid = bt_trace_get_uuid(trace);
/* Beginning and end times */
- (void) bt_packet_borrow_previous_packet_default_end_clock_value(
+ (void) bt_packet_borrow_previous_packet_default_end_clock_value_const(
packet, &begin_clock_value);
- (void) bt_packet_borrow_default_end_clock_value(packet,
+ (void) bt_packet_borrow_default_end_clock_value_const(packet,
&end_clock_value);
/* Format message */
struct bt_notification *packet_beginning_notif)
{
#if 0
- struct bt_packet *packet = bt_notification_packet_begin_borrow_packet(
+ const struct bt_packet *packet = bt_notification_packet_begin_borrow_packet_const(
packet_beginning_notif);
uint64_t count;
int status = 0;
struct bt_notification *notif, int64_t last_returned_ts_ns,
int64_t *ts_ns)
{
- struct bt_clock_class *clock_class = NULL;
- struct bt_clock_value *clock_value = NULL;
- struct bt_event *event = NULL;
+ const struct bt_clock_class *clock_class = NULL;
+ const struct bt_clock_value *clock_value = NULL;
+ const struct bt_event *event = NULL;
int ret = 0;
const unsigned char *cc_uuid;
const char *cc_name;
case BT_NOTIFICATION_TYPE_EVENT:
event = bt_notification_event_borrow_event(notif);
BT_ASSERT(event);
- cv_status = bt_event_borrow_default_clock_value(event,
+ cv_status = bt_event_borrow_default_clock_value_const(event,
&clock_value);
break;
goto end;
}
- clock_class = bt_clock_value_borrow_clock_class(clock_value);
+ clock_class = bt_clock_value_borrow_clock_class_const(clock_value);
BT_ASSERT(clock_class);
cc_uuid = bt_clock_class_get_uuid(clock_class);
cc_name = bt_clock_class_get_name(clock_class);
#include "iterator.h"
static
-struct bt_packet *lookup_packet(struct trimmer_iterator *trim_it,
- struct bt_packet *packet)
+const struct bt_packet *lookup_packet(struct trimmer_iterator *trim_it,
+ const struct bt_packet *packet)
{
- return (struct bt_packet *) g_hash_table_lookup(
+ return (const struct bt_packet *) g_hash_table_lookup(
trim_it->packet_map,
(gpointer) packet);
}
static
-struct bt_packet *insert_new_packet(struct trimmer_iterator *trim_it,
- struct bt_packet *packet,
- struct bt_stream *stream)
+const struct bt_packet *insert_new_packet(struct trimmer_iterator *trim_it,
+ const struct bt_packet *packet,
+ const struct bt_stream *stream)
{
- struct bt_packet *writer_packet = NULL;
+ const struct bt_packet *writer_packet = NULL;
int ret;
BT_LOGD_STR("Inserting a new packet.");
BT_HIDDEN
enum bt_component_status update_packet_context_field(FILE *err,
- struct bt_packet *writer_packet,
+ const struct bt_packet *writer_packet,
const char *name, int64_t value)
{
enum bt_component_status ret;
- struct bt_field *packet_context = NULL, *writer_packet_context = NULL;
- struct bt_field_class *struct_class = NULL, *field_class = NULL;
- struct bt_field *field = NULL, *writer_field = NULL;
+ const struct bt_field *packet_context = NULL, *writer_packet_context = NULL;
+ const struct bt_field_class *struct_class = NULL, *field_class = NULL;
+ const struct bt_field *field = NULL, *writer_field = NULL;
int nr_fields, i, int_ret;
BT_LOGD("Updating packet context field: name=%s", name);
}
BT_HIDDEN
-struct bt_packet *trimmer_new_packet(
+const struct bt_packet *trimmer_new_packet(
struct trimmer_iterator *trim_it,
- struct bt_packet *packet)
+ const struct bt_packet *packet)
{
- struct bt_stream *stream = NULL;
- struct bt_packet *writer_packet = NULL;
+ const struct bt_stream *stream = NULL;
+ const struct bt_packet *writer_packet = NULL;
int int_ret;
stream = bt_packet_get_stream(packet);
}
BT_HIDDEN
-struct bt_packet *trimmer_close_packet(
+const struct bt_packet *trimmer_close_packet(
struct trimmer_iterator *trim_it,
- struct bt_packet *packet)
+ const struct bt_packet *packet)
{
- struct bt_packet *writer_packet = NULL;
+ const struct bt_packet *writer_packet = NULL;
writer_packet = lookup_packet(trim_it, packet);
if (!writer_packet) {
}
BT_HIDDEN
-struct bt_event *trimmer_output_event(
+const struct bt_event *trimmer_output_event(
struct trimmer_iterator *trim_it,
- struct bt_event *event)
+ const struct bt_event *event)
{
- struct bt_event_class *event_class = NULL;
- struct bt_event *writer_event = NULL;
- struct bt_packet *packet = NULL, *writer_packet = NULL;
+ const struct bt_event_class *event_class = NULL;
+ const struct bt_event *writer_event = NULL;
+ const struct bt_packet *packet = NULL, *writer_packet = NULL;
const char *event_name;
int int_ret;
#include <babeltrace/babeltrace.h>
BT_HIDDEN
-struct bt_event *trimmer_output_event(struct trimmer_iterator *trim_it,
- struct bt_event *event);
+const struct bt_event *trimmer_output_event(struct trimmer_iterator *trim_it,
+ const struct bt_event *event);
BT_HIDDEN
-struct bt_packet *trimmer_new_packet(struct trimmer_iterator *trim_it,
- struct bt_packet *packet);
+const struct bt_packet *trimmer_new_packet(struct trimmer_iterator *trim_it,
+ const struct bt_packet *packet);
BT_HIDDEN
-struct bt_packet *trimmer_close_packet(struct trimmer_iterator *trim_it,
- struct bt_packet *packet);
+const struct bt_packet *trimmer_close_packet(struct trimmer_iterator *trim_it,
+ const struct bt_packet *packet);
BT_HIDDEN
enum bt_component_status update_packet_context_field(FILE *err,
- struct bt_packet *writer_packet,
+ const struct bt_packet *writer_packet,
const char *name, int64_t value);
#endif /* BABELTRACE_PLUGIN_TRIMMER_COPY_H */
static
gboolean close_packets(gpointer key, gpointer value, gpointer user_data)
{
- struct bt_packet *writer_packet = value;
+ const struct bt_packet *writer_packet = value;
bt_object_put_ref(writer_packet);
return TRUE;
{
int64_t ts;
int clock_ret;
- struct bt_event *event = NULL, *writer_event;
+ const struct bt_event *event = NULL, *writer_event;
bool in_range = true;
- struct bt_clock_class *clock_class = NULL;
- struct bt_trace *trace = NULL;
- struct bt_stream *stream = NULL;
- struct bt_stream_class *stream_class = NULL;
+ const struct bt_clock_class *clock_class = NULL;
+ const struct bt_trace *trace = NULL;
+ const struct bt_stream *stream = NULL;
+ const struct bt_stream_class *stream_class = NULL;
struct bt_clock_value *clock_value = NULL;
bool lazy_update = false;
struct bt_notification *new_notification = NULL;
}
static
-int ns_from_integer_field(struct bt_field *integer, int64_t *ns)
+int ns_from_integer_field(const struct bt_field *integer, int64_t *ns)
{
int ret = 0;
int is_signed;
uint64_t raw_clock_value;
- struct bt_field_class *integer_class = NULL;
- struct bt_clock_class *clock_class = NULL;
+ const struct bt_field_class *integer_class = NULL;
+ const struct bt_clock_class *clock_class = NULL;
struct bt_clock_value *clock_value = NULL;
integer_class = bt_field_get_class(integer);
* timestamp minus the offset.
*/
static
-int64_t get_raw_timestamp(struct bt_packet *writer_packet,
+int64_t get_raw_timestamp(const struct bt_packet *writer_packet,
int64_t timestamp)
{
- struct bt_clock_class *writer_clock_class;
+ const struct bt_clock_class *writer_clock_class;
int64_t sec_offset, cycles_offset, ns;
- struct bt_trace *writer_trace;
- struct bt_stream *writer_stream;
- struct bt_stream_class *writer_stream_class;
+ const struct bt_trace *writer_trace;
+ const struct bt_stream *writer_stream;
+ const struct bt_stream_class *writer_stream_class;
int ret;
uint64_t freq;
{
int64_t begin_ns, pkt_begin_ns, end_ns, pkt_end_ns;
bool in_range = true;
- struct bt_packet *packet = NULL, *writer_packet = NULL;
- struct bt_field *packet_context = NULL,
+ const struct bt_packet *packet = NULL, *writer_packet = NULL;
+ const struct bt_field *packet_context = NULL,
*timestamp_begin = NULL,
*timestamp_end = NULL;
struct bt_notification *new_notification = NULL;
struct bt_notification *notification,
struct trimmer_iterator *trim_it)
{
- struct bt_stream *stream;
+ const struct bt_stream *stream;
stream = bt_notification_stream_end_get_stream(notification);
BT_ASSERT(stream);
struct test_event {
enum test_event_type type;
- struct bt_stream *stream;
- struct bt_packet *packet;
+ const struct bt_stream *stream;
+ const struct bt_packet *packet;
};
static bool debug = false;
static enum test current_test;
static GArray *test_events;
static struct bt_private_graph *graph;
-static struct bt_private_stream_class *src_stream_class;
-static struct bt_private_event_class *src_event_class;
-static struct bt_private_stream *src_stream1;
-static struct bt_private_stream *src_stream2;
-static struct bt_private_packet *src_stream1_packet1;
-static struct bt_private_packet *src_stream1_packet2;
-static struct bt_private_packet *src_stream2_packet1;
-static struct bt_private_packet *src_stream2_packet2;
-static struct bt_stream *pub_src_stream1;
-static struct bt_stream *pub_src_stream2;
-static struct bt_packet *pub_src_stream1_packet1;
-static struct bt_packet *pub_src_stream1_packet2;
-static struct bt_packet *pub_src_stream2_packet1;
-static struct bt_packet *pub_src_stream2_packet2;
+static struct bt_stream_class *src_stream_class;
+static struct bt_event_class *src_event_class;
+static struct bt_stream *src_stream1;
+static struct bt_stream *src_stream2;
+static struct bt_packet *src_stream1_packet1;
+static struct bt_packet *src_stream1_packet2;
+static struct bt_packet *src_stream2_packet1;
+static struct bt_packet *src_stream2_packet2;
+static const struct bt_stream *pub_src_stream1;
+static const struct bt_stream *pub_src_stream2;
+static const struct bt_packet *pub_src_stream1_packet1;
+static const struct bt_packet *pub_src_stream1_packet2;
+static const struct bt_packet *pub_src_stream2_packet1;
+static const struct bt_packet *pub_src_stream2_packet2;
enum {
SEQ_END = -1,
static
void init_static_data(void)
{
- struct bt_private_trace *trace;
+ struct bt_trace *trace;
/* Test events */
test_events = g_array_new(FALSE, TRUE, sizeof(struct test_event));
BT_ASSERT(test_events);
/* Metadata */
- trace = bt_private_trace_create();
+ trace = bt_trace_create();
BT_ASSERT(trace);
- src_stream_class = bt_private_stream_class_create(trace);
+ src_stream_class = bt_stream_class_create(trace);
BT_ASSERT(src_stream_class);
- src_event_class = bt_private_event_class_create(src_stream_class);
+ src_event_class = bt_event_class_create(src_stream_class);
BT_ASSERT(src_event_class);
- src_stream1 = bt_private_stream_create(src_stream_class);
+ src_stream1 = bt_stream_create(src_stream_class);
BT_ASSERT(src_stream1);
- pub_src_stream1 = bt_private_stream_as_stream(src_stream1);
- src_stream2 = bt_private_stream_create(src_stream_class);
+ pub_src_stream1 = src_stream1;
+ src_stream2 = bt_stream_create(src_stream_class);
BT_ASSERT(src_stream2);
- pub_src_stream2 = bt_private_stream_as_stream(src_stream2);
- src_stream1_packet1 = bt_private_packet_create(src_stream1);
+ pub_src_stream2 = src_stream2;
+ src_stream1_packet1 = bt_packet_create(src_stream1);
BT_ASSERT(src_stream1_packet1);
- pub_src_stream1_packet1 = bt_private_packet_as_packet(
- src_stream1_packet1);
- src_stream1_packet2 = bt_private_packet_create(src_stream1);
+ pub_src_stream1_packet1 = src_stream1_packet1;
+ src_stream1_packet2 = bt_packet_create(src_stream1);
BT_ASSERT(src_stream1_packet2);
- pub_src_stream1_packet2 = bt_private_packet_as_packet(
- src_stream1_packet2);
- src_stream2_packet1 = bt_private_packet_create(src_stream2);
+ pub_src_stream1_packet2 = src_stream1_packet2;
+ src_stream2_packet1 = bt_packet_create(src_stream2);
BT_ASSERT(src_stream2_packet1);
- pub_src_stream2_packet1 = bt_private_packet_as_packet(
- src_stream2_packet1);
- src_stream2_packet2 = bt_private_packet_create(src_stream2);
+ pub_src_stream2_packet1 = src_stream2_packet1;
+ src_stream2_packet2 = bt_packet_create(src_stream2);
BT_ASSERT(src_stream2_packet2);
- pub_src_stream2_packet2 = bt_private_packet_as_packet(
- src_stream2_packet2);
+ pub_src_stream2_packet2 = src_stream2_packet2;
if (debug) {
fprintf(stderr, ":: stream 1: %p\n", src_stream1);
struct src_iter_user_data *user_data,
struct bt_notification **notif)
{
- struct bt_private_packet *event_packet = NULL;
+ struct bt_packet *event_packet = NULL;
switch (user_data->seq[user_data->at]) {
case SEQ_STREAM1_BEGIN:
switch (bt_notification_get_type(notification)) {
case BT_NOTIFICATION_TYPE_EVENT:
{
- struct bt_event *event;
+ const struct bt_event *event;
test_event.type = TEST_EV_TYPE_NOTIF_EVENT;
event = bt_notification_event_borrow_event(notification);
BT_ASSERT(event);
- test_event.packet = bt_event_borrow_packet(event);
+ test_event.packet = bt_event_borrow_packet_const(event);
BT_ASSERT(test_event.packet);
break;
}
case BT_NOTIFICATION_TYPE_STREAM_BEGIN:
test_event.type = TEST_EV_TYPE_NOTIF_STREAM_BEGIN;
test_event.stream =
- bt_notification_stream_begin_borrow_stream(notification);
+ bt_notification_stream_begin_borrow_stream(
+ notification);
BT_ASSERT(test_event.stream);
break;
case BT_NOTIFICATION_TYPE_STREAM_END:
case BT_NOTIFICATION_TYPE_PACKET_BEGIN:
test_event.type = TEST_EV_TYPE_NOTIF_PACKET_BEGIN;
test_event.packet =
- bt_notification_packet_begin_borrow_packet(notification);
+ bt_notification_packet_begin_borrow_packet(
+ notification);
BT_ASSERT(test_event.packet);
break;
case BT_NOTIFICATION_TYPE_PACKET_END:
}
if (test_event.packet) {
- test_event.stream = bt_packet_borrow_stream(test_event.packet);
+ test_event.stream = bt_packet_borrow_stream_const(
+ test_event.packet);
BT_ASSERT(test_event.stream);
}
#define NR_TESTS 37
struct user {
- struct bt_private_trace *tc;
- struct bt_private_stream_class *sc;
- struct bt_private_event_class *ec;
- struct bt_private_stream *stream;
- struct bt_private_event *event;
+ struct bt_trace *tc;
+ struct bt_stream_class *sc;
+ struct bt_event_class *ec;
+ struct bt_stream *stream;
+ struct bt_event *event;
};
struct writer_user {
* - uint16_t payload_16;
* - uint32_t payload_32;
*/
-static struct bt_private_field_class *create_integer_struct(void)
+static struct bt_field_class *create_integer_struct(void)
{
int ret;
- struct bt_private_field_class *structure = NULL;
- struct bt_private_field_class *ui8 = NULL, *ui16 = NULL, *ui32 = NULL;
+ struct bt_field_class *structure = NULL;
+ struct bt_field_class *ui8 = NULL, *ui16 = NULL, *ui32 = NULL;
- structure = bt_private_field_class_structure_create();
+ structure = bt_field_class_structure_create();
BT_ASSERT(structure);
- ui8 = bt_private_field_class_unsigned_integer_create();
+ ui8 = bt_field_class_unsigned_integer_create();
BT_ASSERT(ui8);
- bt_private_field_class_integer_set_field_value_range(ui8, 8);
- ret = bt_private_field_class_structure_append_member(structure,
+ bt_field_class_integer_set_field_value_range(ui8, 8);
+ ret = bt_field_class_structure_append_member(structure,
"payload_8", ui8);
BT_ASSERT(ret == 0);
- ui16 = bt_private_field_class_unsigned_integer_create();
+ ui16 = bt_field_class_unsigned_integer_create();
BT_ASSERT(ui16);
- bt_private_field_class_integer_set_field_value_range(ui16, 16);
- ret = bt_private_field_class_structure_append_member(structure,
+ bt_field_class_integer_set_field_value_range(ui16, 16);
+ ret = bt_field_class_structure_append_member(structure,
"payload_16", ui16);
BT_ASSERT(ret == 0);
- ui32 = bt_private_field_class_unsigned_integer_create();
+ ui32 = bt_field_class_unsigned_integer_create();
BT_ASSERT(ui32);
- bt_private_field_class_integer_set_field_value_range(ui32, 32);
- ret = bt_private_field_class_structure_append_member(structure,
+ bt_field_class_integer_set_field_value_range(ui32, 32);
+ ret = bt_field_class_structure_append_member(structure,
"payload_32", ui32);
BT_ASSERT(ret == 0);
BT_OBJECT_PUT_REF_AND_RESET(ui8);
* - uint16_t payload_16;
* - uint32_t payload_32;
*/
-static struct bt_private_event_class *create_simple_event(
- struct bt_private_stream_class *sc, const char *name)
+static struct bt_event_class *create_simple_event(
+ struct bt_stream_class *sc, const char *name)
{
int ret;
- struct bt_private_event_class *event = NULL;
- struct bt_private_field_class *payload = NULL;
+ struct bt_event_class *event = NULL;
+ struct bt_field_class *payload = NULL;
BT_ASSERT(name);
- event = bt_private_event_class_create(sc);
+ event = bt_event_class_create(sc);
BT_ASSERT(event);
- ret = bt_private_event_class_set_name(event, name);
+ ret = bt_event_class_set_name(event, name);
BT_ASSERT(ret == 0);
payload = create_integer_struct();
BT_ASSERT(payload);
- ret = bt_private_event_class_set_payload_field_class(event, payload);
+ ret = bt_event_class_set_payload_field_class(event, payload);
BT_ASSERT(ret == 0);
BT_OBJECT_PUT_REF_AND_RESET(payload);
return event;
* - uint16_t payload_16;
* - uint32_t payload_32;
*/
-static struct bt_private_event_class *create_complex_event(
- struct bt_private_stream_class *sc,
+static struct bt_event_class *create_complex_event(
+ struct bt_stream_class *sc,
const char *name)
{
int ret;
- struct bt_private_event_class *event = NULL;
- struct bt_private_field_class *inner = NULL, *outer = NULL;
+ struct bt_event_class *event = NULL;
+ struct bt_field_class *inner = NULL, *outer = NULL;
BT_ASSERT(name);
- event = bt_private_event_class_create(sc);
+ event = bt_event_class_create(sc);
BT_ASSERT(event);
- ret = bt_private_event_class_set_name(event, name);
+ ret = bt_event_class_set_name(event, name);
BT_ASSERT(ret == 0);
outer = create_integer_struct();
BT_ASSERT(outer);
inner = create_integer_struct();
BT_ASSERT(inner);
- ret = bt_private_field_class_structure_append_member(outer,
+ ret = bt_field_class_structure_append_member(outer,
"payload_struct", inner);
BT_ASSERT(ret == 0);
- ret = bt_private_event_class_set_payload_field_class(event, outer);
+ ret = bt_event_class_set_payload_field_class(event, outer);
BT_ASSERT(ret == 0);
BT_OBJECT_PUT_REF_AND_RESET(inner);
BT_OBJECT_PUT_REF_AND_RESET(outer);
}
static void set_stream_class_field_classes(
- struct bt_private_stream_class *stream_class)
+ struct bt_stream_class *stream_class)
{
- struct bt_private_field_class *packet_context_type;
- struct bt_private_field_class *event_header_type;
- struct bt_private_field_class *fc;
+ struct bt_field_class *packet_context_type;
+ struct bt_field_class *event_header_type;
+ struct bt_field_class *fc;
int ret;
- packet_context_type = bt_private_field_class_structure_create();
+ packet_context_type = bt_field_class_structure_create();
BT_ASSERT(packet_context_type);
- fc = bt_private_field_class_unsigned_integer_create();
+ fc = bt_field_class_unsigned_integer_create();
BT_ASSERT(fc);
- bt_private_field_class_integer_set_field_value_range(fc, 32);
- ret = bt_private_field_class_structure_append_member(packet_context_type,
+ bt_field_class_integer_set_field_value_range(fc, 32);
+ ret = bt_field_class_structure_append_member(packet_context_type,
"packet_size", fc);
BT_ASSERT(ret == 0);
bt_object_put_ref(fc);
- fc = bt_private_field_class_unsigned_integer_create();
+ fc = bt_field_class_unsigned_integer_create();
BT_ASSERT(fc);
- bt_private_field_class_integer_set_field_value_range(fc, 32);
- ret = bt_private_field_class_structure_append_member(packet_context_type,
+ bt_field_class_integer_set_field_value_range(fc, 32);
+ ret = bt_field_class_structure_append_member(packet_context_type,
"content_size", fc);
BT_ASSERT(ret == 0);
bt_object_put_ref(fc);
- event_header_type = bt_private_field_class_structure_create();
+ event_header_type = bt_field_class_structure_create();
BT_ASSERT(event_header_type);
- fc = bt_private_field_class_unsigned_integer_create();
+ fc = bt_field_class_unsigned_integer_create();
BT_ASSERT(fc);
- bt_private_field_class_integer_set_field_value_range(fc, 32);
- ret = bt_private_field_class_structure_append_member(event_header_type,
+ bt_field_class_integer_set_field_value_range(fc, 32);
+ ret = bt_field_class_structure_append_member(event_header_type,
"id", fc);
BT_ASSERT(ret == 0);
bt_object_put_ref(fc);
- ret = bt_private_stream_class_set_packet_context_field_class(
+ ret = bt_stream_class_set_packet_context_field_class(
stream_class, packet_context_type);
BT_ASSERT(ret == 0);
- ret = bt_private_stream_class_set_event_header_field_class(
+ ret = bt_stream_class_set_event_header_field_class(
stream_class, event_header_type);
BT_ASSERT(ret == 0);
bt_object_put_ref(packet_context_type);
bt_object_put_ref(event_header_type);
}
-static void create_sc1(struct bt_private_trace *trace)
+static void create_sc1(struct bt_trace *trace)
{
int ret;
- struct bt_private_event_class *ec1 = NULL, *ec2 = NULL;
- struct bt_private_stream_class *sc1 = NULL, *ret_stream = NULL;
+ struct bt_event_class *ec1 = NULL, *ec2 = NULL;
+ struct bt_stream_class *sc1 = NULL, *ret_stream = NULL;
- sc1 = bt_private_stream_class_create(trace);
+ sc1 = bt_stream_class_create(trace);
BT_ASSERT(sc1);
- ret = bt_private_stream_class_set_name(sc1, "sc1");
+ ret = bt_stream_class_set_name(sc1, "sc1");
BT_ASSERT(ret == 0);
set_stream_class_field_classes(sc1);
ec1 = create_complex_event(sc1, "ec1");
BT_ASSERT(ec1);
ec2 = create_simple_event(sc1, "ec2");
BT_ASSERT(ec2);
- ret_stream = bt_private_event_class_borrow_stream_class(ec1);
+ ret_stream = bt_event_class_borrow_stream_class(ec1);
ok(ret_stream == sc1, "Borrow parent stream SC1 from EC1");
- ret_stream = bt_private_event_class_borrow_stream_class(ec2);
+ ret_stream = bt_event_class_borrow_stream_class(ec2);
ok(ret_stream == sc1, "Borrow parent stream SC1 from EC2");
BT_OBJECT_PUT_REF_AND_RESET(ec1);
BT_OBJECT_PUT_REF_AND_RESET(ec2);
BT_OBJECT_PUT_REF_AND_RESET(sc1);
}
-static void create_sc2(struct bt_private_trace *trace)
+static void create_sc2(struct bt_trace *trace)
{
int ret;
- struct bt_private_event_class *ec3 = NULL;
- struct bt_private_stream_class *sc2 = NULL, *ret_stream = NULL;
+ struct bt_event_class *ec3 = NULL;
+ struct bt_stream_class *sc2 = NULL, *ret_stream = NULL;
- sc2 = bt_private_stream_class_create(trace);
+ sc2 = bt_stream_class_create(trace);
BT_ASSERT(sc2);
- ret = bt_private_stream_class_set_name(sc2, "sc2");
+ ret = bt_stream_class_set_name(sc2, "sc2");
BT_ASSERT(ret == 0);
set_stream_class_field_classes(sc2);
ec3 = create_simple_event(sc2, "ec3");
- ret_stream = bt_private_event_class_borrow_stream_class(ec3);
+ ret_stream = bt_event_class_borrow_stream_class(ec3);
ok(ret_stream == sc2, "Borrow parent stream SC2 from EC3");
BT_OBJECT_PUT_REF_AND_RESET(ec3);
BT_OBJECT_PUT_REF_AND_RESET(sc2);
}
-static void set_trace_packet_header(struct bt_private_trace *trace)
+static void set_trace_packet_header(struct bt_trace *trace)
{
- struct bt_private_field_class *packet_header_type;
- struct bt_private_field_class *fc;
+ struct bt_field_class *packet_header_type;
+ struct bt_field_class *fc;
int ret;
- packet_header_type = bt_private_field_class_structure_create();
+ packet_header_type = bt_field_class_structure_create();
BT_ASSERT(packet_header_type);
- fc = bt_private_field_class_unsigned_integer_create();
+ fc = bt_field_class_unsigned_integer_create();
BT_ASSERT(fc);
- bt_private_field_class_integer_set_field_value_range(fc, 32);
- ret = bt_private_field_class_structure_append_member(packet_header_type,
+ bt_field_class_integer_set_field_value_range(fc, 32);
+ ret = bt_field_class_structure_append_member(packet_header_type,
"stream_id", fc);
BT_ASSERT(ret == 0);
bt_object_put_ref(fc);
- ret = bt_private_trace_set_packet_header_field_class(trace,
+ ret = bt_trace_set_packet_header_field_class(trace,
packet_header_type);
BT_ASSERT(ret == 0);
bt_object_put_ref(packet_header_type);
}
-static struct bt_private_trace *create_tc1(void)
+static struct bt_trace *create_tc1(void)
{
- struct bt_private_trace *tc1 = NULL;
+ struct bt_trace *tc1 = NULL;
- tc1 = bt_private_trace_create();
+ tc1 = bt_trace_create();
BT_ASSERT(tc1);
set_trace_packet_header(tc1);
create_sc1(tc1);
return tc1;
}
-static void init_weak_refs(struct bt_private_trace *tc,
- struct bt_private_trace **tc1,
- struct bt_private_stream_class **sc1,
- struct bt_private_stream_class **sc2,
- struct bt_private_event_class **ec1,
- struct bt_private_event_class **ec2,
- struct bt_private_event_class **ec3)
+static void init_weak_refs(struct bt_trace *tc,
+ struct bt_trace **tc1,
+ struct bt_stream_class **sc1,
+ struct bt_stream_class **sc2,
+ struct bt_event_class **ec1,
+ struct bt_event_class **ec2,
+ struct bt_event_class **ec3)
{
*tc1 = tc;
- *sc1 = bt_private_trace_borrow_stream_class_by_index(tc, 0);
- *sc2 = bt_private_trace_borrow_stream_class_by_index(tc, 1);
- *ec1 = bt_private_stream_class_borrow_event_class_by_index(*sc1, 0);
- *ec2 = bt_private_stream_class_borrow_event_class_by_index(*sc1, 1);
- *ec3 = bt_private_stream_class_borrow_event_class_by_index(*sc2, 0);
+ *sc1 = bt_trace_borrow_stream_class_by_index(tc, 0);
+ *sc2 = bt_trace_borrow_stream_class_by_index(tc, 1);
+ *ec1 = bt_stream_class_borrow_event_class_by_index(*sc1, 0);
+ *ec2 = bt_stream_class_borrow_event_class_by_index(*sc1, 1);
+ *ec3 = bt_stream_class_borrow_event_class_by_index(*sc2, 0);
}
static void test_example_scenario(void)
* of expected reference counts without affecting them by taking
* "real" references to the objects.
*/
- struct bt_private_trace *tc1 = NULL, *weak_tc1 = NULL;
- struct bt_private_stream_class *weak_sc1 = NULL, *weak_sc2 = NULL;
- struct bt_private_event_class *weak_ec1 = NULL, *weak_ec2 = NULL,
+ struct bt_trace *tc1 = NULL, *weak_tc1 = NULL;
+ struct bt_stream_class *weak_sc1 = NULL, *weak_sc2 = NULL;
+ struct bt_event_class *weak_ec1 = NULL, *weak_ec2 = NULL,
*weak_ec3 = NULL;
struct user user_a = { 0 }, user_b = { 0 }, user_c = { 0 };
"TC1 reference count is 1");
/* User A acquires a reference to SC2 from TC1. */
- user_a.sc = bt_private_trace_borrow_stream_class_by_index(
+ user_a.sc = bt_trace_borrow_stream_class_by_index(
user_a.tc, 1);
bt_object_get_ref(user_a.sc);
ok(user_a.sc, "User A acquires SC2 from TC1");
"SC2 reference count is 1");
/* User A acquires a reference to EC3 from SC2. */
- user_a.ec = bt_private_stream_class_borrow_event_class_by_index(
+ user_a.ec = bt_stream_class_borrow_event_class_by_index(
user_a.sc, 0);
bt_object_get_ref(user_a.ec);
ok(user_a.ec, "User A acquires EC3 from SC2");
/* User C acquires a reference to EC1. */
diag("User C acquires a reference to EC1");
- user_c.ec = bt_private_stream_class_borrow_event_class_by_index(
+ user_c.ec = bt_stream_class_borrow_event_class_by_index(
user_b.sc, 0);
bt_object_get_ref(user_c.ec);
ok(bt_object_get_ref_count((void *) weak_ec1) == 1,