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-2019, 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
26extern void mask_page_lsn_and_checksum(Page page);
27extern void mask_page_hint_bits(Page page);
28extern void mask_unused_space(Page page);
29extern void mask_lp_flags(Page page);
30extern void mask_page_content(Page page);
31
32#endif
33