lib: make public reference count functions have strict types
[babeltrace.git] / plugins / ctf / common / notif-iter / notif-iter.c
index 5927285901469f46a8153aef62ad4800202b7b91..a9e35552fc039ed29a0740439fd2c6645744ecde 100644 (file)
@@ -39,7 +39,7 @@
 #include <stdlib.h>
 
 #include "notif-iter.h"
-#include "../btr/btr.h"
+#include "../bfcr/bfcr.h"
 
 struct bt_notif_iter;
 
@@ -103,7 +103,7 @@ struct bt_notif_iter {
        struct stack *stack;
 
        /* Current notification iterator to create notifications (weak) */
-       struct bt_private_connection_private_notification_iterator *notif_iter;
+       struct bt_self_notification_iterator *notif_iter;
 
        /*
         * Current dynamic scope field pointer.
@@ -179,7 +179,7 @@ struct bt_notif_iter {
        } buf;
 
        /* Binary type reader */
-       struct bt_btr *btr;
+       struct bt_bfcr *bfcr;
 
        /* Current medium data */
        struct {
@@ -518,36 +518,36 @@ enum bt_notif_iter_status buf_ensure_available_bits(
 static
 enum bt_notif_iter_status read_dscope_begin_state(
                struct bt_notif_iter *notit,
-               struct ctf_field_type *dscope_ft,
+               struct ctf_field_class *dscope_fc,
                enum state done_state, enum state continue_state,
                struct bt_field *dscope_field)
 {
        enum bt_notif_iter_status status = BT_NOTIF_ITER_STATUS_OK;
-       enum bt_btr_status btr_status;
+       enum bt_bfcr_status bfcr_status;
        size_t consumed_bits;
 
        notit->cur_dscope_field = dscope_field;
-       BT_LOGV("Starting BTR: notit-addr=%p, btr-addr=%p, ft-addr=%p",
-               notit, notit->btr, dscope_ft);
-       consumed_bits = bt_btr_start(notit->btr, dscope_ft,
+       BT_LOGV("Starting BFCR: notit-addr=%p, bfcr-addr=%p, fc-addr=%p",
+               notit, notit->bfcr, dscope_fc);
+       consumed_bits = bt_bfcr_start(notit->bfcr, dscope_fc,
                notit->buf.addr, notit->buf.at, packet_at(notit),
-               notit->buf.sz, &btr_status);
-       BT_LOGV("BTR consumed bits: size=%zu", consumed_bits);
+               notit->buf.sz, &bfcr_status);
+       BT_LOGV("BFCR consumed bits: size=%zu", consumed_bits);
 
-       switch (btr_status) {
-       case BT_BTR_STATUS_OK:
-               /* type was read completely */
+       switch (bfcr_status) {
+       case BT_BFCR_STATUS_OK:
+               /* Field class was read completely */
                BT_LOGV_STR("Field was completely decoded.");
                notit->state = done_state;
                break;
-       case BT_BTR_STATUS_EOF:
-               BT_LOGV_STR("BTR needs more data to decode field completely.");
+       case BT_BFCR_STATUS_EOF:
+               BT_LOGV_STR("BFCR needs more data to decode field completely.");
                notit->state = continue_state;
                break;
        default:
-               BT_LOGW("BTR failed to start: notit-addr=%p, btr-addr=%p, "
-                       "status=%s", notit, notit->btr,
-                       bt_btr_status_string(btr_status));
+               BT_LOGW("BFCR failed to start: notit-addr=%p, bfcr-addr=%p, "
+                       "status=%s", notit, notit->bfcr,
+                       bt_bfcr_status_string(bfcr_status));
                status = BT_NOTIF_ITER_STATUS_ERROR;
                goto end;
        }
@@ -564,11 +564,11 @@ enum bt_notif_iter_status read_dscope_continue_state(
                struct bt_notif_iter *notit, enum state done_state)
 {
        enum bt_notif_iter_status status = BT_NOTIF_ITER_STATUS_OK;
-       enum bt_btr_status btr_status;
+       enum bt_bfcr_status bfcr_status;
        size_t consumed_bits;
 
-       BT_LOGV("Continuing BTR: notit-addr=%p, btr-addr=%p",
-               notit, notit->btr);
+       BT_LOGV("Continuing BFCR: notit-addr=%p, bfcr-addr=%p",
+               notit, notit->bfcr);
 
        status = buf_ensure_available_bits(notit);
        if (status != BT_NOTIF_ITER_STATUS_OK) {
@@ -585,24 +585,24 @@ enum bt_notif_iter_status read_dscope_continue_state(
                goto end;
        }
 
-       consumed_bits = bt_btr_continue(notit->btr, notit->buf.addr,
-               notit->buf.sz, &btr_status);
-       BT_LOGV("BTR consumed bits: size=%zu", consumed_bits);
+       consumed_bits = bt_bfcr_continue(notit->bfcr, notit->buf.addr,
+               notit->buf.sz, &bfcr_status);
+       BT_LOGV("BFCR consumed bits: size=%zu", consumed_bits);
 
-       switch (btr_status) {
-       case BT_BTR_STATUS_OK:
+       switch (bfcr_status) {
+       case BT_BFCR_STATUS_OK:
                /* Type was read completely. */
                BT_LOGV_STR("Field was completely decoded.");
                notit->state = done_state;
                break;
-       case BT_BTR_STATUS_EOF:
+       case BT_BFCR_STATUS_EOF:
                /* Stay in this continue state. */
-               BT_LOGV_STR("BTR needs more data to decode field completely.");
+               BT_LOGV_STR("BFCR needs more data to decode field completely.");
                break;
        default:
-               BT_LOGW("BTR failed to continue: notit-addr=%p, btr-addr=%p, "
-                       "status=%s", notit, notit->btr,
-                       bt_btr_status_string(btr_status));
+               BT_LOGW("BFCR failed to continue: notit-addr=%p, bfcr-addr=%p, "
+                       "status=%s", notit, notit->bfcr,
+                       bt_bfcr_status_string(bfcr_status));
                status = BT_NOTIF_ITER_STATUS_ERROR;
                goto end;
        }
@@ -652,7 +652,7 @@ static
 enum bt_notif_iter_status read_packet_header_begin_state(
                struct bt_notif_iter *notit)
 {
-       struct ctf_field_type *packet_header_ft = NULL;
+       struct ctf_field_class *packet_header_fc = NULL;
        enum bt_notif_iter_status ret = BT_NOTIF_ITER_STATUS_OK;
 
        if (bt_notif_iter_switch_packet(notit)) {
@@ -661,19 +661,19 @@ enum bt_notif_iter_status read_packet_header_begin_state(
                goto end;
        }
 
-       /* Packet header type is common to the whole trace. */
-       packet_header_ft = notit->meta.tc->packet_header_ft;
-       if (!packet_header_ft) {
+       /* Packet header class is common to the whole trace class. */
+       packet_header_fc = notit->meta.tc->packet_header_fc;
+       if (!packet_header_fc) {
                notit->state = STATE_AFTER_TRACE_PACKET_HEADER;
                goto end;
        }
 
        BT_ASSERT(!notit->packet_header_field);
 
-       if (packet_header_ft->in_ir) {
+       if (packet_header_fc->in_ir) {
                /*
-                * Create free packet header field from trace. This
-                * field is going to be moved to the packet once we
+                * Create free packet header field from trace class.
+                * This field is going to be moved to the packet once we
                 * create it. We cannot create the packet now because:
                 *
                 * 1. A packet is created from a stream.
@@ -681,16 +681,18 @@ enum bt_notif_iter_status read_packet_header_begin_state(
                 * 3. We need the packet header field's content to know
                 *    the ID of the stream class to select.
                 */
-               notit->packet_header_field = bt_packet_header_field_create(
-                       notit->meta.tc->ir_tc);
+               notit->packet_header_field =
+                       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.");
+                       BT_LOGE_STR("Cannot create packet header field wrapper from trace class.");
                        ret = BT_NOTIF_ITER_STATUS_ERROR;
                        goto end;
                }
 
                notit->dscopes.trace_packet_header =
-                       bt_packet_header_field_borrow_field(notit->packet_header_field);
+                       bt_packet_header_field_borrow_field(
+                               notit->packet_header_field);
                BT_ASSERT(notit->dscopes.trace_packet_header);
        }
 
@@ -698,20 +700,17 @@ enum bt_notif_iter_status read_packet_header_begin_state(
        notit->cur_event_class_id = -1;
        notit->cur_data_stream_id = -1;
        BT_LOGV("Decoding packet header field:"
-               "notit-addr=%p, trace-addr=%p, trace-name=\"%s\", ft-addr=%p",
-               notit, notit->meta.tc,
-               notit->meta.tc->name->str, packet_header_ft);
-       ret = read_dscope_begin_state(notit, packet_header_ft,
+               "notit-addr=%p, trace-class-addr=%p, fc-addr=%p",
+               notit, notit->meta.tc, packet_header_fc);
+       ret = read_dscope_begin_state(notit, packet_header_fc,
                STATE_AFTER_TRACE_PACKET_HEADER,
                STATE_DSCOPE_TRACE_PACKET_HEADER_CONTINUE,
                notit->dscopes.trace_packet_header);
        if (ret < 0) {
                BT_LOGW("Cannot decode packet header field: "
-                       "notit-addr=%p, trace-addr=%p, "
-                       "trace-name=\"%s\", ft-addr=%p",
-                       notit, notit->meta.tc,
-                       notit->meta.tc->name->str,
-                       packet_header_ft);
+                       "notit-addr=%p, trace-class-addr=%p, "
+                       "fc-addr=%p",
+                       notit, notit->meta.tc, packet_header_fc);
        }
 
 end:
@@ -740,25 +739,22 @@ enum bt_notif_iter_status set_current_stream_class(struct bt_notif_iter *notit)
                if (notit->meta.tc->stream_classes->len != 1) {
                        BT_LOGW("Need exactly one stream class since there's "
                                "no stream class ID field: "
-                               "notit-addr=%p, trace-name=\"%s\"",
-                               notit, notit->meta.tc->name->str);
+                               "notit-addr=%p", notit);
                        status = BT_NOTIF_ITER_STATUS_ERROR;
                        goto end;
                }
 
                new_stream_class = notit->meta.tc->stream_classes->pdata[0];
                notit->cur_stream_class_id = new_stream_class->id;
-               goto end;
        }
 
        new_stream_class = ctf_trace_class_borrow_stream_class_by_id(
                notit->meta.tc, notit->cur_stream_class_id);
        if (!new_stream_class) {
-               BT_LOGW("No stream class with ID of stream class ID to use in trace: "
+               BT_LOGW("No stream class with ID of stream class ID to use in trace class: "
                        "notit-addr=%p, stream-class-id=%" PRIu64 ", "
-                       "trace-addr=%p, trace-name=\"%s\"",
-                       notit, notit->cur_stream_class_id, notit->meta.tc,
-                       notit->meta.tc->name->str);
+                       "trace-class-addr=%p",
+                       notit, notit->cur_stream_class_id, notit->meta.tc);
                status = BT_NOTIF_ITER_STATUS_ERROR;
                goto end;
        }
@@ -770,13 +766,12 @@ enum bt_notif_iter_status set_current_stream_class(struct bt_notif_iter *notit)
                                "prev-stream-class-id=%" PRId64 ", "
                                "next-stream-class-addr=%p, "
                                "next-stream-class-id=%" PRId64 ", "
-                               "trace-addr=%p, trace-name=\"%s\"",
+                               "trace-addr=%p",
                                notit, notit->meta.sc,
                                notit->meta.sc->id,
                                new_stream_class,
                                new_stream_class->id,
-                               notit->meta.tc,
-                               notit->meta.tc->name->str);
+                               notit->meta.tc);
                        status = BT_NOTIF_ITER_STATUS_ERROR;
                        goto end;
                }
@@ -803,9 +798,10 @@ enum bt_notif_iter_status set_current_stream(struct bt_notif_iter *notit)
                "stream-class-addr=%p, stream-class-id=%" PRId64,
                notit, notit->meta.sc,
                notit->meta.sc->id);
-       stream = bt_get(notit->medium.medops.borrow_stream(
+       stream = notit->medium.medops.borrow_stream(
                notit->meta.sc->ir_sc, notit->cur_data_stream_id,
-               notit->medium.data));
+               notit->medium.data);
+       bt_stream_get_ref(stream);
        BT_LOGV("User function returned: stream-addr=%p", stream);
        if (!stream) {
                BT_LOGW_STR("User function failed to return a stream object "
@@ -821,10 +817,10 @@ enum bt_notif_iter_status set_current_stream(struct bt_notif_iter *notit)
                goto end;
        }
 
-       BT_MOVE(notit->stream, stream);
+       BT_STREAM_MOVE_REF(notit->stream, stream);
 
 end:
-       bt_put(stream);
+       bt_stream_put_ref(stream);
        return status;
 }
 
@@ -859,11 +855,11 @@ enum bt_notif_iter_status set_current_packet(struct bt_notif_iter *notit)
        goto end;
 
 error:
-       BT_PUT(packet);
+       BT_PACKET_PUT_REF_AND_RESET(packet);
        status = BT_NOTIF_ITER_STATUS_ERROR;
 
 end:
-       BT_MOVE(notit->packet, packet);
+       BT_PACKET_MOVE_REF(notit->packet, packet);
        return status;
 }
 
@@ -889,12 +885,12 @@ enum bt_notif_iter_status read_packet_context_begin_state(
                struct bt_notif_iter *notit)
 {
        enum bt_notif_iter_status status = BT_NOTIF_ITER_STATUS_OK;
-       struct ctf_field_type *packet_context_ft;
+       struct ctf_field_class *packet_context_fc;
 
        BT_ASSERT(notit->meta.sc);
-       packet_context_ft = notit->meta.sc->packet_context_ft;
-       if (!packet_context_ft) {
-               BT_LOGV("No packet packet context field type in stream class: continuing: "
+       packet_context_fc = notit->meta.sc->packet_context_fc;
+       if (!packet_context_fc) {
+               BT_LOGV("No packet packet context field class in stream class: continuing: "
                        "notit-addr=%p, stream-class-addr=%p, "
                        "stream-class-id=%" PRId64,
                        notit, notit->meta.sc,
@@ -905,7 +901,7 @@ enum bt_notif_iter_status read_packet_context_begin_state(
 
        BT_ASSERT(!notit->packet_context_field);
 
-       if (packet_context_ft->in_ir) {
+       if (packet_context_fc->in_ir) {
                /*
                 * Create free packet context field from stream class.
                 * This field is going to be moved to the packet once we
@@ -916,7 +912,8 @@ enum bt_notif_iter_status read_packet_context_begin_state(
                 * (bt_notif_iter_borrow_packet_header_context_fields()).
                 */
                notit->packet_context_field =
-                       bt_packet_context_field_create(notit->meta.sc->ir_sc);
+                       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.");
                        status = BT_NOTIF_ITER_STATUS_ERROR;
@@ -924,26 +921,27 @@ enum bt_notif_iter_status read_packet_context_begin_state(
                }
 
                notit->dscopes.stream_packet_context =
-                       bt_packet_context_field_borrow_field(notit->packet_context_field);
+                       bt_packet_context_field_borrow_field(
+                               notit->packet_context_field);
                BT_ASSERT(notit->dscopes.stream_packet_context);
        }
 
        BT_LOGV("Decoding packet context field: "
                "notit-addr=%p, stream-class-addr=%p, "
-               "stream-class-id=%" PRId64 ", ft-addr=%p",
+               "stream-class-id=%" PRId64 ", fc-addr=%p",
                notit, notit->meta.sc,
-               notit->meta.sc->id, packet_context_ft);
-       status = read_dscope_begin_state(notit, packet_context_ft,
+               notit->meta.sc->id, packet_context_fc);
+       status = read_dscope_begin_state(notit, packet_context_fc,
                STATE_AFTER_STREAM_PACKET_CONTEXT,
                STATE_DSCOPE_STREAM_PACKET_CONTEXT_CONTINUE,
                notit->dscopes.stream_packet_context);
        if (status < 0) {
                BT_LOGW("Cannot decode packet context field: "
                        "notit-addr=%p, stream-class-addr=%p, "
-                       "stream-class-id=%" PRId64 ", ft-addr=%p",
+                       "stream-class-id=%" PRId64 ", fc-addr=%p",
                        notit, notit->meta.sc,
                        notit->meta.sc->id,
-                       packet_context_ft);
+                       packet_context_fc);
        }
 
 end:
@@ -1029,7 +1027,7 @@ enum bt_notif_iter_status read_event_header_begin_state(
                struct bt_notif_iter *notit)
 {
        enum bt_notif_iter_status status = BT_NOTIF_ITER_STATUS_OK;
-       struct ctf_field_type *event_header_ft = NULL;
+       struct ctf_field_class *event_header_fc = NULL;
 
        /* Reset the position of the last event header */
        notit->buf.last_eh_at = notit->buf.at;
@@ -1083,45 +1081,47 @@ enum bt_notif_iter_status read_event_header_begin_state(
 
        release_event_dscopes(notit);
        BT_ASSERT(notit->meta.sc);
-       event_header_ft = notit->meta.sc->event_header_ft;
-       if (!event_header_ft) {
+       event_header_fc = notit->meta.sc->event_header_fc;
+       if (!event_header_fc) {
                notit->state = STATE_AFTER_EVENT_HEADER;
                goto end;
        }
 
-       if (event_header_ft->in_ir) {
+       if (event_header_fc->in_ir) {
                BT_ASSERT(!notit->event_header_field);
-               notit->event_header_field = bt_event_header_field_create(
-                       notit->meta.sc->ir_sc);
+               notit->event_header_field =
+                       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.");
+                       BT_LOGE_STR("Cannot create event header field wrapper from trace class.");
                        status = BT_NOTIF_ITER_STATUS_ERROR;
                        goto end;
                }
 
                notit->dscopes.event_header =
-                       bt_event_header_field_borrow_field(notit->event_header_field);
+                       bt_event_header_field_borrow_field(
+                               notit->event_header_field);
                BT_ASSERT(notit->dscopes.event_header);
        }
 
        BT_LOGV("Decoding event header field: "
                "notit-addr=%p, stream-class-addr=%p, "
                "stream-class-id=%" PRId64 ", "
-               "ft-addr=%p",
+               "fc-addr=%p",
                notit, notit->meta.sc,
                notit->meta.sc->id,
-               event_header_ft);
-       status = read_dscope_begin_state(notit, event_header_ft,
+               event_header_fc);
+       status = read_dscope_begin_state(notit, event_header_fc,
                STATE_AFTER_EVENT_HEADER,
                STATE_DSCOPE_EVENT_HEADER_CONTINUE,
                notit->dscopes.event_header);
        if (status < 0) {
                BT_LOGW("Cannot decode event header field: "
                        "notit-addr=%p, stream-class-addr=%p, "
-                       "stream-class-id=%" PRId64 ", ft-addr=%p",
+                       "stream-class-id=%" PRId64 ", fc-addr=%p",
                        notit, notit->meta.sc,
                        notit->meta.sc->id,
-                       event_header_ft);
+                       event_header_fc);
        }
 
 end:
@@ -1151,15 +1151,13 @@ enum bt_notif_iter_status set_current_event_class(struct bt_notif_iter *notit)
                if (notit->meta.sc->event_classes->len != 1) {
                        BT_LOGW("Need exactly one event class since there's "
                                "no event class ID field: "
-                               "notit-addr=%p, trace-name=\"%s\"",
-                               notit, notit->meta.tc->name->str);
+                               "notit-addr=%p", notit);
                        status = BT_NOTIF_ITER_STATUS_ERROR;
                        goto end;
                }
 
                new_event_class = notit->meta.sc->event_classes->pdata[0];
                notit->cur_event_class_id = new_event_class->id;
-               goto end;
        }
 
        new_event_class = ctf_stream_class_borrow_event_class_by_id(
@@ -1168,9 +1166,9 @@ enum bt_notif_iter_status set_current_event_class(struct bt_notif_iter *notit)
                BT_LOGW("No event class with ID of event class ID to use in stream class: "
                        "notit-addr=%p, stream-class-id=%" PRIu64 ", "
                        "event-class-id=%" PRIu64 ", "
-                       "trace-addr=%p, trace-name=\"%s\"",
+                       "trace-class-addr=%p",
                        notit, notit->meta.sc->id, notit->cur_event_class_id,
-                       notit->meta.tc, notit->meta.tc->name->str);
+                       notit->meta.tc);
                status = BT_NOTIF_ITER_STATUS_ERROR;
                goto end;
        }
@@ -1217,11 +1215,11 @@ enum bt_notif_iter_status set_current_event_notification(
        goto end;
 
 error:
-       BT_PUT(notif);
+       BT_NOTIFICATION_PUT_REF_AND_RESET(notif);
        status = BT_NOTIF_ITER_STATUS_ERROR;
 
 end:
-       BT_MOVE(notit->event_notif, notif);
+       BT_NOTIFICATION_MOVE_REF(notit->event_notif, notif);
        return status;
 }
 
@@ -1241,14 +1239,15 @@ enum bt_notif_iter_status after_event_header_state(
                goto end;
        }
 
-       notit->event = bt_notification_event_borrow_event(notit->event_notif);
+       notit->event = bt_notification_event_borrow_event(
+               notit->event_notif);
        BT_ASSERT(notit->event);
 
        if (notit->event_header_field) {
                int ret;
 
                BT_ASSERT(notit->event);
-               ret = bt_event_move_header(notit->event,
+               ret = bt_event_move_header_field(notit->event,
                        notit->event_header_field);
                if (ret) {
                        status = BT_NOTIF_ITER_STATUS_ERROR;
@@ -1262,8 +1261,8 @@ enum bt_notif_iter_status after_event_header_state(
                 * the same value as the event header field within
                 * notit->event.
                 */
-               BT_ASSERT(bt_event_borrow_header_field(notit->event) ==
-                       notit->dscopes.event_header);
+               BT_ASSERT(bt_event_borrow_header_field(
+                       notit->event) == notit->dscopes.event_header);
        }
 
        notit->state = STATE_DSCOPE_EVENT_COMMON_CONTEXT_BEGIN;
@@ -1277,39 +1276,40 @@ enum bt_notif_iter_status read_event_common_context_begin_state(
                struct bt_notif_iter *notit)
 {
        enum bt_notif_iter_status status = BT_NOTIF_ITER_STATUS_OK;
-       struct ctf_field_type *event_common_context_ft;
+       struct ctf_field_class *event_common_context_fc;
 
-       event_common_context_ft = notit->meta.sc->event_common_context_ft;
-       if (!event_common_context_ft) {
+       event_common_context_fc = notit->meta.sc->event_common_context_fc;
+       if (!event_common_context_fc) {
                notit->state = STATE_DSCOPE_EVENT_SPEC_CONTEXT_BEGIN;
                goto end;
        }
 
-       if (event_common_context_ft->in_ir) {
+       if (event_common_context_fc->in_ir) {
                BT_ASSERT(!notit->dscopes.event_common_context);
                notit->dscopes.event_common_context =
-                       bt_event_borrow_common_context_field(notit->event);
+                       bt_event_borrow_common_context_field(
+                               notit->event);
                BT_ASSERT(notit->dscopes.event_common_context);
        }
 
        BT_LOGV("Decoding event common context field: "
                "notit-addr=%p, stream-class-addr=%p, "
                "stream-class-id=%" PRId64 ", "
-               "ft-addr=%p",
+               "fc-addr=%p",
                notit, notit->meta.sc,
                notit->meta.sc->id,
-               event_common_context_ft);
-       status = read_dscope_begin_state(notit, event_common_context_ft,
+               event_common_context_fc);
+       status = read_dscope_begin_state(notit, event_common_context_fc,
                STATE_DSCOPE_EVENT_SPEC_CONTEXT_BEGIN,
                STATE_DSCOPE_EVENT_COMMON_CONTEXT_CONTINUE,
                notit->dscopes.event_common_context);
        if (status < 0) {
                BT_LOGW("Cannot decode event common context field: "
                        "notit-addr=%p, stream-class-addr=%p, "
-                       "stream-class-id=%" PRId64 ", ft-addr=%p",
+                       "stream-class-id=%" PRId64 ", fc-addr=%p",
                        notit, notit->meta.sc,
                        notit->meta.sc->id,
-                       event_common_context_ft);
+                       event_common_context_fc);
        }
 
 end:
@@ -1329,30 +1329,31 @@ enum bt_notif_iter_status read_event_spec_context_begin_state(
                struct bt_notif_iter *notit)
 {
        enum bt_notif_iter_status status = BT_NOTIF_ITER_STATUS_OK;
-       struct ctf_field_type *event_spec_context_ft;
+       struct ctf_field_class *event_spec_context_fc;
 
-       event_spec_context_ft = notit->meta.ec->spec_context_ft;
-       if (!event_spec_context_ft) {
+       event_spec_context_fc = notit->meta.ec->spec_context_fc;
+       if (!event_spec_context_fc) {
                notit->state = STATE_DSCOPE_EVENT_PAYLOAD_BEGIN;
                goto end;
        }
 
-       if (event_spec_context_ft->in_ir) {
+       if (event_spec_context_fc->in_ir) {
                BT_ASSERT(!notit->dscopes.event_spec_context);
-               notit->dscopes.event_spec_context = bt_event_borrow_specific_context_field(
-                       notit->event);
+               notit->dscopes.event_spec_context =
+                       bt_event_borrow_specific_context_field(
+                               notit->event);
                BT_ASSERT(notit->dscopes.event_spec_context);
        }
 
        BT_LOGV("Decoding event specific context field: "
                "notit-addr=%p, event-class-addr=%p, "
                "event-class-name=\"%s\", event-class-id=%" PRId64 ", "
-               "ft-addr=%p",
+               "fc-addr=%p",
                notit, notit->meta.ec,
                notit->meta.ec->name->str,
                notit->meta.ec->id,
-               event_spec_context_ft);
-       status = read_dscope_begin_state(notit, event_spec_context_ft,
+               event_spec_context_fc);
+       status = read_dscope_begin_state(notit, event_spec_context_fc,
                STATE_DSCOPE_EVENT_PAYLOAD_BEGIN,
                STATE_DSCOPE_EVENT_SPEC_CONTEXT_CONTINUE,
                notit->dscopes.event_spec_context);
@@ -1360,11 +1361,11 @@ enum bt_notif_iter_status read_event_spec_context_begin_state(
                BT_LOGW("Cannot decode event specific context field: "
                        "notit-addr=%p, event-class-addr=%p, "
                        "event-class-name=\"%s\", "
-                       "event-class-id=%" PRId64 ", ft-addr=%p",
+                       "event-class-id=%" PRId64 ", fc-addr=%p",
                        notit, notit->meta.ec,
                        notit->meta.ec->name->str,
                        notit->meta.ec->id,
-                       event_spec_context_ft);
+                       event_spec_context_fc);
        }
 
 end:
@@ -1384,30 +1385,31 @@ enum bt_notif_iter_status read_event_payload_begin_state(
                struct bt_notif_iter *notit)
 {
        enum bt_notif_iter_status status = BT_NOTIF_ITER_STATUS_OK;
-       struct ctf_field_type *event_payload_ft;
+       struct ctf_field_class *event_payload_fc;
 
-       event_payload_ft = notit->meta.ec->payload_ft;
-       if (!event_payload_ft) {
+       event_payload_fc = notit->meta.ec->payload_fc;
+       if (!event_payload_fc) {
                notit->state = STATE_EMIT_NOTIF_EVENT;
                goto end;
        }
 
-       if (event_payload_ft->in_ir) {
+       if (event_payload_fc->in_ir) {
                BT_ASSERT(!notit->dscopes.event_payload);
-               notit->dscopes.event_payload = bt_event_borrow_payload_field(
-                       notit->event);
+               notit->dscopes.event_payload =
+                       bt_event_borrow_payload_field(
+                               notit->event);
                BT_ASSERT(notit->dscopes.event_payload);
        }
 
        BT_LOGV("Decoding event payload field: "
                "notit-addr=%p, event-class-addr=%p, "
                "event-class-name=\"%s\", event-class-id=%" PRId64 ", "
-               "ft-addr=%p",
+               "fc-addr=%p",
                notit, notit->meta.ec,
                notit->meta.ec->name->str,
                notit->meta.ec->id,
-               event_payload_ft);
-       status = read_dscope_begin_state(notit, event_payload_ft,
+               event_payload_fc);
+       status = read_dscope_begin_state(notit, event_payload_fc,
                STATE_EMIT_NOTIF_EVENT,
                STATE_DSCOPE_EVENT_PAYLOAD_CONTINUE,
                notit->dscopes.event_payload);
@@ -1415,11 +1417,11 @@ enum bt_notif_iter_status read_event_payload_begin_state(
                BT_LOGW("Cannot decode event payload field: "
                        "notit-addr=%p, event-class-addr=%p, "
                        "event-class-name=\"%s\", "
-                       "event-class-id=%" PRId64 ", ft-addr=%p",
+                       "event-class-id=%" PRId64 ", fc-addr=%p",
                        notit, notit->meta.ec,
                        notit->meta.ec->name->str,
                        notit->meta.ec->id,
-                       event_payload_ft);
+                       event_payload_fc);
        }
 
 end:
@@ -1569,9 +1571,9 @@ void bt_notif_iter_reset(struct bt_notif_iter *notit)
        stack_clear(notit->stack);
        notit->meta.sc = NULL;
        notit->meta.ec = NULL;
-       BT_PUT(notit->packet);
-       BT_PUT(notit->stream);
-       BT_PUT(notit->event_notif);
+       BT_PACKET_PUT_REF_AND_RESET(notit->packet);
+       BT_STREAM_PUT_REF_AND_RESET(notit->stream);
+       BT_NOTIFICATION_PUT_REF_AND_RESET(notit->event_notif);
        release_all_dscopes(notit);
        notit->cur_dscope_field = NULL;
 
@@ -1626,8 +1628,8 @@ int bt_notif_iter_switch_packet(struct bt_notif_iter *notit)
                notit->cur_packet_offset);
        stack_clear(notit->stack);
        notit->meta.ec = NULL;
-       BT_PUT(notit->packet);
-       BT_PUT(notit->event_notif);
+       BT_PACKET_PUT_REF_AND_RESET(notit->packet);
+       BT_NOTIFICATION_PUT_REF_AND_RESET(notit->event_notif);
        release_all_dscopes(notit);
        notit->cur_dscope_field = NULL;
 
@@ -1673,33 +1675,35 @@ struct bt_field *borrow_next_field(struct bt_notif_iter *notit)
 {
        struct bt_field *next_field = NULL;
        struct bt_field *base_field;
-       struct bt_field_type *base_ft;
+       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_ft = bt_field_borrow_type(base_field);
-       BT_ASSERT(base_ft);
+       base_fc = bt_field_borrow_class_const(base_field);
+       BT_ASSERT(base_fc);
 
-       switch (bt_field_type_get_type_id(base_ft)) {
-       case BT_FIELD_TYPE_ID_STRUCTURE:
+       switch (bt_field_class_get_type(base_fc)) {
+       case BT_FIELD_CLASS_TYPE_STRUCTURE:
        {
                BT_ASSERT(index <
-                       bt_field_type_structure_get_member_count(
-                               bt_field_borrow_type(base_field)));
-               next_field = bt_field_structure_borrow_member_field_by_index(
-                       base_field, index);
+                       bt_field_class_structure_get_member_count(
+                               bt_field_borrow_class_const(
+                                               base_field)));
+               next_field =
+                       bt_field_structure_borrow_member_field_by_index(
+                               base_field, index);
                break;
        }
-       case BT_FIELD_TYPE_ID_STATIC_ARRAY:
-       case BT_FIELD_TYPE_ID_DYNAMIC_ARRAY:
+       case BT_FIELD_CLASS_TYPE_STATIC_ARRAY:
+       case BT_FIELD_CLASS_TYPE_DYNAMIC_ARRAY:
                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_TYPE_ID_VARIANT:
+       case BT_FIELD_CLASS_TYPE_VARIANT:
                BT_ASSERT(index == 0);
                next_field = bt_field_variant_borrow_selected_option_field(
                        base_field);
@@ -1755,58 +1759,58 @@ end:
 }
 
 static
-enum bt_btr_status btr_unsigned_int_cb(uint64_t value,
-               struct ctf_field_type *ft, void *data)
+enum bt_bfcr_status bfcr_unsigned_int_cb(uint64_t value,
+               struct ctf_field_class *fc, void *data)
 {
        struct bt_notif_iter *notit = data;
-       enum bt_btr_status status = BT_BTR_STATUS_OK;
+       enum bt_bfcr_status status = BT_BFCR_STATUS_OK;
        struct bt_field *field = NULL;
-       struct ctf_field_type_int *int_ft = (void *) ft;
+       struct ctf_field_class_int *int_fc = (void *) fc;
 
-       BT_LOGV("Unsigned integer function called from BTR: "
-               "notit-addr=%p, btr-addr=%p, ft-addr=%p, "
-               "ft-id=%d, ft-in-ir=%d, value=%" PRIu64,
-               notit, notit->btr, ft, ft->id, ft->in_ir, value);
+       BT_LOGV("Unsigned integer function called from BFCR: "
+               "notit-addr=%p, bfcr-addr=%p, fc-addr=%p, "
+               "fc-type=%d, fc-in-ir=%d, value=%" PRIu64,
+               notit, notit->bfcr, fc, fc->type, fc->in_ir, value);
 
-       if (likely(int_ft->meaning == CTF_FIELD_TYPE_MEANING_NONE)) {
+       if (likely(int_fc->meaning == CTF_FIELD_CLASS_MEANING_NONE)) {
                goto update_def_clock;
        }
 
-       switch (int_ft->meaning) {
-       case CTF_FIELD_TYPE_MEANING_EVENT_CLASS_ID:
+       switch (int_fc->meaning) {
+       case CTF_FIELD_CLASS_MEANING_EVENT_CLASS_ID:
                notit->cur_event_class_id = value;
                break;
-       case CTF_FIELD_TYPE_MEANING_DATA_STREAM_ID:
+       case CTF_FIELD_CLASS_MEANING_DATA_STREAM_ID:
                notit->cur_data_stream_id = value;
                break;
-       case CTF_FIELD_TYPE_MEANING_PACKET_BEGINNING_TIME:
+       case CTF_FIELD_CLASS_MEANING_PACKET_BEGINNING_TIME:
                notit->snapshots.beginning_clock = value;
                break;
-       case CTF_FIELD_TYPE_MEANING_PACKET_END_TIME:
+       case CTF_FIELD_CLASS_MEANING_PACKET_END_TIME:
                notit->snapshots.end_clock = value;
                break;
-       case CTF_FIELD_TYPE_MEANING_STREAM_CLASS_ID:
+       case CTF_FIELD_CLASS_MEANING_STREAM_CLASS_ID:
                notit->cur_stream_class_id = value;
                break;
-       case CTF_FIELD_TYPE_MEANING_MAGIC:
+       case CTF_FIELD_CLASS_MEANING_MAGIC:
                if (value != 0xc1fc1fc1) {
                        BT_LOGW("Invalid CTF magic number: notit-addr=%p, "
                                "magic=%" PRIx64, notit, value);
-                       status = BT_BTR_STATUS_ERROR;
+                       status = BT_BFCR_STATUS_ERROR;
                        goto end;
                }
 
                break;
-       case CTF_FIELD_TYPE_MEANING_PACKET_COUNTER_SNAPSHOT:
+       case CTF_FIELD_CLASS_MEANING_PACKET_COUNTER_SNAPSHOT:
                notit->snapshots.packets = value;
                break;
-       case CTF_FIELD_TYPE_MEANING_DISC_EV_REC_COUNTER_SNAPSHOT:
+       case CTF_FIELD_CLASS_MEANING_DISC_EV_REC_COUNTER_SNAPSHOT:
                notit->snapshots.discarded_events = value;
                break;
-       case CTF_FIELD_TYPE_MEANING_EXP_PACKET_TOTAL_SIZE:
+       case CTF_FIELD_CLASS_MEANING_EXP_PACKET_TOTAL_SIZE:
                notit->cur_exp_packet_total_size = value;
                break;
-       case CTF_FIELD_TYPE_MEANING_EXP_PACKET_CONTENT_SIZE:
+       case CTF_FIELD_CLASS_MEANING_EXP_PACKET_CONTENT_SIZE:
                notit->cur_exp_packet_content_size = value;
                break;
        default:
@@ -1814,24 +1818,26 @@ enum bt_btr_status btr_unsigned_int_cb(uint64_t value,
        }
 
 update_def_clock:
-       if (unlikely(int_ft->mapped_clock_class)) {
-               update_default_clock(notit, value, int_ft->base.size);
+       if (unlikely(int_fc->mapped_clock_class)) {
+               update_default_clock(notit, value, int_fc->base.size);
        }
 
-       if (unlikely(int_ft->storing_index >= 0)) {
+       if (unlikely(int_fc->storing_index >= 0)) {
                g_array_index(notit->stored_values, uint64_t,
-                       (uint64_t) int_ft->storing_index) = value;
+                       (uint64_t) int_fc->storing_index) = value;
        }
 
-       if (unlikely(!ft->in_ir)) {
+       if (unlikely(!fc->in_ir)) {
                goto end;
        }
 
        field = borrow_next_field(notit);
        BT_ASSERT(field);
-       BT_ASSERT(bt_field_borrow_type(field) == ft->ir_ft);
-       BT_ASSERT(bt_field_get_type_id(field) == BT_FIELD_TYPE_ID_UNSIGNED_INTEGER ||
-               bt_field_get_type_id(field) == BT_FIELD_TYPE_ID_UNSIGNED_ENUMERATION);
+       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++;
 
@@ -1840,25 +1846,25 @@ end:
 }
 
 static
-enum bt_btr_status btr_unsigned_int_char_cb(uint64_t value,
-               struct ctf_field_type *ft, void *data)
+enum bt_bfcr_status bfcr_unsigned_int_char_cb(uint64_t value,
+               struct ctf_field_class *fc, void *data)
 {
        int ret;
        struct bt_notif_iter *notit = data;
-       enum bt_btr_status status = BT_BTR_STATUS_OK;
+       enum bt_bfcr_status status = BT_BFCR_STATUS_OK;
        struct bt_field *string_field = NULL;
-       struct ctf_field_type_int *int_ft = (void *) ft;
+       struct ctf_field_class_int *int_fc = (void *) fc;
        char str[2] = {'\0', '\0'};
 
-       BT_LOGV("Unsigned integer character function called from BTR: "
-               "notit-addr=%p, btr-addr=%p, ft-addr=%p, "
-               "ft-id=%d, ft-in-ir=%d, value=%" PRIu64,
-               notit, notit->btr, ft, ft->id, ft->in_ir, value);
-       BT_ASSERT(int_ft->meaning == CTF_FIELD_TYPE_MEANING_NONE);
-       BT_ASSERT(!int_ft->mapped_clock_class);
-       BT_ASSERT(int_ft->storing_index < 0);
+       BT_LOGV("Unsigned integer character function called from BFCR: "
+               "notit-addr=%p, bfcr-addr=%p, fc-addr=%p, "
+               "fc-type=%d, fc-in-ir=%d, value=%" PRIu64,
+               notit, notit->bfcr, fc, fc->type, fc->in_ir, value);
+       BT_ASSERT(int_fc->meaning == CTF_FIELD_CLASS_MEANING_NONE);
+       BT_ASSERT(!int_fc->mapped_clock_class);
+       BT_ASSERT(int_fc->storing_index < 0);
 
-       if (unlikely(!ft->in_ir)) {
+       if (unlikely(!fc->in_ir)) {
                goto end;
        }
 
@@ -1872,7 +1878,8 @@ enum bt_btr_status btr_unsigned_int_char_cb(uint64_t value,
        }
 
        string_field = stack_top(notit->stack)->base;
-       BT_ASSERT(bt_field_get_type_id(string_field) == BT_FIELD_TYPE_ID_STRING);
+       BT_ASSERT(bt_field_get_class_type(string_field) ==
+                 BT_FIELD_CLASS_TYPE_STRING);
 
        /* Append character */
        str[0] = (char) value;
@@ -1881,7 +1888,7 @@ enum bt_btr_status btr_unsigned_int_char_cb(uint64_t value,
                BT_LOGE("Cannot append character to string field's value: "
                        "notit-addr=%p, field-addr=%p, ret=%d",
                        notit, string_field, ret);
-               status = BT_BTR_STATUS_ERROR;
+               status = BT_BFCR_STATUS_ERROR;
                goto end;
        }
 
@@ -1890,34 +1897,36 @@ end:
 }
 
 static
-enum bt_btr_status btr_signed_int_cb(int64_t value,
-               struct ctf_field_type *ft, void *data)
+enum bt_bfcr_status bfcr_signed_int_cb(int64_t value,
+               struct ctf_field_class *fc, void *data)
 {
-       enum bt_btr_status status = BT_BTR_STATUS_OK;
+       enum bt_bfcr_status status = BT_BFCR_STATUS_OK;
        struct bt_field *field = NULL;
        struct bt_notif_iter *notit = data;
-       struct ctf_field_type_int *int_ft = (void *) ft;
+       struct ctf_field_class_int *int_fc = (void *) fc;
 
-       BT_LOGV("Signed integer function called from BTR: "
-               "notit-addr=%p, btr-addr=%p, ft-addr=%p, "
-               "ft-id=%d, ft-in-ir=%d, value=%" PRId64,
-               notit, notit->btr, ft, ft->id, ft->in_ir, value);
-       BT_ASSERT(int_ft->meaning == CTF_FIELD_TYPE_MEANING_NONE);
+       BT_LOGV("Signed integer function called from BFCR: "
+               "notit-addr=%p, bfcr-addr=%p, fc-addr=%p, "
+               "fc-type=%d, fc-in-ir=%d, value=%" PRId64,
+               notit, notit->bfcr, fc, fc->type, fc->in_ir, value);
+       BT_ASSERT(int_fc->meaning == CTF_FIELD_CLASS_MEANING_NONE);
 
-       if (unlikely(int_ft->storing_index >= 0)) {
+       if (unlikely(int_fc->storing_index >= 0)) {
                g_array_index(notit->stored_values, uint64_t,
-                       (uint64_t) int_ft->storing_index) = (uint64_t) value;
+                       (uint64_t) int_fc->storing_index) = (uint64_t) value;
        }
 
-       if (unlikely(!ft->in_ir)) {
+       if (unlikely(!fc->in_ir)) {
                goto end;
        }
 
        field = borrow_next_field(notit);
        BT_ASSERT(field);
-       BT_ASSERT(bt_field_borrow_type(field) == ft->ir_ft);
-       BT_ASSERT(bt_field_get_type_id(field) == BT_FIELD_TYPE_ID_SIGNED_INTEGER ||
-               bt_field_get_type_id(field) == BT_FIELD_TYPE_ID_SIGNED_ENUMERATION);
+       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++;
 
@@ -1926,72 +1935,74 @@ end:
 }
 
 static
-enum bt_btr_status btr_floating_point_cb(double value,
-               struct ctf_field_type *ft, void *data)
+enum bt_bfcr_status bfcr_floating_point_cb(double value,
+               struct ctf_field_class *fc, void *data)
 {
-       enum bt_btr_status status = BT_BTR_STATUS_OK;
+       enum bt_bfcr_status status = BT_BFCR_STATUS_OK;
        struct bt_field *field = NULL;
        struct bt_notif_iter *notit = data;
 
-       BT_LOGV("Floating point number function called from BTR: "
-               "notit-addr=%p, btr-addr=%p, ft-addr=%p, "
-               "ft-id=%d, ft-in-ir=%d, value=%f",
-               notit, notit->btr, ft, ft->id, ft->in_ir, value);
-       BT_ASSERT(ft->in_ir);
+       BT_LOGV("Floating point number function called from BFCR: "
+               "notit-addr=%p, bfcr-addr=%p, fc-addr=%p, "
+               "fc-type=%d, fc-in-ir=%d, value=%f",
+               notit, notit->bfcr, fc, fc->type, fc->in_ir, value);
+       BT_ASSERT(fc->in_ir);
        field = borrow_next_field(notit);
        BT_ASSERT(field);
-       BT_ASSERT(bt_field_borrow_type(field) == ft->ir_ft);
-       BT_ASSERT(bt_field_get_type_id(field) == BT_FIELD_TYPE_ID_REAL);
+       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;
 }
 
 static
-enum bt_btr_status btr_string_begin_cb(
-               struct ctf_field_type *ft, void *data)
+enum bt_bfcr_status bfcr_string_begin_cb(
+               struct ctf_field_class *fc, void *data)
 {
        struct bt_field *field = NULL;
        struct bt_notif_iter *notit = data;
        int ret;
 
-       BT_LOGV("String (beginning) function called from BTR: "
-               "notit-addr=%p, btr-addr=%p, ft-addr=%p, "
-               "ft-id=%d, ft-in-ir=%d",
-               notit, notit->btr, ft, ft->id, ft->in_ir);
+       BT_LOGV("String (beginning) function called from BFCR: "
+               "notit-addr=%p, bfcr-addr=%p, fc-addr=%p, "
+               "fc-type=%d, fc-in-ir=%d",
+               notit, notit->bfcr, fc, fc->type, fc->in_ir);
 
-       BT_ASSERT(ft->in_ir);
+       BT_ASSERT(fc->in_ir);
        field = borrow_next_field(notit);
        BT_ASSERT(field);
-       BT_ASSERT(bt_field_borrow_type(field) == ft->ir_ft);
-       BT_ASSERT(bt_field_get_type_id(field) == BT_FIELD_TYPE_ID_STRING);
+       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);
 
        /*
-        * Push on stack. Not a compound type per se, but we know that
-        * only btr_string_cb() may be called between this call and a
-        * subsequent call to btr_string_end_cb().
+        * Push on stack. Not a compound class per se, but we know that
+        * only bfcr_string_cb() may be called between this call and a
+        * subsequent call to bfcr_string_end_cb().
         */
        stack_push(notit->stack, field);
-       return BT_BTR_STATUS_OK;
+       return BT_BFCR_STATUS_OK;
 }
 
 static
-enum bt_btr_status btr_string_cb(const char *value,
-               size_t len, struct ctf_field_type *ft, void *data)
+enum bt_bfcr_status bfcr_string_cb(const char *value,
+               size_t len, struct ctf_field_class *fc, void *data)
 {
-       enum bt_btr_status status = BT_BTR_STATUS_OK;
+       enum bt_bfcr_status status = BT_BFCR_STATUS_OK;
        struct bt_field *field = NULL;
        struct bt_notif_iter *notit = data;
        int ret;
 
-       BT_LOGV("String (substring) function called from BTR: "
-               "notit-addr=%p, btr-addr=%p, ft-addr=%p, "
-               "ft-id=%d, ft-in-ir=%d, string-length=%zu",
-               notit, notit->btr, ft, ft->id, ft->in_ir,
+       BT_LOGV("String (substring) function called from BFCR: "
+               "notit-addr=%p, bfcr-addr=%p, fc-addr=%p, "
+               "fc-type=%d, fc-in-ir=%d, string-length=%zu",
+               notit, notit->bfcr, fc, fc->type, fc->in_ir,
                len);
-       BT_ASSERT(ft->in_ir);
+       BT_ASSERT(fc->in_ir);
        field = stack_top(notit->stack)->base;
        BT_ASSERT(field);
 
@@ -2001,7 +2012,7 @@ enum bt_btr_status btr_string_cb(const char *value,
                BT_LOGE("Cannot append substring to string field's value: "
                        "notit-addr=%p, field-addr=%p, string-length=%zu, "
                        "ret=%d", notit, field, len, ret);
-               status = BT_BTR_STATUS_ERROR;
+               status = BT_BFCR_STATUS_ERROR;
                goto end;
        }
 
@@ -2010,37 +2021,37 @@ end:
 }
 
 static
-enum bt_btr_status btr_string_end_cb(
-               struct ctf_field_type *ft, void *data)
+enum bt_bfcr_status bfcr_string_end_cb(
+               struct ctf_field_class *fc, void *data)
 {
        struct bt_notif_iter *notit = data;
 
-       BT_LOGV("String (end) function called from BTR: "
-               "notit-addr=%p, btr-addr=%p, ft-addr=%p, "
-               "ft-id=%d, ft-in-ir=%d",
-               notit, notit->btr, ft, ft->id, ft->in_ir);
-       BT_ASSERT(ft->in_ir);
+       BT_LOGV("String (end) function called from BFCR: "
+               "notit-addr=%p, bfcr-addr=%p, fc-addr=%p, "
+               "fc-type=%d, fc-in-ir=%d",
+               notit, notit->bfcr, fc, fc->type, fc->in_ir);
+       BT_ASSERT(fc->in_ir);
 
        /* Pop string field */
        stack_pop(notit->stack);
 
        /* Go to next field */
        stack_top(notit->stack)->index++;
-       return BT_BTR_STATUS_OK;
+       return BT_BFCR_STATUS_OK;
 }
 
-enum bt_btr_status btr_compound_begin_cb(
-               struct ctf_field_type *ft, void *data)
+enum bt_bfcr_status bfcr_compound_begin_cb(
+               struct ctf_field_class *fc, void *data)
 {
        struct bt_notif_iter *notit = data;
        struct bt_field *field;
 
-       BT_LOGV("Compound (beginning) function called from BTR: "
-               "notit-addr=%p, btr-addr=%p, ft-addr=%p, "
-               "ft-id=%d, ft-in-ir=%d",
-               notit, notit->btr, ft, ft->id, ft->in_ir);
+       BT_LOGV("Compound (beginning) function called from BFCR: "
+               "notit-addr=%p, bfcr-addr=%p, fc-addr=%p, "
+               "fc-type=%d, fc-in-ir=%d",
+               notit, notit->bfcr, fc, fc->type, fc->in_ir);
 
-       if (!ft->in_ir) {
+       if (!fc->in_ir) {
                goto end;
        }
 
@@ -2055,66 +2066,66 @@ enum bt_btr_status btr_compound_begin_cb(
 
        /* Push field */
        BT_ASSERT(field);
-       BT_ASSERT(bt_field_borrow_type(field) == ft->ir_ft);
+       BT_ASSERT(bt_field_borrow_class_const(field) == fc->ir_fc);
        stack_push(notit->stack, field);
 
        /*
-        * Change BTR "unsigned int" callback if it's a text
+        * Change BFCR "unsigned int" callback if it's a text
         * array/sequence.
         */
-       if (ft->id == CTF_FIELD_TYPE_ID_ARRAY ||
-                       ft->id == CTF_FIELD_TYPE_ID_SEQUENCE) {
-               struct ctf_field_type_array_base *array_ft = (void *) ft;
+       if (fc->type == CTF_FIELD_CLASS_TYPE_ARRAY ||
+                       fc->type == CTF_FIELD_CLASS_TYPE_SEQUENCE) {
+               struct ctf_field_class_array_base *array_fc = (void *) fc;
 
-               if (array_ft->is_text) {
+               if (array_fc->is_text) {
                        int ret;
 
-                       BT_ASSERT(bt_field_get_type_id(field) ==
-                               BT_FIELD_TYPE_ID_STRING);
+                       BT_ASSERT(bt_field_get_class_type(field) ==
+                                 BT_FIELD_CLASS_TYPE_STRING);
                        notit->done_filling_string = false;
                        ret = bt_field_string_clear(field);
                        BT_ASSERT(ret == 0);
-                       bt_btr_set_unsigned_int_cb(notit->btr,
-                               btr_unsigned_int_char_cb);
+                       bt_bfcr_set_unsigned_int_cb(notit->bfcr,
+                               bfcr_unsigned_int_char_cb);
                }
        }
 
 end:
-       return BT_BTR_STATUS_OK;
+       return BT_BFCR_STATUS_OK;
 }
 
-enum bt_btr_status btr_compound_end_cb(
-               struct ctf_field_type *ft, void *data)
+enum bt_bfcr_status bfcr_compound_end_cb(
+               struct ctf_field_class *fc, void *data)
 {
        struct bt_notif_iter *notit = data;
 
-       BT_LOGV("Compound (end) function called from BTR: "
-               "notit-addr=%p, btr-addr=%p, ft-addr=%p, "
-               "ft-id=%d, ft-in-ir=%d",
-               notit, notit->btr, ft, ft->id, ft->in_ir);
+       BT_LOGV("Compound (end) function called from BFCR: "
+               "notit-addr=%p, bfcr-addr=%p, fc-addr=%p, "
+               "fc-type=%d, fc-in-ir=%d",
+               notit, notit->bfcr, fc, fc->type, fc->in_ir);
 
-       if (!ft->in_ir) {
+       if (!fc->in_ir) {
                goto end;
        }
 
        BT_ASSERT(!stack_empty(notit->stack));
-       BT_ASSERT(bt_field_borrow_type(stack_top(notit->stack)->base) ==
-               ft->ir_ft);
+       BT_ASSERT(bt_field_borrow_class_const(stack_top(notit->stack)->base) ==
+               fc->ir_fc);
 
        /*
-        * Reset BTR "unsigned int" callback if it's a text
+        * Reset BFCR "unsigned int" callback if it's a text
         * array/sequence.
         */
-       if (ft->id == CTF_FIELD_TYPE_ID_ARRAY ||
-                       ft->id == CTF_FIELD_TYPE_ID_SEQUENCE) {
-               struct ctf_field_type_array_base *array_ft = (void *) ft;
+       if (fc->type == CTF_FIELD_CLASS_TYPE_ARRAY ||
+                       fc->type == CTF_FIELD_CLASS_TYPE_SEQUENCE) {
+               struct ctf_field_class_array_base *array_fc = (void *) fc;
 
-               if (array_ft->is_text) {
-                       BT_ASSERT(bt_field_get_type_id(
+               if (array_fc->is_text) {
+                       BT_ASSERT(bt_field_get_class_type(
                                stack_top(notit->stack)->base) ==
-                                       BT_FIELD_TYPE_ID_STRING);
-                       bt_btr_set_unsigned_int_cb(notit->btr,
-                               btr_unsigned_int_cb);
+                               BT_FIELD_CLASS_TYPE_STRING);
+                       bt_bfcr_set_unsigned_int_cb(notit->bfcr,
+                               bfcr_unsigned_int_cb);
                }
        }
 
@@ -2127,20 +2138,20 @@ enum bt_btr_status btr_compound_end_cb(
        }
 
 end:
-       return BT_BTR_STATUS_OK;
+       return BT_BFCR_STATUS_OK;
 }
 
 static
-int64_t btr_get_sequence_length_cb(struct ctf_field_type *ft, void *data)
+int64_t bfcr_get_sequence_length_cb(struct ctf_field_class *fc, void *data)
 {
        struct bt_field *seq_field;
        struct bt_notif_iter *notit = data;
-       struct ctf_field_type_sequence *seq_ft = (void *) ft;
+       struct ctf_field_class_sequence *seq_fc = (void *) fc;
        int64_t length = -1;
        int ret;
 
        length = (uint64_t) g_array_index(notit->stored_values, uint64_t,
-               seq_ft->stored_length_index);
+               seq_fc->stored_length_index);
        seq_field = stack_top(notit->stack)->base;
        BT_ASSERT(seq_field);
        ret = bt_field_dynamic_array_set_length(seq_field, (uint64_t) length);
@@ -2154,16 +2165,16 @@ int64_t btr_get_sequence_length_cb(struct ctf_field_type *ft, void *data)
 }
 
 static
-struct ctf_field_type *btr_borrow_variant_selected_field_type_cb(
-               struct ctf_field_type *ft, void *data)
+struct ctf_field_class *bfcr_borrow_variant_selected_field_class_cb(
+               struct ctf_field_class *fc, void *data)
 {
        int ret;
        uint64_t i;
        int64_t option_index = -1;
        struct bt_notif_iter *notit = data;
-       struct ctf_field_type_variant *var_ft = (void *) ft;
-       struct ctf_named_field_type *selected_option = NULL;
-       struct ctf_field_type *ret_ft = NULL;
+       struct ctf_field_class_variant *var_fc = (void *) fc;
+       struct ctf_named_field_class *selected_option = NULL;
+       struct ctf_field_class *ret_fc = NULL;
        union {
                uint64_t u;
                int64_t i;
@@ -2171,16 +2182,16 @@ struct ctf_field_type *btr_borrow_variant_selected_field_type_cb(
 
        /* Get variant's tag */
        tag.u = g_array_index(notit->stored_values, uint64_t,
-               var_ft->stored_tag_index);
+               var_fc->stored_tag_index);
 
        /*
         * Check each range to find the selected option's index.
         */
-       if (var_ft->tag_ft->base.is_signed) {
-               for (i = 0; i < var_ft->ranges->len; i++) {
-                       struct ctf_field_type_variant_range *range =
-                               ctf_field_type_variant_borrow_range_by_index(
-                                       var_ft, i);
+       if (var_fc->tag_fc->base.is_signed) {
+               for (i = 0; i < var_fc->ranges->len; i++) {
+                       struct ctf_field_class_variant_range *range =
+                               ctf_field_class_variant_borrow_range_by_index(
+                                       var_fc, i);
 
                        if (tag.i >= range->range.lower.i &&
                                        tag.i <= range->range.upper.i) {
@@ -2189,10 +2200,10 @@ struct ctf_field_type *btr_borrow_variant_selected_field_type_cb(
                        }
                }
        } else {
-               for (i = 0; i < var_ft->ranges->len; i++) {
-                       struct ctf_field_type_variant_range *range =
-                               ctf_field_type_variant_borrow_range_by_index(
-                                       var_ft, i);
+               for (i = 0; i < var_fc->ranges->len; i++) {
+                       struct ctf_field_class_variant_range *range =
+                               ctf_field_class_variant_borrow_range_by_index(
+                                       var_fc, i);
 
                        if (tag.u >= range->range.lower.u &&
                                        tag.u <= range->range.upper.u) {
@@ -2203,20 +2214,20 @@ struct ctf_field_type *btr_borrow_variant_selected_field_type_cb(
        }
 
        if (option_index < 0) {
-               BT_LOGW("Cannot find variant field type's option: "
-                       "notit-addr=%p, var-ft-addr=%p, u-tag=%" PRIu64 ", "
-                       "i-tag=%" PRId64, notit, var_ft, tag.u, tag.i);
+               BT_LOGW("Cannot find variant field class's option: "
+                       "notit-addr=%p, var-fc-addr=%p, u-tag=%" PRIu64 ", "
+                       "i-tag=%" PRId64, notit, var_fc, tag.u, tag.i);
                goto end;
        }
 
-       selected_option = ctf_field_type_variant_borrow_option_by_index(
-               var_ft, (uint64_t) option_index);
+       selected_option = ctf_field_class_variant_borrow_option_by_index(
+               var_fc, (uint64_t) option_index);
 
-       if (selected_option->ft->in_ir) {
+       if (selected_option->fc->in_ir) {
                struct bt_field *var_field = stack_top(notit->stack)->base;
 
-               ret = bt_field_variant_select_option_field(var_field,
-                       option_index);
+               ret = bt_field_variant_select_option_field(
+                       var_field, option_index);
                if (ret) {
                        BT_LOGW("Cannot select variant field's option field: "
                                "notit-addr=%p, var-field-addr=%p, "
@@ -2226,26 +2237,25 @@ struct ctf_field_type *btr_borrow_variant_selected_field_type_cb(
                }
        }
 
-       ret_ft = selected_option->ft;
+       ret_fc = selected_option->fc;
 
 end:
-       return ret_ft;
+       return ret_fc;
 }
 
 static
 void set_event_default_clock_value(struct bt_notif_iter *notit)
 {
-       struct bt_event *event = bt_notification_event_borrow_event(
-               notit->event_notif);
+       struct bt_event *event =
+               bt_notification_event_borrow_event(
+                       notit->event_notif);
        struct bt_stream_class *sc = notit->meta.sc->ir_sc;
 
        BT_ASSERT(event);
 
        if (bt_stream_class_borrow_default_clock_class(sc)) {
-               int ret = bt_event_set_default_clock_value(event,
+               bt_event_set_default_clock_value(event,
                        notit->default_clock_val);
-
-               BT_ASSERT(ret == 0);
        }
 }
 
@@ -2258,13 +2268,13 @@ void notify_new_stream(struct bt_notif_iter *notit,
 
        status = set_current_stream(notit);
        if (status != BT_NOTIF_ITER_STATUS_OK) {
-               BT_PUT(ret);
+               BT_NOTIFICATION_PUT_REF_AND_RESET(ret);
                goto end;
        }
 
        BT_ASSERT(notit->stream);
        BT_ASSERT(notit->notif_iter);
-       ret = bt_notification_stream_begin_create(notit->notif_iter,
+       ret = bt_notification_stream_beginning_create(notit->notif_iter,
                notit->stream);
        if (!ret) {
                BT_LOGE("Cannot create stream beginning notification: "
@@ -2308,7 +2318,7 @@ void notify_new_packet(struct bt_notif_iter *notit,
        int ret;
        enum bt_notif_iter_status status;
        struct bt_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) {
@@ -2321,35 +2331,31 @@ void notify_new_packet(struct bt_notif_iter *notit,
 
        if (bt_stream_class_packets_have_discarded_event_counter_snapshot(sc)) {
                BT_ASSERT(notit->snapshots.discarded_events != UINT64_C(-1));
-               ret = bt_packet_set_discarded_event_counter_snapshot(
+               bt_packet_set_discarded_event_counter_snapshot(
                        notit->packet, notit->snapshots.discarded_events);
-               BT_ASSERT(ret == 0);
        }
 
        if (bt_stream_class_packets_have_packet_counter_snapshot(sc)) {
                BT_ASSERT(notit->snapshots.packets != UINT64_C(-1));
-               ret = bt_packet_set_packet_counter_snapshot(
+               bt_packet_set_packet_counter_snapshot(
                        notit->packet, notit->snapshots.packets);
-               BT_ASSERT(ret == 0);
        }
 
        if (bt_stream_class_packets_have_default_beginning_clock_value(sc)) {
                BT_ASSERT(notit->snapshots.beginning_clock != UINT64_C(-1));
-               ret = bt_packet_set_default_beginning_clock_value(
+               bt_packet_set_default_beginning_clock_value(
                        notit->packet, notit->snapshots.beginning_clock);
-               BT_ASSERT(ret == 0);
        }
 
        if (bt_stream_class_packets_have_default_end_clock_value(sc)) {
                BT_ASSERT(notit->snapshots.end_clock != UINT64_C(-1));
-               ret = bt_packet_set_default_end_clock_value(
+               bt_packet_set_default_end_clock_value(
                        notit->packet, notit->snapshots.end_clock);
-               BT_ASSERT(ret == 0);
        }
 
        if (notit->packet_header_field) {
-               ret = bt_packet_move_header_field(notit->packet,
-                       notit->packet_header_field);
+               ret = bt_packet_move_header_field(
+                       notit->packet, notit->packet_header_field);
                if (ret) {
                        goto end;
                }
@@ -2361,13 +2367,14 @@ void notify_new_packet(struct bt_notif_iter *notit,
                 * the same value as the packet header field within
                 * notit->packet.
                 */
-               BT_ASSERT(bt_packet_borrow_header_field(notit->packet) ==
+               BT_ASSERT(bt_packet_borrow_header_field(
+                       notit->packet) ==
                        notit->dscopes.trace_packet_header);
        }
 
        if (notit->packet_context_field) {
-               ret = bt_packet_move_context_field(notit->packet,
-                       notit->packet_context_field);
+               ret = bt_packet_move_context_field(
+                       notit->packet, notit->packet_context_field);
                if (ret) {
                        goto end;
                }
@@ -2379,12 +2386,13 @@ void notify_new_packet(struct bt_notif_iter *notit,
                 * the same value as the packet header field within
                 * notit->packet.
                 */
-               BT_ASSERT(bt_packet_borrow_context_field(notit->packet) ==
+               BT_ASSERT(bt_packet_borrow_context_field(
+                       notit->packet) ==
                        notit->dscopes.stream_packet_context);
        }
 
        BT_ASSERT(notit->notif_iter);
-       notif = bt_notification_packet_begin_create(notit->notif_iter,
+       notif = bt_notification_packet_beginning_create(notit->notif_iter,
                notit->packet);
        if (!notif) {
                BT_LOGE("Cannot create packet beginning notification: "
@@ -2425,7 +2433,7 @@ void notify_end_of_packet(struct bt_notif_iter *notit,
 
        }
 
-       BT_PUT(notit->packet);
+       BT_PACKET_PUT_REF_AND_RESET(notit->packet);
        *notification = notif;
 }
 
@@ -2435,20 +2443,20 @@ struct bt_notif_iter *bt_notif_iter_create(struct ctf_trace_class *tc,
                struct bt_notif_iter_medium_ops medops, void *data)
 {
        struct bt_notif_iter *notit = NULL;
-       struct bt_btr_cbs cbs = {
-               .types = {
-                       .signed_int = btr_signed_int_cb,
-                       .unsigned_int = btr_unsigned_int_cb,
-                       .floating_point = btr_floating_point_cb,
-                       .string_begin = btr_string_begin_cb,
-                       .string = btr_string_cb,
-                       .string_end = btr_string_end_cb,
-                       .compound_begin = btr_compound_begin_cb,
-                       .compound_end = btr_compound_end_cb,
+       struct bt_bfcr_cbs cbs = {
+               .classes = {
+                       .signed_int = bfcr_signed_int_cb,
+                       .unsigned_int = bfcr_unsigned_int_cb,
+                       .floating_point = bfcr_floating_point_cb,
+                       .string_begin = bfcr_string_begin_cb,
+                       .string = bfcr_string_cb,
+                       .string_end = bfcr_string_end_cb,
+                       .compound_begin = bfcr_compound_begin_cb,
+                       .compound_end = bfcr_compound_end_cb,
                },
                .query = {
-                       .get_sequence_length = btr_get_sequence_length_cb,
-                       .borrow_variant_selected_field_type = btr_borrow_variant_selected_field_type_cb,
+                       .get_sequence_length = bfcr_get_sequence_length_cb,
+                       .borrow_variant_selected_field_class = bfcr_borrow_variant_selected_field_class_cb,
                },
        };
 
@@ -2456,8 +2464,8 @@ struct bt_notif_iter *bt_notif_iter_create(struct ctf_trace_class *tc,
        BT_ASSERT(medops.request_bytes);
        BT_ASSERT(medops.borrow_stream);
        BT_LOGD("Creating CTF plugin notification iterator: "
-               "trace-addr=%p, trace-name=\"%s\", max-request-size=%zu, "
-               "data=%p", tc, tc->name->str, max_request_sz, data);
+               "trace-addr=%p, max-request-size=%zu, "
+               "data=%p", tc, max_request_sz, data);
        notit = g_new0(struct bt_notif_iter, 1);
        if (!notit) {
                BT_LOGE_STR("Failed to allocate one CTF plugin notification iterator.");
@@ -2476,18 +2484,17 @@ struct bt_notif_iter *bt_notif_iter_create(struct ctf_trace_class *tc,
                goto error;
        }
 
-       notit->btr = bt_btr_create(cbs, notit);
-       if (!notit->btr) {
-               BT_LOGE_STR("Failed to create binary type reader (BTR).");
+       notit->bfcr = bt_bfcr_create(cbs, notit);
+       if (!notit->bfcr) {
+               BT_LOGE_STR("Failed to create binary class reader (BFCR).");
                goto error;
        }
 
        bt_notif_iter_reset(notit);
        BT_LOGD("Created CTF plugin notification iterator: "
-               "trace-addr=%p, trace-name=\"%s\", max-request-size=%zu, "
+               "trace-addr=%p, max-request-size=%zu, "
                "data=%p, notit-addr=%p",
-               tc, tc->name->str, max_request_sz, data,
-               notit);
+               tc, max_request_sz, data, notit);
        notit->cur_packet_offset = 0;
 
 end:
@@ -2501,8 +2508,8 @@ error:
 
 void bt_notif_iter_destroy(struct bt_notif_iter *notit)
 {
-       BT_PUT(notit->packet);
-       BT_PUT(notit->stream);
+       BT_PACKET_PUT_REF_AND_RESET(notit->packet);
+       BT_STREAM_PUT_REF_AND_RESET(notit->stream);
        release_all_dscopes(notit);
 
        BT_LOGD("Destroying CTF plugin notification iterator: addr=%p", notit);
@@ -2512,9 +2519,9 @@ void bt_notif_iter_destroy(struct bt_notif_iter *notit)
                stack_destroy(notit->stack);
        }
 
-       if (notit->btr) {
-               BT_LOGD("Destroying BTR: btr-addr=%p", notit->btr);
-               bt_btr_destroy(notit->btr);
+       if (notit->bfcr) {
+               BT_LOGD("Destroying BFCR: bfcr-addr=%p", notit->bfcr);
+               bt_bfcr_destroy(notit->bfcr);
        }
 
        if (notit->stored_values) {
@@ -2526,7 +2533,7 @@ void bt_notif_iter_destroy(struct bt_notif_iter *notit)
 
 enum bt_notif_iter_status bt_notif_iter_get_next_notification(
                struct bt_notif_iter *notit,
-               struct bt_private_connection_private_notification_iterator *notif_iter,
+               struct bt_self_notification_iterator *notif_iter,
                struct bt_notification **notification)
 {
        enum bt_notif_iter_status status = BT_NOTIF_ITER_STATUS_OK;
This page took 0.055724 seconds and 4 git commands to generate.