[svn-r16808] Purpose: Fix bug 1533
Description: Previously, there was no versioning for H5Z_class_t. This prevented applications written for 1.6 using custom filters from being able to use the 1.8 library. There is now an H5Z_class1_t and H5Z_class2_t to enable compatibility. H5Zregister is *not* versioned, it determines which version of the struct has been passed in by the value of the first field (id or version, both are ints). Tested: jam, linew, smirom (h5committest), jam (--with-default-api-version=v16)
This commit is contained in:
14
src/H5Zpkg.h
14
src/H5Zpkg.h
@@ -42,46 +42,46 @@
|
||||
/*
|
||||
* Deflate filter
|
||||
*/
|
||||
H5_DLLVAR const H5Z_class_t H5Z_DEFLATE[1];
|
||||
H5_DLLVAR const H5Z_class2_t H5Z_DEFLATE[1];
|
||||
#endif /* H5_HAVE_FILTER_DEFLATE */
|
||||
|
||||
#ifdef H5_HAVE_FILTER_SHUFFLE
|
||||
/*
|
||||
* Shuffle filter
|
||||
*/
|
||||
H5_DLLVAR const H5Z_class_t H5Z_SHUFFLE[1];
|
||||
H5_DLLVAR const H5Z_class2_t H5Z_SHUFFLE[1];
|
||||
#endif /* H5_HAVE_FILTER_SHUFFLE */
|
||||
|
||||
#ifdef H5_HAVE_FILTER_FLETCHER32
|
||||
/*
|
||||
* Fletcher32 filter
|
||||
*/
|
||||
H5_DLLVAR const H5Z_class_t H5Z_FLETCHER32[1];
|
||||
H5_DLLVAR const H5Z_class2_t H5Z_FLETCHER32[1];
|
||||
#endif /* H5_HAVE_FILTER_FLETCHER32 */
|
||||
|
||||
#ifdef H5_HAVE_FILTER_SZIP
|
||||
/*
|
||||
* szip filter
|
||||
*/
|
||||
H5_DLLVAR H5Z_class_t H5Z_SZIP[1];
|
||||
H5_DLLVAR H5Z_class2_t H5Z_SZIP[1];
|
||||
#endif /* H5_HAVE_FILTER_SZIP */
|
||||
|
||||
#ifdef H5_HAVE_FILTER_NBIT
|
||||
/*
|
||||
* nbit filter
|
||||
*/
|
||||
H5_DLLVAR H5Z_class_t H5Z_NBIT[1];
|
||||
H5_DLLVAR H5Z_class2_t H5Z_NBIT[1];
|
||||
#endif /* H5_HAVE_FILTER_NBIT */
|
||||
|
||||
#ifdef H5_HAVE_FILTER_SCALEOFFSET
|
||||
/*
|
||||
* scaleoffset filter
|
||||
*/
|
||||
H5_DLLVAR H5Z_class_t H5Z_SCALEOFFSET[1];
|
||||
H5_DLLVAR H5Z_class2_t H5Z_SCALEOFFSET[1];
|
||||
#endif /* H5_HAVE_FILTER_SCALEOFFSET */
|
||||
|
||||
/* Package-local function prototypes */
|
||||
H5_DLL void H5Z_update_class_vers(H5Z_class_t * old_vers, H5Z_class_t * curr_vers);
|
||||
H5_DLL void H5Z_update_class_vers(H5Z_class2_t * old_vers, H5Z_class2_t * curr_vers);
|
||||
|
||||
#endif /* _H5Zpkg_H */
|
||||
|
||||
|
||||
Reference in New Issue
Block a user