Eneboo - Documentación para desarrolladores
|
00001 /*------------------------------------------------------------------------- 00002 * 00003 * logtape.h 00004 * Management of "logical tapes" within temporary files. 00005 * 00006 * See logtape.c for explanations. 00007 * 00008 * Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group 00009 * Portions Copyright (c) 1994, Regents of the University of California 00010 * 00011 * $PostgreSQL: pgsql/src/include/utils/logtape.h,v 1.13 2005/10/18 22:59:37 tgl Exp $ 00012 * 00013 *------------------------------------------------------------------------- 00014 */ 00015 00016 #ifndef LOGTAPE_H 00017 #define LOGTAPE_H 00018 00019 /* LogicalTapeSet is an opaque type whose details are not known outside logtape.c. */ 00020 00021 typedef struct LogicalTapeSet LogicalTapeSet; 00022 00023 /* 00024 * prototypes for functions in logtape.c 00025 */ 00026 00027 extern LogicalTapeSet *LogicalTapeSetCreate(int ntapes); 00028 extern void LogicalTapeSetClose(LogicalTapeSet *lts); 00029 extern size_t LogicalTapeRead(LogicalTapeSet *lts, int tapenum, 00030 void *ptr, size_t size); 00031 extern void LogicalTapeWrite(LogicalTapeSet *lts, int tapenum, 00032 void *ptr, size_t size); 00033 extern void LogicalTapeRewind(LogicalTapeSet *lts, int tapenum, bool forWrite); 00034 extern void LogicalTapeFreeze(LogicalTapeSet *lts, int tapenum); 00035 extern bool LogicalTapeBackspace(LogicalTapeSet *lts, int tapenum, 00036 size_t size); 00037 extern bool LogicalTapeSeek(LogicalTapeSet *lts, int tapenum, 00038 long blocknum, int offset); 00039 extern void LogicalTapeTell(LogicalTapeSet *lts, int tapenum, 00040 long *blocknum, int *offset); 00041 extern long LogicalTapeSetBlocks(LogicalTapeSet *lts); 00042 00043 #endif /* LOGTAPE_H */