HDF5  1.12.0
H5PBpkg.h
Go to the documentation of this file.
1 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
2  * Copyright by The HDF Group. *
3  * Copyright by the Board of Trustees of the University of Illinois. *
4  * All rights reserved. *
5  * *
6  * This file is part of HDF5. The full HDF5 copyright notice, including *
7  * terms governing use, modification, and redistribution, is contained in *
8  * the COPYING file, which can be found at the root of the source code *
9  * distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases. *
10  * If you do not have access to either file, you may request a copy from *
11  * help@hdfgroup.org. *
12  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
13 
14 #if !(defined H5PB_FRIEND || defined H5PB_MODULE)
15 #error "Do not include this file outside the H5PB package!"
16 #endif
17 
18 #ifndef _H5PBpkg_H
19 #define _H5PBpkg_H
20 
21 /* Get package's private header */
22 #include "H5PBprivate.h"
23 
24 /* Other private headers needed by this file */
25 
26 /**************************/
27 /* Package Private Macros */
28 /**************************/
29 
30 
31 /****************************/
32 /* Package Private Typedefs */
33 /****************************/
34 
35 typedef struct H5PB_entry_t {
36  void *page_buf_ptr; /* Pointer to the buffer containing the data */
37  haddr_t addr; /* Address of the page in the file */
38  H5F_mem_page_t type; /* Type of the page entry (H5F_MEM_PAGE_RAW/META) */
39  hbool_t is_dirty; /* Flag indicating whether the page has dirty data or not */
40 
41  /* Fields supporting replacement policies */
42  struct H5PB_entry_t *next; /* next pointer in the LRU list */
43  struct H5PB_entry_t *prev; /* previous pointer in the LRU list */
45 
46 
47 /*****************************/
48 /* Package Private Variables */
49 /*****************************/
50 
51 
52 /******************************/
53 /* Package Private Prototypes */
54 /******************************/
55 
56 
57 #endif /* _H5PBpkg_H */
58 
H5PB_entry_t::page_buf_ptr
void * page_buf_ptr
Definition: H5PBpkg.h:36
H5PB_entry_t::prev
struct H5PB_entry_t * prev
Definition: H5PBpkg.h:43
haddr_t
CATCH haddr_t
Definition: H5EAdblock.c:162
H5PB_entry_t
Definition: H5PBpkg.h:35
H5PBprivate.h
H5PB_entry_t
struct H5PB_entry_t H5PB_entry_t
H5F_mem_page_t
H5F_mem_page_t
Definition: H5Fprivate.h:689
H5PB_entry_t::is_dirty
hbool_t is_dirty
Definition: H5PBpkg.h:39
H5PB_entry_t::type
H5F_mem_page_t type
Definition: H5PBpkg.h:38
H5PB_entry_t::next
struct H5PB_entry_t * next
Definition: H5PBpkg.h:42
hbool_t
bool hbool_t
Definition: H5public.h:159
H5PB_entry_t::addr
haddr_t addr
Definition: H5PBpkg.h:37