HDF5  1.12.0
Data Structures | Macros | Typedefs | Enumerations | Functions
H5Cprivate.h File Reference
#include "H5Cpublic.h"
#include "H5private.h"
#include "H5Fprivate.h"

Go to the source code of this file.

Data Structures

struct  H5C_class_t
 
struct  H5C_cache_entry_t
 
struct  H5C_image_entry_t
 
struct  H5C_auto_size_ctl_t
 
struct  H5C_cache_image_ctl_t
 

Macros

#define H5C__MAX_NUM_TYPE_IDS   30
 
#define H5C__PREFIX_LEN   32
 
#define H5C_MAX_ENTRY_SIZE   ((size_t)(32 * 1024 * 1024))
 
#define H5C_MAINTAIN_CLEAN_AND_DIRTY_LRU_LISTS   0
 
#define H5C__CLASS_NO_FLAGS_SET   ((unsigned)0x0)
 
#define H5C__CLASS_SPECULATIVE_LOAD_FLAG   ((unsigned)0x1)
 
#define H5C__CLASS_SKIP_READS   ((unsigned)0x2)
 
#define H5C__CLASS_SKIP_WRITES   ((unsigned)0x4)
 
#define H5C__SERIALIZE_NO_FLAGS_SET   ((unsigned)0)
 
#define H5C__SERIALIZE_RESIZED_FLAG   ((unsigned)0x1)
 
#define H5C__SERIALIZE_MOVED_FLAG   ((unsigned)0x2)
 
#define H5C__MAX_MAX_CACHE_SIZE   ((size_t)(128 * 1024 * 1024))
 
#define H5C__MIN_MAX_CACHE_SIZE   ((size_t)(1024))
 
#define H5C__DEFAULT_MAX_CACHE_SIZE   ((size_t)(4 * 1024 * 1024))
 
#define H5C__DEFAULT_MIN_CLEAN_SIZE   ((size_t)(2 * 1024 * 1024))
 
#define H5C__H5C_CACHE_ENTRY_T_MAGIC   0x005CAC0A
 
#define H5C__H5C_CACHE_ENTRY_T_BAD_MAGIC   0xDeadBeef
 
#define H5C_RESIZE_CFG__VALIDATE_GENERAL   0x1
 
#define H5C_RESIZE_CFG__VALIDATE_INCREMENT   0x2
 
#define H5C_RESIZE_CFG__VALIDATE_DECREMENT   0x4
 
#define H5C_RESIZE_CFG__VALIDATE_INTERACTIONS   0x8
 
#define H5C_RESIZE_CFG__VALIDATE_ALL
 
#define H5C__CURR_AUTO_SIZE_CTL_VER   1
 
#define H5C__CURR_AUTO_RESIZE_RPT_FCN_VER   1
 
#define H5C__CURR_CACHE_IMAGE_CTL_VER   1
 
#define H5C__DEF_AR_UPPER_THRESHHOLD   0.9999f
 
#define H5C__DEF_AR_LOWER_THRESHHOLD   0.9f
 
#define H5C__DEF_AR_MAX_SIZE   ((size_t)(16 * 1024 * 1024))
 
#define H5C__DEF_AR_INIT_SIZE   ((size_t)( 1 * 1024 * 1024))
 
#define H5C__DEF_AR_MIN_SIZE   ((size_t)( 1 * 1024 * 1024))
 
#define H5C__DEF_AR_MIN_CLEAN_FRAC   0.5f
 
#define H5C__DEF_AR_INCREMENT   2.0f
 
#define H5C__DEF_AR_MAX_INCREMENT   ((size_t)( 2 * 1024 * 1024))
 
#define H5C__DEF_AR_FLASH_MULTIPLE   1.0f
 
#define H5C__DEV_AR_FLASH_THRESHOLD   0.25f
 
#define H5C__DEF_AR_DECREMENT   0.9f
 
#define H5C__DEF_AR_MAX_DECREMENT   ((size_t)( 1 * 1024 * 1024))
 
#define H5C__DEF_AR_EPCHS_B4_EVICT   3
 
#define H5C__DEF_AR_EMPTY_RESERVE   0.05f
 
#define H5C__MIN_AR_EPOCH_LENGTH   100
 
#define H5C__DEF_AR_EPOCH_LENGTH   50000
 
#define H5C__MAX_AR_EPOCH_LENGTH   1000000
 
#define H5C__NO_FLAGS_SET   0x00000
 
#define H5C__SET_FLUSH_MARKER_FLAG   0x00001
 
#define H5C__DELETED_FLAG   0x00002
 
#define H5C__DIRTIED_FLAG   0x00004
 
#define H5C__PIN_ENTRY_FLAG   0x00008
 
#define H5C__UNPIN_ENTRY_FLAG   0x00010
 
#define H5C__FLUSH_INVALIDATE_FLAG   0x00020
 
#define H5C__FLUSH_CLEAR_ONLY_FLAG   0x00040
 
#define H5C__FLUSH_MARKED_ENTRIES_FLAG   0x00080
 
#define H5C__FLUSH_IGNORE_PROTECTED_FLAG   0x00100
 
#define H5C__READ_ONLY_FLAG   0x00200
 
#define H5C__FREE_FILE_SPACE_FLAG   0x00400
 
#define H5C__TAKE_OWNERSHIP_FLAG   0x00800
 
#define H5C__FLUSH_LAST_FLAG   0x01000
 
#define H5C__FLUSH_COLLECTIVELY_FLAG   0x02000
 
#define H5C__EVICT_ALLOW_LAST_PINS_FLAG   0x04000
 
#define H5C__DEL_FROM_SLIST_ON_DESTROY_FLAG   0x08000
 
#define H5C__DURING_FLUSH_FLAG   0x10000 /* Set when the entire cache is being flushed */
 
#define H5C__GENERATE_IMAGE_FLAG   0x20000 /* Set during parallel I/O */
 
#define H5C__UPDATE_PAGE_BUFFER_FLAG   0x40000 /* Set during parallel I/O */
 
#define H5C_DO_SANITY_CHECKS   1
 
#define H5C_DO_SLIST_SANITY_CHECKS   0
 
#define H5C_DO_TAGGING_SANITY_CHECKS   1
 
#define H5C_DO_EXTREME_SANITY_CHECKS   0
 
#define H5C__SET_CORK   0x1
 
#define H5C__UNCORK   0x2
 
#define H5C__GET_CORKED   0x4
 
#define H5C_DO_MEMORY_SANITY_CHECKS   0
 
#define H5C_COLLECT_CACHE_STATS   1
 
#define H5C_COLLECT_CACHE_ENTRY_STATS   1
 
#define H5C_RING_UNDEFINED   0 /* shouldn't appear in the cache */
 
#define H5C_RING_USER   1 /* outermost ring */
 
#define H5C_RING_RDFSM   2
 
#define H5C_RING_MDFSM   3
 
#define H5C_RING_SBE   4
 
#define H5C_RING_SB   5 /* innermost ring */
 
#define H5C_RING_NTYPES   6
 
#define H5C_CI__GEN_MDCI_SBE_MESG   ((unsigned)0x0001)
 
#define H5C_CI__GEN_MDC_IMAGE_BLK   ((unsigned)0x0002)
 
#define H5C_CI__SUPRESS_ENTRY_WRITES   ((unsigned)0x0004)
 
#define H5C_CI__WRITE_CACHE_IMAGE   ((unsigned)0x0008)
 
#define H5C_CI__ALL_FLAGS   ((unsigned)0x000F)
 
#define H5C__DEFAULT_CACHE_IMAGE_CTL
 

Typedefs

typedef struct H5C_t H5C_t
 
typedef enum H5C_notify_action_t H5C_notify_action_t
 
typedef herr_t(* H5C_get_initial_load_size_func_t) (void *udata_ptr, size_t *image_len_ptr)
 
typedef herr_t(* H5C_get_final_load_size_func_t) (const void *image_ptr, size_t image_len, void *udata_ptr, size_t *actual_len_ptr)
 
typedef htri_t(* H5C_verify_chksum_func_t) (const void *image_ptr, size_t len, void *udata_ptr)
 
typedef void *(* H5C_deserialize_func_t) (const void *image_ptr, size_t len, void *udata_ptr, hbool_t *dirty_ptr)
 
typedef herr_t(* H5C_image_len_func_t) (const void *thing, size_t *image_len_ptr)
 
typedef herr_t(* H5C_pre_serialize_func_t) (H5F_t *f, void *thing, haddr_t addr, size_t len, haddr_t *new_addr_ptr, size_t *new_len_ptr, unsigned *flags_ptr)
 
typedef herr_t(* H5C_serialize_func_t) (const H5F_t *f, void *image_ptr, size_t len, void *thing)
 
typedef herr_t(* H5C_notify_func_t) (H5C_notify_action_t action, void *thing)
 
typedef herr_t(* H5C_free_icr_func_t) (void *thing)
 
typedef herr_t(* H5C_get_fsf_size_t) (const void *thing, hsize_t *fsf_size_ptr)
 
typedef struct H5C_class_t H5C_class_t
 
typedef herr_t(* H5C_write_permitted_func_t) (const H5F_t *f, hbool_t *write_permitted_ptr)
 
typedef herr_t(* H5C_log_flush_func_t) (H5C_t *cache_ptr, haddr_t addr, hbool_t was_dirty, unsigned flags)
 
typedef int H5C_ring_t
 
typedef struct H5C_cache_entry_t H5C_cache_entry_t
 
typedef struct H5C_image_entry_t H5C_image_entry_t
 
typedef void(* H5C_auto_resize_rpt_fcn) (H5C_t *cache_ptr, int32_t version, double hit_rate, enum H5C_resize_status status, size_t old_max_cache_size, size_t new_max_cache_size, size_t old_min_clean_size, size_t new_min_clean_size)
 
typedef struct H5C_auto_size_ctl_t H5C_auto_size_ctl_t
 
typedef struct H5C_cache_image_ctl_t H5C_cache_image_ctl_t
 
typedef enum H5C_log_style_t H5C_log_style_t
 

Enumerations

enum  H5C_notify_action_t {
  H5C_NOTIFY_ACTION_AFTER_INSERT, H5C_NOTIFY_ACTION_AFTER_LOAD, H5C_NOTIFY_ACTION_AFTER_FLUSH, H5C_NOTIFY_ACTION_BEFORE_EVICT,
  H5C_NOTIFY_ACTION_ENTRY_DIRTIED, H5C_NOTIFY_ACTION_ENTRY_CLEANED, H5C_NOTIFY_ACTION_CHILD_DIRTIED, H5C_NOTIFY_ACTION_CHILD_CLEANED,
  H5C_NOTIFY_ACTION_CHILD_UNSERIALIZED, H5C_NOTIFY_ACTION_CHILD_SERIALIZED
}
 
enum  H5C_resize_status {
  in_spec, increase, flash_increase, decrease,
  at_max_size, at_min_size, increase_disabled, decrease_disabled,
  not_full
}
 
enum  H5C_log_style_t { H5C_LOG_STYLE_JSON, H5C_LOG_STYLE_TRACE }
 

Functions

H5_DLL H5C_tH5C_create (size_t max_cache_size, size_t min_clean_size, int max_type_id, const H5C_class_t *const *class_table_ptr, H5C_write_permitted_func_t check_write_permitted, hbool_t write_permitted, H5C_log_flush_func_t log_flush, void *aux_ptr)
 
H5_DLL void H5C_def_auto_resize_rpt_fcn (H5C_t *cache_ptr, int32_t version, double hit_rate, enum H5C_resize_status status, size_t old_max_cache_size, size_t new_max_cache_size, size_t old_min_clean_size, size_t new_min_clean_size)
 
H5_DLL herr_t H5C_dest (H5F_t *f)
 
H5_DLL herr_t H5C_evict (H5F_t *f)
 
H5_DLL herr_t H5C_expunge_entry (H5F_t *f, const H5C_class_t *type, haddr_t addr, unsigned flags)
 
H5_DLL herr_t H5C_flush_cache (H5F_t *f, unsigned flags)
 
H5_DLL herr_t H5C_flush_tagged_entries (H5F_t *f, haddr_t tag)
 
H5_DLL herr_t H5C_force_cache_image_load (H5F_t *f)
 
H5_DLL herr_t H5C_evict_tagged_entries (H5F_t *f, haddr_t tag, hbool_t match_global)
 
H5_DLL herr_t H5C_expunge_tag_type_metadata (H5F_t *f, haddr_t tag, int type_id, unsigned flags)
 
H5_DLL herr_t H5C_get_tag (const void *thing, haddr_t *tag)
 
herr_t H5C_verify_tag (int id, haddr_t tag)
 
H5_DLL herr_t H5C_flush_to_min_clean (H5F_t *f)
 
H5_DLL herr_t H5C_get_cache_auto_resize_config (const H5C_t *cache_ptr, H5C_auto_size_ctl_t *config_ptr)
 
H5_DLL herr_t H5C_get_cache_image_config (const H5C_t *cache_ptr, H5C_cache_image_ctl_t *config_ptr)
 
H5_DLL herr_t H5C_get_cache_size (H5C_t *cache_ptr, size_t *max_size_ptr, size_t *min_clean_size_ptr, size_t *cur_size_ptr, uint32_t *cur_num_entries_ptr)
 
H5_DLL herr_t H5C_get_cache_flush_in_progress (H5C_t *cache_ptr, hbool_t *flush_in_progress_ptr)
 
H5_DLL herr_t H5C_get_cache_hit_rate (H5C_t *cache_ptr, double *hit_rate_ptr)
 
H5_DLL herr_t H5C_get_entry_status (const H5F_t *f, haddr_t addr, size_t *size_ptr, hbool_t *in_cache_ptr, hbool_t *is_dirty_ptr, hbool_t *is_protected_ptr, hbool_t *is_pinned_ptr, hbool_t *is_corked_ptr, hbool_t *is_flush_dep_parent_ptr, hbool_t *is_flush_dep_child_ptr, hbool_t *image_up_to_date_ptr)
 
H5_DLL herr_t H5C_get_evictions_enabled (const H5C_t *cache_ptr, hbool_t *evictions_enabled_ptr)
 
H5_DLL void * H5C_get_aux_ptr (const H5C_t *cache_ptr)
 
H5_DLL herr_t H5C_image_stats (H5C_t *cache_ptr, hbool_t print_header)
 
H5_DLL herr_t H5C_insert_entry (H5F_t *f, const H5C_class_t *type, haddr_t addr, void *thing, unsigned int flags)
 
H5_DLL herr_t H5C_load_cache_image_on_next_protect (H5F_t *f, haddr_t addr, hsize_t len, hbool_t rw)
 
H5_DLL herr_t H5C_mark_entry_dirty (void *thing)
 
H5_DLL herr_t H5C_mark_entry_clean (void *thing)
 
H5_DLL herr_t H5C_mark_entry_unserialized (void *thing)
 
H5_DLL herr_t H5C_mark_entry_serialized (void *thing)
 
H5_DLL herr_t H5C_move_entry (H5C_t *cache_ptr, const H5C_class_t *type, haddr_t old_addr, haddr_t new_addr)
 
H5_DLL herr_t H5C_pin_protected_entry (void *thing)
 
H5_DLL herr_t H5C_prep_for_file_close (H5F_t *f)
 
H5_DLL herr_t H5C_create_flush_dependency (void *parent_thing, void *child_thing)
 
H5_DLL void * H5C_protect (H5F_t *f, const H5C_class_t *type, haddr_t addr, void *udata, unsigned flags)
 
H5_DLL herr_t H5C_reset_cache_hit_rate_stats (H5C_t *cache_ptr)
 
H5_DLL herr_t H5C_resize_entry (void *thing, size_t new_size)
 
H5_DLL herr_t H5C_set_cache_auto_resize_config (H5C_t *cache_ptr, H5C_auto_size_ctl_t *config_ptr)
 
H5_DLL herr_t H5C_set_cache_image_config (const H5F_t *f, H5C_t *cache_ptr, H5C_cache_image_ctl_t *config_ptr)
 
H5_DLL herr_t H5C_set_evictions_enabled (H5C_t *cache_ptr, hbool_t evictions_enabled)
 
H5_DLL herr_t H5C_set_prefix (H5C_t *cache_ptr, char *prefix)
 
H5_DLL herr_t H5C_stats (H5C_t *cache_ptr, const char *cache_name, hbool_t display_detailed_stats)
 
H5_DLL void H5C_stats__reset (H5C_t *cache_ptr)
 
H5_DLL herr_t H5C_unpin_entry (void *thing)
 
H5_DLL herr_t H5C_destroy_flush_dependency (void *parent_thing, void *child_thing)
 
H5_DLL herr_t H5C_unprotect (H5F_t *f, haddr_t addr, void *thing, unsigned int flags)
 
H5_DLL herr_t H5C_validate_cache_image_config (H5C_cache_image_ctl_t *ctl_ptr)
 
H5_DLL herr_t H5C_validate_resize_config (H5C_auto_size_ctl_t *config_ptr, unsigned int tests)
 
H5_DLL herr_t H5C_ignore_tags (H5C_t *cache_ptr)
 
H5_DLL hbool_t H5C_get_ignore_tags (const H5C_t *cache_ptr)
 
H5_DLL uint32_t H5C_get_num_objs_corked (const H5C_t *cache_ptr)
 
H5_DLL herr_t H5C_retag_entries (H5C_t *cache_ptr, haddr_t src_tag, haddr_t dest_tag)
 
H5_DLL herr_t H5C_cork (H5C_t *cache_ptr, haddr_t obj_addr, unsigned action, hbool_t *corked)
 
H5_DLL herr_t H5C_get_entry_ring (const H5F_t *f, haddr_t addr, H5C_ring_t *ring)
 
H5_DLL herr_t H5C_unsettle_entry_ring (void *thing)
 
H5_DLL herr_t H5C_unsettle_ring (H5F_t *f, H5C_ring_t ring)
 
H5_DLL herr_t H5C_remove_entry (void *thing)
 
H5_DLL herr_t H5C_cache_image_status (H5F_t *f, hbool_t *load_ci_ptr, hbool_t *write_ci_ptr)
 
H5_DLL hbool_t H5C_cache_image_pending (const H5C_t *cache_ptr)
 
H5_DLL herr_t H5C_get_mdc_image_info (H5C_t *cache_ptr, haddr_t *image_addr, hsize_t *image_len)
 
H5_DLL herr_t H5C_start_logging (H5C_t *cache)
 
H5_DLL herr_t H5C_stop_logging (H5C_t *cache)
 
H5_DLL herr_t H5C_get_logging_status (const H5C_t *cache, hbool_t *is_enabled, hbool_t *is_currently_logging)
 
H5_DLL herr_t H5C_dump_cache (H5C_t *cache_ptr, const char *cache_name)
 
H5_DLL herr_t H5C_dump_cache_LRU (H5C_t *cache_ptr, const char *cache_name)
 
H5_DLL hbool_t H5C_get_serialization_in_progress (const H5C_t *cache_ptr)
 
H5_DLL hbool_t H5C_cache_is_clean (const H5C_t *cache_ptr, H5C_ring_t inner_ring)
 
H5_DLL herr_t H5C_dump_cache_skip_list (H5C_t *cache_ptr, char *calling_fcn)
 
H5_DLL herr_t H5C_get_entry_ptr_from_addr (H5C_t *cache_ptr, haddr_t addr, void **entry_ptr_ptr)
 
H5_DLL herr_t H5C_flush_dependency_exists (H5C_t *cache_ptr, haddr_t parent_addr, haddr_t child_addr, hbool_t *fd_exists_ptr)
 
H5_DLL herr_t H5C_verify_entry_type (H5C_t *cache_ptr, haddr_t addr, const H5C_class_t *expected_type, hbool_t *in_cache_ptr, hbool_t *type_ok_ptr)
 
H5_DLL herr_t H5C_validate_index_list (H5C_t *cache_ptr)
 

Macro Definition Documentation

◆ H5C__CLASS_NO_FLAGS_SET

#define H5C__CLASS_NO_FLAGS_SET   ((unsigned)0x0)

◆ H5C__CLASS_SKIP_READS

#define H5C__CLASS_SKIP_READS   ((unsigned)0x2)

◆ H5C__CLASS_SKIP_WRITES

#define H5C__CLASS_SKIP_WRITES   ((unsigned)0x4)

◆ H5C__CLASS_SPECULATIVE_LOAD_FLAG

#define H5C__CLASS_SPECULATIVE_LOAD_FLAG   ((unsigned)0x1)

◆ H5C__CURR_AUTO_RESIZE_RPT_FCN_VER

#define H5C__CURR_AUTO_RESIZE_RPT_FCN_VER   1

◆ H5C__CURR_AUTO_SIZE_CTL_VER

#define H5C__CURR_AUTO_SIZE_CTL_VER   1

◆ H5C__CURR_CACHE_IMAGE_CTL_VER

#define H5C__CURR_CACHE_IMAGE_CTL_VER   1

◆ H5C__DEF_AR_DECREMENT

#define H5C__DEF_AR_DECREMENT   0.9f

◆ H5C__DEF_AR_EMPTY_RESERVE

#define H5C__DEF_AR_EMPTY_RESERVE   0.05f

◆ H5C__DEF_AR_EPCHS_B4_EVICT

#define H5C__DEF_AR_EPCHS_B4_EVICT   3

◆ H5C__DEF_AR_EPOCH_LENGTH

#define H5C__DEF_AR_EPOCH_LENGTH   50000

◆ H5C__DEF_AR_FLASH_MULTIPLE

#define H5C__DEF_AR_FLASH_MULTIPLE   1.0f

◆ H5C__DEF_AR_INCREMENT

#define H5C__DEF_AR_INCREMENT   2.0f

◆ H5C__DEF_AR_INIT_SIZE

#define H5C__DEF_AR_INIT_SIZE   ((size_t)( 1 * 1024 * 1024))

◆ H5C__DEF_AR_LOWER_THRESHHOLD

#define H5C__DEF_AR_LOWER_THRESHHOLD   0.9f

◆ H5C__DEF_AR_MAX_DECREMENT

#define H5C__DEF_AR_MAX_DECREMENT   ((size_t)( 1 * 1024 * 1024))

◆ H5C__DEF_AR_MAX_INCREMENT

#define H5C__DEF_AR_MAX_INCREMENT   ((size_t)( 2 * 1024 * 1024))

◆ H5C__DEF_AR_MAX_SIZE

#define H5C__DEF_AR_MAX_SIZE   ((size_t)(16 * 1024 * 1024))

◆ H5C__DEF_AR_MIN_CLEAN_FRAC

#define H5C__DEF_AR_MIN_CLEAN_FRAC   0.5f

◆ H5C__DEF_AR_MIN_SIZE

#define H5C__DEF_AR_MIN_SIZE   ((size_t)( 1 * 1024 * 1024))

◆ H5C__DEF_AR_UPPER_THRESHHOLD

#define H5C__DEF_AR_UPPER_THRESHHOLD   0.9999f

◆ H5C__DEFAULT_CACHE_IMAGE_CTL

#define H5C__DEFAULT_CACHE_IMAGE_CTL
Value:
{ \
/* version = */ H5C__CURR_CACHE_IMAGE_CTL_VER, \
/* generate_image = */ FALSE, \
/* save_resize_status = */ FALSE, \
/* entry_ageout = */ H5AC__CACHE_IMAGE__ENTRY_AGEOUT__NONE, \
/* flags = */ H5C_CI__ALL_FLAGS \
}

◆ H5C__DEFAULT_MAX_CACHE_SIZE

#define H5C__DEFAULT_MAX_CACHE_SIZE   ((size_t)(4 * 1024 * 1024))

◆ H5C__DEFAULT_MIN_CLEAN_SIZE

#define H5C__DEFAULT_MIN_CLEAN_SIZE   ((size_t)(2 * 1024 * 1024))

◆ H5C__DEL_FROM_SLIST_ON_DESTROY_FLAG

#define H5C__DEL_FROM_SLIST_ON_DESTROY_FLAG   0x08000

◆ H5C__DELETED_FLAG

#define H5C__DELETED_FLAG   0x00002

◆ H5C__DEV_AR_FLASH_THRESHOLD

#define H5C__DEV_AR_FLASH_THRESHOLD   0.25f

◆ H5C__DIRTIED_FLAG

#define H5C__DIRTIED_FLAG   0x00004

◆ H5C__DURING_FLUSH_FLAG

#define H5C__DURING_FLUSH_FLAG   0x10000 /* Set when the entire cache is being flushed */

◆ H5C__EVICT_ALLOW_LAST_PINS_FLAG

#define H5C__EVICT_ALLOW_LAST_PINS_FLAG   0x04000

◆ H5C__FLUSH_CLEAR_ONLY_FLAG

#define H5C__FLUSH_CLEAR_ONLY_FLAG   0x00040

◆ H5C__FLUSH_COLLECTIVELY_FLAG

#define H5C__FLUSH_COLLECTIVELY_FLAG   0x02000

◆ H5C__FLUSH_IGNORE_PROTECTED_FLAG

#define H5C__FLUSH_IGNORE_PROTECTED_FLAG   0x00100

◆ H5C__FLUSH_INVALIDATE_FLAG

#define H5C__FLUSH_INVALIDATE_FLAG   0x00020

◆ H5C__FLUSH_LAST_FLAG

#define H5C__FLUSH_LAST_FLAG   0x01000

◆ H5C__FLUSH_MARKED_ENTRIES_FLAG

#define H5C__FLUSH_MARKED_ENTRIES_FLAG   0x00080

◆ H5C__FREE_FILE_SPACE_FLAG

#define H5C__FREE_FILE_SPACE_FLAG   0x00400

◆ H5C__GENERATE_IMAGE_FLAG

#define H5C__GENERATE_IMAGE_FLAG   0x20000 /* Set during parallel I/O */

◆ H5C__GET_CORKED

#define H5C__GET_CORKED   0x4

◆ H5C__H5C_CACHE_ENTRY_T_BAD_MAGIC

#define H5C__H5C_CACHE_ENTRY_T_BAD_MAGIC   0xDeadBeef

◆ H5C__H5C_CACHE_ENTRY_T_MAGIC

#define H5C__H5C_CACHE_ENTRY_T_MAGIC   0x005CAC0A

◆ H5C__MAX_AR_EPOCH_LENGTH

#define H5C__MAX_AR_EPOCH_LENGTH   1000000

◆ H5C__MAX_MAX_CACHE_SIZE

#define H5C__MAX_MAX_CACHE_SIZE   ((size_t)(128 * 1024 * 1024))

◆ H5C__MAX_NUM_TYPE_IDS

#define H5C__MAX_NUM_TYPE_IDS   30

◆ H5C__MIN_AR_EPOCH_LENGTH

#define H5C__MIN_AR_EPOCH_LENGTH   100

◆ H5C__MIN_MAX_CACHE_SIZE

#define H5C__MIN_MAX_CACHE_SIZE   ((size_t)(1024))

◆ H5C__NO_FLAGS_SET

#define H5C__NO_FLAGS_SET   0x00000

◆ H5C__PIN_ENTRY_FLAG

#define H5C__PIN_ENTRY_FLAG   0x00008

◆ H5C__PREFIX_LEN

#define H5C__PREFIX_LEN   32

◆ H5C__READ_ONLY_FLAG

#define H5C__READ_ONLY_FLAG   0x00200

◆ H5C__SERIALIZE_MOVED_FLAG

#define H5C__SERIALIZE_MOVED_FLAG   ((unsigned)0x2)

◆ H5C__SERIALIZE_NO_FLAGS_SET

#define H5C__SERIALIZE_NO_FLAGS_SET   ((unsigned)0)

◆ H5C__SERIALIZE_RESIZED_FLAG

#define H5C__SERIALIZE_RESIZED_FLAG   ((unsigned)0x1)

◆ H5C__SET_CORK

#define H5C__SET_CORK   0x1

◆ H5C__SET_FLUSH_MARKER_FLAG

#define H5C__SET_FLUSH_MARKER_FLAG   0x00001

◆ H5C__TAKE_OWNERSHIP_FLAG

#define H5C__TAKE_OWNERSHIP_FLAG   0x00800

◆ H5C__UNCORK

#define H5C__UNCORK   0x2

◆ H5C__UNPIN_ENTRY_FLAG

#define H5C__UNPIN_ENTRY_FLAG   0x00010

◆ H5C__UPDATE_PAGE_BUFFER_FLAG

#define H5C__UPDATE_PAGE_BUFFER_FLAG   0x40000 /* Set during parallel I/O */

◆ H5C_CI__ALL_FLAGS

#define H5C_CI__ALL_FLAGS   ((unsigned)0x000F)

◆ H5C_CI__GEN_MDC_IMAGE_BLK

#define H5C_CI__GEN_MDC_IMAGE_BLK   ((unsigned)0x0002)

◆ H5C_CI__GEN_MDCI_SBE_MESG

#define H5C_CI__GEN_MDCI_SBE_MESG   ((unsigned)0x0001)

◆ H5C_CI__SUPRESS_ENTRY_WRITES

#define H5C_CI__SUPRESS_ENTRY_WRITES   ((unsigned)0x0004)

◆ H5C_CI__WRITE_CACHE_IMAGE

#define H5C_CI__WRITE_CACHE_IMAGE   ((unsigned)0x0008)

◆ H5C_COLLECT_CACHE_ENTRY_STATS

#define H5C_COLLECT_CACHE_ENTRY_STATS   1

◆ H5C_COLLECT_CACHE_STATS

#define H5C_COLLECT_CACHE_STATS   1

◆ H5C_DO_EXTREME_SANITY_CHECKS

#define H5C_DO_EXTREME_SANITY_CHECKS   0

◆ H5C_DO_MEMORY_SANITY_CHECKS

#define H5C_DO_MEMORY_SANITY_CHECKS   0

◆ H5C_DO_SANITY_CHECKS

#define H5C_DO_SANITY_CHECKS   1

◆ H5C_DO_SLIST_SANITY_CHECKS

#define H5C_DO_SLIST_SANITY_CHECKS   0

◆ H5C_DO_TAGGING_SANITY_CHECKS

#define H5C_DO_TAGGING_SANITY_CHECKS   1

◆ H5C_MAINTAIN_CLEAN_AND_DIRTY_LRU_LISTS

#define H5C_MAINTAIN_CLEAN_AND_DIRTY_LRU_LISTS   0

◆ H5C_MAX_ENTRY_SIZE

#define H5C_MAX_ENTRY_SIZE   ((size_t)(32 * 1024 * 1024))

◆ H5C_RESIZE_CFG__VALIDATE_ALL

#define H5C_RESIZE_CFG__VALIDATE_ALL
Value:
( \
H5C_RESIZE_CFG__VALIDATE_GENERAL | \
H5C_RESIZE_CFG__VALIDATE_INCREMENT | \
H5C_RESIZE_CFG__VALIDATE_DECREMENT | \
H5C_RESIZE_CFG__VALIDATE_INTERACTIONS \
)

◆ H5C_RESIZE_CFG__VALIDATE_DECREMENT

#define H5C_RESIZE_CFG__VALIDATE_DECREMENT   0x4

◆ H5C_RESIZE_CFG__VALIDATE_GENERAL

#define H5C_RESIZE_CFG__VALIDATE_GENERAL   0x1

◆ H5C_RESIZE_CFG__VALIDATE_INCREMENT

#define H5C_RESIZE_CFG__VALIDATE_INCREMENT   0x2

◆ H5C_RESIZE_CFG__VALIDATE_INTERACTIONS

#define H5C_RESIZE_CFG__VALIDATE_INTERACTIONS   0x8

◆ H5C_RING_MDFSM

#define H5C_RING_MDFSM   3

◆ H5C_RING_NTYPES

#define H5C_RING_NTYPES   6

◆ H5C_RING_RDFSM

#define H5C_RING_RDFSM   2

◆ H5C_RING_SB

#define H5C_RING_SB   5 /* innermost ring */

◆ H5C_RING_SBE

#define H5C_RING_SBE   4

◆ H5C_RING_UNDEFINED

#define H5C_RING_UNDEFINED   0 /* shouldn't appear in the cache */

◆ H5C_RING_USER

#define H5C_RING_USER   1 /* outermost ring */

Typedef Documentation

◆ H5C_auto_resize_rpt_fcn

typedef void(* H5C_auto_resize_rpt_fcn) (H5C_t *cache_ptr, int32_t version, double hit_rate, enum H5C_resize_status status, size_t old_max_cache_size, size_t new_max_cache_size, size_t old_min_clean_size, size_t new_min_clean_size)

◆ H5C_auto_size_ctl_t

◆ H5C_cache_entry_t

◆ H5C_cache_image_ctl_t

◆ H5C_class_t

typedef struct H5C_class_t H5C_class_t

◆ H5C_deserialize_func_t

typedef void*(* H5C_deserialize_func_t) (const void *image_ptr, size_t len, void *udata_ptr, hbool_t *dirty_ptr)

◆ H5C_free_icr_func_t

typedef herr_t(* H5C_free_icr_func_t) (void *thing)

◆ H5C_get_final_load_size_func_t

typedef herr_t(* H5C_get_final_load_size_func_t) (const void *image_ptr, size_t image_len, void *udata_ptr, size_t *actual_len_ptr)

◆ H5C_get_fsf_size_t

typedef herr_t(* H5C_get_fsf_size_t) (const void *thing, hsize_t *fsf_size_ptr)

◆ H5C_get_initial_load_size_func_t

typedef herr_t(* H5C_get_initial_load_size_func_t) (void *udata_ptr, size_t *image_len_ptr)

◆ H5C_image_entry_t

◆ H5C_image_len_func_t

typedef herr_t(* H5C_image_len_func_t) (const void *thing, size_t *image_len_ptr)

◆ H5C_log_flush_func_t

typedef herr_t(* H5C_log_flush_func_t) (H5C_t *cache_ptr, haddr_t addr, hbool_t was_dirty, unsigned flags)

◆ H5C_log_style_t

◆ H5C_notify_action_t

◆ H5C_notify_func_t

typedef herr_t(* H5C_notify_func_t) (H5C_notify_action_t action, void *thing)

◆ H5C_pre_serialize_func_t

typedef herr_t(* H5C_pre_serialize_func_t) (H5F_t *f, void *thing, haddr_t addr, size_t len, haddr_t *new_addr_ptr, size_t *new_len_ptr, unsigned *flags_ptr)

◆ H5C_ring_t

typedef int H5C_ring_t

◆ H5C_serialize_func_t

typedef herr_t(* H5C_serialize_func_t) (const H5F_t *f, void *image_ptr, size_t len, void *thing)

◆ H5C_t

typedef struct H5C_t H5C_t

◆ H5C_verify_chksum_func_t

typedef htri_t(* H5C_verify_chksum_func_t) (const void *image_ptr, size_t len, void *udata_ptr)

◆ H5C_write_permitted_func_t

typedef herr_t(* H5C_write_permitted_func_t) (const H5F_t *f, hbool_t *write_permitted_ptr)

Enumeration Type Documentation

◆ H5C_log_style_t

Enumerator
H5C_LOG_STYLE_JSON 
H5C_LOG_STYLE_TRACE 

◆ H5C_notify_action_t

Enumerator
H5C_NOTIFY_ACTION_AFTER_INSERT 
H5C_NOTIFY_ACTION_AFTER_LOAD 
H5C_NOTIFY_ACTION_AFTER_FLUSH 
H5C_NOTIFY_ACTION_BEFORE_EVICT 
H5C_NOTIFY_ACTION_ENTRY_DIRTIED 
H5C_NOTIFY_ACTION_ENTRY_CLEANED 
H5C_NOTIFY_ACTION_CHILD_DIRTIED 
H5C_NOTIFY_ACTION_CHILD_CLEANED 
H5C_NOTIFY_ACTION_CHILD_UNSERIALIZED 
H5C_NOTIFY_ACTION_CHILD_SERIALIZED 

◆ H5C_resize_status

Enumerator
in_spec 
increase 
flash_increase 
decrease 
at_max_size 
at_min_size 
increase_disabled 
decrease_disabled 
not_full 

Function Documentation

◆ H5C_cache_image_pending()

H5_DLL hbool_t H5C_cache_image_pending ( const H5C_t cache_ptr)

◆ H5C_cache_image_status()

H5_DLL herr_t H5C_cache_image_status ( H5F_t f,
hbool_t load_ci_ptr,
hbool_t write_ci_ptr 
)

◆ H5C_cache_is_clean()

H5_DLL hbool_t H5C_cache_is_clean ( const H5C_t cache_ptr,
H5C_ring_t  inner_ring 
)

◆ H5C_cork()

H5_DLL herr_t H5C_cork ( H5C_t cache_ptr,
haddr_t  obj_addr,
unsigned  action,
hbool_t corked 
)

◆ H5C_create()

H5_DLL H5C_t* H5C_create ( size_t  max_cache_size,
size_t  min_clean_size,
int  max_type_id,
const H5C_class_t *const *  class_table_ptr,
H5C_write_permitted_func_t  check_write_permitted,
hbool_t  write_permitted,
H5C_log_flush_func_t  log_flush,
void *  aux_ptr 
)

◆ H5C_create_flush_dependency()

H5_DLL herr_t H5C_create_flush_dependency ( void *  parent_thing,
void *  child_thing 
)

◆ H5C_def_auto_resize_rpt_fcn()

H5_DLL void H5C_def_auto_resize_rpt_fcn ( H5C_t cache_ptr,
int32_t  version,
double  hit_rate,
enum H5C_resize_status  status,
size_t  old_max_cache_size,
size_t  new_max_cache_size,
size_t  old_min_clean_size,
size_t  new_min_clean_size 
)

◆ H5C_dest()

H5_DLL herr_t H5C_dest ( H5F_t f)

◆ H5C_destroy_flush_dependency()

H5_DLL herr_t H5C_destroy_flush_dependency ( void *  parent_thing,
void *  child_thing 
)

◆ H5C_dump_cache()

H5_DLL herr_t H5C_dump_cache ( H5C_t cache_ptr,
const char *  cache_name 
)

◆ H5C_dump_cache_LRU()

H5_DLL herr_t H5C_dump_cache_LRU ( H5C_t cache_ptr,
const char *  cache_name 
)

◆ H5C_dump_cache_skip_list()

H5_DLL herr_t H5C_dump_cache_skip_list ( H5C_t cache_ptr,
char *  calling_fcn 
)

◆ H5C_evict()

H5_DLL herr_t H5C_evict ( H5F_t f)

◆ H5C_evict_tagged_entries()

H5_DLL herr_t H5C_evict_tagged_entries ( H5F_t f,
haddr_t  tag,
hbool_t  match_global 
)

◆ H5C_expunge_entry()

H5_DLL herr_t H5C_expunge_entry ( H5F_t f,
const H5C_class_t type,
haddr_t  addr,
unsigned  flags 
)

◆ H5C_expunge_tag_type_metadata()

H5_DLL herr_t H5C_expunge_tag_type_metadata ( H5F_t f,
haddr_t  tag,
int  type_id,
unsigned  flags 
)

◆ H5C_flush_cache()

H5_DLL herr_t H5C_flush_cache ( H5F_t f,
unsigned  flags 
)

◆ H5C_flush_dependency_exists()

H5_DLL herr_t H5C_flush_dependency_exists ( H5C_t cache_ptr,
haddr_t  parent_addr,
haddr_t  child_addr,
hbool_t fd_exists_ptr 
)

◆ H5C_flush_tagged_entries()

H5_DLL herr_t H5C_flush_tagged_entries ( H5F_t f,
haddr_t  tag 
)

◆ H5C_flush_to_min_clean()

H5_DLL herr_t H5C_flush_to_min_clean ( H5F_t f)

◆ H5C_force_cache_image_load()

H5_DLL herr_t H5C_force_cache_image_load ( H5F_t f)

◆ H5C_get_aux_ptr()

H5_DLL void* H5C_get_aux_ptr ( const H5C_t cache_ptr)

◆ H5C_get_cache_auto_resize_config()

H5_DLL herr_t H5C_get_cache_auto_resize_config ( const H5C_t cache_ptr,
H5C_auto_size_ctl_t config_ptr 
)

◆ H5C_get_cache_flush_in_progress()

H5_DLL herr_t H5C_get_cache_flush_in_progress ( H5C_t cache_ptr,
hbool_t flush_in_progress_ptr 
)

◆ H5C_get_cache_hit_rate()

H5_DLL herr_t H5C_get_cache_hit_rate ( H5C_t cache_ptr,
double hit_rate_ptr 
)

◆ H5C_get_cache_image_config()

H5_DLL herr_t H5C_get_cache_image_config ( const H5C_t cache_ptr,
H5C_cache_image_ctl_t config_ptr 
)

◆ H5C_get_cache_size()

H5_DLL herr_t H5C_get_cache_size ( H5C_t cache_ptr,
size_t max_size_ptr,
size_t min_clean_size_ptr,
size_t cur_size_ptr,
uint32_t cur_num_entries_ptr 
)

◆ H5C_get_entry_ptr_from_addr()

H5_DLL herr_t H5C_get_entry_ptr_from_addr ( H5C_t cache_ptr,
haddr_t  addr,
void **  entry_ptr_ptr 
)

◆ H5C_get_entry_ring()

H5_DLL herr_t H5C_get_entry_ring ( const H5F_t f,
haddr_t  addr,
H5C_ring_t ring 
)

◆ H5C_get_entry_status()

H5_DLL herr_t H5C_get_entry_status ( const H5F_t f,
haddr_t  addr,
size_t size_ptr,
hbool_t in_cache_ptr,
hbool_t is_dirty_ptr,
hbool_t is_protected_ptr,
hbool_t is_pinned_ptr,
hbool_t is_corked_ptr,
hbool_t is_flush_dep_parent_ptr,
hbool_t is_flush_dep_child_ptr,
hbool_t image_up_to_date_ptr 
)

◆ H5C_get_evictions_enabled()

H5_DLL herr_t H5C_get_evictions_enabled ( const H5C_t cache_ptr,
hbool_t evictions_enabled_ptr 
)

◆ H5C_get_ignore_tags()

H5_DLL hbool_t H5C_get_ignore_tags ( const H5C_t cache_ptr)

◆ H5C_get_logging_status()

H5_DLL herr_t H5C_get_logging_status ( const H5C_t cache,
hbool_t is_enabled,
hbool_t is_currently_logging 
)

◆ H5C_get_mdc_image_info()

H5_DLL herr_t H5C_get_mdc_image_info ( H5C_t cache_ptr,
haddr_t image_addr,
hsize_t image_len 
)

◆ H5C_get_num_objs_corked()

H5_DLL uint32_t H5C_get_num_objs_corked ( const H5C_t cache_ptr)

◆ H5C_get_serialization_in_progress()

H5_DLL hbool_t H5C_get_serialization_in_progress ( const H5C_t cache_ptr)

◆ H5C_get_tag()

H5_DLL herr_t H5C_get_tag ( const void *  thing,
haddr_t tag 
)

◆ H5C_ignore_tags()

H5_DLL herr_t H5C_ignore_tags ( H5C_t cache_ptr)

◆ H5C_image_stats()

H5_DLL herr_t H5C_image_stats ( H5C_t cache_ptr,
hbool_t  print_header 
)

◆ H5C_insert_entry()

H5_DLL herr_t H5C_insert_entry ( H5F_t f,
const H5C_class_t type,
haddr_t  addr,
void *  thing,
unsigned int  flags 
)

◆ H5C_load_cache_image_on_next_protect()

H5_DLL herr_t H5C_load_cache_image_on_next_protect ( H5F_t f,
haddr_t  addr,
hsize_t  len,
hbool_t  rw 
)

◆ H5C_mark_entry_clean()

H5_DLL herr_t H5C_mark_entry_clean ( void *  thing)

◆ H5C_mark_entry_dirty()

H5_DLL herr_t H5C_mark_entry_dirty ( void *  thing)

◆ H5C_mark_entry_serialized()

H5_DLL herr_t H5C_mark_entry_serialized ( void *  thing)

◆ H5C_mark_entry_unserialized()

H5_DLL herr_t H5C_mark_entry_unserialized ( void *  thing)

◆ H5C_move_entry()

H5_DLL herr_t H5C_move_entry ( H5C_t cache_ptr,
const H5C_class_t type,
haddr_t  old_addr,
haddr_t  new_addr 
)

◆ H5C_pin_protected_entry()

H5_DLL herr_t H5C_pin_protected_entry ( void *  thing)

◆ H5C_prep_for_file_close()

H5_DLL herr_t H5C_prep_for_file_close ( H5F_t f)

◆ H5C_protect()

H5_DLL void* H5C_protect ( H5F_t f,
const H5C_class_t type,
haddr_t  addr,
void *  udata,
unsigned  flags 
)

◆ H5C_remove_entry()

H5_DLL herr_t H5C_remove_entry ( void *  thing)

◆ H5C_reset_cache_hit_rate_stats()

H5_DLL herr_t H5C_reset_cache_hit_rate_stats ( H5C_t cache_ptr)

◆ H5C_resize_entry()

H5_DLL herr_t H5C_resize_entry ( void *  thing,
size_t  new_size 
)

◆ H5C_retag_entries()

H5_DLL herr_t H5C_retag_entries ( H5C_t cache_ptr,
haddr_t  src_tag,
haddr_t  dest_tag 
)

◆ H5C_set_cache_auto_resize_config()

H5_DLL herr_t H5C_set_cache_auto_resize_config ( H5C_t cache_ptr,
H5C_auto_size_ctl_t config_ptr 
)

◆ H5C_set_cache_image_config()

H5_DLL herr_t H5C_set_cache_image_config ( const H5F_t f,
H5C_t cache_ptr,
H5C_cache_image_ctl_t config_ptr 
)

◆ H5C_set_evictions_enabled()

H5_DLL herr_t H5C_set_evictions_enabled ( H5C_t cache_ptr,
hbool_t  evictions_enabled 
)

◆ H5C_set_prefix()

H5_DLL herr_t H5C_set_prefix ( H5C_t cache_ptr,
char *  prefix 
)

◆ H5C_start_logging()

H5_DLL herr_t H5C_start_logging ( H5C_t cache)

◆ H5C_stats()

H5_DLL herr_t H5C_stats ( H5C_t cache_ptr,
const char *  cache_name,
hbool_t  display_detailed_stats 
)

◆ H5C_stats__reset()

H5_DLL void H5C_stats__reset ( H5C_t cache_ptr)

◆ H5C_stop_logging()

H5_DLL herr_t H5C_stop_logging ( H5C_t cache)

◆ H5C_unpin_entry()

H5_DLL herr_t H5C_unpin_entry ( void *  thing)

◆ H5C_unprotect()

H5_DLL herr_t H5C_unprotect ( H5F_t f,
haddr_t  addr,
void *  thing,
unsigned int  flags 
)

◆ H5C_unsettle_entry_ring()

H5_DLL herr_t H5C_unsettle_entry_ring ( void *  thing)

◆ H5C_unsettle_ring()

H5_DLL herr_t H5C_unsettle_ring ( H5F_t f,
H5C_ring_t  ring 
)

◆ H5C_validate_cache_image_config()

H5_DLL herr_t H5C_validate_cache_image_config ( H5C_cache_image_ctl_t ctl_ptr)

◆ H5C_validate_index_list()

H5_DLL herr_t H5C_validate_index_list ( H5C_t cache_ptr)

◆ H5C_validate_resize_config()

H5_DLL herr_t H5C_validate_resize_config ( H5C_auto_size_ctl_t config_ptr,
unsigned int  tests 
)

◆ H5C_verify_entry_type()

H5_DLL herr_t H5C_verify_entry_type ( H5C_t cache_ptr,
haddr_t  addr,
const H5C_class_t expected_type,
hbool_t in_cache_ptr,
hbool_t type_ok_ptr 
)

◆ H5C_verify_tag()

herr_t H5C_verify_tag ( int  id,
haddr_t  tag 
)
H5AC__CACHE_IMAGE__ENTRY_AGEOUT__NONE
#define H5AC__CACHE_IMAGE__ENTRY_AGEOUT__NONE
Definition: H5ACpublic.h:560
H5C_CI__ALL_FLAGS
#define H5C_CI__ALL_FLAGS
Definition: H5Cprivate.h:2203
H5C__CURR_CACHE_IMAGE_CTL_VER
#define H5C__CURR_CACHE_IMAGE_CTL_VER
Definition: H5Cprivate.h:115
FALSE
#define FALSE
Definition: H5FDmulti.c:33