summaryrefslogtreecommitdiffstats
path: root/src/H5Spublic.h
diff options
context:
space:
mode:
authorQuincey Koziol <koziol@hdfgroup.org>1998-07-06 21:01:13 (GMT)
committerQuincey Koziol <koziol@hdfgroup.org>1998-07-06 21:01:13 (GMT)
commit43f13aeca28a722d6436d43dcd84a59918dc0950 (patch)
tree1ee94e4f1b64a7d027112d616d8617992c09520a /src/H5Spublic.h
parentd70e61b1dbd7ff16aa4ac5cad4a69bf87b84f208 (diff)
downloadhdf5-43f13aeca28a722d6436d43dcd84a59918dc0950.zip
hdf5-43f13aeca28a722d6436d43dcd84a59918dc0950.tar.gz
hdf5-43f13aeca28a722d6436d43dcd84a59918dc0950.tar.bz2
[svn-r451] Completely tore out existing dataspace API and replaced with code to match
API defined in the html/Dataspaces.html document. This code does not include support for strides, merging selections, or permutations of coordinates yet, but it's a drop-in replacement for the existing API with the same features.
Diffstat (limited to 'src/H5Spublic.h')
-rw-r--r--src/H5Spublic.h22
1 files changed, 14 insertions, 8 deletions
diff --git a/src/H5Spublic.h b/src/H5Spublic.h
index 39b6502..b7c0f01 100644
--- a/src/H5Spublic.h
+++ b/src/H5Spublic.h
@@ -13,8 +13,8 @@
/*
* This file contains public declarations for the H5S module.
*/
-#ifndef _H5pproto_H
-#define _H5Sproto_H
+#ifndef _H5Spublic_H
+#define _H5Spublic_H
/* Public headers needed by this file */
#include <H5public.h>
@@ -32,13 +32,20 @@ typedef enum H5S_class_t {
H5S_COMPLEX = 2 /*complex data space */
} H5S_class_t;
+/* Different ways of combining selections */
+typedef enum H5S_seloper_t {
+ H5S_NOOP = -1, /*error */
+ H5S_SELECT_SET = 0 /* Select "set" operation */
+} H5S_seloper_t;
+
#ifdef __cplusplus
extern "C" {
#endif
/* Functions in H5S.c */
-hid_t H5Screate_simple (int rank, const hsize_t dims[],
- const hsize_t maxdims[]);
+hid_t H5Screate(H5S_class_t type);
+hid_t H5Screate_simple (int rank, const hsize_t dims[], const hsize_t maxdims[]);
+herr_t H5Sset_extent_simple (hid_t sid, int rank, const hsize_t *dims, const hsize_t *max);
hid_t H5Scopy (hid_t space_id);
herr_t H5Sclose (hid_t space_id);
hsize_t H5Sget_npoints (hid_t space_id);
@@ -46,10 +53,9 @@ int H5Sget_ndims (hid_t space_id);
int H5Sget_dims (hid_t space_id, hsize_t dims[], hsize_t maxdims[]);
hbool_t H5Sis_simple (hid_t space_id);
herr_t H5Sset_space (hid_t space_id, int rank, const hsize_t *dims);
-herr_t H5Sset_hyperslab(hid_t sid, const hssize_t *start, const hsize_t *count,
- const hsize_t *stride);
-int H5Sget_hyperslab (hid_t sid, hssize_t offset[]/*out*/,
- hsize_t size[]/*out*/, hsize_t stride[]/*out*/);
+hsize_t H5Sselect_npoints (hid_t spaceid);
+herr_t H5Sselect_hyperslab (hid_t spaceid, H5S_seloper_t op, hssize_t *start,
+ hssize_t *_stride, hssize_t *count, hssize_t *_block);
#ifdef __cplusplus
}