1 | /*------------------------------------------------------------------------- |
---|---|
2 | * |
3 | * datapagemap.h |
4 | * |
5 | * Copyright (c) 2013-2019, 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 |