Unmark gen_random_uuid() function leakproof.
[pgsql.git] / src / include / storage / md.h
blobb72293c79a5ffe623ce84172df97a586beac0645
1 /*-------------------------------------------------------------------------
3 * md.h
4 * magnetic disk storage manager public interface declarations.
7 * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group
8 * Portions Copyright (c) 1994, Regents of the University of California
10 * src/include/storage/md.h
12 *-------------------------------------------------------------------------
14 #ifndef MD_H
15 #define MD_H
17 #include "storage/block.h"
18 #include "storage/relfilelocator.h"
19 #include "storage/smgr.h"
20 #include "storage/sync.h"
22 /* md storage manager functionality */
23 extern void mdinit(void);
24 extern void mdopen(SMgrRelation reln);
25 extern void mdclose(SMgrRelation reln, ForkNumber forknum);
26 extern void mdcreate(SMgrRelation reln, ForkNumber forknum, bool isRedo);
27 extern bool mdexists(SMgrRelation reln, ForkNumber forknum);
28 extern void mdunlink(RelFileLocatorBackend rlocator, ForkNumber forknum, bool isRedo);
29 extern void mdextend(SMgrRelation reln, ForkNumber forknum,
30 BlockNumber blocknum, const void *buffer, bool skipFsync);
31 extern void mdzeroextend(SMgrRelation reln, ForkNumber forknum,
32 BlockNumber blocknum, int nblocks, bool skipFsync);
33 extern bool mdprefetch(SMgrRelation reln, ForkNumber forknum,
34 BlockNumber blocknum, int nblocks);
35 extern uint32 mdmaxcombine(SMgrRelation reln, ForkNumber forknum,
36 BlockNumber blocknum);
37 extern void mdreadv(SMgrRelation reln, ForkNumber forknum, BlockNumber blocknum,
38 void **buffers, BlockNumber nblocks);
39 extern void mdwritev(SMgrRelation reln, ForkNumber forknum,
40 BlockNumber blocknum,
41 const void **buffers, BlockNumber nblocks, bool skipFsync);
42 extern void mdwriteback(SMgrRelation reln, ForkNumber forknum,
43 BlockNumber blocknum, BlockNumber nblocks);
44 extern BlockNumber mdnblocks(SMgrRelation reln, ForkNumber forknum);
45 extern void mdtruncate(SMgrRelation reln, ForkNumber forknum,
46 BlockNumber nblocks);
47 extern void mdimmedsync(SMgrRelation reln, ForkNumber forknum);
48 extern void mdregistersync(SMgrRelation reln, ForkNumber forknum);
50 extern void ForgetDatabaseSyncRequests(Oid dbid);
51 extern void DropRelationFiles(RelFileLocator *delrels, int ndelrels, bool isRedo);
53 /* md sync callbacks */
54 extern int mdsyncfiletag(const FileTag *ftag, char *path);
55 extern int mdunlinkfiletag(const FileTag *ftag, char *path);
56 extern bool mdfiletagmatches(const FileTag *ftag, const FileTag *candidate);
58 #endif /* MD_H */