-enum bt_notification_iterator_notif_type {
- BT_NOTIFICATION_ITERATOR_NOTIF_TYPE_EVENT = (1U << 0),
- BT_NOTIFICATION_ITERATOR_NOTIF_TYPE_INACTIVITY = (1U << 1),
- BT_NOTIFICATION_ITERATOR_NOTIF_TYPE_STREAM_BEGIN = (1U << 2),
- BT_NOTIFICATION_ITERATOR_NOTIF_TYPE_STREAM_END = (1U << 3),
- BT_NOTIFICATION_ITERATOR_NOTIF_TYPE_PACKET_BEGIN = (1U << 4),
- BT_NOTIFICATION_ITERATOR_NOTIF_TYPE_PACKET_END = (1U << 5),
+enum bt_notification_iterator_type {
+ BT_NOTIFICATION_ITERATOR_TYPE_PRIVATE_CONNECTION,
+ BT_NOTIFICATION_ITERATOR_TYPE_OUTPUT_PORT,
+};
+
+enum bt_private_connection_notification_iterator_notif_type {
+ BT_PRIVATE_CONNECTION_NOTIFICATION_ITERATOR_NOTIF_TYPE_EVENT = (1U << 0),
+ BT_PRIVATE_CONNECTION_NOTIFICATION_ITERATOR_NOTIF_TYPE_INACTIVITY = (1U << 1),
+ BT_PRIVATE_CONNECTION_NOTIFICATION_ITERATOR_NOTIF_TYPE_STREAM_BEGIN = (1U << 2),
+ BT_PRIVATE_CONNECTION_NOTIFICATION_ITERATOR_NOTIF_TYPE_STREAM_END = (1U << 3),
+ BT_PRIVATE_CONNECTION_NOTIFICATION_ITERATOR_NOTIF_TYPE_PACKET_BEGIN = (1U << 4),
+ BT_PRIVATE_CONNECTION_NOTIFICATION_ITERATOR_NOTIF_TYPE_PACKET_END = (1U << 5),
+ BT_PRIVATE_CONNECTION_NOTIFICATION_ITERATOR_NOTIF_TYPE_DISCARDED_EVENTS = (1U << 6),
+ BT_PRIVATE_CONNECTION_NOTIFICATION_ITERATOR_NOTIF_TYPE_DISCARDED_PACKETS = (1U << 7),
+};
+
+enum bt_private_connection_notification_iterator_state {
+ /* Iterator is not initialized. */
+ BT_PRIVATE_CONNECTION_NOTIFICATION_ITERATOR_STATE_NON_INITIALIZED,
+
+ /* Iterator is active, not at the end yet, and not finalized. */
+ BT_PRIVATE_CONNECTION_NOTIFICATION_ITERATOR_STATE_ACTIVE,
+
+ /*
+ * Iterator is ended, not finalized yet: the "next" method
+ * returns BT_NOTIFICATION_ITERATOR_STATUS_END.
+ */
+ BT_PRIVATE_CONNECTION_NOTIFICATION_ITERATOR_STATE_ENDED,
+
+ /*
+ * Iterator is finalized, but not at the end yet. This means
+ * that the "next" method can still return queued notifications
+ * before returning the BT_NOTIFICATION_ITERATOR_STATUS_CANCELED
+ * status.
+ */
+ BT_PRIVATE_CONNECTION_NOTIFICATION_ITERATOR_STATE_FINALIZED,
+
+ /*
+ * Iterator is finalized and ended: the "next" method always
+ * returns BT_NOTIFICATION_ITERATOR_STATUS_CANCELED.
+ */
+ BT_PRIVATE_CONNECTION_NOTIFICATION_ITERATOR_STATE_FINALIZED_AND_ENDED,