summaryrefslogtreecommitdiffstats
path: root/src/H5Spublic.h
diff options
context:
space:
mode:
authorQuincey Koziol <koziol@hdfgroup.org>2002-02-07 16:21:24 (GMT)
committerQuincey Koziol <koziol@hdfgroup.org>2002-02-07 16:21:24 (GMT)
commit9d98d34210f52b97d7bef4e1eec3bd0c6d134b30 (patch)
treee72ac96ae05bc82427aecf27bf3fdb37dbc496cb /src/H5Spublic.h
parent1f3762ff88f9f9b0b7ce4ae177aee237830fde45 (diff)
downloadhdf5-9d98d34210f52b97d7bef4e1eec3bd0c6d134b30.zip
hdf5-9d98d34210f52b97d7bef4e1eec3bd0c6d134b30.tar.gz
hdf5-9d98d34210f52b97d7bef4e1eec3bd0c6d134b30.tar.bz2
[svn-r4914] Purpose:
Bug fix & feature add Description: Added new API function H5Sget_select_type to determine type of selection in a dataspace. Return values are defined by the H5S_sel_type enumerated type in H5Spublic.h Also, hyperslab operations involving a "all" or "none" selection are not generating the correct resulting selections. Solution: Added more code to make hyperslab operations against an "all" or "none" selection generate the correct results. Platforms tested: FreeBSD 4.5 (sleipnir)
Diffstat (limited to 'src/H5Spublic.h')
-rw-r--r--src/H5Spublic.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/H5Spublic.h b/src/H5Spublic.h
index 7c5ab31..5fd7448 100644
--- a/src/H5Spublic.h
+++ b/src/H5Spublic.h
@@ -74,6 +74,16 @@ typedef enum H5S_seloper_t {
H5S_SELECT_INVALID /* Invalid upper bound on selection operations */
} H5S_seloper_t;
+/* Enumerated type for the type of selection */
+typedef enum {
+ H5S_SEL_ERROR = -1, /* Error */
+ H5S_SEL_NONE = 0, /* Nothing selected */
+ H5S_SEL_POINTS = 1, /* Sequence of points selected */
+ H5S_SEL_HYPERSLABS = 2, /* "New-style" hyperslab selection defined */
+ H5S_SEL_ALL = 3, /* Entire extent selected */
+ H5S_SEL_N = 4 /*THIS MUST BE LAST */
+}H5S_sel_type;
+
#ifdef __cplusplus
extern "C" {
#endif
@@ -125,6 +135,7 @@ __DLL__ hssize_t H5Sget_select_elem_npoints(hid_t spaceid);
__DLL__ herr_t H5Sget_select_hyper_blocklist(hid_t spaceid, hsize_t startblock, hsize_t numblocks, hsize_t *buf);
__DLL__ herr_t H5Sget_select_elem_pointlist(hid_t spaceid, hsize_t startpoint, hsize_t numpoints, hsize_t *buf);
__DLL__ herr_t H5Sget_select_bounds(hid_t spaceid, hsize_t *start, hsize_t *end);
+__DLL__ H5S_sel_type H5Sget_select_type(hid_t spaceid);
#ifdef __cplusplus
}