1 /*-------------------------------------------------------------------------
2  *
3  * bufmask.h
4  *	  Definitions for buffer masking routines, used to mask certain bits
5  *	  in a page which can be different when the WAL is generated
6  *	  and when the WAL is applied. This is really the job of each
7  *	  individual rmgr, but we make things easier by providing some
8  *	  common routines to handle cases which occur in multiple rmgrs.
9  *
10  * Portions Copyright (c) 2016-2018, PostgreSQL Global Development Group
11  *
12  * src/include/access/bufmask.h
13  *
14  *-------------------------------------------------------------------------
15  */
16 
17 #ifndef BUFMASK_H
18 #define BUFMASK_H
19 
20 #include "storage/block.h"
21 #include "storage/bufmgr.h"
22 
23 /* Marker used to mask pages consistently */
24 #define MASK_MARKER		0
25 
26 extern void mask_page_lsn_and_checksum(Page page);
27 extern void mask_page_hint_bits(Page page);
28 extern void mask_unused_space(Page page);
29 extern void mask_lp_flags(Page page);
30 extern void mask_page_content(Page page);
31 
32 #endif
33