55 #define SizeOfXLogRecord (offsetof(XLogRecord, xl_crc) + sizeof(pg_crc32c))
62 #define XLR_INFO_MASK 0x0F
63 #define XLR_RMGR_INFO_MASK 0xF0
71 #define XLR_SPECIAL_REL_UPDATE 0x01
80 #define XLR_CHECK_CONSISTENCY 0x02
104 #define SizeOfXLogRecordBlockHeader (offsetof(XLogRecordBlockHeader, data_length) + sizeof(uint16))
142 #define SizeOfXLogRecordBlockImageHeader \
143 (offsetof(XLogRecordBlockImageHeader, bimg_info) + sizeof(uint8))
146 #define BKPIMAGE_HAS_HOLE 0x01
147 #define BKPIMAGE_APPLY 0x02
150 #define BKPIMAGE_COMPRESS_PGLZ 0x04
151 #define BKPIMAGE_COMPRESS_LZ4 0x08
152 #define BKPIMAGE_COMPRESS_ZSTD 0x10
154 #define BKPIMAGE_COMPRESSED(info) \
155 ((info & (BKPIMAGE_COMPRESS_PGLZ | BKPIMAGE_COMPRESS_LZ4 | \
156 BKPIMAGE_COMPRESS_ZSTD)) != 0)
167 #define SizeOfXLogRecordBlockCompressHeader \
168 sizeof(XLogRecordBlockCompressHeader)
174 #define MaxSizeOfXLogRecordBlockHeader \
175 (SizeOfXLogRecordBlockHeader + \
176 SizeOfXLogRecordBlockImageHeader + \
177 SizeOfXLogRecordBlockCompressHeader + \
178 sizeof(RelFileLocator) + \
185 #define BKPBLOCK_FORK_MASK 0x0F
186 #define BKPBLOCK_FLAG_MASK 0xF0
187 #define BKPBLOCK_HAS_IMAGE 0x10
188 #define BKPBLOCK_HAS_DATA 0x20
189 #define BKPBLOCK_WILL_INIT 0x40
190 #define BKPBLOCK_SAME_REL 0x80
208 #define SizeOfXLogRecordDataHeaderShort (sizeof(uint8) * 2)
216 #define SizeOfXLogRecordDataHeaderLong (sizeof(uint8) + sizeof(uint32))
230 #define XLR_MAX_BLOCK_ID 32
232 #define XLR_BLOCK_ID_DATA_SHORT 255
233 #define XLR_BLOCK_ID_DATA_LONG 254
234 #define XLR_BLOCK_ID_ORIGIN 253
235 #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