summaryrefslogtreecommitdiff
path: root/src/include/utils/logtape.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/include/utils/logtape.h')
-rw-r--r--src/include/utils/logtape.h41
1 files changed, 41 insertions, 0 deletions
diff --git a/src/include/utils/logtape.h b/src/include/utils/logtape.h
new file mode 100644
index 00000000000..16fc2c12f67
--- /dev/null
+++ b/src/include/utils/logtape.h
@@ -0,0 +1,41 @@
+/*-------------------------------------------------------------------------
+ *
+ * logtape.h
+ * Management of "logical tapes" within temporary files.
+ *
+ * See logtape.c for explanations.
+ *
+ * Copyright (c) 1994, Regents of the University of California
+ *
+ * $Id: logtape.h,v 1.1 1999/10/16 19:49:28 tgl Exp $
+ *
+ *-------------------------------------------------------------------------
+ */
+
+#ifndef LOGTAPE_H
+#define LOGTAPE_H
+
+/* LogicalTapeSet is an opaque type whose details are not known outside logtape.c. */
+
+typedef struct LogicalTapeSet LogicalTapeSet;
+
+/*
+ * prototypes for functions in logtape.c
+ */
+
+extern LogicalTapeSet *LogicalTapeSetCreate(int ntapes);
+extern void LogicalTapeSetClose(LogicalTapeSet *lts);
+extern size_t LogicalTapeRead(LogicalTapeSet *lts, int tapenum,
+ void *ptr, size_t size);
+extern void LogicalTapeWrite(LogicalTapeSet *lts, int tapenum,
+ void *ptr, size_t size);
+extern void LogicalTapeRewind(LogicalTapeSet *lts, int tapenum, bool forWrite);
+extern void LogicalTapeFreeze(LogicalTapeSet *lts, int tapenum);
+extern bool LogicalTapeBackspace(LogicalTapeSet *lts, int tapenum,
+ size_t size);
+extern bool LogicalTapeSeek(LogicalTapeSet *lts, int tapenum,
+ long blocknum, int offset);
+extern void LogicalTapeTell(LogicalTapeSet *lts, int tapenum,
+ long *blocknum, int *offset);
+
+#endif /* LOGTAPE_H */