+ g_assert(!i->read);
+
+ r = avahi_record_ref(i->record);
+ if (unicast_response)
+ *unicast_response = i->unicast_response;
+ if (flush_cache)
+ *flush_cache = i->flush_cache;
+ if (auxiliary)
+ *auxiliary = i->auxiliary;
+
+ AVAHI_LLIST_REMOVE(AvahiRecordListItem, items, l->unread, i);
+ AVAHI_LLIST_PREPEND(AvahiRecordListItem, items, l->read, i);
+
+ i->read = TRUE;