/**************************************************************************** * NCSA HDF * * Software Development Group * * National Center for Supercomputing Applications * * University of Illinois at Urbana-Champaign * * 605 E. Springfield, Champaign IL 61820 * * * * For conditions of distribution and use, see the accompanying * * hdf/COPYING file. * * * ****************************************************************************/ /* * This file contains public declarations for the H5S module. */ #ifndef _H5pproto_H #define _H5Sproto_H /* Public headers needed by this file */ #include #include /* Define atomic datatypes */ #define H5S_ALL (-2) #define H5S_UNLIMITED ((size_t)(-1L)) /* Different types of dataspaces */ typedef enum H5S_class_t { H5S_NO_CLASS = -1, /*error */ H5S_SCALAR = 0, /*scalar variable */ H5S_SIMPLE = 1, /*simple data space */ H5S_COMPLEX = 2 /*complex data space */ } H5S_class_t; #ifdef __cplusplus extern "C" { #endif /* Functions in H5S.c */ hid_t H5Screate_simple (int rank, const size_t dims[], const size_t maxdims[]); hid_t H5Scopy (hid_t space_id); herr_t H5Sclose (hid_t space_id); size_t H5Sget_npoints (hid_t space_id); int H5Sget_ndims (hid_t space_id); int H5Sget_dims (hid_t space_id, size_t dims[]); hbool_t H5Sis_simple (hid_t space_id); herr_t H5Sset_space (hid_t space_id, int rank, const size_t *dims); herr_t H5Sset_hyperslab(hid_t sid, const int *start, const size_t *count, const size_t *stride); int H5Sget_hyperslab (hid_t sid, int offset[]/*out*/, size_t size[]/*out*/, size_t stride[]/*out*/); #ifdef __cplusplus } #endif #endif