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