summaryrefslogtreecommitdiffstats
path: root/src/H5Spkg.h
diff options
context:
space:
mode:
authorQuincey Koziol <koziol@hdfgroup.org>2003-05-08 20:09:07 (GMT)
committerQuincey Koziol <koziol@hdfgroup.org>2003-05-08 20:09:07 (GMT)
commit390f1d02846803abfd46d30b3bd27894a30698c6 (patch)
treeaa0269135e97f1e92f0c33d970dac519d5025532 /src/H5Spkg.h
parent3fff86acfa11ab756a8f72f3a30478677fb7bcf6 (diff)
downloadhdf5-390f1d02846803abfd46d30b3bd27894a30698c6.zip
hdf5-390f1d02846803abfd46d30b3bd27894a30698c6.tar.gz
hdf5-390f1d02846803abfd46d30b3bd27894a30698c6.tar.bz2
[svn-r6837] Purpose:
Code cleanup. Description: Move many package or internal function prototypes and macro definitions into tighter scope according to their current use. Added more comments where appropriate. Eliminate ancient, unused functions. Added a couple "accessor" functions to get parts of data structures which were moved out of scope. Platforms tested: h5committested
Diffstat (limited to 'src/H5Spkg.h')
-rw-r--r--src/H5Spkg.h51
1 files changed, 47 insertions, 4 deletions
diff --git a/src/H5Spkg.h b/src/H5Spkg.h
index 7844d14..61f291f 100644
--- a/src/H5Spkg.h
+++ b/src/H5Spkg.h
@@ -29,6 +29,16 @@
#include "H5Sprivate.h"
+/* Number of reserved IDs in ID group */
+#define H5S_RESERVED_ATOMS 2
+
+/* Flags to indicate special dataspace features are active */
+#define H5S_VALID_MAX 0x01
+#define H5S_VALID_PERM 0x02
+
+/* Flags for "get_seq_list" methods */
+#define H5S_GET_SEQ_LIST_SORTED 0x0001
+
/*
* Dataspace extent information
*/
@@ -173,6 +183,10 @@ H5_DLL herr_t H5S_close_simple(H5S_simple_t *simple);
H5_DLL herr_t H5S_release_simple(H5S_simple_t *simple);
H5_DLL herr_t H5S_extent_copy(H5S_extent_t *dst, const H5S_extent_t *src);
+/* Operations on selections */
+H5_DLL herr_t H5S_select_copy(H5S_t *dst, const H5S_t *src);
+H5_DLL htri_t H5S_select_shape_same(const H5S_t *space1, const H5S_t *space2);
+
/* Point selection iterator functions */
H5_DLL herr_t H5S_point_iter_init(H5S_sel_iter_t *iter, const H5S_t *space, size_t elmt_size);
H5_DLL herr_t H5S_point_iter_coords(const H5S_sel_iter_t *iter, hssize_t *coords);
@@ -262,9 +276,38 @@ H5_DLL htri_t H5S_none_is_regular(const H5S_t *space);
H5_DLL herr_t H5S_none_get_seq_list(const H5S_t *space, unsigned flags,
H5S_sel_iter_t *iter, size_t elem_size, size_t maxseq, size_t maxbytes,
size_t *nseq, size_t *nbytes, hsize_t *off, size_t *len);
-/* Needed for use in hyperslab code (H5Shyper.c) */
-#ifdef NEW_HYPERSLAB_API
-H5_DLL herr_t H5S_select_select (H5S_t *space1, H5S_seloper_t op, H5S_t *space2);
-#endif /*NEW_HYPERSLAB_API*/
+
+#ifdef H5_HAVE_PARALLEL
+/* MPI-IO function to read directly from app buffer to file rky980813 */
+H5_DLL herr_t H5S_mpio_spaces_read(H5F_t *f,
+ const struct H5O_layout_t *layout,
+ H5P_genplist_t *dc_plist,
+ const H5O_efl_t *efl,
+ size_t elmt_size, const H5S_t *file_space,
+ const H5S_t *mem_space, hid_t dxpl_id,
+ void *buf/*out*/);
+
+/* MPI-IO function to write directly from app buffer to file rky980813 */
+H5_DLL herr_t H5S_mpio_spaces_write(H5F_t *f,
+ struct H5O_layout_t *layout,
+ H5P_genplist_t *dc_plist,
+ const H5O_efl_t *efl,
+ size_t elmt_size, const H5S_t *file_space,
+ const H5S_t *mem_space, hid_t dxpl_id,
+ const void *buf);
+
+/* MPI-IO function to check if a direct I/O transfer is possible between
+ * memory and the file */
+H5_DLL htri_t H5S_mpio_opt_possible(const H5S_t *mem_space,
+ const H5S_t *file_space, const unsigned flags);
+
+#ifndef _H5S_IN_H5S_C
+/* Global vars whose value comes from environment variable */
+/* (Defined in H5S.c) */
+H5_DLLVAR hbool_t H5S_mpi_opt_types_g;
+H5_DLLVAR hbool_t H5S_mpi_prefer_derived_types_g;
+#endif /* _H5S_IN_H5S_C */
+
+#endif /* H5_HAVE_PARALLEL */
#endif /*_H5Spkg_H*/