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