+
+ /* Get the iterator pointing to the first record at the current file
+ * position. If the file is just openned, the iterator points to the
+ * first record in the file. */
+ ti_iter_t ti_first(BGZF *fp);
+
+ /* Get the iterator pointing to the first record in region tid:beg-end */
+ ti_iter_t ti_query(BGZF *fp, const ti_index_t *idx, int tid, int beg, int end);
+
+ /* Get the data line pointed by the iterator and iterate to the next record. */
+ const char *ti_iter_read(ti_iter_t iter, int *len);
+
+ /* Destroy the iterator */
+ void ti_iter_destroy(ti_iter_t iter);
+
+ /* The callback version for random access */