1 /*------------------------------------------------------------------------- 2 * 3 * datapagemap.h 4 * 5 * Copyright (c) 2013-2021, PostgreSQL Global Development Group 6 * 7 *------------------------------------------------------------------------- 8 */ 9 #ifndef DATAPAGEMAP_H 10 #define DATAPAGEMAP_H 11 12 #include "storage/block.h" 13 #include "storage/relfilenode.h" 14 15 struct datapagemap 16 { 17 char *bitmap; 18 int bitmapsize; 19 }; 20 21 typedef struct datapagemap datapagemap_t; 22 typedef struct datapagemap_iterator datapagemap_iterator_t; 23 24 extern void datapagemap_add(datapagemap_t *map, BlockNumber blkno); 25 extern datapagemap_iterator_t *datapagemap_iterate(datapagemap_t *map); 26 extern bool datapagemap_next(datapagemap_iterator_t *iter, BlockNumber *blkno); 27 extern void datapagemap_print(datapagemap_t *map); 28 29 #endif /* DATAPAGEMAP_H */ 30