HDF5  1.12.0
H5Rint.c File Reference

Functions

herr_t H5R__init_package (void)
 
int H5R_top_term_package (void)
 
int H5R_term_package (void)
 
herr_t H5R__create_object (const H5O_token_t *obj_token, size_t token_size, H5R_ref_priv_t *ref)
 
herr_t H5R__create_region (const H5O_token_t *obj_token, size_t token_size, H5S_t *space, H5R_ref_priv_t *ref)
 
herr_t H5R__create_attr (const H5O_token_t *obj_token, size_t token_size, const char *attr_name, H5R_ref_priv_t *ref)
 
herr_t H5R__destroy (H5R_ref_priv_t *ref)
 
herr_t H5R__set_loc_id (H5R_ref_priv_t *ref, hid_t id, hbool_t inc_ref, hbool_t app_ref)
 
hid_t H5R__get_loc_id (const H5R_ref_priv_t *ref)
 
hid_t H5R__reopen_file (H5R_ref_priv_t *ref, hid_t fapl_id)
 
H5R_type_t H5R__get_type (const H5R_ref_priv_t *ref)
 
htri_t H5R__equal (const H5R_ref_priv_t *ref1, const H5R_ref_priv_t *ref2)
 
herr_t H5R__copy (const H5R_ref_priv_t *src_ref, H5R_ref_priv_t *dst_ref)
 
herr_t H5R__get_obj_token (const H5R_ref_priv_t *ref, H5O_token_t *obj_token, size_t *token_size)
 
herr_t H5R__set_obj_token (H5R_ref_priv_t *ref, const H5O_token_t *obj_token, size_t token_size)
 
herr_t H5R__get_region (const H5R_ref_priv_t *ref, H5S_t *space)
 
ssize_t H5R__get_file_name (const H5R_ref_priv_t *ref, char *buf, size_t size)
 
ssize_t H5R__get_attr_name (const H5R_ref_priv_t *ref, char *buf, size_t size)
 
herr_t H5R__encode (const char *filename, const H5R_ref_priv_t *ref, unsigned char *buf, size_t *nalloc, unsigned flags)
 
herr_t H5R__decode (const unsigned char *buf, size_t *nbytes, H5R_ref_priv_t *ref)
 
herr_t H5R__encode_heap (H5F_t *f, unsigned char *buf, size_t *nalloc, const unsigned char *data, size_t data_size)
 
herr_t H5R__decode_heap (H5F_t *f, const unsigned char *buf, size_t *nbytes, unsigned char **data_ptr, size_t *data_size)
 
herr_t H5R__free_heap (H5F_t *f, const unsigned char *buf, size_t nbytes)
 
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)
 
herr_t H5R__encode_token_obj_compat (const H5O_token_t *obj_token, size_t token_size, unsigned char *buf, size_t *nalloc)
 
herr_t H5R__decode_token_obj_compat (const unsigned char *buf, size_t *nbytes, H5O_token_t *obj_token, size_t token_size)
 
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)
 
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)
 

Variables

hbool_t H5_PKG_INIT_VAR = FALSE
 

Function Documentation

◆ H5R__copy()

◆ H5R__create_attr()

◆ H5R__create_object()

◆ H5R__create_region()

◆ H5R__decode()

herr_t H5R__decode ( const unsigned char *  buf,
size_t *  nbytes,
H5R_ref_priv_t ref 
)

◆ H5R__decode_heap()

herr_t H5R__decode_heap ( H5F_t f,
const unsigned char *  buf,
size_t *  nbytes,
unsigned char **  data_ptr,
size_t *  data_size 
)

◆ H5R__decode_token_compat()

◆ H5R__decode_token_obj_compat()

herr_t H5R__decode_token_obj_compat ( const unsigned char *  buf,
size_t *  nbytes,
H5O_token_t obj_token,
size_t  token_size 
)

◆ H5R__decode_token_region_compat()

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 
)

◆ H5R__destroy()

◆ H5R__encode()

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:

  • avoid duplicating VOL info on each reference
  • must query terminal VOL connector to avoid passthrough confusion

References flags, HDassert(), ret_value, and H5R_ref_priv_t::type.

Referenced by H5R__create_attr(), H5R__create_object(), and H5R__create_region().

◆ H5R__encode_heap()

herr_t H5R__encode_heap ( H5F_t f,
unsigned char *  buf,
size_t *  nalloc,
const unsigned char *  data,
size_t  data_size 
)

◆ H5R__encode_token_obj_compat()

herr_t H5R__encode_token_obj_compat ( const H5O_token_t obj_token,
size_t  token_size,
unsigned char *  buf,
size_t *  nalloc 
)

◆ H5R__encode_token_region_compat()

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 
)

◆ H5R__equal()

◆ H5R__free_heap()

herr_t H5R__free_heap ( H5F_t f,
const unsigned char *  buf,
size_t  nbytes 
)

◆ H5R__get_attr_name()

◆ H5R__get_file_name()

ssize_t H5R__get_file_name ( const H5R_ref_priv_t ref,
char *  buf,
size_t  size 
)

◆ H5R__get_loc_id()

◆ H5R__get_obj_token()

◆ H5R__get_region()

◆ H5R__get_type()

◆ H5R__init_package()

herr_t H5R__init_package ( void  )

◆ H5R__reopen_file()

◆ H5R__set_loc_id()

◆ H5R__set_obj_token()

◆ H5R_term_package()

int H5R_term_package ( void  )

References H5_PKG_INIT_VAR, HDassert(), and n.

◆ H5R_top_term_package()

int H5R_top_term_package ( void  )

References n.

Variable Documentation

◆ H5_PKG_INIT_VAR

hbool_t H5_PKG_INIT_VAR = FALSE

Referenced by H5R_term_package().