diff options
Diffstat (limited to 'src/H5Ppkg.h')
-rw-r--r-- | src/H5Ppkg.h | 32 |
1 files changed, 28 insertions, 4 deletions
diff --git a/src/H5Ppkg.h b/src/H5Ppkg.h index 7768eec..b4c2405 100644 --- a/src/H5Ppkg.h +++ b/src/H5Ppkg.h @@ -75,6 +75,8 @@ typedef struct H5P_genprop_t { H5P_prp_create_func_t create; /* Function to call when a property is created */ H5P_prp_set_func_t set; /* Function to call when a property value is set */ H5P_prp_get_func_t get; /* Function to call when a property value is retrieved */ + H5P_prp_encode_func_t encode; /* Function to call when a property is encoded */ + H5P_prp_decode_func_t decode; /* Function to call when a property is decoded */ H5P_prp_delete_func_t del; /* Function to call when a property is deleted */ H5P_prp_copy_func_t copy; /* Function to call when a property is copied */ H5P_prp_compare_func_t cmp; /* Function to call when a property is compared */ @@ -159,13 +161,17 @@ H5_DLL H5P_genclass_t *H5P_create_class(H5P_genclass_t *par_class, H5P_cls_close_func_t cls_close, void *close_data); H5_DLL H5P_genclass_t *H5P_copy_pclass(H5P_genclass_t *pclass); H5_DLL herr_t H5P_register_real(H5P_genclass_t *pclass, const char *name, size_t size, - const void *def_value, H5P_prp_create_func_t prp_create, H5P_prp_set_func_t prp_set, - H5P_prp_get_func_t prp_get, H5P_prp_delete_func_t prp_delete, + const void *def_value, H5P_prp_create_func_t prp_create, + H5P_prp_set_func_t prp_set, H5P_prp_get_func_t prp_get, + H5P_prp_encode_func_t prp_encode, H5P_prp_decode_func_t prp_decode, + H5P_prp_delete_func_t prp_delete, H5P_prp_copy_func_t prp_copy, H5P_prp_compare_func_t prp_cmp, H5P_prp_close_func_t prp_close); H5_DLL herr_t H5P_register(H5P_genclass_t **pclass, const char *name, size_t size, - const void *def_value, H5P_prp_create_func_t prp_create, H5P_prp_set_func_t prp_set, - H5P_prp_get_func_t prp_get, H5P_prp_delete_func_t prp_delete, + const void *def_value, H5P_prp_create_func_t prp_create, + H5P_prp_set_func_t prp_set, H5P_prp_get_func_t prp_get, + H5P_prp_encode_func_t prp_encode, H5P_prp_decode_func_t prp_decode, + H5P_prp_delete_func_t prp_delete, H5P_prp_copy_func_t prp_copy, H5P_prp_compare_func_t prp_cmp, H5P_prp_close_func_t prp_close); H5_DLL herr_t H5P_add_prop(H5SL_t *props, H5P_genprop_t *prop); @@ -195,6 +201,24 @@ H5_DLL herr_t H5P_get_filter(const H5Z_filter_info_t *filter, unsigned int *flags, size_t *cd_nelmts, unsigned cd_values[], size_t namelen, char name[], unsigned *filter_config); H5_DLL H5P_genprop_t *H5P__find_prop_plist(const H5P_genplist_t *plist, const char *name); +H5_DLL hid_t H5P__new_plist_of_type(H5P_plist_type_t type); + +/* Encode/decode routines */ +H5_DLL herr_t H5P__encode(const H5P_genplist_t *plist, hbool_t enc_all_prop, + void *buf, size_t *nalloc); +H5_DLL hid_t H5P__decode(const void *buf); +H5_DLL herr_t H5P__encode_hsize_t(const void *value, uint8_t **pp, size_t *size); +H5_DLL herr_t H5P__encode_size_t(const void *value, uint8_t **pp, size_t *size); +H5_DLL herr_t H5P__encode_unsigned(const void *value, uint8_t **pp, size_t *size); +H5_DLL herr_t H5P__encode_uint8_t(const void *value, uint8_t **pp, size_t *size); +H5_DLL herr_t H5P__encode_hbool_t(const void *value, uint8_t **pp, size_t *size); +H5_DLL herr_t H5P__encode_double(const void *value, uint8_t **pp, size_t *size); +H5_DLL herr_t H5P__decode_hsize_t(const uint8_t **pp, void *value); +H5_DLL herr_t H5P__decode_size_t(const uint8_t **pp, void *value); +H5_DLL herr_t H5P__decode_unsigned(const uint8_t **pp, void *value); +H5_DLL herr_t H5P__decode_uint8_t(const uint8_t **pp, void *value); +H5_DLL herr_t H5P__decode_hbool_t(const uint8_t **pp, void *value); +H5_DLL herr_t H5P__decode_double(const uint8_t **pp, void *value); /* Testing functions */ #ifdef H5P_TESTING |