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