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