]> mj.ucw.cz Git - libucw.git/blobdiff - lib/fastbuf.h
Created a header which will contain description of all data structures
[libucw.git] / lib / fastbuf.h
index e215b3ca6c455f54d10aba593e57fa625e9bb76f..f1f0239ae8dac3177855a5919502d287e823353f 100644 (file)
@@ -4,6 +4,9 @@
  *     (c) 1997--2000 Martin Mares <mj@ucw.cz>
  */
 
+#ifndef _SHERLOCK_FASTBUF_H
+#define _SHERLOCK_FASTBUF_H
+
 #ifndef EOF
 #include <stdio.h>
 #endif
@@ -304,6 +307,12 @@ bputsn(struct fastbuf *f, byte *b)
   bputc(f, '\n');
 }
 
+/* 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
@@ -317,3 +326,5 @@ bputsn(struct fastbuf *f, byte *b)
 #define bgetp(f) bgetl(f)
 #define bputp(f,l) bputl(f,l)
 #endif
+
+#endif