| Server IP : 185.216.8.13 / Your IP : 216.73.216.159 Web Server : Apache System : Linux webhost-vie2.sitetide.com 4.18.0-553.156.1.el8_10.x86_64 #1 SMP Mon Aug 17 17:52:57 UTC 2026 x86_64 User : medicalkn ( 9986) PHP Version : 8.2.33 Disable Function : syslog MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /proc/self/root/proc/self/root/proc/thread-self/root/usr/pgsql-17/include/server/storage/ |
Upload File : |
/*------------------------------------------------------------------------- * * buffile.h * Management of large buffered temporary files. * * The BufFile routines provide a partial replacement for stdio atop * virtual file descriptors managed by fd.c. Currently they only support * buffered access to a virtual file, without any of stdio's formatting * features. That's enough for immediate needs, but the set of facilities * could be expanded if necessary. * * BufFile also supports working with temporary files that exceed the OS * file size limit and/or the largest offset representable in an int. * It might be better to split that out as a separately accessible module, * but currently we have no need for oversize temp files without buffered * access. * * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/storage/buffile.h * *------------------------------------------------------------------------- */ #ifndef BUFFILE_H #define BUFFILE_H #include "storage/fileset.h" /* BufFile is an opaque type whose details are not known outside buffile.c. */ typedef struct BufFile BufFile; /* * prototypes for functions in buffile.c */ extern BufFile *BufFileCreateTemp(bool interXact); extern void BufFileClose(BufFile *file); extern pg_nodiscard size_t BufFileRead(BufFile *file, void *ptr, size_t size); extern void BufFileReadExact(BufFile *file, void *ptr, size_t size); extern size_t BufFileReadMaybeEOF(BufFile *file, void *ptr, size_t size, bool eofOK); extern void BufFileWrite(BufFile *file, const void *ptr, size_t size); extern int BufFileSeek(BufFile *file, int fileno, off_t offset, int whence); extern void BufFileTell(BufFile *file, int *fileno, off_t *offset); extern int BufFileSeekBlock(BufFile *file, int64 blknum); extern int64 BufFileSize(BufFile *file); extern int64 BufFileAppend(BufFile *target, BufFile *source); extern BufFile *BufFileCreateFileSet(FileSet *fileset, const char *name); extern void BufFileExportFileSet(BufFile *file); extern BufFile *BufFileOpenFileSet(FileSet *fileset, const char *name, int mode, bool missing_ok); extern void BufFileDeleteFileSet(FileSet *fileset, const char *name, bool missing_ok); extern void BufFileTruncateFileSet(BufFile *file, int fileno, off_t offset); #endif /* BUFFILE_H */