+/** \brief record reader stream */
+struct ZebraRecStream {
+ /** client data */
+ void *fh;
+ /** \brief read function */
+ int (*readf)(struct ZebraRecStream *s, char *buf, size_t count);
+ /** \brief seek function */
+ off_t (*seekf)(struct ZebraRecStream *s, off_t offset);
+ /** \brief tell function */
+ off_t (*tellf)(struct ZebraRecStream *s);
+ /** \brief set and get of record position */
+ off_t (*endf)(struct ZebraRecStream *s, off_t *offset);
+ /** \brief close and destroy stream */
+ void (*destroy)(struct ZebraRecStream *s);
+};
+
+/** \brief record extract for indexing */