1 module hdf5.H5ACpublic;
2 
3 import core.stdc.config;
4 
5 import hdf5.H5public;
6 
7 extern (C):
8 
9 //alias H5AC_cache_config_t H5AC_cache_config_t;
10 
11 struct H5AC_cache_config_t
12 {
13     int version_;
14     hbool_t rpt_fcn_enabled;
15     hbool_t open_trace_file;
16     hbool_t close_trace_file;
17     char[1025] trace_file_name;
18     hbool_t evictions_enabled;
19     hbool_t set_initial_size;
20     size_t initial_size;
21     double min_clean_fraction;
22     size_t max_size;
23     size_t min_size;
24     c_long epoch_length;
25     enum H5C_cache_incr_mode
26     {
27         H5C_incr__off = 0,
28         H5C_incr__threshold = 1
29     }
30     H5C_cache_incr_mode incr_mode;
31     double lower_hr_threshold;
32     double increment;
33     hbool_t apply_max_increment;
34     size_t max_increment;
35     enum H5C_cache_flash_incr_mode
36     {
37         H5C_flash_incr__off = 0,
38         H5C_flash_incr__add_space = 1
39     }
40     H5C_cache_flash_incr_mode flash_incr_mode;
41     double flash_multiple;
42     double flash_threshold;
43     enum H5C_cache_decr_mode
44     {
45         H5C_decr__off = 0,
46         H5C_decr__threshold = 1,
47         H5C_decr__age_out = 2,
48         H5C_decr__age_out_with_threshold = 3
49     }
50     H5C_cache_decr_mode decr_mode;
51     double upper_hr_threshold;
52     double decrement;
53     hbool_t apply_max_decrement;
54     size_t max_decrement;
55     int epochs_before_eviction;
56     hbool_t apply_empty_reserve;
57     double empty_reserve;
58     size_t dirty_bytes_threshold;
59     int metadata_write_strategy;
60 }