55 #define SizeOfXLogRecord (offsetof(XLogRecord, xl_crc) + sizeof(pg_crc32c))
62 #define XLR_INFO_MASK 0x0F
63 #define XLR_RMGR_INFO_MASK 0xF0
74 #define XLogRecordMaxSize (1020 * 1024 * 1024)
82 #define XLR_SPECIAL_REL_UPDATE 0x01
91 #define XLR_CHECK_CONSISTENCY 0x02
115 #define SizeOfXLogRecordBlockHeader (offsetof(XLogRecordBlockHeader, data_length) + sizeof(uint16))
153 #define SizeOfXLogRecordBlockImageHeader \
154 (offsetof(XLogRecordBlockImageHeader, bimg_info) + sizeof(uint8))
157 #define BKPIMAGE_HAS_HOLE 0x01
158 #define BKPIMAGE_APPLY 0x02
161 #define BKPIMAGE_COMPRESS_PGLZ 0x04
162 #define BKPIMAGE_COMPRESS_LZ4 0x08
163 #define BKPIMAGE_COMPRESS_ZSTD 0x10
165 #define BKPIMAGE_COMPRESSED(info) \
166 ((info & (BKPIMAGE_COMPRESS_PGLZ | BKPIMAGE_COMPRESS_LZ4 | \
167 BKPIMAGE_COMPRESS_ZSTD)) != 0)
178 #define SizeOfXLogRecordBlockCompressHeader \
179 sizeof(XLogRecordBlockCompressHeader)
185 #define MaxSizeOfXLogRecordBlockHeader \
186 (SizeOfXLogRecordBlockHeader + \
187 SizeOfXLogRecordBlockImageHeader + \
188 SizeOfXLogRecordBlockCompressHeader + \
189 sizeof(RelFileLocator) + \
196 #define BKPBLOCK_FORK_MASK 0x0F
197 #define BKPBLOCK_FLAG_MASK 0xF0
198 #define BKPBLOCK_HAS_IMAGE 0x10
199 #define BKPBLOCK_HAS_DATA 0x20
200 #define BKPBLOCK_WILL_INIT 0x40
201 #define BKPBLOCK_SAME_REL 0x80
219 #define SizeOfXLogRecordDataHeaderShort (sizeof(uint8) * 2)
227 #define SizeOfXLogRecordDataHeaderLong (sizeof(uint8) + sizeof(uint32))
241 #define XLR_MAX_BLOCK_ID 32
243 #define XLR_BLOCK_ID_DATA_SHORT 255
244 #define XLR_BLOCK_ID_DATA_LONG 254
245 #define XLR_BLOCK_ID_ORIGIN 253
246 #define XLR_BLOCK_ID_TOPLEVEL_XID 252
struct XLogRecordBlockImageHeader XLogRecordBlockImageHeader
struct XLogRecordBlockCompressHeader XLogRecordBlockCompressHeader
struct XLogRecordDataHeaderShort XLogRecordDataHeaderShort
struct XLogRecordBlockHeader XLogRecordBlockHeader
struct XLogRecord XLogRecord
struct XLogRecordDataHeaderLong XLogRecordDataHeaderLong