summaryrefslogtreecommitdiffstats
path: root/src/H5S.c
diff options
context:
space:
mode:
authorQuincey Koziol <koziol@hdfgroup.org>2000-10-10 07:43:38 (GMT)
committerQuincey Koziol <koziol@hdfgroup.org>2000-10-10 07:43:38 (GMT)
commitba28c64ba7b36ee8a98c2f312f87fa1424f9a07c (patch)
tree3e890bc815dc7417676b608423d39f2b4294ce82 /src/H5S.c
parent428f04e82a7bff2e4a7600db9616ff3a5ecd07a8 (diff)
downloadhdf5-ba28c64ba7b36ee8a98c2f312f87fa1424f9a07c.zip
hdf5-ba28c64ba7b36ee8a98c2f312f87fa1424f9a07c.tar.gz
hdf5-ba28c64ba7b36ee8a98c2f312f87fa1424f9a07c.tar.bz2
[svn-r2652] Purpose:
Maintainance & performance enhancements Description: Re-arranged header files to protect private symbols better. Changed optimized regular hyperslab I/O to compute the offsets more efficiently from previous method of using matrix operations. Added sequential I/O operations at a more abstract level (at the same level as H5F_arr_read/write), to support the optimized hyperslab I/O. Platforms tested: Solaris 2.6 (baldric) & FreeBSD 4.1.1 (hawkwind)
Diffstat (limited to 'src/H5S.c')
-rw-r--r--src/H5S.c40
1 files changed, 38 insertions, 2 deletions
diff --git a/src/H5S.c b/src/H5S.c
index 485d92f..5db6c7a 100644
--- a/src/H5S.c
+++ b/src/H5S.c
@@ -16,6 +16,8 @@ static char RcsId[] = "@(#)$Revision$";
/* $Id$ */
+#define H5S_PACKAGE /*suppress error about including H5Spkg */
+
#define _H5S_IN_H5S_C
#include <H5private.h> /* Generic Functions */
#include <H5Iprivate.h> /* ID Functions */
@@ -23,7 +25,7 @@ static char RcsId[] = "@(#)$Revision$";
#include <H5FLprivate.h> /* Free Lists */
#include <H5MMprivate.h> /* Memory Management functions */
#include <H5Oprivate.h> /* object headers */
-#include <H5Sprivate.h> /* Data-space functions */
+#include <H5Spkg.h> /* Data-space functions */
/* Interface initialization */
#define PABLO_MASK H5S_mask
@@ -1722,6 +1724,40 @@ H5Screate_simple(int rank, const hsize_t dims[/*rank*/],
if (ret_value<0 && space) H5S_close(space);
FUNC_LEAVE(ret_value);
}
+
+
+/*-------------------------------------------------------------------------
+ * Function: H5S_get_simple_extent_type
+ *
+ * Purpose: Internal function for retrieving the type of extent for a dataspace object
+ *
+ * Return: Success: The class of the dataspace object
+ *
+ * Failure: N5S_NO_CLASS
+ *
+ * Errors:
+ *
+ * Programmer: Quincey Koziol
+ * Thursday, September 28, 2000
+ *
+ * Modifications:
+ *
+ *-------------------------------------------------------------------------
+ */
+H5S_class_t
+H5S_get_simple_extent_type(const H5S_t *space)
+{
+ H5S_class_t ret_value = H5S_NO_CLASS;
+
+ FUNC_ENTER(H5S_get_simple_extent_type, H5S_NO_CLASS);
+
+ assert(space);
+
+ ret_value=space->extent.type;
+
+ FUNC_LEAVE(ret_value);
+}
+
/*-------------------------------------------------------------------------
* Function: H5Sget_simple_extent_type
@@ -1755,7 +1791,7 @@ H5Sget_simple_extent_type(hid_t sid)
HRETURN_ERROR(H5E_ARGS, H5E_BADTYPE, H5S_NO_CLASS, "not a dataspace");
}
- ret_value=space->extent.type;
+ ret_value=H5S_get_simple_extent_type(space);
FUNC_LEAVE(ret_value);
}