![]() |
HDF5
1.12.0
|
Data Structures | |
| struct | H5R_ref_priv_obj_t |
| struct | H5R_ref_priv_reg_t |
| struct | H5R_ref_priv_attr_t |
| struct | H5R_ref_priv_t |
Typedefs | |
| typedef struct H5R_ref_priv_obj_t | H5R_ref_priv_obj_t |
| typedef struct H5R_ref_priv_reg_t | H5R_ref_priv_reg_t |
| typedef struct H5R_ref_priv_attr_t | H5R_ref_priv_attr_t |
| typedef struct H5R_ref_priv_t | H5R_ref_priv_t |
Functions | |
| H5_DLL herr_t | H5R__create_object (const H5O_token_t *obj_token, size_t token_size, H5R_ref_priv_t *ref) |
| H5_DLL herr_t | H5R__create_region (const H5O_token_t *obj_token, size_t token_size, H5S_t *space, H5R_ref_priv_t *ref) |
| H5_DLL herr_t | H5R__create_attr (const H5O_token_t *obj_token, size_t token_size, const char *attr_name, H5R_ref_priv_t *ref) |
| H5_DLL herr_t | H5R__destroy (H5R_ref_priv_t *ref) |
| H5_DLL herr_t | H5R__set_loc_id (H5R_ref_priv_t *ref, hid_t id, hbool_t inc_ref, hbool_t app_ref) |
| H5_DLL hid_t | H5R__get_loc_id (const H5R_ref_priv_t *ref) |
| H5_DLL hid_t | H5R__reopen_file (H5R_ref_priv_t *ref, hid_t fapl_id) |
| H5_DLL H5R_type_t | H5R__get_type (const H5R_ref_priv_t *ref) |
| H5_DLL htri_t | H5R__equal (const H5R_ref_priv_t *ref1, const H5R_ref_priv_t *ref2) |
| H5_DLL herr_t | H5R__copy (const H5R_ref_priv_t *src_ref, H5R_ref_priv_t *dst_ref) |
| H5_DLL herr_t | H5R__get_obj_token (const H5R_ref_priv_t *ref, H5O_token_t *obj_token, size_t *token_size) |
| H5_DLL herr_t | H5R__set_obj_token (H5R_ref_priv_t *ref, const H5O_token_t *obj_token, size_t token_size) |
| H5_DLL herr_t | H5R__get_region (const H5R_ref_priv_t *ref, H5S_t *space) |
| H5_DLL ssize_t | H5R__get_file_name (const H5R_ref_priv_t *ref, char *buf, size_t size) |
| H5_DLL ssize_t | H5R__get_attr_name (const H5R_ref_priv_t *ref, char *buf, size_t size) |
| H5_DLL herr_t | H5R__encode (const char *filename, const H5R_ref_priv_t *ref, unsigned char *buf, size_t *nalloc, unsigned flags) |
| H5_DLL herr_t | H5R__decode (const unsigned char *buf, size_t *nbytes, H5R_ref_priv_t *ref) |
| H5_DLL herr_t | H5R__encode_heap (H5F_t *f, unsigned char *buf, size_t *nalloc, const unsigned char *data, size_t data_size) |
| H5_DLL herr_t | H5R__decode_heap (H5F_t *f, const unsigned char *buf, size_t *nbytes, unsigned char **data_ptr, size_t *data_size) |
| H5_DLL herr_t | H5R__free_heap (H5F_t *f, const unsigned char *buf, size_t nbytes) |
| H5_DLL herr_t | H5R__decode_token_compat (H5VL_object_t *vol_obj, H5I_type_t type, H5R_type_t ref_type, const unsigned char *buf, H5O_token_t *obj_token) |
| H5_DLL herr_t | H5R__encode_token_obj_compat (const H5O_token_t *obj_token, size_t token_size, unsigned char *buf, size_t *nalloc) |
| H5_DLL herr_t | H5R__decode_token_obj_compat (const unsigned char *buf, size_t *nbytes, H5O_token_t *obj_token, size_t token_size) |
| H5_DLL herr_t | H5R__encode_token_region_compat (H5F_t *f, const H5O_token_t *obj_token, size_t token_size, H5S_t *space, unsigned char *buf, size_t *nalloc) |
| H5_DLL herr_t | H5R__decode_token_region_compat (H5F_t *f, const unsigned char *buf, size_t *nbytes, H5O_token_t *obj_token, size_t token_size, H5S_t **space_ptr) |
| typedef struct H5R_ref_priv_attr_t H5R_ref_priv_attr_t |
| typedef struct H5R_ref_priv_obj_t H5R_ref_priv_obj_t |
| typedef struct H5R_ref_priv_reg_t H5R_ref_priv_reg_t |
| typedef struct H5R_ref_priv_t H5R_ref_priv_t |
| H5_DLL herr_t H5R__copy | ( | const H5R_ref_priv_t * | src_ref, |
| H5R_ref_priv_t * | dst_ref | ||
| ) |
References H5R_ref_priv_t::attr, H5R_ref_priv_t::encode_size, FAIL, H5R_ref_priv_obj_t::filename, FUNC_LEAVE_NOAPI(), H5MM_memcpy(), H5R__set_loc_id(), H5R_ATTR, H5R_BADTYPE, H5R_DATASET_REGION1, H5R_DATASET_REGION2, H5R_MAXTYPE, H5R_OBJECT1, H5R_OBJECT2, H5S_copy(), HDassert(), H5R_ref_priv_t::info, H5R_ref_priv_t::loc_id, H5R_ref_priv_attr_t::name, NULL, H5R_ref_priv_t::obj, H5R_ref_priv_t::reg, ret_value, H5R_ref_priv_reg_t::space, H5R_ref_priv_obj_t::token, H5R_ref_priv_t::token_size, and H5R_ref_priv_t::type.
Referenced by H5Rcopy().
| H5_DLL herr_t H5R__create_attr | ( | const H5O_token_t * | obj_token, |
| size_t | token_size, | ||
| const char * | attr_name, | ||
| H5R_ref_priv_t * | ref | ||
| ) |
References H5R_ref_priv_t::attr, H5R_ref_priv_t::encode_size, FAIL, H5R_ref_priv_obj_t::filename, H5R__encode(), H5R__set_obj_token(), H5R_ATTR, HDassert(), H5R_ref_priv_t::info, H5R_ref_priv_t::loc_id, H5R_ref_priv_attr_t::name, NULL, H5R_ref_priv_t::obj, ret_value, and H5R_ref_priv_t::type.
Referenced by H5Rcreate_attr().
| H5_DLL herr_t H5R__create_object | ( | const H5O_token_t * | obj_token, |
| size_t | token_size, | ||
| H5R_ref_priv_t * | ref | ||
| ) |
| H5_DLL herr_t H5R__create_region | ( | const H5O_token_t * | obj_token, |
| size_t | token_size, | ||
| H5S_t * | space, | ||
| H5R_ref_priv_t * | ref | ||
| ) |
References H5R_ref_priv_t::encode_size, FAIL, H5R_ref_priv_obj_t::filename, H5R__encode(), H5R__set_obj_token(), H5R_DATASET_REGION2, H5S_copy(), HDassert(), H5R_ref_priv_t::info, H5R_ref_priv_t::loc_id, NULL, H5R_ref_priv_t::obj, H5R_ref_priv_t::reg, ret_value, H5R_ref_priv_reg_t::space, and H5R_ref_priv_t::type.
Referenced by H5Rcreate_region().
| H5_DLL herr_t H5R__decode | ( | const unsigned char * | buf, |
| size_t * | nbytes, | ||
| H5R_ref_priv_t * | ref | ||
| ) |
References FAIL, flags, H5E_BADVALUE, H5R_BADTYPE, H5R_MAXTYPE, HDassert(), ret_value, and H5R_ref_priv_t::type.
| H5_DLL herr_t H5R__decode_heap | ( | H5F_t * | f, |
| const unsigned char * | buf, | ||
| size_t * | nbytes, | ||
| unsigned char ** | data_ptr, | ||
| size_t * | data_size | ||
| ) |
References H5HG_t::addr, f, FAIL, FUNC_LEAVE_NOAPI(), H5E_BADVALUE, H5F_addr_decode(), H5HG_read(), HDassert(), H5HG_t::idx, NULL, ret_value, and UINT32DECODE().
Referenced by H5R__decode_token_region_compat().
| H5_DLL herr_t H5R__decode_token_compat | ( | H5VL_object_t * | vol_obj, |
| H5I_type_t | type, | ||
| H5R_type_t | ref_type, | ||
| const unsigned char * | buf, | ||
| H5O_token_t * | obj_token | ||
| ) |
References f, FAIL, FUNC_LEAVE_NOAPI(), H5F_get_file_id(), H5I_dec_ref(), H5R__decode_token_obj_compat(), H5R__decode_token_region_compat(), H5R_OBJECT1, H5VL_file_get(), H5VL_FILE_GET_CONT_INFO, H5VL_object_data(), H5VL_object_is_native(), H5VL_vol_object(), HDassert(), NULL, ret_value, H5VL_file_cont_info_t::token_size, and type.
Referenced by H5Rdereference1(), H5Rdereference2(), H5Rget_name(), H5Rget_obj_type1(), and H5Rget_obj_type2().
| H5_DLL herr_t H5R__decode_token_obj_compat | ( | const unsigned char * | buf, |
| size_t * | nbytes, | ||
| H5O_token_t * | obj_token, | ||
| size_t | token_size | ||
| ) |
References FAIL, FUNC_LEAVE_NOAPI(), H5MM_memcpy(), HDassert(), and ret_value.
Referenced by H5R__decode_token_compat().
| H5_DLL herr_t H5R__decode_token_region_compat | ( | H5F_t * | f, |
| const unsigned char * | buf, | ||
| size_t * | nbytes, | ||
| H5O_token_t * | obj_token, | ||
| size_t | token_size, | ||
| H5S_t ** | space_ptr | ||
| ) |
References H5O_loc_t::addr, f, FAIL, H5O_loc_t::file, FUNC_LEAVE_NOAPI(), H5I_FILE, H5MM_memcpy(), H5O_loc_reset(), H5R__decode_heap(), H5S_read(), H5VL_native_token_to_addr(), HDassert(), NULL, and ret_value.
Referenced by H5R__decode_token_compat(), and H5Rget_region().
| H5_DLL herr_t H5R__destroy | ( | H5R_ref_priv_t * | ref | ) |
References H5R_ref_priv_t::app_ref, H5R_ref_priv_t::attr, FAIL, H5R_ref_priv_obj_t::filename, FUNC_LEAVE_NOAPI(), H5I_dec_app_ref(), H5I_dec_ref(), H5MM_xfree(), H5R_ATTR, H5R_BADTYPE, H5R_DATASET_REGION1, H5R_DATASET_REGION2, H5R_MAXTYPE, H5R_OBJECT1, H5R_OBJECT2, H5S_close(), HDassert(), H5R_ref_priv_t::info, H5R_ref_priv_t::loc_id, H5R_ref_priv_attr_t::name, NULL, H5R_ref_priv_t::obj, H5R_ref_priv_t::reg, ret_value, H5R_ref_priv_reg_t::space, and H5R_ref_priv_t::type.
Referenced by H5Rdestroy(), and H5T_ref_reclaim().
| H5_DLL herr_t H5R__encode | ( | const char * | filename, |
| const H5R_ref_priv_t * | ref, | ||
| unsigned char * | buf, | ||
| size_t * | nalloc, | ||
| unsigned | flags | ||
| ) |
Encoding format: | Reference type (8 bits) | Flags (8 bits) | Token (token size) | | | |-—> H5R_IS_EXTERNAL: File info | |-—> H5R_DATASET_REGION2: Serialized selection | |-—> H5R_ATTR: Attribute name len + name
TODO Encode VOL info When we have a better way of storing blobs, we should add support for referencing files in external VOLs. There are currently multiple limitations:
References flags, HDassert(), ret_value, and H5R_ref_priv_t::type.
Referenced by H5R__create_attr(), H5R__create_object(), and H5R__create_region().
| H5_DLL herr_t H5R__encode_heap | ( | H5F_t * | f, |
| unsigned char * | buf, | ||
| size_t * | nalloc, | ||
| const unsigned char * | data, | ||
| size_t | data_size | ||
| ) |
References H5HG_t::addr, f, FAIL, FUNC_LEAVE_NOAPI(), H5F_addr_encode(), H5HG_insert(), HDassert(), H5HG_t::idx, ret_value, and UINT32ENCODE().
Referenced by H5R__encode_token_region_compat().
| H5_DLL herr_t H5R__encode_token_obj_compat | ( | const H5O_token_t * | obj_token, |
| size_t | token_size, | ||
| unsigned char * | buf, | ||
| size_t * | nalloc | ||
| ) |
References FUNC_LEAVE_NOAPI(), H5MM_memcpy(), HDassert(), and ret_value.
Referenced by H5Rcreate().
| H5_DLL herr_t H5R__encode_token_region_compat | ( | H5F_t * | f, |
| const H5O_token_t * | obj_token, | ||
| size_t | token_size, | ||
| H5S_t * | space, | ||
| unsigned char * | buf, | ||
| size_t * | nalloc | ||
| ) |
References f, FAIL, FUNC_LEAVE_NOAPI(), H5_CHECK_OVERFLOW(), H5CX_set_libver_bounds(), H5E_CANTINIT, H5MM_malloc(), H5MM_memcpy(), H5R__encode_heap(), HDassert(), NULL, and ret_value.
Referenced by H5Rcreate().
| H5_DLL htri_t H5R__equal | ( | const H5R_ref_priv_t * | ref1, |
| const H5R_ref_priv_t * | ref2 | ||
| ) |
References H5R_ref_priv_t::attr, FAIL, H5R_ref_priv_obj_t::filename, FUNC_LEAVE_NOAPI(), H5R_ATTR, H5R_BADTYPE, H5R_DATASET_REGION1, H5R_DATASET_REGION2, H5R_MAXTYPE, H5R_OBJECT1, H5R_OBJECT2, H5S_extent_equal(), HDassert(), H5R_ref_priv_t::info, H5R_ref_priv_attr_t::name, NULL, H5R_ref_priv_t::obj, H5R_ref_priv_t::reg, ret_value, H5R_ref_priv_reg_t::space, H5R_ref_priv_obj_t::token, H5R_ref_priv_t::token_size, and H5R_ref_priv_t::type.
Referenced by H5Requal().
References H5HG_t::addr, f, FAIL, FUNC_LEAVE_NOAPI(), H5E_BADVALUE, H5F_addr_decode(), H5HG_remove(), HDassert(), H5HG_t::idx, ret_value, and UINT32DECODE().
| H5_DLL ssize_t H5R__get_attr_name | ( | const H5R_ref_priv_t * | ref, |
| char * | buf, | ||
| size_t | size | ||
| ) |
References H5R_ref_priv_t::attr, FUNC_LEAVE_NOAPI(), H5MM_memcpy(), H5R_ATTR, HDassert(), H5R_ref_priv_t::info, H5R_ref_priv_attr_t::name, NULL, ret_value, size, and H5R_ref_priv_t::type.
Referenced by H5Rget_attr_name().
| H5_DLL ssize_t H5R__get_file_name | ( | const H5R_ref_priv_t * | ref, |
| char * | buf, | ||
| size_t | size | ||
| ) |
References H5R_ref_priv_obj_t::filename, FUNC_LEAVE_NOAPI(), H5MM_memcpy(), HDassert(), H5R_ref_priv_t::info, NULL, H5R_ref_priv_t::obj, ret_value, and size.
Referenced by H5Rget_file_name().
| H5_DLL hid_t H5R__get_loc_id | ( | const H5R_ref_priv_t * | ref | ) |
References FUNC_LEAVE_NOAPI(), HDassert(), H5R_ref_priv_t::loc_id, NULL, and ret_value.
Referenced by H5Rget_file_name(), H5Rget_obj_name(), H5Rget_obj_type3(), H5Ropen_attr(), H5Ropen_object(), and H5Ropen_region().
| H5_DLL herr_t H5R__get_obj_token | ( | const H5R_ref_priv_t * | ref, |
| H5O_token_t * | obj_token, | ||
| size_t * | token_size | ||
| ) |
References FAIL, FUNC_LEAVE_NOAPI(), H5MM_memcpy(), HDassert(), H5R_ref_priv_t::info, NULL, H5R_ref_priv_t::obj, ret_value, H5R_ref_priv_obj_t::token, and H5R_ref_priv_t::token_size.
Referenced by H5Rget_obj_name(), H5Rget_obj_type3(), H5Ropen_attr(), H5Ropen_object(), and H5Ropen_region().
| H5_DLL herr_t H5R__get_region | ( | const H5R_ref_priv_t * | ref, |
| H5S_t * | space | ||
| ) |
References FAIL, FUNC_LEAVE_NOAPI(), H5R_DATASET_REGION2, H5S_select_copy(), HDassert(), H5R_ref_priv_t::info, NULL, H5R_ref_priv_t::reg, ret_value, H5R_ref_priv_reg_t::space, and H5R_ref_priv_t::type.
Referenced by H5Ropen_region().
| H5_DLL H5R_type_t H5R__get_type | ( | const H5R_ref_priv_t * | ref | ) |
References FUNC_LEAVE_NOAPI(), H5R_BADTYPE, HDassert(), NULL, ret_value, and H5R_ref_priv_t::type.
Referenced by H5Rget_attr_name(), H5Rget_file_name(), H5Rget_obj_name(), H5Rget_obj_type3(), H5Rget_type(), H5Ropen_attr(), H5Ropen_object(), and H5Ropen_region().
| H5_DLL hid_t H5R__reopen_file | ( | H5R_ref_priv_t * | ref, |
| hid_t | fapl_id | ||
| ) |
References H5VL_connector_prop_t::connector_id, fapl_id, FUNC_LEAVE_NOAPI(), H5CX_set_apl(), H5CX_set_vol_connector_prop(), H5E_CANTINIT, H5E_CANTREGISTER, H5I_FILE, H5I_object(), H5P_CLS_FACC, H5P_peek(), H5R__set_loc_id(), H5VL_file_open(), H5VL_file_optional(), H5VL_introspect_opt_query(), H5VL_register_using_vol_id(), H5VL_SUBCLS_FILE, H5VL_vol_object(), NULL, and ret_value.
Referenced by H5Rget_obj_name(), H5Rget_obj_type3(), H5Ropen_attr(), H5Ropen_object(), and H5Ropen_region().
| H5_DLL herr_t H5R__set_loc_id | ( | H5R_ref_priv_t * | ref, |
| hid_t | id, | ||
| hbool_t | inc_ref, | ||
| hbool_t | app_ref | ||
| ) |
References H5R_ref_priv_t::app_ref, FAIL, FUNC_LEAVE_NOAPI(), H5I_dec_app_ref(), H5I_dec_ref(), H5I_inc_ref(), HDassert(), H5R_ref_priv_t::loc_id, NULL, and ret_value.
Referenced by H5R__copy(), H5R__reopen_file(), H5Rcreate_attr(), H5Rcreate_object(), and H5Rcreate_region().
| H5_DLL herr_t H5R__set_obj_token | ( | H5R_ref_priv_t * | ref, |
| const H5O_token_t * | obj_token, | ||
| size_t | token_size | ||
| ) |
References FUNC_LEAVE_NOAPI(), H5MM_memcpy(), HDassert(), H5R_ref_priv_t::info, NULL, H5R_ref_priv_t::obj, ret_value, H5R_ref_priv_obj_t::token, and H5R_ref_priv_t::token_size.
Referenced by H5R__create_attr(), H5R__create_object(), and H5R__create_region().