+/* Direct I/O on buffers */
+
+int bdirect_read(struct fastbuf *f, byte **buf);
+int bdirect_write_prepare(struct fastbuf *f, byte **buf);
+void bdirect_write_commit(struct fastbuf *f, byte *pos);
+
+/* Depending on compile-time configuration, we select the right function for reading/writing of file offsets */
+
+#ifdef SHERLOCK_CONFIG_LARGE_DB
+#define bgeto(f) bget5(f)
+#define bputo(f,l) bput5(f,l)
+#define bgetp(f) bgetq(f)
+#define bputp(f,l) bputq(f,l)
+#define FASTBUF_BYTES_PER_O 5
+#define FASTBUF_BYTES_PER_P 8
+#else
+#define bgeto(f) bgetl(f)
+#define bputo(f,l) bputl(f,l)
+#define bgetp(f) bgetl(f)
+#define bputp(f,l) bputl(f,l)
+#define FASTBUF_BYTES_PER_O 4
+#define FASTBUF_BYTES_PER_P 4
+#endif
+
+#endif