+
+ .readBlock = kblock_swReadBlock,
+ .writeBlock = kblock_swWriteBlock,
+
+ .error = kblockfile_error,
+ .clearerr = kblockfile_claererr,
+ .close = kblockfile_close,
+};
+
+static const KBlockVTable kblockfile_swbuffered_vt =
+{
+ .readDirect = kblock_swReadDirect,
+ .readBuf = kblock_swReadBuf,
+ .writeBuf = kblock_swWriteBuf,
+ .load = kblock_swLoad,
+ .store = kblock_swStore,
+
+ .readBlock = kblockfile_readBlock,
+ .writeBlock =kblockfile_writeBlock,
+
+ .error = kblockfile_error,
+ .clearerr = kblockfile_claererr,
+ .close = kblockfile_close,
+};
+
+static const KBlockVTable kblockfile_unbuffered_vt =
+{
+ .readBlock = kblockfile_readBlock,
+ .writeBlock =kblockfile_writeBlock,