+struct lbx_file_ops {
+ size_t (*read)(void *buf, size_t size, void *handle);
+ int (*seek)(void *handle, long offset, int whence);
+ long (*tell)(void *handle);
+ int (*eof) (void *handle);
+};
+
+struct lbx_pipe_state {
+ FILE *f;
+ long offset;
+};
+
+/* Default I/O operations for ordinary files. */
+extern const struct lbx_file_ops lbx_default_fops;
+
+/* I/O operations for un-seekable files (e.g. pipes). */
+extern const struct lbx_file_ops lbx_pipe_fops;
+