/* For bt_message, bt_clock_snapshot */
#include <babeltrace/types.h>
+/* For enum bt_clock_snapshot_state */
+#include <babeltrace/trace-ir/clock-snapshot-const.h>
+
#ifdef __cplusplus
extern "C" {
#endif
-extern const bt_clock_snapshot *
+extern enum bt_clock_snapshot_state
bt_message_inactivity_borrow_default_clock_snapshot_const(
- const bt_message *msg);
+ const bt_message *msg, const bt_clock_snapshot **snapshot);
#ifdef __cplusplus
}
* SOFTWARE.
*/
+#include <stdint.h>
+
/* For bt_self_message_iterator, bt_message, bt_clock_class */
#include <babeltrace/types.h>
-#include <stdint.h>
-
#ifdef __cplusplus
extern "C" {
#endif
/* For bt_message, bt_clock_snapshot, bt_stream */
#include <babeltrace/types.h>
+/* For enum bt_clock_snapshot_state */
+#include <babeltrace/trace-ir/clock-snapshot-const.h>
+
#ifdef __cplusplus
extern "C" {
#endif
extern const bt_stream *bt_message_stream_beginning_borrow_stream_const(
const bt_message *message);
-extern const bt_clock_snapshot *
+extern enum bt_clock_snapshot_state
bt_message_stream_beginning_borrow_default_clock_snapshot_const(
- const bt_message *msg);
+ const bt_message *msg, const bt_clock_snapshot **snapshot);
extern const bt_stream *bt_message_stream_end_borrow_stream_const(
const bt_message *message);
-extern const bt_clock_snapshot *
+extern enum bt_clock_snapshot_state
bt_message_stream_end_borrow_default_clock_snapshot_const(
- const bt_message *msg);
+ const bt_message *msg, const bt_clock_snapshot **snapshot);
#ifdef __cplusplus
}
extern "C" {
#endif
+enum bt_clock_snapshot_state {
+ BT_CLOCK_SNAPSHOT_STATE_KNOWN,
+ BT_CLOCK_SNAPSHOT_STATE_UNKNOWN,
+};
+
enum bt_clock_snapshot_status {
- BT_CLOCK_SNAPSHOT_STATUS_KNOWN,
- BT_CLOCK_SNAPSHOT_STATUS_UNKNOWN,
+ BT_CLOCK_SNAPSHOT_STATUS_OK = 0,
+ BT_CLOCK_SNAPSHOT_STATUS_OVERFLOW = -75,
};
extern const bt_clock_class *bt_clock_snapshot_borrow_clock_class_const(
extern uint64_t bt_clock_snapshot_get_value(
const bt_clock_snapshot *clock_snapshot);
-extern int bt_clock_snapshot_get_ns_from_origin(
+extern enum bt_clock_snapshot_status bt_clock_snapshot_get_ns_from_origin(
const bt_clock_snapshot *clock_snapshot,
int64_t *ns_from_origin);
* http://www.efficios.com/ctf
*/
-/* For enum bt_clock_snapshot_status */
+/* For enum bt_clock_snapshot_state */
#include <babeltrace/trace-ir/clock-snapshot-const.h>
/* For bt_event, bt_clock_snapshot, bt_event_class, bt_field, bt_packet */
extern const bt_field *bt_event_borrow_payload_field_const(
const bt_event *event);
-extern enum bt_clock_snapshot_status bt_event_borrow_default_clock_snapshot_const(
+extern enum bt_clock_snapshot_state bt_event_borrow_default_clock_snapshot_const(
const bt_event *event,
const bt_clock_snapshot **clock_snapshot);
/* For enum bt_property_availability */
#include <babeltrace/property.h>
-/* For enum bt_clock_snapshot_status */
+/* For enum bt_clock_snapshot_state */
#include <babeltrace/trace-ir/clock-snapshot-const.h>
/*
const bt_packet *packet);
extern
-enum bt_clock_snapshot_status bt_packet_borrow_default_beginning_clock_snapshot_const(
+enum bt_clock_snapshot_state
+bt_packet_borrow_default_beginning_clock_snapshot_const(
const bt_packet *packet,
const bt_clock_snapshot **clock_snapshot);
extern
-enum bt_clock_snapshot_status bt_packet_borrow_default_end_clock_valeu_const(
+enum bt_clock_snapshot_state bt_packet_borrow_default_end_clock_snapshot_const(
const bt_packet *packet,
const bt_clock_snapshot **clock_snapshot);
"%![msg-]+n, value=%" PRIu64, msg, value_cycles);
}
-const struct bt_clock_snapshot *
+extern enum bt_clock_snapshot_state
bt_message_inactivity_borrow_default_clock_snapshot_const(
- const struct bt_message *msg)
+ const bt_message *msg, const bt_clock_snapshot **snapshot)
{
struct bt_message_inactivity *inactivity = (void *) msg;
BT_ASSERT_PRE_NON_NULL(msg, "Message");
+ BT_ASSERT_PRE_NON_NULL(snapshot, "Clock snapshot (output)");
BT_ASSERT_PRE_MSG_IS_TYPE(msg, BT_MESSAGE_TYPE_INACTIVITY);
- return inactivity->default_cs;
+ *snapshot = inactivity->default_cs;
+ return BT_CLOCK_SNAPSHOT_STATE_KNOWN;
}
#include <babeltrace/assert-pre-internal.h>
#include <babeltrace/compiler-internal.h>
+#include <babeltrace/trace-ir/clock-snapshot-const.h>
#include <babeltrace/trace-ir/stream-internal.h>
#include <babeltrace/trace-ir/stream-class.h>
#include <babeltrace/trace-ir/stream-class-internal.h>
"value=%" PRIu64, value_cycles);
}
-struct bt_clock_snapshot *bt_message_stream_end_borrow_default_clock_snapshot(
- struct bt_message *msg)
+enum bt_clock_snapshot_state
+bt_message_stream_end_borrow_default_clock_snapshot_const(
+ const bt_message *msg, const bt_clock_snapshot **snapshot)
{
struct bt_message_stream_end *stream_end = (void *) msg;
BT_ASSERT_PRE_NON_NULL(msg, "Message");
+ BT_ASSERT_PRE_NON_NULL(snapshot, "Clock snapshot (output)");
BT_ASSERT_PRE_MSG_IS_TYPE(msg, BT_MESSAGE_TYPE_STREAM_END);
- return stream_end->default_cs;
+ *snapshot = stream_end->default_cs;
+ return BT_CLOCK_SNAPSHOT_STATE_KNOWN;
}
static
"value=%" PRIu64, value_cycles);
}
-struct bt_clock_snapshot *bt_message_stream_beginning_borrow_default_clock_snapshot(
- struct bt_message *msg)
+enum bt_clock_snapshot_state
+bt_message_stream_beginning_borrow_default_clock_snapshot_const(
+ const bt_message *msg, const bt_clock_snapshot **snapshot)
{
- struct bt_message_stream_beginning *stream_begin = (void *) msg;
+ struct bt_message_stream_beginning *stream_beginning = (void *) msg;
BT_ASSERT_PRE_NON_NULL(msg, "Message");
- BT_ASSERT_PRE_MSG_IS_TYPE(msg, BT_MESSAGE_TYPE_STREAM_BEGINNING);
- return stream_begin->default_cs;
+ BT_ASSERT_PRE_NON_NULL(snapshot, "Clock snapshot (output)");
+ BT_ASSERT_PRE_MSG_IS_TYPE(msg, BT_MESSAGE_TYPE_STREAM_END);
+ *snapshot = stream_beginning->default_cs;
+ return BT_CLOCK_SNAPSHOT_STATE_KNOWN;
}
#include <babeltrace/compat/uuid-internal.h>
#include <babeltrace/trace-ir/clock-class-internal.h>
#include <babeltrace/trace-ir/clock-snapshot-internal.h>
+#include <babeltrace/trace-ir/clock-snapshot-const.h>
#include <babeltrace/compiler-internal.h>
#include <babeltrace/types.h>
#include <babeltrace/compat/string-internal.h>
return clock_snapshot->value_cycles;
}
-int bt_clock_snapshot_get_ns_from_origin(const struct bt_clock_snapshot *clock_snapshot,
+enum bt_clock_snapshot_status bt_clock_snapshot_get_ns_from_origin(
+ const struct bt_clock_snapshot *clock_snapshot,
int64_t *ret_value_ns)
{
- int ret = 0;
+ int ret = BT_CLOCK_SNAPSHOT_STATUS_OK;
+
BT_ASSERT_PRE_NON_NULL(clock_snapshot, "Clock snapshot");
BT_ASSERT_PRE_NON_NULL(ret_value_ns, "Value (ns) (output)");
BT_ASSERT_PRE(clock_snapshot->is_set,
BT_LIB_LOGD("Clock snapshot, once converted to nanoseconds from origin, "
"overflows the signed 64-bit integer range: "
"%![cs-]+k", clock_snapshot);
- ret = -1;
+ ret = BT_CLOCK_SNAPSHOT_STATUS_OVERFLOW;
goto end;
}
"value=%" PRIu64, event, value_cycles);
}
-enum bt_clock_snapshot_status bt_event_borrow_default_clock_snapshot_const(
+enum bt_clock_snapshot_state bt_event_borrow_default_clock_snapshot_const(
const struct bt_event *event,
const struct bt_clock_snapshot **clock_snapshot)
{
BT_ASSERT_PRE_NON_NULL(event, "Event");
BT_ASSERT_PRE_NON_NULL(clock_snapshot, "Clock snapshot (output)");
*clock_snapshot = event->default_cs;
- return BT_CLOCK_SNAPSHOT_STATUS_KNOWN;
+ return BT_CLOCK_SNAPSHOT_STATE_KNOWN;
}
struct bt_packet *bt_event_borrow_packet(struct bt_event *event)
"%![packet-]+a, value=%" PRIu64, packet, value_cycles);
}
-enum bt_clock_snapshot_status bt_packet_borrow_default_beginning_clock_snapshot(
+enum bt_clock_snapshot_state bt_packet_borrow_default_beginning_clock_snapshot(
const struct bt_packet *packet,
const struct bt_clock_snapshot **clock_snapshot)
{
BT_ASSERT_PRE_NON_NULL(packet, "Packet");
BT_ASSERT_PRE_NON_NULL(clock_snapshot, "Clock snapshot (output)");
*clock_snapshot = packet->default_beginning_cs;
- return BT_CLOCK_SNAPSHOT_STATUS_KNOWN;
+ return BT_CLOCK_SNAPSHOT_STATE_KNOWN;
}
void bt_packet_set_default_end_clock_snapshot(struct bt_packet *packet,
"%![packet-]+a, value=%" PRIu64, packet, value_cycles);
}
-enum bt_clock_snapshot_status bt_packet_borrow_default_end_clock_snapshot(
+enum bt_clock_snapshot_state bt_packet_borrow_default_end_clock_snapshot(
const struct bt_packet *packet,
const struct bt_clock_snapshot **clock_snapshot)
{
BT_ASSERT_PRE_NON_NULL(packet, "Packet");
BT_ASSERT_PRE_NON_NULL(clock_snapshot, "Clock snapshot (output)");
*clock_snapshot = packet->default_end_cs;
- return BT_CLOCK_SNAPSHOT_STATUS_KNOWN;
+ return BT_CLOCK_SNAPSHOT_STATE_KNOWN;
}
enum bt_property_availability bt_packet_get_discarded_event_counter_snapshot(
bt_bool bt_stream_class_default_clock_is_always_known(
const struct bt_stream_class *stream_class)
{
- /* BT_CLOCK_SNAPSHOT_STATUS_UNKNOWN is not supported as of 2.0 */
+ /* BT_CLOCK_SNAPSHOT_STATE_UNKNOWN is not supported as of 2.0 */
return BT_TRUE;
}
{
const bt_clock_snapshot *clock_snapshot;
uint64_t cycles;
- enum bt_clock_snapshot_status cv_status;
+ enum bt_clock_snapshot_state cs_state;
- cv_status = bt_event_borrow_default_clock_snapshot_const(event, &clock_snapshot);
- if (cv_status != BT_CLOCK_SNAPSHOT_STATUS_KNOWN || !clock_snapshot) {
+ cs_state = bt_event_borrow_default_clock_snapshot_const(event, &clock_snapshot);
+ if (cs_state != BT_CLOCK_SNAPSHOT_STATE_KNOWN || !clock_snapshot) {
g_string_append(pretty->string, "????????????????????");
return;
}
const bt_stream *stream = NULL;
const bt_stream_class *stream_class = NULL;
const bt_clock_snapshot *clock_snapshot = NULL;
- enum bt_clock_snapshot_status cv_status;
+ enum bt_clock_snapshot_state cs_state;
stream = bt_event_borrow_stream_const(event);
if (!stream) {
goto end;
}
- cv_status = bt_event_borrow_default_clock_snapshot_const(event,
+ cs_state = bt_event_borrow_default_clock_snapshot_const(event,
&clock_snapshot);
- if (cv_status != BT_CLOCK_SNAPSHOT_STATUS_KNOWN || !clock_snapshot) {
+ if (cs_state != BT_CLOCK_SNAPSHOT_STATE_KNOWN || !clock_snapshot) {
/* No default clock value: skip the timestamp without an error */
goto end;
}
print_timestamp_cycles(pretty, event);
} else {
clock_snapshot = NULL;
- cv_status = bt_event_borrow_default_clock_snapshot_const(event,
+ cs_state = bt_event_borrow_default_clock_snapshot_const(event,
&clock_snapshot);
print_timestamp_wall(pretty, clock_snapshot);
}
int ret = 0;
const unsigned char *cc_uuid;
const char *cc_name;
- enum bt_clock_snapshot_status cv_status = BT_CLOCK_SNAPSHOT_STATUS_KNOWN;
+ enum bt_clock_snapshot_state cs_state = BT_CLOCK_SNAPSHOT_STATE_KNOWN;
BT_ASSERT(msg);
BT_ASSERT(ts_ns);
case BT_MESSAGE_TYPE_EVENT:
event = bt_message_event_borrow_event_const(msg);
BT_ASSERT(event);
- cv_status = bt_event_borrow_default_clock_snapshot_const(event,
+ cs_state = bt_event_borrow_default_clock_snapshot_const(event,
&clock_snapshot);
break;
case BT_MESSAGE_TYPE_INACTIVITY:
- clock_snapshot =
+ cs_state =
bt_message_inactivity_borrow_default_clock_snapshot_const(
- msg);
+ msg, &clock_snapshot);
break;
default:
/* All the other messages have a higher priority */
goto end;
}
- if (cv_status != BT_CLOCK_SNAPSHOT_STATUS_KNOWN) {
+ if (cs_state != BT_CLOCK_SNAPSHOT_STATE_KNOWN) {
BT_LOGE_STR("Unsupported unknown clock snapshot.");
ret = -1;
goto end;