summaryrefslogtreecommitdiffstats
path: root/src/H5Spkg.h
diff options
context:
space:
mode:
authorhdftest <hdftest@hdfgroup.org>2018-06-24 22:37:20 (GMT)
committerhdftest <hdftest@hdfgroup.org>2018-06-24 22:37:20 (GMT)
commite9f476dad47ce593f13dacb77b1cc664d1f24e7b (patch)
treec775d3e8a991a37373c0ec640d7a8c2e6b883b3c /src/H5Spkg.h
parent2ff00b1b937ebe36ac6ddf590c16a4c27fc0b053 (diff)
parent25f80cbbec3a7d8036325784168b029cb71cc813 (diff)
downloadhdf5-e9f476dad47ce593f13dacb77b1cc664d1f24e7b.zip
hdf5-e9f476dad47ce593f13dacb77b1cc664d1f24e7b.tar.gz
hdf5-e9f476dad47ce593f13dacb77b1cc664d1f24e7b.tar.bz2
Merge pull request #1116 in HDFFV/hdf5 from ~HDFTEST/hdf5_hft:hdf5_1_10 to develop
* commit '25f80cbbec3a7d8036325784168b029cb71cc813': (324 commits) Snapshot version 1.10 release 3 (snap3) Update document HDFFV-10433 Updated text to address issues raised. Snapshot version 1.10 release 3 (snap2) Updated version to 1.10.3-snap2 Merge corrections from develop HDFFV-10473 add note for attribute fix Correct attribute location HDFFV-9739 and cmake improvements merge from develop Fix for HDFFV-10469: set to latest format for virtual layout encoding. Update Windows test machines Fix soversion Fixed libver bounds underscore issue removed extraneous lib. ver. bound, PR comment temporary fix for HDFFV-10469 Updated version to 1.10.3-snap1 Add new file Correct number of tests Whitespace and test reclassify merge from develop HDFFV-10444 fix so numbers and merge java test changes ...
Diffstat (limited to 'src/H5Spkg.h')
-rw-r--r--src/H5Spkg.h33
1 files changed, 27 insertions, 6 deletions
diff --git a/src/H5Spkg.h b/src/H5Spkg.h
index 6ded287..f6bd3d1 100644
--- a/src/H5Spkg.h
+++ b/src/H5Spkg.h
@@ -33,8 +33,28 @@
#define H5S_VALID_PERM 0x02
/* Flags for serialization of selections */
-#define H5S_SELECT_FLAG_UNLIM 0x01
-#define H5S_SELECT_FLAG_BITS (H5S_SELECT_FLAG_UNLIM)
+#define H5S_HYPER_REGULAR 0x01
+#define H5S_SELECT_FLAG_BITS (H5S_HYPER_REGULAR)
+
+/* Versions for H5S_SEL_HYPER selection info */
+#define H5S_HYPER_VERSION_1 1
+#define H5S_HYPER_VERSION_2 2
+
+/* Versions for H5S_SEL_POINTS selection info */
+#define H5S_POINT_VERSION_1 1
+
+/* Versions for H5S_SEL_NONE selection info */
+#define H5S_NONE_VERSION_1 1
+
+/* Versions for H5S_SEL_ALL selection info */
+#define H5S_ALL_VERSION_1 1
+
+/* Size of point/offset info for H5S_SEL_POINTS/H5S_SEL_HYPER */
+#define H5S_INFO_SIZE_4 0x04 /* 4 bytes: 32 bits */
+#define H5S_INFO_SIZE_8 0x08 /* 8 bytes: 64 bits */
+#define H5S_SELECT_INFO_SIZE_BITS (H5S_INFO_SIZE_4|H5S_INFO_SIZE_8)
+
+#define H5S_UINT32_MAX 4294967295 /* 2^32 - 1 */
/* Length of stack-allocated sequences for "project intersect" routines */
#define H5S_PROJECT_INTERSECT_NSEQS 256
@@ -139,9 +159,9 @@ typedef herr_t (*H5S_sel_release_func_t)(H5S_t *space);
/* Method to determine if current selection is valid for dataspace */
typedef htri_t (*H5S_sel_is_valid_func_t)(const H5S_t *space);
/* Method to determine number of bytes required to store current selection */
-typedef hssize_t (*H5S_sel_serial_size_func_t)(const H5S_t *space);
+typedef hssize_t (*H5S_sel_serial_size_func_t)(const H5S_t *space, H5F_t *f);
/* Method to store current selection in "serialized" form (a byte sequence suitable for storing on disk) */
-typedef herr_t (*H5S_sel_serialize_func_t)(const H5S_t *space, uint8_t **p);
+typedef herr_t (*H5S_sel_serialize_func_t)(const H5S_t *space, uint8_t **p, H5F_t *f);
/* Method to create selection from "serialized" form (a byte sequence suitable for storing on disk) */
typedef herr_t (*H5S_sel_deserialize_func_t)(H5S_t *space, uint32_t version, uint8_t flags,
const uint8_t **p);
@@ -225,7 +245,7 @@ typedef hsize_t (*H5S_sel_iter_nelmts_func_t)(const H5S_sel_iter_t *iter);
/* Method to determine if there are more blocks left in the current selection */
typedef htri_t (*H5S_sel_iter_has_next_block_func_t)(const H5S_sel_iter_t *iter);
/* Method to move selection iterator to the next element in the selection */
-typedef herr_t (*H5S_sel_iter_next_func_t)(H5S_sel_iter_t *iter, size_t nelem);
+typedef herr_t (*H5S_sel_iter_next_func_t)(H5S_sel_iter_t *iter, hsize_t nelem);
/* Method to move selection iterator to the next block in the selection */
typedef herr_t (*H5S_sel_iter_next_block_func_t)(H5S_sel_iter_t *iter);
/* Method to release iterator for current selection */
@@ -265,8 +285,9 @@ H5_DLLVAR const H5S_select_class_t H5S_sel_none[1];
*/
H5_DLLVAR const H5S_select_class_t H5S_sel_point[1];
-/* Array of versions for Dataspace */
+/* Array of versions for Dataspace and hyperslab selections */
H5_DLLVAR const unsigned H5O_sdspace_ver_bounds[H5F_LIBVER_NBOUNDS];
+H5_DLLVAR const unsigned H5O_sds_hyper_ver_bounds[H5F_LIBVER_NBOUNDS];
/* Extent functions */
H5_DLL herr_t H5S_extent_release(H5S_extent_t *extent);