summaryrefslogtreecommitdiffstats
path: root/java
diff options
context:
space:
mode:
authorLarry Knox <lrknox@hdfgroup.org>2020-10-29 21:29:17 (GMT)
committerGitHub <noreply@github.com>2020-10-29 21:29:17 (GMT)
commit6c0f954d683142e123baa4d48f5a69d5e20aa11d (patch)
tree4e86ef115e405f3e2852d2db7c8f3d8cd7068f26 /java
parentad174fcca53a8e1a8cdf2f99a25926e7148820d7 (diff)
parenta4cbd51db61868d6190d7c10764b0c9e9666b6ee (diff)
downloadhdf5-6c0f954d683142e123baa4d48f5a69d5e20aa11d.zip
hdf5-6c0f954d683142e123baa4d48f5a69d5e20aa11d.tar.gz
hdf5-6c0f954d683142e123baa4d48f5a69d5e20aa11d.tar.bz2
Merge pull request #62 from byrnHDF/develop
HDFFV-10868 - add H5Sselect API java wrappers.
Diffstat (limited to 'java')
-rw-r--r--java/src/hdf/hdf5lib/H5.java622
-rw-r--r--java/src/hdf/hdf5lib/HDF5Constants.java484
-rw-r--r--java/src/jni/h5Constants.c374
-rw-r--r--java/src/jni/h5sImp.c383
-rw-r--r--java/src/jni/h5sImp.h59
-rw-r--r--java/test/TestH5Sbasic.java138
-rw-r--r--java/test/testfiles/JUnit-TestH5Sbasic.txt16
7 files changed, 1833 insertions, 243 deletions
diff --git a/java/src/hdf/hdf5lib/H5.java b/java/src/hdf/hdf5lib/H5.java
index f7d8dc4..1f6d0dc 100644
--- a/java/src/hdf/hdf5lib/H5.java
+++ b/java/src/hdf/hdf5lib/H5.java
@@ -5370,7 +5370,6 @@ public class H5 implements java.io.Serializable {
**/
public synchronized static native long H5Iget_file_id(long obj_id) throws HDF5LibraryException;
-
/**
* H5Iget_name_long retrieves the name of an object specified by the identifier, obj_id.
* @deprecated
@@ -5387,6 +5386,7 @@ public class H5 implements java.io.Serializable {
* @exception HDF5LibraryException
* - Error from the HDF-5 Library.
**/
+ @Deprecated
public synchronized static native long H5Iget_name_long(long obj_id, String[] name, long size)
throws HDF5LibraryException, NullPointerException;
/**
@@ -10047,7 +10047,7 @@ public class H5 implements java.io.Serializable {
throws HDF5LibraryException, NullPointerException;
/**
- * H5Pget_fapl_direct queries properties set by the H5Pset_fapl_core.
+ * H5Pget_fapl_direct queries properties set by the H5Pset_fapl_direct.
*
* @param fapl_id
* IN: File access property list identifier
@@ -11028,50 +11028,7 @@ public class H5 implements java.io.Serializable {
// //
// ////////////////////////////////////////////////////////////
- /**
- * H5Sclose releases a dataspace.
- *
- * @param space_id
- * Identifier of dataspace to release.
- *
- * @return a non-negative value if successful
- *
- * @exception HDF5LibraryException
- * - Error from the HDF-5 Library.
- **/
- public static int H5Sclose(long space_id) throws HDF5LibraryException {
- if (space_id < 0)
- return 0; // throw new HDF5LibraryException("Negative ID");;
-
- log.trace("OPEN_IDS: H5Sclose remove {}", space_id);
- OPEN_IDS.remove(space_id);
- log.trace("OPEN_IDS: {}", OPEN_IDS.size());
- return _H5Sclose(space_id);
- }
-
- private synchronized static native int _H5Sclose(long space_id) throws HDF5LibraryException;
-
- /**
- * H5Scopy creates a new dataspace which is an exact copy of the dataspace identified by space_id.
- *
- * @param space_id
- * Identifier of dataspace to copy.
- * @return a dataspace identifier if successful
- *
- * @exception HDF5LibraryException
- * - Error from the HDF-5 Library.
- **/
- public static long H5Scopy(long space_id) throws HDF5LibraryException {
- long id = _H5Scopy(space_id);
- if (id > 0) {
- log.trace("OPEN_IDS: H5Scopy add {}", id);
- OPEN_IDS.add(id);
- log.trace("OPEN_IDS: {}", OPEN_IDS.size());
- }
- return id;
- }
-
- private synchronized static native long _H5Scopy(long space_id) throws HDF5LibraryException;
+ /**************** Operations on dataspaces ********************/
/**
* H5Screate creates a new dataspace of a particular type.
@@ -11128,19 +11085,96 @@ public class H5 implements java.io.Serializable {
throws HDF5Exception, NullPointerException;
/**
- * H5Sdecode reconstructs the HDF5 data space object and returns a new object handle for it.
+ * H5Sset_extent_simple sets or resets the size of an existing dataspace.
*
- * @param buf
- * IN: Buffer for the data space object to be decoded.
+ * @param space_id
+ * Dataspace identifier.
+ * @param rank
+ * Rank, or dimensionality, of the dataspace.
+ * @param current_size
+ * Array containing current size of dataspace.
+ * @param maximum_size
+ * Array containing maximum size of dataspace.
*
- * @return a new object handle
+ * @return a dataspace identifier if successful
*
* @exception HDF5LibraryException
* - Error from the HDF-5 Library.
- * @exception NullPointerException
- * - buf is null.
**/
- public synchronized static native long H5Sdecode(byte[] buf) throws HDF5LibraryException, NullPointerException;
+ public synchronized static native long H5Sset_extent_simple(long space_id, int rank, long[] current_size,
+ long[] maximum_size) throws HDF5LibraryException, NullPointerException;
+
+ /**
+ * H5Sset_extent_simple sets or resets the size of an existing dataspace.
+ *
+ * @param space_id
+ * Dataspace identifier.
+ * @param rank
+ * Rank, or dimensionality, of the dataspace.
+ * @param current_size
+ * Array containing current size of dataspace.
+ * @param maximum_size
+ * Array containing maximum size of dataspace.
+ *
+ * @return a dataspace identifier if successful
+ *
+ * @exception HDF5LibraryException
+ * - Error from the HDF-5 Library.
+ **/
+ public synchronized static long H5Sset_extent_simple(long space_id, int rank, byte[] current_size,
+ byte[] maximum_size) throws HDF5LibraryException, NullPointerException {
+ ByteBuffer csbb = ByteBuffer.wrap(current_size);
+ long[] lacs = (csbb.asLongBuffer()).array();
+ ByteBuffer maxsbb = ByteBuffer.wrap(maximum_size);
+ long[] lamaxs = (maxsbb.asLongBuffer()).array();
+
+ return H5Sset_extent_simple(space_id, rank, lacs, lamaxs);
+ }
+
+ /**
+ * H5Scopy creates a new dataspace which is an exact copy of the dataspace identified by space_id.
+ *
+ * @param space_id
+ * Identifier of dataspace to copy.
+ * @return a dataspace identifier if successful
+ *
+ * @exception HDF5LibraryException
+ * - Error from the HDF-5 Library.
+ **/
+ public static long H5Scopy(long space_id) throws HDF5LibraryException {
+ long id = _H5Scopy(space_id);
+ if (id > 0) {
+ log.trace("OPEN_IDS: H5Scopy add {}", id);
+ OPEN_IDS.add(id);
+ log.trace("OPEN_IDS: {}", OPEN_IDS.size());
+ }
+ return id;
+ }
+
+ private synchronized static native long _H5Scopy(long space_id) throws HDF5LibraryException;
+
+ /**
+ * H5Sclose releases a dataspace.
+ *
+ * @param space_id
+ * Identifier of dataspace to release.
+ *
+ * @return a non-negative value if successful
+ *
+ * @exception HDF5LibraryException
+ * - Error from the HDF-5 Library.
+ **/
+ public static int H5Sclose(long space_id) throws HDF5LibraryException {
+ if (space_id < 0)
+ return 0; // throw new HDF5LibraryException("Negative ID");;
+
+ log.trace("OPEN_IDS: H5Sclose remove {}", space_id);
+ OPEN_IDS.remove(space_id);
+ log.trace("OPEN_IDS: {}", OPEN_IDS.size());
+ return _H5Sclose(space_id);
+ }
+
+ private synchronized static native int _H5Sclose(long space_id) throws HDF5LibraryException;
/**
* H5Sencode converts a data space description into binary form in a buffer.
@@ -11156,154 +11190,139 @@ public class H5 implements java.io.Serializable {
public synchronized static native byte[] H5Sencode(long obj_id) throws HDF5LibraryException, NullPointerException;
/**
- * H5Sextent_copy copies the extent from source_space_id to dest_space_id. This action may change the type of the
- * dataspace.
+ * H5Sdecode reconstructs the HDF5 data space object and returns a new object handle for it.
*
- * @param dest_space_id
- * IN: The identifier for the dataspace from which the extent is copied.
- * @param source_space_id
- * IN: The identifier for the dataspace to which the extent is copied.
+ * @param buf
+ * IN: Buffer for the data space object to be decoded.
*
- * @return a non-negative value if successful
+ * @return a new object handle
*
* @exception HDF5LibraryException
* - Error from the HDF-5 Library.
+ * @exception NullPointerException
+ * - buf is null.
**/
- public synchronized static native int H5Sextent_copy(long dest_space_id, long source_space_id)
- throws HDF5LibraryException;
+ public synchronized static native long H5Sdecode(byte[] buf) throws HDF5LibraryException, NullPointerException;
/**
- * H5Sextent_equal determines whether the dataspace extents of two dataspaces, space1_id and space2_id, are equal.
+ * H5Sget_simple_extent_npoints determines the number of elements in a dataspace.
*
- * @param first_space_id
- * IN: The identifier for the first dataspace.
- * @param second_space_id
- * IN: The identifier for the seconddataspace.
+ * @param space_id
+ * ID of the dataspace object to query
+ * @return the number of elements in the dataspace if successful
*
- * @return true if successful, else false
+ * @exception HDF5LibraryException
+ * - Error from the HDF-5 Library.
+ **/
+ public synchronized static native long H5Sget_simple_extent_npoints(long space_id) throws HDF5LibraryException;
+
+ /**
+ * H5Sget_simple_extent_ndims determines the dimensionality (or rank) of a dataspace.
+ *
+ * @param space_id
+ * IN: Identifier of the dataspace
+ *
+ * @return the number of dimensions in the dataspace if successful
*
* @exception HDF5LibraryException
* - Error from the HDF-5 Library.
**/
- public synchronized static native boolean H5Sextent_equal(long first_space_id, long second_space_id)
- throws HDF5LibraryException;
+ public synchronized static native int H5Sget_simple_extent_ndims(long space_id) throws HDF5LibraryException;
/**
- * H5Sget_select_bounds retrieves the coordinates of the bounding box containing the current selection and places
- * them into user-supplied buffers.
- * <P>
- * The start and end buffers must be large enough to hold the dataspace rank number of coordinates.
+ * H5Sget_simple_extent_dims returns the size and maximum sizes of each dimension of a dataspace through the dims
+ * and maxdims parameters.
*
- * @param spaceid
- * Identifier of dataspace to release.
- * @param start
- * coordinates of lowest corner of bounding box.
- * @param end
- * coordinates of highest corner of bounding box.
+ * @param space_id
+ * IN: Identifier of the dataspace object to query
+ * @param dims
+ * OUT: Pointer to array to store the size of each dimension.
+ * @param maxdims
+ * OUT: Pointer to array to store the maximum size of each dimension.
*
- * @return a non-negative value if successful,with start and end initialized.
+ * @return the number of dimensions in the dataspace if successful
*
* @exception HDF5LibraryException
* - Error from the HDF-5 Library.
* @exception NullPointerException
- * - start or end is null.
+ * - dims or maxdims is null.
**/
- public synchronized static native int H5Sget_select_bounds(long spaceid, long[] start, long[] end)
+ public synchronized static native int H5Sget_simple_extent_dims(long space_id, long[] dims, long[] maxdims)
throws HDF5LibraryException, NullPointerException;
/**
- * H5Sget_select_elem_npoints returns the number of element points in the current dataspace selection.
+ * H5Sis_simple determines whether a dataspace is a simple dataspace.
*
- * @param spaceid
- * Identifier of dataspace to release.
+ * @param space_id
+ * Identifier of the dataspace to query
*
- * @return a non-negative value if successful
+ * @return true if is a simple dataspace
*
* @exception HDF5LibraryException
* - Error from the HDF-5 Library.
**/
- public synchronized static native long H5Sget_select_elem_npoints(long spaceid) throws HDF5LibraryException;
+ public synchronized static native boolean H5Sis_simple(long space_id) throws HDF5LibraryException;
/**
- * H5Sget_select_elem_pointlist returns an array of of element points in the current dataspace selection. The point
- * coordinates have the same dimensionality (rank) as the dataspace they are located within, one coordinate per
- * point.
+ * H5Sget_simple_extent_type queries a dataspace to determine the current class of a dataspace.
*
- * @param spaceid
- * Identifier of dataspace to release.
- * @param startpoint
- * first point to retrieve
- * @param numpoints
- * number of points to retrieve
- * @param buf
- * returns points startblock to startblock+num-1, each points is <i>rank</i> longs.
+ * @param space_id
+ * Dataspace identifier.
*
- * @return a non-negative value if successful
+ * @return a dataspace class name if successful
*
* @exception HDF5LibraryException
* - Error from the HDF-5 Library.
- * @exception NullPointerException
- * - buf is null.
**/
- public synchronized static native int H5Sget_select_elem_pointlist(long spaceid, long startpoint, long numpoints,
- long[] buf) throws HDF5LibraryException, NullPointerException;
+ public synchronized static native int H5Sget_simple_extent_type(long space_id) throws HDF5LibraryException;
/**
- * H5Sget_select_hyper_blocklist returns an array of hyperslab blocks. The block coordinates have the same
- * dimensionality (rank) as the dataspace they are located within. The list of blocks is formatted as follows:
- *
- * <pre>
- * &lt;"start" coordinate&gt;, immediately followed by
- * &lt;"opposite" corner coordinate&gt;, followed by
- * the next "start" and "opposite" coordinates,
- * etc.
- * until all of the selected blocks have been listed.
- * </pre>
+ * H5Sset_extent_none removes the extent from a dataspace and sets the type to H5S_NONE.
*
- * @param spaceid
- * Identifier of dataspace to release.
- * @param startblock
- * first block to retrieve
- * @param numblocks
- * number of blocks to retrieve
- * @param buf
- * returns blocks startblock to startblock+num-1, each block is <i>rank</i> * 2 (corners) longs.
+ * @param space_id
+ * The identifier for the dataspace from which the extent is to be removed.
*
* @return a non-negative value if successful
*
* @exception HDF5LibraryException
* - Error from the HDF-5 Library.
- * @exception NullPointerException
- * - buf is null.
**/
- public synchronized static native int H5Sget_select_hyper_blocklist(long spaceid, long startblock, long numblocks,
- long[] buf) throws HDF5LibraryException, NullPointerException;
+ public synchronized static native int H5Sset_extent_none(long space_id) throws HDF5LibraryException;
/**
- * H5Sget_select_hyper_nblocks returns the number of hyperslab blocks in the current dataspace selection.
+ * H5Sextent_copy copies the extent from source_space_id to dest_space_id. This action may change the type of the
+ * dataspace.
*
- * @param spaceid
- * Identifier of dataspace to release.
+ * @param dest_space_id
+ * IN: The identifier for the dataspace from which the extent is copied.
+ * @param source_space_id
+ * IN: The identifier for the dataspace to which the extent is copied.
*
* @return a non-negative value if successful
*
* @exception HDF5LibraryException
* - Error from the HDF-5 Library.
**/
- public synchronized static native long H5Sget_select_hyper_nblocks(long spaceid) throws HDF5LibraryException;
+ public synchronized static native int H5Sextent_copy(long dest_space_id, long source_space_id)
+ throws HDF5LibraryException;
/**
- * H5Sget_select_npoints determines the number of elements in the current selection of a dataspace.
+ * H5Sextent_equal determines whether the dataspace extents of two dataspaces, space1_id and space2_id, are equal.
*
- * @param space_id
- * IN: Identifier of the dataspace object to query
+ * @param first_space_id
+ * IN: The identifier for the first dataspace.
+ * @param second_space_id
+ * IN: The identifier for the seconddataspace.
*
- * @return the number of elements in the selection if successful
+ * @return true if successful, else false
*
* @exception HDF5LibraryException
* - Error from the HDF-5 Library.
**/
- public synchronized static native long H5Sget_select_npoints(long space_id) throws HDF5LibraryException;
+ public synchronized static native boolean H5Sextent_equal(long first_space_id, long second_space_id)
+ throws HDF5LibraryException;
+
+ /***************** Operations on dataspace selections *****************/
/**
* H5Sget_select_type retrieves the type of selection currently defined for the dataspace space_id.
@@ -11319,76 +11338,118 @@ public class H5 implements java.io.Serializable {
public synchronized static native int H5Sget_select_type(long space_id) throws HDF5LibraryException;
/**
- * H5Sget_simple_extent_dims returns the size and maximum sizes of each dimension of a dataspace through the dims
- * and maxdims parameters.
+ * H5Sget_select_npoints determines the number of elements in the current selection of a dataspace.
*
* @param space_id
* IN: Identifier of the dataspace object to query
- * @param dims
- * OUT: Pointer to array to store the size of each dimension.
- * @param maxdims
- * OUT: Pointer to array to store the maximum size of each dimension.
*
- * @return the number of dimensions in the dataspace if successful
+ * @return the number of elements in the selection if successful
*
* @exception HDF5LibraryException
* - Error from the HDF-5 Library.
- * @exception NullPointerException
- * - dims or maxdims is null.
**/
- public synchronized static native int H5Sget_simple_extent_dims(long space_id, long[] dims, long[] maxdims)
- throws HDF5LibraryException, NullPointerException;
+ public synchronized static native long H5Sget_select_npoints(long space_id) throws HDF5LibraryException;
/**
- * H5Sget_simple_extent_ndims determines the dimensionality (or rank) of a dataspace.
+ * H5Sselect_copy copies all the selection information (including offset) from the source
+ * dataspace to the destination dataspace.
+ * @param dst_id ID of the destination dataspace
+ * @param src_id ID of the source dataspace
+ *
+ * @exception HDF5LibraryException
+ * - Error from the HDF-5 Library.
+ **/
+ public synchronized static native void H5Sselect_copy(long dst_id, long src_id) throws HDF5LibraryException;
+
+ /**
+ * H5Sselect_valid verifies that the selection for the dataspace.
*
* @param space_id
- * IN: Identifier of the dataspace
+ * The identifier for the dataspace in which the selection is being reset.
*
- * @return the number of dimensions in the dataspace if successful
+ * @return true if the selection is contained within the extent and FALSE if it is not or is an error.
*
* @exception HDF5LibraryException
* - Error from the HDF-5 Library.
**/
- public synchronized static native int H5Sget_simple_extent_ndims(long space_id) throws HDF5LibraryException;
+ public synchronized static native boolean H5Sselect_valid(long space_id) throws HDF5LibraryException;
/**
- * H5Sget_simple_extent_npoints determines the number of elements in a dataspace.
+ * H5Sselect_adjust moves a selection by subtracting an offset from it.
*
* @param space_id
- * ID of the dataspace object to query
- * @return the number of elements in the dataspace if successful
+ * ID of dataspace to adjust
+ * @param offset
+ * Offset to subtract
*
* @exception HDF5LibraryException
* - Error from the HDF-5 Library.
+ * @exception NullPointerException
+ * - offset is null.
**/
- public synchronized static native long H5Sget_simple_extent_npoints(long space_id) throws HDF5LibraryException;
+ public synchronized static native void H5Sselect_adjust(long space_id, long[][] offset)
+ throws HDF5LibraryException, NullPointerException;
/**
- * H5Sget_simple_extent_type queries a dataspace to determine the current class of a dataspace.
+ * H5Sget_select_bounds retrieves the coordinates of the bounding box containing the current selection and places
+ * them into user-supplied buffers.
+ * <P>
+ * The start and end buffers must be large enough to hold the dataspace rank number of coordinates.
*
* @param space_id
- * Dataspace identifier.
+ * Identifier of dataspace to release.
+ * @param start
+ * coordinates of lowest corner of bounding box.
+ * @param end
+ * coordinates of highest corner of bounding box.
*
- * @return a dataspace class name if successful
+ * @return a non-negative value if successful,with start and end initialized.
*
* @exception HDF5LibraryException
* - Error from the HDF-5 Library.
+ * @exception NullPointerException
+ * - start or end is null.
**/
- public synchronized static native int H5Sget_simple_extent_type(long space_id) throws HDF5LibraryException;
+ public synchronized static native int H5Sget_select_bounds(long space_id, long[] start, long[] end)
+ throws HDF5LibraryException, NullPointerException;
/**
- * H5Sis_simple determines whether a dataspace is a simple dataspace.
+ * H5Sselect_shape_same checks to see if the current selection in the dataspaces are the same
+ * dimensionality and shape.
+ * This is primarily used for reading the entire selection in one swoop.
+ *
+ * @param space1_id ID of 1st Dataspace pointer to compare
+ * @param space2_id ID of 2nd Dataspace pointer to compare
+ *
+ * @return true if the selection is the same dimensionality and shape;
+ * false otherwise
+ *
+ * @exception HDF5LibraryException
+ * - Error from the HDF-5 Library.
+ **/
+ public synchronized static native boolean H5Sselect_shape_same(long space1_id, long space2_id) throws HDF5LibraryException;
+
+ /**
+ * H5Sselect_intersect_block checks to see if the current selection in the
+ * dataspace intersects with the block given.
*
* @param space_id
- * Identifier of the dataspace to query
+ * ID of dataspace pointer to compare
+ * @param start
+ * Starting coordinate of block
+ * @param end
+ * Opposite ("ending") coordinate of block
*
- * @return true if is a simple dataspace
+ * @return a TRUE if the current selection in the dataspace intersects with the block given
+ * FALSE otherwise
*
* @exception HDF5LibraryException
* - Error from the HDF-5 Library.
+ * @exception NullPointerException
+ * - offset is null.
**/
- public synchronized static native boolean H5Sis_simple(long space_id) throws HDF5LibraryException;
+ public synchronized static native boolean H5Sselect_intersect_block(long space_id, long[] start, long[] end)
+ throws HDF5LibraryException, NullPointerException;
/**
* H5Soffset_simple sets the offset of a simple dataspace space_id.
@@ -11453,6 +11514,18 @@ public class H5 implements java.io.Serializable {
public synchronized static native int H5Sselect_all(long space_id) throws HDF5LibraryException;
/**
+ * H5Sselect_none resets the selection region for the dataspace space_id to include no elements.
+ *
+ * @param space_id
+ * IN: The identifier of the dataspace to be reset.
+ * @return a non-negative value if successful
+ *
+ * @exception HDF5LibraryException
+ * - Error from the HDF-5 Library.
+ **/
+ public synchronized static native int H5Sselect_none(long space_id) throws HDF5LibraryException;
+
+ /**
* H5Sselect_elements selects array elements to be included in the selection for the space_id dataspace.
*
* @param space_id
@@ -11510,6 +11583,43 @@ public class H5 implements java.io.Serializable {
}
/**
+ * H5Sget_select_elem_npoints returns the number of element points in the current dataspace selection.
+ *
+ * @param spaceid
+ * Identifier of dataspace to release.
+ *
+ * @return a non-negative value if successful
+ *
+ * @exception HDF5LibraryException
+ * - Error from the HDF-5 Library.
+ **/
+ public synchronized static native long H5Sget_select_elem_npoints(long spaceid) throws HDF5LibraryException;
+
+ /**
+ * H5Sget_select_elem_pointlist returns an array of of element points in the current dataspace selection. The point
+ * coordinates have the same dimensionality (rank) as the dataspace they are located within, one coordinate per
+ * point.
+ *
+ * @param spaceid
+ * Identifier of dataspace to release.
+ * @param startpoint
+ * first point to retrieve
+ * @param numpoints
+ * number of points to retrieve
+ * @param buf
+ * returns points startblock to startblock+num-1, each points is <i>rank</i> longs.
+ *
+ * @return a non-negative value if successful
+ *
+ * @exception HDF5LibraryException
+ * - Error from the HDF-5 Library.
+ * @exception NullPointerException
+ * - buf is null.
+ **/
+ public synchronized static native int H5Sget_select_elem_pointlist(long spaceid, long startpoint, long numpoints,
+ long[] buf) throws HDF5LibraryException, NullPointerException;
+
+ /**
* H5Sselect_hyperslab selects a hyperslab region to add to the current selected region for the dataspace specified
* by space_id. The start, stride, count, and block arrays must be the same size as the rank of the dataspace.
*
@@ -11578,90 +11688,89 @@ public class H5 implements java.io.Serializable {
public synchronized static native int H5Sselect_hyperslab(long space_id, int op, long[] start, long[] stride,
long[] count, long[] block) throws HDF5LibraryException, NullPointerException, IllegalArgumentException;
- /**
- * H5Sselect_none resets the selection region for the dataspace space_id to include no elements.
- *
- * @param space_id
- * IN: The identifier of the dataspace to be reset.
- * @return a non-negative value if successful
- *
- * @exception HDF5LibraryException
- * - Error from the HDF-5 Library.
- **/
- public synchronized static native int H5Sselect_none(long space_id) throws HDF5LibraryException;
/**
- * H5Sselect_valid verifies that the selection for the dataspace.
+ * H5Scombine_hyperslab combines a hyperslab selection with the current selection for a dataspace,
+ * creating a new dataspace to return the generated selection.
+ * If the current selection is not a hyperslab, it is freed and the hyperslab
+ * parameters passed in are combined with the H5S_SEL_ALL hyperslab (ie. a
+ * selection composing the entire current extent). If STRIDE or BLOCK is
+ * NULL, they are assumed to be set to all '1'.
*
* @param space_id
- * The identifier for the dataspace in which the selection is being reset.
+ * IN: Dataspace ID of selection to use
+ * @param op
+ * IN: Operation to perform on current selection.
+ * @param start
+ * IN: Offset of start of hyperslab
+ * @param stride
+ * IN: Hyperslab stride.
+ * @param count
+ * IN: Number of blocks included in hyperslab.
+ * @param block
+ * IN: Size of block in hyperslab.
*
- * @return true if the selection is contained within the extent and FALSE if it is not or is an error.
+ * @return a dataspace ID on success / H5I_INVALID_HID on failure
*
* @exception HDF5LibraryException
* - Error from the HDF-5 Library.
+ * @exception NullPointerException
+ * - an input array is null.
+ * @exception IllegalArgumentException
+ * - an input array is invalid.
**/
- public synchronized static native boolean H5Sselect_valid(long space_id) throws HDF5LibraryException;
+ public synchronized static native long H5Scombine_hyperslab(long space_id, int op, long[] start, long[] stride,
+ long[] count, long[] block) throws HDF5LibraryException, NullPointerException, IllegalArgumentException;
/**
- * H5Sset_extent_none removes the extent from a dataspace and sets the type to H5S_NONE.
- *
- * @param space_id
- * The identifier for the dataspace from which the extent is to be removed.
+ * H5Smodify_select refine an existing hyperslab selection with an operation, using a second
+ * hyperslab. The first selection is modified to contain the result of
+ * space1 operated on by space2.
*
- * @return a non-negative value if successful
+ * @param space1_id
+ * ID of the destination dataspace
+ * @param op
+ * Operation to perform on current selection.
+ * @param space2_id
+ * ID of the source dataspace
*
* @exception HDF5LibraryException
* - Error from the HDF-5 Library.
**/
- public synchronized static native int H5Sset_extent_none(long space_id) throws HDF5LibraryException;
+ public synchronized static native void H5Smodify_select(long space1_id, int op, long space2_id) throws HDF5LibraryException;
/**
- * H5Sset_extent_simple sets or resets the size of an existing dataspace.
+ * H5Scombine_select combines two existing hyperslab selections with an operation, returning
+ * a new dataspace with the resulting selection. The dataspace extent from
+ * space1 is copied for the dataspace extent of the newly created dataspace.
*
- * @param space_id
- * Dataspace identifier.
- * @param rank
- * Rank, or dimensionality, of the dataspace.
- * @param current_size
- * Array containing current size of dataspace.
- * @param maximum_size
- * Array containing maximum size of dataspace.
+ * @param space1_id
+ * ID of the first dataspace
+ * @param op
+ * Operation to perform on current selection.
+ * @param space2_id
+ * ID of the second dataspace
*
- * @return a dataspace identifier if successful
+ * @return a dataspace ID on success / H5I_INVALID_HID on failure
*
* @exception HDF5LibraryException
* - Error from the HDF-5 Library.
**/
- public synchronized static native long H5Sset_extent_simple(long space_id, int rank, long[] current_size,
- long[] maximum_size) throws HDF5LibraryException, NullPointerException;
+ public synchronized static native long H5Scombine_select(long space1_id, int op, long space2_id) throws HDF5LibraryException;
/**
- * H5Sset_extent_simple sets or resets the size of an existing dataspace.
+ * H5Sis_regular_hyperslab retrieves a regular hyperslab selection for the dataspace specified
+ * by space_id.
*
* @param space_id
- * Dataspace identifier.
- * @param rank
- * Rank, or dimensionality, of the dataspace.
- * @param current_size
- * Array containing current size of dataspace.
- * @param maximum_size
- * Array containing maximum size of dataspace.
+ * IN: Identifier of dataspace selection to query
*
- * @return a dataspace identifier if successful
+ * @return a TRUE/FALSE for hyperslab selection if successful
*
* @exception HDF5LibraryException
* - Error from the HDF-5 Library.
**/
- public synchronized static long H5Sset_extent_simple(long space_id, int rank, byte[] current_size,
- byte[] maximum_size) throws HDF5LibraryException, NullPointerException {
- ByteBuffer csbb = ByteBuffer.wrap(current_size);
- long[] lacs = (csbb.asLongBuffer()).array();
- ByteBuffer maxsbb = ByteBuffer.wrap(maximum_size);
- long[] lamaxs = (maxsbb.asLongBuffer()).array();
-
- return H5Sset_extent_simple(space_id, rank, lacs, lamaxs);
- }
+ public synchronized static native boolean H5Sis_regular_hyperslab(long space_id) throws HDF5LibraryException;
/**
* H5Sget_regular_hyperslab determines if a hyperslab selection is regular for the dataspace specified
@@ -11687,33 +11796,82 @@ public class H5 implements java.io.Serializable {
**/
public synchronized static native void H5Sget_regular_hyperslab(long space_id, long[] start, long[] stride, long[] count, long[] block) throws HDF5LibraryException, NullPointerException, IllegalArgumentException;
+ /**
+ * H5Sget_select_hyper_nblocks returns the number of hyperslab blocks in the current dataspace selection.
+ *
+ * @param spaceid
+ * Identifier of dataspace to release.
+ *
+ * @return a non-negative value if successful
+ *
+ * @exception HDF5LibraryException
+ * - Error from the HDF-5 Library.
+ **/
+ public synchronized static native long H5Sget_select_hyper_nblocks(long spaceid) throws HDF5LibraryException;
+
/**
- * H5Sis_regular_hyperslab retrieves a regular hyperslab selection for the dataspace specified
- * by space_id.
+ * H5Sget_select_hyper_blocklist returns an array of hyperslab blocks. The block coordinates have the same
+ * dimensionality (rank) as the dataspace they are located within. The list of blocks is formatted as follows:
*
- * @param space_id
- * IN: Identifier of dataspace selection to query
+ * <pre>
+ * &lt;"start" coordinate&gt;, immediately followed by
+ * &lt;"opposite" corner coordinate&gt;, followed by
+ * the next "start" and "opposite" coordinates,
+ * etc.
+ * until all of the selected blocks have been listed.
+ * </pre>
*
- * @return a TRUE/FALSE for hyperslab selection if successful
+ * @param spaceid
+ * Identifier of dataspace to release.
+ * @param startblock
+ * first block to retrieve
+ * @param numblocks
+ * number of blocks to retrieve
+ * @param buf
+ * returns blocks startblock to startblock+num-1, each block is <i>rank</i> * 2 (corners) longs.
+ *
+ * @return a non-negative value if successful
+ *
+ * @exception HDF5LibraryException
+ * - Error from the HDF-5 Library.
+ * @exception NullPointerException
+ * - buf is null.
+ **/
+ public synchronized static native int H5Sget_select_hyper_blocklist(long spaceid, long startblock, long numblocks,
+ long[] buf) throws HDF5LibraryException, NullPointerException;
+
+ /**
+ * H5Sselect_project_intersection projects the intersection of the selections of src_space_id and
+ * src_intersect_space_id within the selection of src_space_id as a
+ * selection within the selection of dst_space_id.
+ *
+ * @param src_space_id
+ * Selection that is mapped to dst_space_id, and intersected with src_intersect_space_id
+ * @param dst_space_id
+ * Selection that is mapped to src_space_id
+ * @param src_intersect_space_id
+ * Selection whose intersection with src_space_id is projected to dst_space_id to obtain the result
+ *
+ * @return a dataspace with a selection equal to the intersection of
+ * src_intersect_space_id and src_space_id projected from src_space to dst_space on success
*
* @exception HDF5LibraryException
* - Error from the HDF-5 Library.
**/
- public synchronized static native boolean H5Sis_regular_hyperslab(long space_id) throws HDF5LibraryException;
+ public synchronized static native long H5Sselect_project_intersection(long src_space_id, long dst_space_id,
+ long src_intersect_space_id) throws HDF5LibraryException;
- // /////// unimplemented ////////
- // #ifdef NEW_HYPERSLAB_API
- // hid_t H5Scombine_hyperslab(hid_t space_id, H5S_seloper_t op,
- // const hsize_t start[],
- // const hsize_t _stride[],
- // const hsize_t count[],
- // const hsize_t _block[]);
- // herr_t H5Sselect_select(hid_t space1_id, H5S_seloper_t op,
- // hid_t space2_id);
- // hid_t H5Scombine_select(hid_t space1_id, H5S_seloper_t op,
- // hid_t space2_id);
- // #endif /* NEW_HYPERSLAB_API */
- // herr_t H5Sselect_copy(hid_t dst_id, hid_t src_id);
+
+ // /////// unimplemented ////////
+ ///// Operations on dataspace selections /////
+
+ //
+ ///// Operations on dataspace selection iterators /////
+ //public synchronized static native H5Ssel_iter_create(hid_t spaceid, size_t elmt_size, unsigned flags);
+ //public synchronized static native H5Ssel_iter_get_seq_list(hid_t sel_iter_id, size_t maxseq, size_t maxbytes, size_t *nseq,
+ // size_t *nbytes, hsize_t *off, size_t *len);
+ //public synchronized static native H5Ssel_iter_reset(hid_t sel_iter_id, hid_t space_id);
+ //public synchronized static native H5Ssel_iter_close(hid_t sel_iter_id);
diff --git a/java/src/hdf/hdf5lib/HDF5Constants.java b/java/src/hdf/hdf5lib/HDF5Constants.java
index beba1d1..7ecfe95 100644
--- a/java/src/hdf/hdf5lib/HDF5Constants.java
+++ b/java/src/hdf/hdf5lib/HDF5Constants.java
@@ -35,12 +35,17 @@ public class HDF5Constants {
// Get the HDF5 constants from the library //
// /////////////////////////////////////////////////////////////////////////
- public static final long H5_QUARTER_HADDR_MAX = H5_QUARTER_HADDR_MAX();
+ //public static final long H5_QUARTER_HADDR_MAX = H5_QUARTER_HADDR_MAX();
+ /** Special parameters for szip compression */
public static final int H5_SZIP_MAX_PIXELS_PER_BLOCK = H5_SZIP_MAX_PIXELS_PER_BLOCK();
+ /** Special parameters for szip compression */
public static final int H5_SZIP_NN_OPTION_MASK = H5_SZIP_NN_OPTION_MASK();
+ /** Special parameters for szip compression */
public static final int H5_SZIP_EC_OPTION_MASK = H5_SZIP_EC_OPTION_MASK();
+ /** Special parameters for szip compression */
public static final int H5_SZIP_ALLOW_K13_OPTION_MASK = H5_SZIP_ALLOW_K13_OPTION_MASK();
+ /** Special parameters for szip compression */
public static final int H5_SZIP_CHIP_OPTION_MASK = H5_SZIP_CHIP_OPTION_MASK();
public static final int H5_INDEX_UNKNOWN = H5_INDEX_UNKNOWN();
public static final int H5_INDEX_NAME = H5_INDEX_NAME();
@@ -92,110 +97,359 @@ public class HDF5Constants {
public static final int H5D_VDS_LAST_AVAILABLE = H5D_VDS_LAST_AVAILABLE();
public static final int H5D_CHUNK_DONT_FILTER_PARTIAL_CHUNKS = H5D_CHUNK_DONT_FILTER_PARTIAL_CHUNKS();
+ /** Different kinds of error information - H5E_type_t */
public static final int H5E_MAJOR = H5E_MAJOR();
+ /** Different kinds of error information - H5E_type_t */
public static final int H5E_MINOR = H5E_MINOR();
+ /** Minor error codes - Object header related errors - Alignment error */
public static final long H5E_ALIGNMENT = H5E_ALIGNMENT();
+ /** Minor error codes - Resource errors - Object already exists */
public static final long H5E_ALREADYEXISTS = H5E_ALREADYEXISTS();
+ /** Minor error codes - Function entry/exit interface - Object already initialized */
public static final long H5E_ALREADYINIT = H5E_ALREADYINIT();
+ /** Major error codes - Invalid arguments to routine */
public static final long H5E_ARGS = H5E_ARGS();
+ /** Major error codes - Object atom */
public static final long H5E_ATOM = H5E_ATOM();
+ /** Major error codes - Attribute */
public static final long H5E_ATTR = H5E_ATTR();
+ /** Minor error codes - Object atom related errors - Unable to find atom information (already closed?) */
public static final long H5E_BADATOM = H5E_BADATOM();
+ /** Minor error codes - File accessibility errors - Bad file ID accessed */
public static final long H5E_BADFILE = H5E_BADFILE();
+ /** Minor error codes - Object atom related errors - Unable to find ID group information */
public static final long H5E_BADGROUP = H5E_BADGROUP();
+ /** Minor error codes - Object header related errors - Iteration failed */
+ public static final long H5E_BADITER = H5E_BADITER();
+ /** Minor error codes - Object header related errors - Unrecognized message */
public static final long H5E_BADMESG = H5E_BADMESG();
+ /** Minor error codes - Argument errors - Out of range */
public static final long H5E_BADRANGE = H5E_BADRANGE();
+ /** Minor error codes - Dataspace errors - Invalid selection */
public static final long H5E_BADSELECT = H5E_BADSELECT();
+ /** Datatype conversion errors - Bad size for object */
public static final long H5E_BADSIZE = H5E_BADSIZE();
+ /** Minor error codes - Argument errors - Inappropriate type */
public static final long H5E_BADTYPE = H5E_BADTYPE();
+ /** Minor error codes - Argument errors - Bad value */
public static final long H5E_BADVALUE = H5E_BADVALUE();
+ /** Major error codes - B-Tree node */
public static final long H5E_BTREE = H5E_BTREE();
+ /** Major error codes - Object cache */
public static final long H5E_CACHE = H5E_CACHE();
+ /** I/O pipeline errors - Callback failed */
public static final long H5E_CALLBACK = H5E_CALLBACK();
+ /** I/O pipeline errors - Error from filter 'can apply' callback */
public static final long H5E_CANAPPLY = H5E_CANAPPLY();
- // public static final long H5E_CANTALLOC = H5E_CANTALLOC();
+ /** Minor error codes - Resource errors - Can't allocate space */
+ public static final long H5E_CANTALLOC = H5E_CANTALLOC();
+ /** Minor error codes - Dataspace errors - Can't append object */
+ public static final long H5E_CANTAPPEND = H5E_CANTAPPEND();
+ /** Minor error codes - Heap errors - Can't attach object */
+ public static final long H5E_CANTATTACH = H5E_CANTATTACH();
+ /** Minor error codes - Cache related errors - Unable to mark metadata as clean */
+ public static final long H5E_CANTCLEAN = H5E_CANTCLEAN();
+ /** Minor error codes - Dataspace errors - Can't clip hyperslab region */
public static final long H5E_CANTCLIP = H5E_CANTCLIP();
+ /** Minor error codes - File accessibility errors - Unable to close file */
public static final long H5E_CANTCLOSEFILE = H5E_CANTCLOSEFILE();
+ /** Minor error codes - Group related errors - Can't close object */
+ public static final long H5E_CANTCLOSEOBJ = H5E_CANTCLOSEOBJ();
+ /** Minor error codes - Dataspace errors - Can't compare objects */
+ public static final long H5E_CANTCOMPARE = H5E_CANTCOMPARE();
+ /** Minor error codes - Heap errors - Can't compute value */
+ public static final long H5E_CANTCOMPUTE = H5E_CANTCOMPUTE();
+ /** Datatype conversion errors - Can't convert datatypes */
public static final long H5E_CANTCONVERT = H5E_CANTCONVERT();
+ /** Minor error codes - Resource errors - Unable to copy object */
public static final long H5E_CANTCOPY = H5E_CANTCOPY();
+ /** Minor error codes - Cache related errors - Unable to cork an object */
+ public static final long H5E_CANTCORK = H5E_CANTCORK();
+ /** Minor error codes - Dataspace errors - Can't count elements */
public static final long H5E_CANTCOUNT = H5E_CANTCOUNT();
+ /** Minor error codes - File accessibility errors - Unable to create file */
public static final long H5E_CANTCREATE = H5E_CANTCREATE();
+ /** Minor error codes - Object atom related errors - Unable to decrement reference count */
public static final long H5E_CANTDEC = H5E_CANTDEC();
+ /** Minor error codes - B-tree related errors - Unable to decode value */
public static final long H5E_CANTDECODE = H5E_CANTDECODE();
+ /** Minor error codes - Object header related errors - Can't delete message */
public static final long H5E_CANTDELETE = H5E_CANTDELETE();
+ /** Minor error codes - File accessibility errors - Unable to delete file */
public static final long H5E_CANTDELETEFILE = H5E_CANTDELETEFILE();
+ /** Minor error codes - Cache related errors - Unable to create a flush dependency */
+ public static final long H5E_CANTDEPEND = H5E_CANTDEPEND();
+ /** Minor error codes - Cache related errors - Unable to mark metadata as dirty */
+ public static final long H5E_CANTDIRTY = H5E_CANTDIRTY();
+ /** Minor error codes - B-tree related errors - Unable to encode value */
public static final long H5E_CANTENCODE = H5E_CANTENCODE();
+ /** Minor error codes - Cache related errors - Unable to expunge a metadata cache entry */
+ public static final long H5E_CANTEXPUNGE = H5E_CANTEXPUNGE();
+ /** Minor error codes - Heap errors - Can't extend heap's space */
+ public static final long H5E_CANTEXTEND = H5E_CANTEXTEND();
+ /** I/O pipeline errors - Filter operation failed */
+ public static final long H5E_CANTFILTER = H5E_CANTFILTER();
+ /** Minor error codes - Cache related errors - Unable to flush data from cache */
public static final long H5E_CANTFLUSH = H5E_CANTFLUSH();
+ /** Minor error codes - Resource errors - Unable to free object */
public static final long H5E_CANTFREE = H5E_CANTFREE();
+ /** Minor error codes - Parallel MPI - Can't gather data */
+ public static final long H5E_CANTGATHER = H5E_CANTGATHER();
+ /** Minor error codes - Resource errors - Unable to garbage collect */
+ public static final long H5E_CANTGC = H5E_CANTGC();
+ /** Minor error codes - Property list errors - Can't get value */
public static final long H5E_CANTGET = H5E_CANTGET();
+ /** Minor error codes - Resource errors - Unable to compute size */
+ public static final long H5E_CANTGETSIZE = H5E_CANTGETSIZE();
+ /** Minor error codes - Object atom related errors - Unable to increment reference count */
public static final long H5E_CANTINC = H5E_CANTINC();
+ /** Minor error codes - Function entry/exit interface - Unable to initialize object */
public static final long H5E_CANTINIT = H5E_CANTINIT();
+ /** Minor error codes - Cache related errors - Unable to insert metadata into cache */
+ public static final long H5E_CANTINS = H5E_CANTINS();
+ /** Minor error codes - B-tree related errors - Unable to insert object */
public static final long H5E_CANTINSERT = H5E_CANTINSERT();
+ /** Minor error codes - B-tree related errors - Unable to list node */
public static final long H5E_CANTLIST = H5E_CANTLIST();
+ /** Minor error codes - Cache related errors - Unable to load metadata into cache */
public static final long H5E_CANTLOAD = H5E_CANTLOAD();
+ /** Minor error codes - Resource errors - Unable to lock object */
public static final long H5E_CANTLOCK = H5E_CANTLOCK();
+ /** Minor error codes - File accessibility errors Unable to lock file */
+ public static final long H5E_CANTLOCKFILE = H5E_CANTLOCKFILE();
+ /** Minor error codes - Cache related errors - Unable to mark a pinned entry as clean */
+ public static final long H5E_CANTMARKCLEAN = H5E_CANTMARKCLEAN();
+ /** Minor error codes - Cache related errors - Unable to mark a pinned entry as dirty */
+ public static final long H5E_CANTMARKDIRTY = H5E_CANTMARKDIRTY();
+ /** Minor error codes - Cache related errors - Unable to mark an entry as unserialized */
+ public static final long H5E_CANTMARKSERIALIZED = H5E_CANTMARKSERIALIZED();
+ /** Minor error codes - Cache related errors - Unable to mark an entry as serialized */
+ public static final long H5E_CANTMARKUNSERIALIZED = H5E_CANTMARKUNSERIALIZED();
+ /** Minor error codes - Free space errors - Can't merge objects */
+ public static final long H5E_CANTMERGE = H5E_CANTMERGE();
+ /** Minor error codes - B-tree related errors - Unable to modify record */
+ public static final long H5E_CANTMODIFY = H5E_CANTMODIFY();
+ /** Minor error codes - Link related errors - Can't move object */
+ public static final long H5E_CANTMOVE = H5E_CANTMOVE();
+ /** Minor error codes - Dataspace errors - Can't move to next iterator location */
public static final long H5E_CANTNEXT = H5E_CANTNEXT();
+ /** Minor error codes - Cache related errors - Unable to notify object about action */
+ public static final long H5E_CANTNOTIFY = H5E_CANTNOTIFY();
+ /** Minor error codes - File accessibility errors - Unable to open file */
public static final long H5E_CANTOPENFILE = H5E_CANTOPENFILE();
+ /** Minor error codes - Group related errors - Can't open object */
public static final long H5E_CANTOPENOBJ = H5E_CANTOPENOBJ();
- // public static final long H5E_CANTRECV = H5E_CANTRECV();
+ /** Minor error codes - Heap errors - Can't operate on object */
+ public static final long H5E_CANTOPERATE = H5E_CANTOPERATE();
+ /** Minor error codes - Object header related errors - Can't pack messages */
+ public static final long H5E_CANTPACK = H5E_CANTPACK();
+ /** Minor error codes - Cache related errors - Unable to pin cache entry */
+ public static final long H5E_CANTPIN = H5E_CANTPIN();
+ /** Minor error codes - Cache related errors - Unable to protect metadata */
+ public static final long H5E_CANTPROTECT = H5E_CANTPROTECT();
+ /** Minor error codes - Parallel MPI - Can't receive data */
+ public static final long H5E_CANTRECV = H5E_CANTRECV();
+ /** Minor error codes - B-tree related errors - Unable to redistribute records */
+ public static final long H5E_CANTREDISTRIBUTE = H5E_CANTREDISTRIBUTE();
+ /** Minor error codes - Object atom related errors - Unable to register new atom */
public static final long H5E_CANTREGISTER = H5E_CANTREGISTER();
+ /** Minor error codes - Function entry/exit interface - Unable to release object */
public static final long H5E_CANTRELEASE = H5E_CANTRELEASE();
+ /** Minor error codes - B-tree related errors - Unable to remove object */
+ public static final long H5E_CANTREMOVE = H5E_CANTREMOVE();
+ /** Minor error codes - Object header related errors - Unable to rename object */
+ public static final long H5E_CANTRENAME = H5E_CANTRENAME();
+ /** Minor error codes - Object header related errors - Can't reset object */
+ public static final long H5E_CANTRESET = H5E_CANTRESET();
+ /** Minor error codes - Cache related errors - Unable to resize a metadata cache entry */
+ public static final long H5E_CANTRESIZE = H5E_CANTRESIZE();
+ /** Minor error codes - Heap errors - Can't restore condition */
+ public static final long H5E_CANTRESTORE = H5E_CANTRESTORE();
+ /** Minor error codes - Free space errors - Can't revive object */
+ public static final long H5E_CANTREVIVE = H5E_CANTREVIVE();
+ /** Minor error codes - Free space errors - Can't shrink container */
+ public static final long H5E_CANTSHRINK = H5E_CANTSHRINK();
+ /** Minor error codes - Dataspace errors - Can't select hyperslab */
public static final long H5E_CANTSELECT = H5E_CANTSELECT();
+ /** Minor error codes - Cache related errors - Unable to serialize data from cache */
+ public static final long H5E_CANTSERIALIZE = H5E_CANTSERIALIZE();
+ /** Minor error codes - Property list errors - Can't set value */
public static final long H5E_CANTSET = H5E_CANTSET();
+ /** Minor error codes - Link related errors - Can't sort objects */
+ public static final long H5E_CANTSORT = H5E_CANTSORT();
+ /** Minor error codes - B-tree related errors - Unable to split node */
public static final long H5E_CANTSPLIT = H5E_CANTSPLIT();
+ /** Minor error codes - B-tree related errors - Unable to swap records */
+ public static final long H5E_CANTSWAP = H5E_CANTSWAP();
+ /** Minor error codes - Cache related errors - Unable to tag metadata in the cache */
+ public static final long H5E_CANTTAG = H5E_CANTTAG();
+ /** Minor error codes - Cache related errors - Unable to uncork an object */
+ public static final long H5E_CANTUNCORK = H5E_CANTUNCORK();
+ /** Minor error codes - Cache related errors - Unable to destroy a flush dependency */
+ public static final long H5E_CANTUNDEPEND = H5E_CANTUNDEPEND();
+ /** Minor error codes - Resource errors - Unable to unlock object */
public static final long H5E_CANTUNLOCK = H5E_CANTUNLOCK();
+ /** Minor error codes - File accessibility errors Unable to unlock file */
+ public static final long H5E_CANTUNLOCKFILE = H5E_CANTUNLOCKFILE();
+ /** Minor error codes - Cache related errors - Unable to un-pin cache entry */
+ public static final long H5E_CANTUNPIN = H5E_CANTUNPIN();
+ /** Minor error codes - Cache related errors - Unable to unprotect metadata */
+ public static final long H5E_CANTUNPROTECT = H5E_CANTUNPROTECT();
+ /** Minor error codes - Cache related errors - Unable to mark metadata as unserialized */
+ public static final long H5E_CANTUNSERIALIZE = H5E_CANTUNSERIALIZE();
+ /** Minor error codes - Heap errors - Can't update object */
+ public static final long H5E_CANTUPDATE = H5E_CANTUPDATE();
+ /** Generic low-level file I/O errors - Close failed */
public static final long H5E_CLOSEERROR = H5E_CLOSEERROR();
+ /** Minor error codes - Group related errors - Name component is too long */
public static final long H5E_COMPLEN = H5E_COMPLEN();
+ /** Major error codes - API Context */
+ public static final long H5E_CONTEXT = H5E_CONTEXT();
+ /** Major error codes - Dataset */
public static final long H5E_DATASET = H5E_DATASET();
+ /** Major error codes - Dataspace */
public static final long H5E_DATASPACE = H5E_DATASPACE();
+ /** Major error codes - Datatype */
public static final long H5E_DATATYPE = H5E_DATATYPE();
+ /** Value for the default error stack */
public static final long H5E_DEFAULT = H5E_DEFAULT();
+ /** Minor error codes - Property list errors - Duplicate class name in parent class */
public static final long H5E_DUPCLASS = H5E_DUPCLASS();
+ /** Major error codes - Extensible Array */
+ public static final long H5E_EARRAY = H5E_EARRAY();
+ /** Major error codes - External file list */
public static final long H5E_EFL = H5E_EFL();
+ /** Major error codes - Error API */
+ public static final long H5E_ERROR = H5E_ERROR();
+ /** Minor error codes - B-tree related errors - Object already exists */
public static final long H5E_EXISTS = H5E_EXISTS();
+ /** Major error codes - Fixed Array */
+ public static final long H5E_FARRAY = H5E_FARRAY();
+ /** Generic low-level file I/O errors - File control (fcntl) failed */
public static final long H5E_FCNTL = H5E_FCNTL();
+ /** Major error codes - File accessibility */
public static final long H5E_FILE = H5E_FILE();
+ /** Minor error codes - File accessibility errors - File already exists */
public static final long H5E_FILEEXISTS = H5E_FILEEXISTS();
+ /** Minor error codes - File accessibility errors - File already open */
public static final long H5E_FILEOPEN = H5E_FILEOPEN();
+ /** Major error codes - Free Space Manager */
+ public static final long H5E_FSPACE = H5E_FSPACE();
+ /** Major error codes - Function entry/exit */
public static final long H5E_FUNC = H5E_FUNC();
+ /** Major error codes - Heap */
public static final long H5E_HEAP = H5E_HEAP();
+ /** Minor error codes - Dataspace errors - Internal states are inconsistent */
+ public static final long H5E_INCONSISTENTSTATE = H5E_INCONSISTENTSTATE();
+ /** Major error codes - Internal error (too specific to document in detail) */
public static final long H5E_INTERNAL = H5E_INTERNAL();
+ /** Major error codes - Low-level I/O */
public static final long H5E_IO = H5E_IO();
+ /** Major error codes - Links */
public static final long H5E_LINK = H5E_LINK();
+ /** Minor error codes - Object header related errors - Bad object header link count */
public static final long H5E_LINKCOUNT = H5E_LINKCOUNT();
+ /** Minor error codes - Cache related errors - Failure in the cache logging framework */
+ public static final long H5E_LOGGING = H5E_LOGGING();
+ /** Major error codes - Map */
+ public static final long H5E_MAP = H5E_MAP();
+ /** Minor error codes - File accessibility errors - File mount error */
public static final long H5E_MOUNT = H5E_MOUNT();
+ /** Minor error codes - Parallel MPI - Some MPI function failed */
public static final long H5E_MPI = H5E_MPI();
+ /** Minor error codes - Parallel MPI - MPI Error String */
public static final long H5E_MPIERRSTR = H5E_MPIERRSTR();
+ /** Minor error codes - Link related errors - Too many soft links in path */
+ public static final long H5E_NLINKS = H5E_NLINKS();
+ /** Minor error codes - Parallel MPI - Can't perform independent IO */
+ public static final long H5E_NO_INDEPENDENT = H5E_NO_INDEPENDENT();
+ /** I/O pipeline errors - Filter present but encoding disabled */
+ public static final long H5E_NOENCODER = H5E_NOENCODER();
+ /** I/O pipeline errors - Requested filter is not available */
public static final long H5E_NOFILTER = H5E_NOFILTER();
+ /** Minor error codes - Object atom related errors - Out of IDs for group */
public static final long H5E_NOIDS = H5E_NOIDS();
+ /** Major error codes - No error */
public static final long H5E_NONE_MAJOR = H5E_NONE_MAJOR();
+ /** No error */
public static final long H5E_NONE_MINOR = H5E_NONE_MINOR();
+ /** Minor error codes - Resource errors - No space available for allocation */
public static final long H5E_NOSPACE = H5E_NOSPACE();
+ /** Minor error codes - Cache related errors - Metadata not currently cached */
public static final long H5E_NOTCACHED = H5E_NOTCACHED();
+ /** Minor error codes - B-tree related errors - Object not found */
public static final long H5E_NOTFOUND = H5E_NOTFOUND();
+ /** Minor error codes - File accessibility errors - Not an HDF5 file */
public static final long H5E_NOTHDF5 = H5E_NOTHDF5();
+ /** Minor error codes - Link related errors - Link class not registered */
+ public static final long H5E_NOTREGISTERED = H5E_NOTREGISTERED();
+ /** Minor error codes - Resource errors - Object is already open */
+ public static final long H5E_OBJOPEN = H5E_OBJOPEN();
+ /** Major error codes - Object header */
public static final long H5E_OHDR = H5E_OHDR();
+ /** Minor error codes - Plugin errors - Can't open directory or file */
+ public static final long H5E_OPENERROR = H5E_OPENERROR();
+ /** Generic low-level file I/O errors - Address overflowed */
public static final long H5E_OVERFLOW = H5E_OVERFLOW();
+ /** Major error codes - Page Buffering */
+ public static final long H5E_PAGEBUF = H5E_PAGEBUF();
+ /** Minor error codes - Group related errors - Problem with path to object */
+ public static final long H5E_PATH = H5E_PATH();
+ /** Major error codes - Data filters */
public static final long H5E_PLINE = H5E_PLINE();
+ /** Major error codes - Property lists */
public static final long H5E_PLIST = H5E_PLIST();
+ /** Major error codes - Plugin for dynamically loaded library */
+ public static final long H5E_PLUGIN = H5E_PLUGIN();
+ /** Minor error codes - Cache related errors - Protected metadata error */
public static final long H5E_PROTECT = H5E_PROTECT();
+ /** Generic low-level file I/O errors - Read failed */
public static final long H5E_READERROR = H5E_READERROR();
+ /** Major error codes - References */
public static final long H5E_REFERENCE = H5E_REFERENCE();
+ /** Major error codes - Resource unavailable */
public static final long H5E_RESOURCE = H5E_RESOURCE();
+ /** Major error codes - Reference Counted Strings */
public static final long H5E_RS = H5E_RS();
+ /** Generic low-level file I/O errors - Seek failed */
public static final long H5E_SEEKERROR = H5E_SEEKERROR();
+ /** Minor error codes - Property list errors - Disallowed operation */
+ public static final long H5E_SETDISALLOWED = H5E_SETDISALLOWED();
+ /** I/O pipeline errors - Error from filter 'set local' callback */
public static final long H5E_SETLOCAL = H5E_SETLOCAL();
+ /** Major error codes - Skip Lists */
+ public static final long H5E_SLIST = H5E_SLIST();
+ /** Major error codes - Shared Object Header Messages */
+ public static final long H5E_SOHM = H5E_SOHM();
+ /** Major error codes - Data storage */
public static final long H5E_STORAGE = H5E_STORAGE();
+ /** Major error codes - Symbol table */
public static final long H5E_SYM = H5E_SYM();
+ /** Minor error codes - System level errors - System error message */
+ public static final long H5E_SYSERRSTR = H5E_SYSERRSTR();
+ /** Minor error codes - Cache related errors - Internal error detected */
+ public static final long H5E_SYSTEM = H5E_SYSTEM();
+ /** Minor error codes - Link related errors - Link traversal failure */
+ public static final long H5E_TRAVERSE = H5E_TRAVERSE();
+ /** Minor error codes - File accessibility errors - File has been truncated */
public static final long H5E_TRUNCATED = H5E_TRUNCATED();
+ /** Major error codes - Ternary Search Trees */
public static final long H5E_TST = H5E_TST();
+ /** Minor error codes - Argument errors - Information is uinitialized */
public static final long H5E_UNINITIALIZED = H5E_UNINITIALIZED();
+ /** Minor error codes - Argument errors - Feature is unsupported */
public static final long H5E_UNSUPPORTED = H5E_UNSUPPORTED();
+ /** Minor error codes - Object header related errors - Wrong version number */
public static final long H5E_VERSION = H5E_VERSION();
+ /** Major error codes - Virtual File Layer */
public static final long H5E_VFL = H5E_VFL();
+ /** Major error codes - Virtual Object Layer */
public static final long H5E_VOL = H5E_VOL();
+ /** Error stack traversal direction - begin at API function, end deep */
public static final long H5E_WALK_DOWNWARD = H5E_WALK_DOWNWARD();
+ /** Error stack traversal direction - begin deep, end at API function */
public static final long H5E_WALK_UPWARD = H5E_WALK_UPWARD();
+ /** Generic low-level file I/O errors - Write failed */
public static final long H5E_WRITEERROR = H5E_WRITEERROR();
private static final int H5ES_STATUS_IN_PROGRESS = H5ES_STATUS_IN_PROGRESS();
@@ -424,29 +678,53 @@ public class HDF5Constants {
public static final int H5R_OBJECT1 = H5R_OBJECT1();
public static final int H5R_OBJECT2 = H5R_OBJECT2();
+ /** Define atomic datatypes */
public static final int H5S_ALL = H5S_ALL();
+ /** Define user-level maximum number of dimensions */
public static final int H5S_MAX_RANK = H5S_MAX_RANK();
+ /** Different types of dataspaces - error */
public static final int H5S_NO_CLASS = H5S_NO_CLASS();
+ /** Different types of dataspaces - null dataspace */
public static final int H5S_NULL = H5S_NULL();
+ /** Different types of dataspaces - scalar variable */
public static final int H5S_SCALAR = H5S_SCALAR();
+ /** Enumerated type for the type of selection - Entire extent selected */
public static final int H5S_SEL_ALL = H5S_SEL_ALL();
+ /** Enumerated type for the type of selection - Error */
public static final int H5S_SEL_ERROR = H5S_SEL_ERROR();
+ /** Enumerated type for the type of selection - Hyperslab selected */
public static final int H5S_SEL_HYPERSLABS = H5S_SEL_HYPERSLABS();
+ /** Enumerated type for the type of selection - LAST */
public static final int H5S_SEL_N = H5S_SEL_N();
+ /** Enumerated type for the type of selection - Nothing selected */
public static final int H5S_SEL_NONE = H5S_SEL_NONE();
+ /** Enumerated type for the type of selection - Points / elements selected */
public static final int H5S_SEL_POINTS = H5S_SEL_POINTS();
+ /** Different ways of combining selections - Binary "and" operation for hyperslabs */
public static final int H5S_SELECT_AND = H5S_SELECT_AND();
+ /** Different ways of combining selections - Append elements to end of point selection */
public static final int H5S_SELECT_APPEND = H5S_SELECT_APPEND();
+ /** Different ways of combining selections - Invalid upper bound on selection operations */
public static final int H5S_SELECT_INVALID = H5S_SELECT_INVALID();
+ /** Different ways of combining selections - error */
public static final int H5S_SELECT_NOOP = H5S_SELECT_NOOP();
+ /** Different ways of combining selections - Binary "not" operation for hyperslabs */
public static final int H5S_SELECT_NOTA = H5S_SELECT_NOTA();
+ /** Different ways of combining selections - Binary "not" operation for hyperslabs */
public static final int H5S_SELECT_NOTB = H5S_SELECT_NOTB();
+ /** Different ways of combining selections - Binary "or" operation for hyperslabs */
public static final int H5S_SELECT_OR = H5S_SELECT_OR();
+ /** Different ways of combining selections - Prepend elements to beginning of point selection */
public static final int H5S_SELECT_PREPEND = H5S_SELECT_PREPEND();
+ /** Different ways of combining selections - Select "set" operation */
public static final int H5S_SELECT_SET = H5S_SELECT_SET();
+ /** Different ways of combining selections - Binary "xor" operation for hyperslabs */
public static final int H5S_SELECT_XOR = H5S_SELECT_XOR();
+ /** Different types of dataspaces - simple dataspace */
public static final int H5S_SIMPLE = H5S_SIMPLE();
+ /** Define atomic datatypes */
public static final int H5S_UNLIMITED = H5S_UNLIMITED();
+
public static final long H5T_ALPHA_B16 = H5T_ALPHA_B16();
public static final long H5T_ALPHA_B32 = H5T_ALPHA_B32();
public static final long H5T_ALPHA_B64 = H5T_ALPHA_B64();
@@ -665,48 +943,96 @@ public class HDF5Constants {
public static final int H5_VOL_RESERVED = H5_VOL_RESERVED();
public static final int H5_VOL_MAX = H5_VOL_MAX();
+ /** Return values for filter callback function */
public static final int H5Z_CB_CONT = H5Z_CB_CONT();
+ /** Return values for filter callback function */
public static final int H5Z_CB_ERROR = H5Z_CB_ERROR();
+ /** Return values for filter callback function */
public static final int H5Z_CB_FAIL = H5Z_CB_FAIL();
+ /** Return values for filter callback function */
public static final int H5Z_CB_NO = H5Z_CB_NO();
+ /** Values to decide if EDC is enabled for reading data */
public static final int H5Z_DISABLE_EDC = H5Z_DISABLE_EDC();
+ /** Values to decide if EDC is enabled for reading data */
public static final int H5Z_ENABLE_EDC = H5Z_ENABLE_EDC();
+ /** Values to decide if EDC is enabled for reading data */
public static final int H5Z_ERROR_EDC = H5Z_ERROR_EDC();
+ /** Filter IDs - deflation like gzip */
public static final int H5Z_FILTER_DEFLATE = H5Z_FILTER_DEFLATE();
+ /** Filter IDs - no filter */
public static final int H5Z_FILTER_ERROR = H5Z_FILTER_ERROR();
+ /** Filter IDs - fletcher32 checksum of EDC */
public static final int H5Z_FILTER_FLETCHER32 = H5Z_FILTER_FLETCHER32();
+ /** Filter IDs - maximum filter id */
public static final int H5Z_FILTER_MAX = H5Z_FILTER_MAX();
+ /** Filter IDs - nbit compression */
public static final int H5Z_FILTER_NBIT = H5Z_FILTER_NBIT();
+ /** Filter IDs - reserved indefinitely */
public static final int H5Z_FILTER_NONE = H5Z_FILTER_NONE();
+ /** Filter IDs - filter ids below this value are reserved for library use */
public static final int H5Z_FILTER_RESERVED = H5Z_FILTER_RESERVED();
+ /** Filter IDs - scale+offset compression */
public static final int H5Z_FILTER_SCALEOFFSET = H5Z_FILTER_SCALEOFFSET();
+ /** Filter IDs - shuffle the data */
public static final int H5Z_FILTER_SHUFFLE = H5Z_FILTER_SHUFFLE();
+ /** Filter IDs - szip compression */
public static final int H5Z_FILTER_SZIP = H5Z_FILTER_SZIP();
+ /** Flags for filter definition (stored)
+ * definition flag mask */
public static final int H5Z_FLAG_DEFMASK = H5Z_FLAG_DEFMASK();
+ /** Additional flags for filter invocation (not stored)
+ * invocation flag mask */
public static final int H5Z_FLAG_INVMASK = H5Z_FLAG_INVMASK();
+ /** Flags for filter definition (stored)
+ * filter is mandatory */
public static final int H5Z_FLAG_MANDATORY = H5Z_FLAG_MANDATORY();
+ /** Flags for filter definition (stored)
+ * filter is optional */
public static final int H5Z_FLAG_OPTIONAL = H5Z_FLAG_OPTIONAL();
+ /** Additional flags for filter invocation (not stored)
+ * reverse direction; read */
public static final int H5Z_FLAG_REVERSE = H5Z_FLAG_REVERSE();
+ /** Additional flags for filter invocation (not stored)
+ * skip EDC filters for read */
public static final int H5Z_FLAG_SKIP_EDC = H5Z_FLAG_SKIP_EDC();
+ /** Symbol to remove all filters in H5Premove_filter */
+ public static final int H5Z_FILTER_ALL = H5Z_FILTER_ALL();
+ /** Maximum number of filters allowed in a pipeline */
public static final int H5Z_MAX_NFILTERS = H5Z_MAX_NFILTERS();
+ /** Values to decide if EDC is enabled for reading data */
public static final int H5Z_NO_EDC = H5Z_NO_EDC();
+ /** Bit flags for H5Zget_filter_info */
public static final int H5Z_FILTER_CONFIG_ENCODE_ENABLED = H5Z_FILTER_CONFIG_ENCODE_ENABLED();
+ /** Bit flags for H5Zget_filter_info */
public static final int H5Z_FILTER_CONFIG_DECODE_ENABLED = H5Z_FILTER_CONFIG_DECODE_ENABLED();
+ /** Special parameters for ScaleOffset filter*/
public static final int H5Z_SO_INT_MINBITS_DEFAULT = H5Z_SO_INT_MINBITS_DEFAULT();
+ /** Special parameters for ScaleOffset filter*/
public static final int H5Z_SO_FLOAT_DSCALE = H5Z_SO_FLOAT_DSCALE();
+ /** Special parameters for ScaleOffset filter*/
public static final int H5Z_SO_FLOAT_ESCALE = H5Z_SO_FLOAT_ESCALE();
+ /** Special parameters for ScaleOffset filter*/
public static final int H5Z_SO_INT = H5Z_SO_INT();
+ /** shuffle filter - Number of parameters that users can set */
public static final int H5Z_SHUFFLE_USER_NPARMS = H5Z_SHUFFLE_USER_NPARMS();
+ /** shuffle filter - Total number of parameters for filter */
public static final int H5Z_SHUFFLE_TOTAL_NPARMS = H5Z_SHUFFLE_TOTAL_NPARMS();
+ /** szip filter - Number of parameters that users can set */
public static final int H5Z_SZIP_USER_NPARMS = H5Z_SZIP_USER_NPARMS();
+ /** szip filter - Total number of parameters for filter */
public static final int H5Z_SZIP_TOTAL_NPARMS = H5Z_SZIP_TOTAL_NPARMS();
+ /** szip filter - "User" parameter for option mask */
public static final int H5Z_SZIP_PARM_MASK = H5Z_SZIP_PARM_MASK();
+ /** szip filter - "User" parameter for pixels-per-block */
public static final int H5Z_SZIP_PARM_PPB = H5Z_SZIP_PARM_PPB();
+ /** szip filter - "Local" parameter for bits-per-pixel */
public static final int H5Z_SZIP_PARM_BPP = H5Z_SZIP_PARM_BPP();
+ /** szip filter - "Local" parameter for pixels-per-scanline */
public static final int H5Z_SZIP_PARM_PPS = H5Z_SZIP_PARM_PPS();
+ /** nbit filter - Number of parameters that users can set */
public static final int H5Z_NBIT_USER_NPARMS = H5Z_NBIT_USER_NPARMS();
+ /** scale offset filter - Number of parameters that users can set */
public static final int H5Z_SCALEOFFSET_USER_NPARMS = H5Z_SCALEOFFSET_USER_NPARMS();
- public static final int H5Z_FILTER_ALL = H5Z_FILTER_ALL();
// /////////////////////////////////////////////////////////////////////////
// List of private native variables to get constant values from C //
@@ -841,6 +1167,8 @@ public class HDF5Constants {
private static native final long H5E_BADGROUP();
+ private static native final long H5E_BADITER();
+
private static native final long H5E_BADMESG();
private static native final long H5E_BADRANGE();
@@ -861,15 +1189,30 @@ public class HDF5Constants {
private static native final long H5E_CANAPPLY();
- // private static native final long H5E_CANTALLOC();
+ private static native final long H5E_CANTALLOC();
+
+ private static native final long H5E_CANTAPPEND();
+
+ private static native final long H5E_CANTATTACH();
+
+ private static native final long H5E_CANTCLEAN();
+
private static native final long H5E_CANTCLIP();
private static native final long H5E_CANTCLOSEFILE();
+ private static native final long H5E_CANTCLOSEOBJ();
+
+ private static native final long H5E_CANTCOMPARE();
+
+ private static native final long H5E_CANTCOMPUTE();
+
private static native final long H5E_CANTCONVERT();
private static native final long H5E_CANTCOPY();
+ private static native final long H5E_CANTCORK();
+
private static native final long H5E_CANTCOUNT();
private static native final long H5E_CANTCREATE();
@@ -882,18 +1225,36 @@ public class HDF5Constants {
private static native final long H5E_CANTDELETEFILE();
+ private static native final long H5E_CANTDEPEND();
+
+ private static native final long H5E_CANTDIRTY();
+
private static native final long H5E_CANTENCODE();
+ private static native final long H5E_CANTEXPUNGE();
+
+ private static native final long H5E_CANTEXTEND();
+
+ private static native final long H5E_CANTFILTER();
+
private static native final long H5E_CANTFLUSH();
private static native final long H5E_CANTFREE();
+ private static native final long H5E_CANTGATHER();
+
+ private static native final long H5E_CANTGC();
+
private static native final long H5E_CANTGET();
+ private static native final long H5E_CANTGETSIZE();
+
private static native final long H5E_CANTINC();
private static native final long H5E_CANTINIT();
+ private static native final long H5E_CANTINS();
+
private static native final long H5E_CANTINSERT();
private static native final long H5E_CANTLIST();
@@ -902,29 +1263,96 @@ public class HDF5Constants {
private static native final long H5E_CANTLOCK();
+ private static native final long H5E_CANTLOCKFILE();
+
+ private static native final long H5E_CANTMARKCLEAN();
+
+ private static native final long H5E_CANTMARKDIRTY();
+
+ private static native final long H5E_CANTMARKSERIALIZED();
+
+ private static native final long H5E_CANTMARKUNSERIALIZED();
+
+ private static native final long H5E_CANTMERGE();
+
+ private static native final long H5E_CANTMOVE();
+
+ private static native final long H5E_CANTMODIFY();
+
private static native final long H5E_CANTNEXT();
+ private static native final long H5E_CANTNOTIFY();
+
private static native final long H5E_CANTOPENFILE();
private static native final long H5E_CANTOPENOBJ();
- // private static native final long H5E_CANTRECV();
+ private static native final long H5E_CANTOPERATE();
+
+ private static native final long H5E_CANTPACK();
+
+ private static native final long H5E_CANTPIN();
+
+ private static native final long H5E_CANTPROTECT();
+
+ private static native final long H5E_CANTRECV();
+
+ private static native final long H5E_CANTREDISTRIBUTE();
+
private static native final long H5E_CANTREGISTER();
private static native final long H5E_CANTRELEASE();
+ private static native final long H5E_CANTREMOVE();
+
+ private static native final long H5E_CANTRENAME();
+
+ private static native final long H5E_CANTRESET();
+
+ private static native final long H5E_CANTRESIZE();
+
+ private static native final long H5E_CANTRESTORE();
+
+ private static native final long H5E_CANTREVIVE();
+
+ private static native final long H5E_CANTSHRINK();
+
private static native final long H5E_CANTSELECT();
private static native final long H5E_CANTSET();
+ private static native final long H5E_CANTSERIALIZE();
+
+ private static native final long H5E_CANTSORT();
+
private static native final long H5E_CANTSPLIT();
+ private static native final long H5E_CANTSWAP();
+
+ private static native final long H5E_CANTTAG();
+
+ private static native final long H5E_CANTUNCORK();
+
+ private static native final long H5E_CANTUNDEPEND();
+
private static native final long H5E_CANTUNLOCK();
+ private static native final long H5E_CANTUNLOCKFILE();
+
+ private static native final long H5E_CANTUNPIN();
+
+ private static native final long H5E_CANTUNPROTECT();
+
+ private static native final long H5E_CANTUNSERIALIZE();
+
+ private static native final long H5E_CANTUPDATE();
+
private static native final long H5E_CLOSEERROR();
private static native final long H5E_COMPLEN();
+ private static native final long H5E_CONTEXT();
+
private static native final long H5E_DATASET();
private static native final long H5E_DATASPACE();
@@ -935,10 +1363,16 @@ public class HDF5Constants {
private static native final long H5E_DUPCLASS();
+ private static native final long H5E_EARRAY();
+
private static native final long H5E_EFL();
+ private static native final long H5E_ERROR();
+
private static native final long H5E_EXISTS();
+ private static native final long H5E_FARRAY();
+
private static native final long H5E_FCNTL();
private static native final long H5E_FILE();
@@ -947,10 +1381,14 @@ public class HDF5Constants {
private static native final long H5E_FILEOPEN();
+ private static native final long H5E_FSPACE();
+
private static native final long H5E_FUNC();
private static native final long H5E_HEAP();
+ private static native final long H5E_INCONSISTENTSTATE();
+
private static native final long H5E_INTERNAL();
private static native final long H5E_IO();
@@ -959,8 +1397,12 @@ public class HDF5Constants {
private static native final long H5E_LINKCOUNT();
+ private static native final long H5E_LOGGING();
+
private static native final int H5E_MAJOR();
+ private static native final long H5E_MAP();
+
private static native final int H5E_MINOR();
private static native final long H5E_MOUNT();
@@ -969,6 +1411,12 @@ public class HDF5Constants {
private static native final long H5E_MPIERRSTR();
+ private static native final long H5E_NLINKS();
+
+ private static native final long H5E_NO_INDEPENDENT();
+
+ private static native final long H5E_NOENCODER();
+
private static native final long H5E_NOFILTER();
private static native final long H5E_NOIDS();
@@ -985,14 +1433,26 @@ public class HDF5Constants {
private static native final long H5E_NOTHDF5();
+ private static native final long H5E_NOTREGISTERED();
+
+ private static native final long H5E_OBJOPEN();
+
private static native final long H5E_OHDR();
+ private static native final long H5E_OPENERROR();
+
private static native final long H5E_OVERFLOW();
+ private static native final long H5E_PAGEBUF();
+
+ private static native final long H5E_PATH();
+
private static native final long H5E_PLINE();
private static native final long H5E_PLIST();
+ private static native final long H5E_PLUGIN();
+
private static native final long H5E_PROTECT();
private static native final long H5E_READERROR();
@@ -1005,12 +1465,24 @@ public class HDF5Constants {
private static native final long H5E_SEEKERROR();
+ private static native final long H5E_SETDISALLOWED();
+
private static native final long H5E_SETLOCAL();
+ private static native final long H5E_SLIST();
+
+ private static native final long H5E_SOHM();
+
private static native final long H5E_STORAGE();
private static native final long H5E_SYM();
+ private static native final long H5E_SYSERRSTR();
+
+ private static native final long H5E_SYSTEM();
+
+ private static native final long H5E_TRAVERSE();
+
private static native final long H5E_TRUNCATED();
private static native final long H5E_TST();
diff --git a/java/src/jni/h5Constants.c b/java/src/jni/h5Constants.c
index 38f0883..94d5b19 100644
--- a/java/src/jni/h5Constants.c
+++ b/java/src/jni/h5Constants.c
@@ -355,6 +355,11 @@ Java_hdf_hdf5lib_HDF5Constants_H5E_1BADGROUP(JNIEnv *env, jclass cls)
return H5E_BADGROUP;
}
JNIEXPORT jlong JNICALL
+Java_hdf_hdf5lib_HDF5Constants_H5E_1BADITER(JNIEnv *env, jclass cls)
+{
+ return H5E_BADITER;
+}
+JNIEXPORT jlong JNICALL
Java_hdf_hdf5lib_HDF5Constants_H5E_1BADMESG(JNIEnv *env, jclass cls)
{
return H5E_BADMESG;
@@ -404,8 +409,26 @@ Java_hdf_hdf5lib_HDF5Constants_H5E_1CANAPPLY(JNIEnv *env, jclass cls)
{
return H5E_CANAPPLY;
}
-/*JNIEXPORT jlong JNICALL
-Java_hdf_hdf5lib_HDF5Constants_H5E_1CANTALLOC(JNIEnv *env, jclass cls) { return H5E_CANTALLOC; }*/
+JNIEXPORT jlong JNICALL
+Java_hdf_hdf5lib_HDF5Constants_H5E_1CANTALLOC(JNIEnv *env, jclass cls)
+{
+ return H5E_CANTALLOC;
+}
+JNIEXPORT jlong JNICALL
+Java_hdf_hdf5lib_HDF5Constants_H5E_1CANTAPPEND(JNIEnv *env, jclass cls)
+{
+ return H5E_CANTAPPEND;
+}
+JNIEXPORT jlong JNICALL
+Java_hdf_hdf5lib_HDF5Constants_H5E_1CANTATTACH(JNIEnv *env, jclass cls)
+{
+ return H5E_CANTATTACH;
+}
+JNIEXPORT jlong JNICALL
+Java_hdf_hdf5lib_HDF5Constants_H5E_1CANTCLEAN(JNIEnv *env, jclass cls)
+{
+ return H5E_CANTCLEAN;
+}
JNIEXPORT jlong JNICALL
Java_hdf_hdf5lib_HDF5Constants_H5E_1CANTCLIP(JNIEnv *env, jclass cls)
{
@@ -417,6 +440,21 @@ Java_hdf_hdf5lib_HDF5Constants_H5E_1CANTCLOSEFILE(JNIEnv *env, jclass cls)
return H5E_CANTCLOSEFILE;
}
JNIEXPORT jlong JNICALL
+Java_hdf_hdf5lib_HDF5Constants_H5E_1CANTCLOSEOBJ(JNIEnv *env, jclass cls)
+{
+ return H5E_CANTCLOSEOBJ;
+}
+JNIEXPORT jlong JNICALL
+Java_hdf_hdf5lib_HDF5Constants_H5E_1CANTCOMPARE(JNIEnv *env, jclass cls)
+{
+ return H5E_CANTCOMPARE;
+}
+JNIEXPORT jlong JNICALL
+Java_hdf_hdf5lib_HDF5Constants_H5E_1CANTCOMPUTE(JNIEnv *env, jclass cls)
+{
+ return H5E_CANTCOMPUTE;
+}
+JNIEXPORT jlong JNICALL
Java_hdf_hdf5lib_HDF5Constants_H5E_1CANTCONVERT(JNIEnv *env, jclass cls)
{
return H5E_CANTCONVERT;
@@ -427,6 +465,11 @@ Java_hdf_hdf5lib_HDF5Constants_H5E_1CANTCOPY(JNIEnv *env, jclass cls)
return H5E_CANTCOPY;
}
JNIEXPORT jlong JNICALL
+Java_hdf_hdf5lib_HDF5Constants_H5E_1CANTCORK(JNIEnv *env, jclass cls)
+{
+ return H5E_CANTCORK;
+}
+JNIEXPORT jlong JNICALL
Java_hdf_hdf5lib_HDF5Constants_H5E_1CANTCOUNT(JNIEnv *env, jclass cls)
{
return H5E_CANTCOUNT;
@@ -457,11 +500,36 @@ Java_hdf_hdf5lib_HDF5Constants_H5E_1CANTDELETEFILE(JNIEnv *env, jclass cls)
return H5E_CANTDELETEFILE;
}
JNIEXPORT jlong JNICALL
+Java_hdf_hdf5lib_HDF5Constants_H5E_1CANTDEPEND(JNIEnv *env, jclass cls)
+{
+ return H5E_CANTDEPEND;
+}
+JNIEXPORT jlong JNICALL
+Java_hdf_hdf5lib_HDF5Constants_H5E_1CANTDIRTY(JNIEnv *env, jclass cls)
+{
+ return H5E_CANTDIRTY;
+}
+JNIEXPORT jlong JNICALL
+Java_hdf_hdf5lib_HDF5Constants_H5E_1CANTFILTER(JNIEnv *env, jclass cls)
+{
+ return H5E_CANTFILTER;
+}
+JNIEXPORT jlong JNICALL
Java_hdf_hdf5lib_HDF5Constants_H5E_1CANTENCODE(JNIEnv *env, jclass cls)
{
return H5E_CANTENCODE;
}
JNIEXPORT jlong JNICALL
+Java_hdf_hdf5lib_HDF5Constants_H5E_1CANTEXPUNGE(JNIEnv *env, jclass cls)
+{
+ return H5E_CANTEXPUNGE;
+}
+JNIEXPORT jlong JNICALL
+Java_hdf_hdf5lib_HDF5Constants_H5E_1CANTEXTEND(JNIEnv *env, jclass cls)
+{
+ return H5E_CANTEXTEND;
+}
+JNIEXPORT jlong JNICALL
Java_hdf_hdf5lib_HDF5Constants_H5E_1CANTFLUSH(JNIEnv *env, jclass cls)
{
return H5E_CANTFLUSH;
@@ -472,11 +540,26 @@ Java_hdf_hdf5lib_HDF5Constants_H5E_1CANTFREE(JNIEnv *env, jclass cls)
return H5E_CANTFREE;
}
JNIEXPORT jlong JNICALL
+Java_hdf_hdf5lib_HDF5Constants_H5E_1CANTGATHER(JNIEnv *env, jclass cls)
+{
+ return H5E_CANTGATHER;
+}
+JNIEXPORT jlong JNICALL
+Java_hdf_hdf5lib_HDF5Constants_H5E_1CANTGC(JNIEnv *env, jclass cls)
+{
+ return H5E_CANTGC;
+}
+JNIEXPORT jlong JNICALL
Java_hdf_hdf5lib_HDF5Constants_H5E_1CANTGET(JNIEnv *env, jclass cls)
{
return H5E_CANTGET;
}
JNIEXPORT jlong JNICALL
+Java_hdf_hdf5lib_HDF5Constants_H5E_1CANTGETSIZE(JNIEnv *env, jclass cls)
+{
+ return H5E_CANTGETSIZE;
+}
+JNIEXPORT jlong JNICALL
Java_hdf_hdf5lib_HDF5Constants_H5E_1CANTINC(JNIEnv *env, jclass cls)
{
return H5E_CANTINC;
@@ -487,6 +570,11 @@ Java_hdf_hdf5lib_HDF5Constants_H5E_1CANTINIT(JNIEnv *env, jclass cls)
return H5E_CANTINIT;
}
JNIEXPORT jlong JNICALL
+Java_hdf_hdf5lib_HDF5Constants_H5E_1CANTINS(JNIEnv *env, jclass cls)
+{
+ return H5E_CANTINS;
+}
+JNIEXPORT jlong JNICALL
Java_hdf_hdf5lib_HDF5Constants_H5E_1CANTINSERT(JNIEnv *env, jclass cls)
{
return H5E_CANTINSERT;
@@ -507,11 +595,56 @@ Java_hdf_hdf5lib_HDF5Constants_H5E_1CANTLOCK(JNIEnv *env, jclass cls)
return H5E_CANTLOCK;
}
JNIEXPORT jlong JNICALL
+Java_hdf_hdf5lib_HDF5Constants_H5E_1CANTLOCKFILE(JNIEnv *env, jclass cls)
+{
+ return H5E_CANTLOCKFILE;
+}
+JNIEXPORT jlong JNICALL
+Java_hdf_hdf5lib_HDF5Constants_H5E_1CANTMARKCLEAN(JNIEnv *env, jclass cls)
+{
+ return H5E_CANTMARKCLEAN;
+}
+JNIEXPORT jlong JNICALL
+Java_hdf_hdf5lib_HDF5Constants_H5E_1CANTMARKDIRTY(JNIEnv *env, jclass cls)
+{
+ return H5E_CANTMARKDIRTY;
+}
+JNIEXPORT jlong JNICALL
+Java_hdf_hdf5lib_HDF5Constants_H5E_1CANTMARKSERIALIZED(JNIEnv *env, jclass cls)
+{
+ return H5E_CANTMARKSERIALIZED;
+}
+JNIEXPORT jlong JNICALL
+Java_hdf_hdf5lib_HDF5Constants_H5E_1CANTMARKUNSERIALIZED(JNIEnv *env, jclass cls)
+{
+ return H5E_CANTMARKUNSERIALIZED;
+}
+JNIEXPORT jlong JNICALL
+Java_hdf_hdf5lib_HDF5Constants_H5E_1CANTMERGE(JNIEnv *env, jclass cls)
+{
+ return H5E_CANTMERGE;
+}
+JNIEXPORT jlong JNICALL
+Java_hdf_hdf5lib_HDF5Constants_H5E_1CANTMODIFY(JNIEnv *env, jclass cls)
+{
+ return H5E_CANTMODIFY;
+}
+JNIEXPORT jlong JNICALL
+Java_hdf_hdf5lib_HDF5Constants_H5E_1CANTMOVE(JNIEnv *env, jclass cls)
+{
+ return H5E_CANTMOVE;
+}
+JNIEXPORT jlong JNICALL
Java_hdf_hdf5lib_HDF5Constants_H5E_1CANTNEXT(JNIEnv *env, jclass cls)
{
return H5E_CANTNEXT;
}
JNIEXPORT jlong JNICALL
+Java_hdf_hdf5lib_HDF5Constants_H5E_1CANTNOTIFY(JNIEnv *env, jclass cls)
+{
+ return H5E_CANTNOTIFY;
+}
+JNIEXPORT jlong JNICALL
Java_hdf_hdf5lib_HDF5Constants_H5E_1CANTOPENFILE(JNIEnv *env, jclass cls)
{
return H5E_CANTOPENFILE;
@@ -521,8 +654,36 @@ Java_hdf_hdf5lib_HDF5Constants_H5E_1CANTOPENOBJ(JNIEnv *env, jclass cls)
{
return H5E_CANTOPENOBJ;
}
-/*JNIEXPORT jlong JNICALL
-Java_hdf_hdf5lib_HDF5Constants_H5E_1CANTRECV(JNIEnv *env, jclass cls) { return H5E_CANTRECV; }*/
+JNIEXPORT jlong JNICALL
+Java_hdf_hdf5lib_HDF5Constants_H5E_1CANTOPERATE(JNIEnv *env, jclass cls)
+{
+ return H5E_CANTOPERATE;
+}
+JNIEXPORT jlong JNICALL
+Java_hdf_hdf5lib_HDF5Constants_H5E_1CANTPACK(JNIEnv *env, jclass cls)
+{
+ return H5E_CANTPACK;
+}
+JNIEXPORT jlong JNICALL
+Java_hdf_hdf5lib_HDF5Constants_H5E_1CANTPIN(JNIEnv *env, jclass cls)
+{
+ return H5E_CANTPIN;
+}
+JNIEXPORT jlong JNICALL
+Java_hdf_hdf5lib_HDF5Constants_H5E_1CANTPROTECT(JNIEnv *env, jclass cls)
+{
+ return H5E_CANTPROTECT;
+}
+JNIEXPORT jlong JNICALL
+Java_hdf_hdf5lib_HDF5Constants_H5E_1CANTRECV(JNIEnv *env, jclass cls)
+{
+ return H5E_CANTRECV;
+}
+JNIEXPORT jlong JNICALL
+Java_hdf_hdf5lib_HDF5Constants_H5E_1CANTREDISTRIBUTE(JNIEnv *env, jclass cls)
+{
+ return H5E_CANTREDISTRIBUTE;
+}
JNIEXPORT jlong JNICALL
Java_hdf_hdf5lib_HDF5Constants_H5E_1CANTREGISTER(JNIEnv *env, jclass cls)
{
@@ -534,6 +695,41 @@ Java_hdf_hdf5lib_HDF5Constants_H5E_1CANTRELEASE(JNIEnv *env, jclass cls)
return H5E_CANTRELEASE;
}
JNIEXPORT jlong JNICALL
+Java_hdf_hdf5lib_HDF5Constants_H5E_1CANTREMOVE(JNIEnv *env, jclass cls)
+{
+ return H5E_CANTREMOVE;
+}
+JNIEXPORT jlong JNICALL
+Java_hdf_hdf5lib_HDF5Constants_H5E_1CANTRENAME(JNIEnv *env, jclass cls)
+{
+ return H5E_CANTRENAME;
+}
+JNIEXPORT jlong JNICALL
+Java_hdf_hdf5lib_HDF5Constants_H5E_1CANTRESET(JNIEnv *env, jclass cls)
+{
+ return H5E_CANTRESET;
+}
+JNIEXPORT jlong JNICALL
+Java_hdf_hdf5lib_HDF5Constants_H5E_1CANTRESIZE(JNIEnv *env, jclass cls)
+{
+ return H5E_CANTRESIZE;
+}
+JNIEXPORT jlong JNICALL
+Java_hdf_hdf5lib_HDF5Constants_H5E_1CANTRESTORE(JNIEnv *env, jclass cls)
+{
+ return H5E_CANTRESTORE;
+}
+JNIEXPORT jlong JNICALL
+Java_hdf_hdf5lib_HDF5Constants_H5E_1CANTREVIVE(JNIEnv *env, jclass cls)
+{
+ return H5E_CANTREVIVE;
+}
+JNIEXPORT jlong JNICALL
+Java_hdf_hdf5lib_HDF5Constants_H5E_1CANTSHRINK(JNIEnv *env, jclass cls)
+{
+ return H5E_CANTSHRINK;
+}
+JNIEXPORT jlong JNICALL
Java_hdf_hdf5lib_HDF5Constants_H5E_1CANTSELECT(JNIEnv *env, jclass cls)
{
return H5E_CANTSELECT;
@@ -544,16 +740,71 @@ Java_hdf_hdf5lib_HDF5Constants_H5E_1CANTSET(JNIEnv *env, jclass cls)
return H5E_CANTSET;
}
JNIEXPORT jlong JNICALL
+Java_hdf_hdf5lib_HDF5Constants_H5E_1CANTSERIALIZE(JNIEnv *env, jclass cls)
+{
+ return H5E_CANTSERIALIZE;
+}
+JNIEXPORT jlong JNICALL
+Java_hdf_hdf5lib_HDF5Constants_H5E_1CANTSORT(JNIEnv *env, jclass cls)
+{
+ return H5E_CANTSORT;
+}
+JNIEXPORT jlong JNICALL
Java_hdf_hdf5lib_HDF5Constants_H5E_1CANTSPLIT(JNIEnv *env, jclass cls)
{
return H5E_CANTSPLIT;
}
JNIEXPORT jlong JNICALL
+Java_hdf_hdf5lib_HDF5Constants_H5E_1CANTSWAP(JNIEnv *env, jclass cls)
+{
+ return H5E_CANTSWAP;
+}
+JNIEXPORT jlong JNICALL
+Java_hdf_hdf5lib_HDF5Constants_H5E_1CANTTAG(JNIEnv *env, jclass cls)
+{
+ return H5E_CANTTAG;
+}
+JNIEXPORT jlong JNICALL
+Java_hdf_hdf5lib_HDF5Constants_H5E_1CANTUNCORK(JNIEnv *env, jclass cls)
+{
+ return H5E_CANTUNCORK;
+}
+JNIEXPORT jlong JNICALL
+Java_hdf_hdf5lib_HDF5Constants_H5E_1CANTUNDEPEND(JNIEnv *env, jclass cls)
+{
+ return H5E_CANTUNDEPEND;
+}
+JNIEXPORT jlong JNICALL
Java_hdf_hdf5lib_HDF5Constants_H5E_1CANTUNLOCK(JNIEnv *env, jclass cls)
{
return H5E_CANTUNLOCK;
}
JNIEXPORT jlong JNICALL
+Java_hdf_hdf5lib_HDF5Constants_H5E_1CANTUNLOCKFILE(JNIEnv *env, jclass cls)
+{
+ return H5E_CANTUNLOCKFILE;
+}
+JNIEXPORT jlong JNICALL
+Java_hdf_hdf5lib_HDF5Constants_H5E_1CANTUNPIN(JNIEnv *env, jclass cls)
+{
+ return H5E_CANTUNPIN;
+}
+JNIEXPORT jlong JNICALL
+Java_hdf_hdf5lib_HDF5Constants_H5E_1CANTUNPROTECT(JNIEnv *env, jclass cls)
+{
+ return H5E_CANTUNPROTECT;
+}
+JNIEXPORT jlong JNICALL
+Java_hdf_hdf5lib_HDF5Constants_H5E_1CANTUNSERIALIZE(JNIEnv *env, jclass cls)
+{
+ return H5E_CANTUNSERIALIZE;
+}
+JNIEXPORT jlong JNICALL
+Java_hdf_hdf5lib_HDF5Constants_H5E_1CANTUPDATE(JNIEnv *env, jclass cls)
+{
+ return H5E_CANTUPDATE;
+}
+JNIEXPORT jlong JNICALL
Java_hdf_hdf5lib_HDF5Constants_H5E_1CLOSEERROR(JNIEnv *env, jclass cls)
{
return H5E_CLOSEERROR;
@@ -564,6 +815,11 @@ Java_hdf_hdf5lib_HDF5Constants_H5E_1COMPLEN(JNIEnv *env, jclass cls)
return H5E_COMPLEN;
}
JNIEXPORT jlong JNICALL
+Java_hdf_hdf5lib_HDF5Constants_H5E_1CONTEXT(JNIEnv *env, jclass cls)
+{
+ return H5E_CONTEXT;
+}
+JNIEXPORT jlong JNICALL
Java_hdf_hdf5lib_HDF5Constants_H5E_1DATASET(JNIEnv *env, jclass cls)
{
return H5E_DATASET;
@@ -589,16 +845,31 @@ Java_hdf_hdf5lib_HDF5Constants_H5E_1DUPCLASS(JNIEnv *env, jclass cls)
return H5E_DUPCLASS;
}
JNIEXPORT jlong JNICALL
+Java_hdf_hdf5lib_HDF5Constants_H5E_1EARRAY(JNIEnv *env, jclass cls)
+{
+ return H5E_EARRAY;
+}
+JNIEXPORT jlong JNICALL
Java_hdf_hdf5lib_HDF5Constants_H5E_1EFL(JNIEnv *env, jclass cls)
{
return H5E_EFL;
}
JNIEXPORT jlong JNICALL
+Java_hdf_hdf5lib_HDF5Constants_H5E_1ERROR(JNIEnv *env, jclass cls)
+{
+ return H5E_ERROR;
+}
+JNIEXPORT jlong JNICALL
Java_hdf_hdf5lib_HDF5Constants_H5E_1EXISTS(JNIEnv *env, jclass cls)
{
return H5E_EXISTS;
}
JNIEXPORT jlong JNICALL
+Java_hdf_hdf5lib_HDF5Constants_H5E_1FARRAY(JNIEnv *env, jclass cls)
+{
+ return H5E_FARRAY;
+}
+JNIEXPORT jlong JNICALL
Java_hdf_hdf5lib_HDF5Constants_H5E_1FCNTL(JNIEnv *env, jclass cls)
{
return H5E_FCNTL;
@@ -619,6 +890,11 @@ Java_hdf_hdf5lib_HDF5Constants_H5E_1FILEOPEN(JNIEnv *env, jclass cls)
return H5E_FILEOPEN;
}
JNIEXPORT jlong JNICALL
+Java_hdf_hdf5lib_HDF5Constants_H5E_1FSPACE(JNIEnv *env, jclass cls)
+{
+ return H5E_FSPACE;
+}
+JNIEXPORT jlong JNICALL
Java_hdf_hdf5lib_HDF5Constants_H5E_1FUNC(JNIEnv *env, jclass cls)
{
return H5E_FUNC;
@@ -629,6 +905,11 @@ Java_hdf_hdf5lib_HDF5Constants_H5E_1HEAP(JNIEnv *env, jclass cls)
return H5E_HEAP;
}
JNIEXPORT jlong JNICALL
+Java_hdf_hdf5lib_HDF5Constants_H5E_1INCONSISTENTSTATE(JNIEnv *env, jclass cls)
+{
+ return H5E_INCONSISTENTSTATE;
+}
+JNIEXPORT jlong JNICALL
Java_hdf_hdf5lib_HDF5Constants_H5E_1INTERNAL(JNIEnv *env, jclass cls)
{
return H5E_INTERNAL;
@@ -648,11 +929,21 @@ Java_hdf_hdf5lib_HDF5Constants_H5E_1LINKCOUNT(JNIEnv *env, jclass cls)
{
return H5E_LINKCOUNT;
}
+JNIEXPORT jlong JNICALL
+Java_hdf_hdf5lib_HDF5Constants_H5E_1LOGGING(JNIEnv *env, jclass cls)
+{
+ return H5E_LOGGING;
+}
JNIEXPORT jint JNICALL
Java_hdf_hdf5lib_HDF5Constants_H5E_1MAJOR(JNIEnv *env, jclass cls)
{
return H5E_MAJOR;
}
+JNIEXPORT jlong JNICALL
+Java_hdf_hdf5lib_HDF5Constants_H5E_1MAP(JNIEnv *env, jclass cls)
+{
+ return H5E_MAP;
+}
JNIEXPORT jint JNICALL
Java_hdf_hdf5lib_HDF5Constants_H5E_1MINOR(JNIEnv *env, jclass cls)
{
@@ -674,6 +965,21 @@ Java_hdf_hdf5lib_HDF5Constants_H5E_1MPIERRSTR(JNIEnv *env, jclass cls)
return H5E_MPIERRSTR;
}
JNIEXPORT jlong JNICALL
+Java_hdf_hdf5lib_HDF5Constants_H5E_1NLINKS(JNIEnv *env, jclass cls)
+{
+ return H5E_NLINKS;
+}
+JNIEXPORT jlong JNICALL
+Java_hdf_hdf5lib_HDF5Constants_H5E_1NO_1INDEPENDENT(JNIEnv *env, jclass cls)
+{
+ return H5E_NO_INDEPENDENT;
+}
+JNIEXPORT jlong JNICALL
+Java_hdf_hdf5lib_HDF5Constants_H5E_1NOENCODER(JNIEnv *env, jclass cls)
+{
+ return H5E_NOENCODER;
+}
+JNIEXPORT jlong JNICALL
Java_hdf_hdf5lib_HDF5Constants_H5E_1NOFILTER(JNIEnv *env, jclass cls)
{
return H5E_NOFILTER;
@@ -714,16 +1020,41 @@ Java_hdf_hdf5lib_HDF5Constants_H5E_1NOTHDF5(JNIEnv *env, jclass cls)
return H5E_NOTHDF5;
}
JNIEXPORT jlong JNICALL
+Java_hdf_hdf5lib_HDF5Constants_H5E_1NOTREGISTERED(JNIEnv *env, jclass cls)
+{
+ return H5E_NOTREGISTERED;
+}
+JNIEXPORT jlong JNICALL
+Java_hdf_hdf5lib_HDF5Constants_H5E_1OBJOPEN(JNIEnv *env, jclass cls)
+{
+ return H5E_OBJOPEN;
+}
+JNIEXPORT jlong JNICALL
Java_hdf_hdf5lib_HDF5Constants_H5E_1OHDR(JNIEnv *env, jclass cls)
{
return H5E_OHDR;
}
JNIEXPORT jlong JNICALL
+Java_hdf_hdf5lib_HDF5Constants_H5E_1OPENERROR(JNIEnv *env, jclass cls)
+{
+ return H5E_OPENERROR;
+}
+JNIEXPORT jlong JNICALL
Java_hdf_hdf5lib_HDF5Constants_H5E_1OVERFLOW(JNIEnv *env, jclass cls)
{
return H5E_OVERFLOW;
}
JNIEXPORT jlong JNICALL
+Java_hdf_hdf5lib_HDF5Constants_H5E_1PAGEBUF(JNIEnv *env, jclass cls)
+{
+ return H5E_PAGEBUF;
+}
+JNIEXPORT jlong JNICALL
+Java_hdf_hdf5lib_HDF5Constants_H5E_1PATH(JNIEnv *env, jclass cls)
+{
+ return H5E_PATH;
+}
+JNIEXPORT jlong JNICALL
Java_hdf_hdf5lib_HDF5Constants_H5E_1PLINE(JNIEnv *env, jclass cls)
{
return H5E_PLINE;
@@ -734,6 +1065,11 @@ Java_hdf_hdf5lib_HDF5Constants_H5E_1PLIST(JNIEnv *env, jclass cls)
return H5E_PLIST;
}
JNIEXPORT jlong JNICALL
+Java_hdf_hdf5lib_HDF5Constants_H5E_1PLUGIN(JNIEnv *env, jclass cls)
+{
+ return H5E_PLUGIN;
+}
+JNIEXPORT jlong JNICALL
Java_hdf_hdf5lib_HDF5Constants_H5E_1PROTECT(JNIEnv *env, jclass cls)
{
return H5E_PROTECT;
@@ -764,11 +1100,26 @@ Java_hdf_hdf5lib_HDF5Constants_H5E_1SEEKERROR(JNIEnv *env, jclass cls)
return H5E_SEEKERROR;
}
JNIEXPORT jlong JNICALL
+Java_hdf_hdf5lib_HDF5Constants_H5E_1SETDISALLOWED(JNIEnv *env, jclass cls)
+{
+ return H5E_SETDISALLOWED;
+}
+JNIEXPORT jlong JNICALL
Java_hdf_hdf5lib_HDF5Constants_H5E_1SETLOCAL(JNIEnv *env, jclass cls)
{
return H5E_SETLOCAL;
}
JNIEXPORT jlong JNICALL
+Java_hdf_hdf5lib_HDF5Constants_H5E_1SLIST(JNIEnv *env, jclass cls)
+{
+ return H5E_SLIST;
+}
+JNIEXPORT jlong JNICALL
+Java_hdf_hdf5lib_HDF5Constants_H5E_1SOHM(JNIEnv *env, jclass cls)
+{
+ return H5E_SOHM;
+}
+JNIEXPORT jlong JNICALL
Java_hdf_hdf5lib_HDF5Constants_H5E_1STORAGE(JNIEnv *env, jclass cls)
{
return H5E_STORAGE;
@@ -779,6 +1130,21 @@ Java_hdf_hdf5lib_HDF5Constants_H5E_1SYM(JNIEnv *env, jclass cls)
return H5E_SYM;
}
JNIEXPORT jlong JNICALL
+Java_hdf_hdf5lib_HDF5Constants_H5E_1SYSERRSTR(JNIEnv *env, jclass cls)
+{
+ return H5E_SYSERRSTR;
+}
+JNIEXPORT jlong JNICALL
+Java_hdf_hdf5lib_HDF5Constants_H5E_1SYSTEM(JNIEnv *env, jclass cls)
+{
+ return H5E_SYSTEM;
+}
+JNIEXPORT jlong JNICALL
+Java_hdf_hdf5lib_HDF5Constants_H5E_1TRAVERSE(JNIEnv *env, jclass cls)
+{
+ return H5E_TRAVERSE;
+}
+JNIEXPORT jlong JNICALL
Java_hdf_hdf5lib_HDF5Constants_H5E_1TRUNCATED(JNIEnv *env, jclass cls)
{
return H5E_TRUNCATED;
diff --git a/java/src/jni/h5sImp.c b/java/src/jni/h5sImp.c
index 2a9cff5..f7b65d9 100644
--- a/java/src/jni/h5sImp.c
+++ b/java/src/jni/h5sImp.c
@@ -1340,6 +1340,389 @@ done:
return;
} /* end Java_hdf_hdf5lib_H5_H5Sget_1regular_1hyperslab */
+/*
+ * Class: hdf_hdf5lib_H5
+ * Method: H5Sselect_copy
+ * Signature: (JJ)V
+ */
+JNIEXPORT void JNICALL
+Java_hdf_hdf5lib_H5_H5Sselect_1copy(JNIEnv *env, jclass clss, jlong dst_id, jlong src_id)
+{
+ herr_t status = FAIL;
+
+ UNUSED(clss);
+
+ if ((status = H5Sselect_copy((hid_t)dst_id, (hid_t)src_id)) < 0)
+ H5_LIBRARY_ERROR(ENVONLY);
+
+done:
+ return;
+} /* end Java_hdf_hdf5lib_H5_H5Sselect_1copy */
+
+/*
+ * Class: hdf_hdf5lib_H5
+ * Method: H5Sselect_shape_same
+ * Signature: (JJ)Z
+ */
+JNIEXPORT jboolean JNICALL
+Java_hdf_hdf5lib_H5_H5Sselect_1shape_1same(JNIEnv *env, jclass clss, jlong space1_id, jlong space2_id)
+{
+ htri_t bval = JNI_FALSE;
+
+ UNUSED(clss);
+
+ if ((bval = H5Sselect_shape_same((hid_t)space1_id, (hid_t)space2_id)) < 0)
+ H5_LIBRARY_ERROR(ENVONLY);
+
+ bval = (bval > 0) ? JNI_TRUE : JNI_FALSE;
+
+done:
+ return (jboolean)bval;
+} /* end Java_hdf_hdf5lib_H5_H5Sselect_1shape_1same */
+
+/*
+ * Class: hdf_hdf5lib_H5
+ * Method: H5Sselect_adjust
+ * Signature: (J[J)V
+ */
+JNIEXPORT void JNICALL
+Java_hdf_hdf5lib_H5_H5Sselect_1adjust(JNIEnv *env, jclass clss, jlong space_id, jlongArray offset)
+{
+ jboolean isCopy;
+ hssize_t *offst = NULL;
+ jlong * offsetP = NULL;
+ jsize offset_rank = -1;
+ int i, rank = -1;
+ herr_t status = FAIL;
+
+ UNUSED(clss);
+
+ if (space_id < 0)
+ H5_BAD_ARGUMENT_ERROR(ENVONLY, "H5Sselect_adjust: invalid dataspace ID");
+
+ if ((rank = H5Sget_simple_extent_ndims(space_id)) < 0)
+ H5_LIBRARY_ERROR(ENVONLY);
+
+ if (NULL == offset) {
+ offsetP = NULL;
+ offst = (hssize_t *)offsetP;
+ }
+ else {
+ if ((offset_rank = ENVPTR->GetArrayLength(ENVONLY, offset)) < 0) {
+ CHECK_JNI_EXCEPTION(ENVONLY, JNI_TRUE);
+ H5_BAD_ARGUMENT_ERROR(ENVONLY, "H5Sselect_adjust: offset length < 0");
+ }
+
+ if (offset_rank != rank)
+ H5_BAD_ARGUMENT_ERROR(ENVONLY, "H5Sselect_adjust: offset rank doesn't match dataspace rank!");
+
+ PIN_LONG_ARRAY(ENVONLY, offset, offsetP, &isCopy, "H5Sselect_adjust: offset not pinned");
+
+ if (NULL == (offst = (hssize_t *)HDmalloc((size_t)offset_rank * sizeof(hsize_t))))
+ H5_OUT_OF_MEMORY_ERROR(ENVONLY, "H5Sselect_adjust: failed to allocate offset buffer");
+ }
+
+ if ((status = H5Sselect_adjust(space_id, (hssize_t *)offst)) < 0)
+ H5_LIBRARY_ERROR(ENVONLY);
+
+ for (i = 0; i < offset_rank; i++) {
+ offsetP[i] = (jlong)offst[i];
+ } /* end for */
+
+done:
+ if (offst)
+ HDfree(offst);
+ if (offsetP)
+ UNPIN_LONG_ARRAY(ENVONLY, offset, offsetP, (status < 0) ? JNI_ABORT : 0);
+
+ return;
+} /* end Java_hdf_hdf5lib_H5_H5Sselect_1adjust */
+
+/*
+ * Class: hdf_hdf5lib_H5
+ * Method: H5Sselect_intersect_block
+ * Signature: (J[J[J)Z
+ */
+JNIEXPORT jboolean JNICALL
+Java_hdf_hdf5lib_H5_H5Sselect_1intersect_1block(JNIEnv *env, jclass clss, jlong space_id, jlongArray start,
+ jlongArray end)
+{
+ htri_t bval = JNI_FALSE;
+ jboolean isCopy;
+ hsize_t *strt = NULL, *nd = NULL;
+ jlong * startP = NULL, *endP = NULL;
+ jsize start_rank = -1, end_rank = -1;
+ int i, rank = -1;
+
+ UNUSED(clss);
+
+ if (space_id < 0)
+ H5_BAD_ARGUMENT_ERROR(ENVONLY, "H5Sselect_intersect_block: invalid dataspace ID");
+
+ if ((rank = H5Sget_simple_extent_ndims(space_id)) < 0)
+ H5_LIBRARY_ERROR(ENVONLY);
+
+ if (NULL == start) {
+ startP = NULL;
+ strt = (hsize_t *)startP;
+ }
+ else {
+ if ((start_rank = ENVPTR->GetArrayLength(ENVONLY, start)) < 0) {
+ CHECK_JNI_EXCEPTION(ENVONLY, JNI_TRUE);
+ H5_BAD_ARGUMENT_ERROR(ENVONLY, "H5Sselect_intersect_block: start length < 0");
+ }
+
+ if (start_rank != rank)
+ H5_BAD_ARGUMENT_ERROR(ENVONLY,
+ "H5Sselect_intersect_block: start rank doesn't match dataspace rank!");
+
+ PIN_LONG_ARRAY(ENVONLY, start, startP, &isCopy, "H5Sselect_intersect_block: start not pinned");
+
+ if (NULL == (strt = (hsize_t *)HDmalloc((size_t)start_rank * sizeof(hsize_t))))
+ H5_OUT_OF_MEMORY_ERROR(ENVONLY, "H5Sselect_intersect_block: failed to allocate start buffer");
+ }
+
+ if (NULL == end) {
+ endP = NULL;
+ nd = (hsize_t *)endP;
+ }
+ else {
+ if ((end_rank = ENVPTR->GetArrayLength(ENVONLY, end)) < 0) {
+ CHECK_JNI_EXCEPTION(ENVONLY, JNI_TRUE);
+ H5_BAD_ARGUMENT_ERROR(ENVONLY, "H5Sselect_intersect_block: end array length < 0");
+ }
+
+ if (end_rank != rank)
+ H5_BAD_ARGUMENT_ERROR(ENVONLY,
+ "H5Sselect_intersect_block: end rank doesn't match dataspace rank!");
+
+ PIN_LONG_ARRAY(ENVONLY, end, endP, &isCopy, "H5Sselect_intersect_block: end not pinned");
+
+ if (NULL == (nd = (hsize_t *)HDmalloc((size_t)end_rank * sizeof(hsize_t))))
+ H5_OUT_OF_MEMORY_ERROR(ENVONLY, "H5Sselect_intersect_block: failed to allocate end buffer");
+ }
+
+ if ((bval = H5Sselect_intersect_block(space_id, (hsize_t *)strt, (hsize_t *)nd)) < 0)
+ H5_LIBRARY_ERROR(ENVONLY);
+
+ bval = (bval > 0) ? JNI_TRUE : JNI_FALSE;
+
+ for (i = 0; i < start_rank; i++) {
+ startP[i] = (jlong)strt[i];
+ endP[i] = (jlong)nd[i];
+ } /* end for */
+
+done:
+ if (strt)
+ HDfree(strt);
+ if (startP)
+ UNPIN_LONG_ARRAY(ENVONLY, start, startP, (bval < 0) ? JNI_ABORT : 0);
+ if (nd)
+ HDfree(nd);
+ if (endP)
+ UNPIN_LONG_ARRAY(ENVONLY, end, endP, (bval < 0) ? JNI_ABORT : 0);
+
+ return (jboolean)bval;
+} /* end Java_hdf_hdf5lib_H5_H5Sselect_1intersect_1block */
+
+/*
+ * Class: hdf_hdf5lib_H5
+ * Method: H5Sselect_project_intersection
+ * Signature: (JJJ)J
+ */
+JNIEXPORT jlong JNICALL
+Java_hdf_hdf5lib_H5_H5Sselect_1project_1intersection(JNIEnv *env, jclass clss, jlong src_space_id,
+ jlong dst_space_id, jlong src_intersect_space_id)
+{
+ hid_t sid = H5I_INVALID_HID;
+
+ UNUSED(clss);
+
+ if ((sid = H5Sselect_project_intersection(src_space_id, dst_space_id, src_intersect_space_id)) < 0)
+ H5_LIBRARY_ERROR(ENVONLY);
+
+done:
+
+ return (jlong)sid;
+} /* end Java_hdf_hdf5lib_H5_H5Sselect_1project_1intersection */
+
+/*
+ * Class: hdf_hdf5lib_H5
+ * Method: H5Scombine_hyperslab
+ * Signature: (JI[J[J[J[J)J
+ */
+JNIEXPORT jlong JNICALL
+Java_hdf_hdf5lib_H5_H5Scombine_1hyperslab(JNIEnv *env, jclass clss, jlong space_id, jint op, jlongArray start,
+ jlongArray stride, jlongArray count, jlongArray block)
+{
+ jboolean isCopy;
+ hsize_t *strt = NULL, *strd = NULL, *cnt = NULL, *blk = NULL;
+ hsize_t *lp = NULL;
+ jlong * startP = NULL, *strideP = NULL, *countP = NULL, *blockP = NULL;
+ jlong * jlp = NULL;
+ jsize start_rank, stride_rank, count_rank, block_rank;
+ int i;
+ hid_t sid = H5I_INVALID_HID;
+
+ UNUSED(clss);
+
+ if (NULL == start)
+ H5_NULL_ARGUMENT_ERROR(ENVONLY, "H5Scombine_hyperslab: start is NULL");
+ if (NULL == count)
+ H5_NULL_ARGUMENT_ERROR(ENVONLY, "H5Scombine_hyperslab: count is NULL");
+
+ if ((start_rank = ENVPTR->GetArrayLength(ENVONLY, start)) < 0) {
+ CHECK_JNI_EXCEPTION(ENVONLY, JNI_TRUE);
+ H5_BAD_ARGUMENT_ERROR(ENVONLY, "H5Scombine_hyperslab: start array length < 0");
+ }
+ if ((count_rank = ENVPTR->GetArrayLength(ENVONLY, count)) < 0) {
+ CHECK_JNI_EXCEPTION(ENVONLY, JNI_TRUE);
+ H5_BAD_ARGUMENT_ERROR(ENVONLY, "H5Scombine_hyperslab: count array length < 0");
+ }
+
+ if (start_rank != count_rank)
+ H5_BAD_ARGUMENT_ERROR(ENVONLY, "H5Scombine_hyperslab: count and start have different rank!");
+
+ PIN_LONG_ARRAY(ENVONLY, start, startP, &isCopy, "H5Scombine_hyperslab: start not pinned");
+
+ if (NULL == (strt = lp = (hsize_t *)HDmalloc((size_t)start_rank * sizeof(hsize_t))))
+ H5_OUT_OF_MEMORY_ERROR(ENVONLY, "H5Scombine_hyperslab: failed to allocate start buffer");
+
+ jlp = (jlong *)startP;
+ for (i = 0; i < start_rank; i++) {
+ *lp = (hsize_t)*jlp;
+ lp++;
+ jlp++;
+ } /* end if */
+
+ PIN_LONG_ARRAY(ENVONLY, count, countP, &isCopy, "H5Scombine_hyperslab: count not pinned");
+
+ if (NULL == (cnt = lp = (hsize_t *)HDmalloc((size_t)count_rank * sizeof(hsize_t))))
+ H5_OUT_OF_MEMORY_ERROR(ENVONLY, "H5Scombine_hyperslab: failed to allocate count buffer");
+
+ jlp = (jlong *)countP;
+ for (i = 0; i < count_rank; i++) {
+ *lp = (hsize_t)*jlp;
+ lp++;
+ jlp++;
+ } /* end if */
+
+ if (NULL == stride) {
+ strideP = NULL;
+ strd = (hsize_t *)strideP;
+ }
+ else {
+ if ((stride_rank = ENVPTR->GetArrayLength(ENVONLY, stride)) < 0) {
+ CHECK_JNI_EXCEPTION(ENVONLY, JNI_TRUE);
+ H5_BAD_ARGUMENT_ERROR(ENVONLY, "H5Scombine_hyperslab: stride array length < 0");
+ }
+
+ if (stride_rank != start_rank)
+ H5_BAD_ARGUMENT_ERROR(ENVONLY, "H5Scombine_hyperslab: stride and start have different rank!");
+
+ PIN_LONG_ARRAY(ENVONLY, stride, strideP, &isCopy, "H5Scombine_hyperslab: stride not pinned");
+
+ if (NULL == (strd = lp = (hsize_t *)HDmalloc((size_t)stride_rank * sizeof(hsize_t))))
+ H5_OUT_OF_MEMORY_ERROR(ENVONLY, "H5Scombine_hyperslab: failed to allocate stride buffer");
+
+ jlp = (jlong *)strideP;
+ for (i = 0; i < stride_rank; i++) {
+ *lp = (hsize_t)*jlp;
+ lp++;
+ jlp++;
+ } /* end if */
+ }
+
+ if (NULL == block) {
+ blockP = NULL;
+ blk = (hsize_t *)blockP;
+ }
+ else {
+ if ((block_rank = ENVPTR->GetArrayLength(ENVONLY, block)) < 0) {
+ CHECK_JNI_EXCEPTION(ENVONLY, JNI_TRUE);
+ H5_BAD_ARGUMENT_ERROR(ENVONLY, "H5Scombine_hyperslab: block array length < 0");
+ }
+
+ if (block_rank != start_rank)
+ H5_BAD_ARGUMENT_ERROR(ENVONLY, "H5Scombine_hyperslab: block and start have different rank!");
+
+ PIN_LONG_ARRAY(ENVONLY, block, blockP, &isCopy, "H5Scombine_hyperslab: block not pinned");
+
+ if (NULL == (blk = lp = (hsize_t *)HDmalloc((size_t)block_rank * sizeof(hsize_t))))
+ H5_OUT_OF_MEMORY_ERROR(ENVONLY, "H5Scombine_hyperslab: failed to allocate block buffer");
+
+ jlp = (jlong *)blockP;
+ for (i = 0; i < block_rank; i++) {
+ *lp = (hsize_t)*jlp;
+ lp++;
+ jlp++;
+ } /* end for */
+ }
+
+ if ((sid = H5Scombine_hyperslab(space_id, (H5S_seloper_t)op, (const hsize_t *)strt, (const hsize_t *)strd,
+ (const hsize_t *)cnt, (const hsize_t *)blk)) < 0)
+ H5_LIBRARY_ERROR(ENVONLY);
+
+done:
+ if (blk)
+ HDfree(blk);
+ if (blockP)
+ UNPIN_LONG_ARRAY(ENVONLY, block, blockP, JNI_ABORT);
+ if (strd)
+ HDfree(strd);
+ if (strideP)
+ UNPIN_LONG_ARRAY(ENVONLY, stride, strideP, JNI_ABORT);
+ if (cnt)
+ HDfree(cnt);
+ if (countP)
+ UNPIN_LONG_ARRAY(ENVONLY, count, countP, JNI_ABORT);
+ if (strt)
+ HDfree(strt);
+ if (startP)
+ UNPIN_LONG_ARRAY(ENVONLY, start, startP, JNI_ABORT);
+
+ return (jlong)sid;
+} /* end Java_hdf_hdf5lib_H5_H5Sselect_1hyperslab */
+
+/*
+ * Class: hdf_hdf5lib_H5
+ * Method: H5Smodify_select
+ * Signature: (JIJ)V
+ */
+JNIEXPORT void JNICALL
+Java_hdf_hdf5lib_H5_H5Smodify_1select(JNIEnv *env, jclass clss, jlong space1_id, jint op, jlong space2_id)
+{
+ herr_t status = FAIL;
+
+ UNUSED(clss);
+
+ if ((status = H5Smodify_select((hid_t)space1_id, (H5S_seloper_t)op, (hid_t)space2_id)) < 0)
+ H5_LIBRARY_ERROR(ENVONLY);
+
+done:
+ return;
+} /* end Java_hdf_hdf5lib_H5_H5Smodify_1select */
+
+/*
+ * Class: hdf_hdf5lib_H5
+ * Method: H5Scombine_select
+ * Signature: (JIJ)J
+ */
+JNIEXPORT jlong JNICALL
+Java_hdf_hdf5lib_H5_H5Scombine_1select(JNIEnv *env, jclass clss, jlong space1_id, jint op, jlong space2_id)
+{
+ hid_t sid = H5I_INVALID_HID;
+
+ UNUSED(clss);
+
+ if ((sid = H5Scombine_select((hid_t)space1_id, (H5S_seloper_t)op, (hid_t)space2_id)) < 0)
+ H5_LIBRARY_ERROR(ENVONLY);
+
+done:
+
+ return (jlong)sid;
+} /* end Java_hdf_hdf5lib_H5_H5Scombine_1select */
+
#ifdef __cplusplus
} /* end extern "C" */
#endif /* __cplusplus */
diff --git a/java/src/jni/h5sImp.h b/java/src/jni/h5sImp.h
index ee28b39..83255c1 100644
--- a/java/src/jni/h5sImp.h
+++ b/java/src/jni/h5sImp.h
@@ -259,6 +259,65 @@ JNIEXPORT jboolean JNICALL Java_hdf_hdf5lib_H5_H5Sis_1regular_1hyperslab(JNIEnv
JNIEXPORT void JNICALL Java_hdf_hdf5lib_H5_H5Sget_1regular_1hyperslab(JNIEnv *, jclass, jlong, jlongArray,
jlongArray, jlongArray, jlongArray);
+/*
+ * Class: hdf_hdf5lib_H5
+ * Method: H5Sselect_copy
+ * Signature: (JJ)V
+ */
+JNIEXPORT void JNICALL Java_hdf_hdf5lib_H5_H5Sselect_1copy(JNIEnv *, jclass, jlong, jlong);
+
+/*
+ * Class: hdf_hdf5lib_H5
+ * Method: H5Sselect_shape_same
+ * Signature: (JJ)Z
+ */
+JNIEXPORT jboolean JNICALL Java_hdf_hdf5lib_H5_H5Sselect_1shape_1same(JNIEnv *, jclass, jlong, jlong);
+
+/*
+ * Class: hdf_hdf5lib_H5
+ * Method: H5Sselect_adjust
+ * Signature: (J[J)V
+ */
+JNIEXPORT void JNICALL Java_hdf_hdf5lib_H5_H5Sselect_1adjust(JNIEnv *, jclass, jlong, jlongArray);
+
+/*
+ * Class: hdf_hdf5lib_H5
+ * Method: H5Sselect_intersect_block
+ * Signature: (J[J[J)Z
+ */
+JNIEXPORT jboolean JNICALL Java_hdf_hdf5lib_H5_H5Sselect_1intersect_1block(JNIEnv *, jclass, jlong,
+ jlongArray, jlongArray);
+
+/*
+ * Class: hdf_hdf5lib_H5
+ * Method: H5Sselect_project_intersection
+ * Signature: (JJJ)J
+ */
+JNIEXPORT jlong JNICALL Java_hdf_hdf5lib_H5_H5Sselect_1project_1intersection(JNIEnv *, jclass, jlong, jlong,
+ jlong);
+
+/*
+ * Class: hdf_hdf5lib_H5
+ * Method: H5Scombine_hyperslab
+ * Signature: (JI[J[J[J[J)J
+ */
+JNIEXPORT jlong JNICALL Java_hdf_hdf5lib_H5_H5Scombine_1hyperslab(JNIEnv *, jclass, jlong, jint, jlongArray,
+ jlongArray, jlongArray, jlongArray);
+
+/*
+ * Class: hdf_hdf5lib_H5
+ * Method: H5Smodify_select
+ * Signature: (JIJ)V
+ */
+JNIEXPORT void JNICALL Java_hdf_hdf5lib_H5_H5Smodify_1select(JNIEnv *, jclass, jlong, jint, jlong);
+
+/*
+ * Class: hdf_hdf5lib_H5
+ * Method: H5Scombine_select
+ * Signature: (JIJ)J
+ */
+JNIEXPORT jlong JNICALL Java_hdf_hdf5lib_H5_H5Scombine_1select(JNIEnv *, jclass, jlong, jint, jlong);
+
#ifdef __cplusplus
} /* end extern "C" */
#endif /* __cplusplus */
diff --git a/java/test/TestH5Sbasic.java b/java/test/TestH5Sbasic.java
index 2173647..9874584 100644
--- a/java/test/TestH5Sbasic.java
+++ b/java/test/TestH5Sbasic.java
@@ -242,4 +242,142 @@ public class TestH5Sbasic {
H5.H5Sdecode(null);
}
+ @Test(expected = IllegalArgumentException.class)
+ public void testH5Sget_regular_hyperslab_invalid() throws Throwable {
+ long q_start[] = new long[2];
+ long q_stride[] = new long[2];
+ long q_count[] = new long[2];
+ long q_block[] = new long[2];
+
+ H5.H5Sget_regular_hyperslab(-1, q_start, q_stride, q_count, q_block);
+ }
+
+ @Test(expected = hdf.hdf5lib.exceptions.HDF5FunctionArgumentException.class)
+ public void testH5Sselect_copy_invalid() throws Throwable {
+ H5.H5Sselect_copy(-1, -1);
+ }
+
+ @Test(expected = hdf.hdf5lib.exceptions.HDF5DataspaceInterfaceException.class)
+ public void testH5Sselect_shape_same_invalid() throws Throwable {
+ H5.H5Sselect_shape_same(-1, -1);
+ }
+
+ @Test(expected = IllegalArgumentException.class)
+ public void testH5Sselect_adjust_invalid() throws Throwable {
+ long offset[][] = {{0,1},{2,4},{5,6}};
+ H5.H5Sselect_adjust(-1, offset);
+ }
+
+ @Test(expected = IllegalArgumentException.class)
+ public void testH5Sselect_adjust_rank_offset() throws Throwable {
+ long sid = -1;
+ long offset[][] = {{0,1},{2,4},{5,6}};
+
+ try {
+ sid = H5.H5Screate(HDF5Constants.H5S_SIMPLE);
+ assertTrue("H5.H5Screate_simple_extent",sid > 0);
+ H5.H5Sselect_adjust(sid, offset);
+ }
+ finally {
+ try {H5.H5Sclose(sid);} catch (Exception ex) {}
+ }
+ }
+
+ @Test(expected = IllegalArgumentException.class)
+ public void testH5Sselect_intersect_block_invalid() throws Throwable {
+ long start[] = new long[2];
+ long end[] = new long[2];
+ H5.H5Sselect_intersect_block(-1, start, end);
+ }
+
+ @Test(expected = IllegalArgumentException.class)
+ public void testH5Sselect_intersect_block_rank_start() throws Throwable {
+ long sid = -1;
+ long start[] = new long[2];
+ long end[] = null;
+
+ try {
+ sid = H5.H5Screate(HDF5Constants.H5S_SIMPLE);
+ assertTrue("H5.H5Screate_simple_extent",sid > 0);
+ H5.H5Sselect_intersect_block(sid, start, end);
+ }
+ finally {
+ try {H5.H5Sclose(sid);} catch (Exception ex) {}
+ }
+ }
+
+ @Test(expected = IllegalArgumentException.class)
+ public void testH5Sselect_intersect_block_rank_end() throws Throwable {
+ long sid = -1;
+ long start[] = null;
+ long end[] = new long[2];
+
+ try {
+ sid = H5.H5Screate(HDF5Constants.H5S_SIMPLE);
+ assertTrue("H5.H5Screate_simple_extent",sid > 0);
+ H5.H5Sselect_intersect_block(sid, start, end);
+ }
+ finally {
+ try {H5.H5Sclose(sid);} catch (Exception ex) {}
+ }
+ }
+
+ @Test(expected = hdf.hdf5lib.exceptions.HDF5DataspaceInterfaceException.class)
+ public void testH5Sselect_project_intersection_invalid() throws Throwable {
+ H5.H5Sselect_project_intersection(-1, -1, -1);
+ }
+
+ @Test(expected = hdf.hdf5lib.exceptions.HDF5FunctionArgumentException.class)
+ public void testH5Scombine_hyperslab_invalid() throws Throwable {
+ long start[] = new long[2];
+ long count[] = new long[2];
+ H5.H5Scombine_hyperslab(-1, 0, start, null, count, null);
+ }
+
+ @Test(expected = NullPointerException.class)
+ public void testH5Scombine_hyperslab_null_start() throws Throwable {
+ long sid = -1;
+ long start[] = null;
+ long stride[] = null;
+ long count[] = new long[2];
+ long block[] = null;
+
+ try {
+ sid = H5.H5Screate(HDF5Constants.H5S_SIMPLE);
+ assertTrue("H5.H5Screate_simple_extent",sid > 0);
+ H5.H5Scombine_hyperslab(sid, 0, start, stride, count, block);
+ }
+ finally {
+ try {H5.H5Sclose(sid);} catch (Exception ex) {}
+ }
+ }
+
+ @Test(expected = NullPointerException.class)
+ public void testH5Scombine_hyperslab_null_count() throws Throwable {
+ long sid = -1;
+ long start[] = new long[2];
+ long stride[] = null;
+ long count[] = null;
+ long block[] = null;
+
+ try {
+ sid = H5.H5Screate(HDF5Constants.H5S_SIMPLE);
+ assertTrue("H5.H5Screate_simple_extent",sid > 0);
+ H5.H5Scombine_hyperslab(sid, 0, start, stride, count, block);
+ }
+ finally {
+ try {H5.H5Sclose(sid);} catch (Exception ex) {}
+ }
+ }
+
+ @Test(expected = hdf.hdf5lib.exceptions.HDF5FunctionArgumentException.class)
+ public void testH5Smodify_select_invalid() throws Throwable {
+ H5.H5Smodify_select(-1, 0, -1);
+ }
+
+ @Test(expected = hdf.hdf5lib.exceptions.HDF5FunctionArgumentException.class)
+ public void testH5Scombine_select_invalid() throws Throwable {
+ H5.H5Scombine_select(-1, 0, -1);
+ }
+
}
diff --git a/java/test/testfiles/JUnit-TestH5Sbasic.txt b/java/test/testfiles/JUnit-TestH5Sbasic.txt
index 707878e..3422442 100644
--- a/java/test/testfiles/JUnit-TestH5Sbasic.txt
+++ b/java/test/testfiles/JUnit-TestH5Sbasic.txt
@@ -5,18 +5,32 @@ JUnit version 4.11
.testH5Sdecode_null
.testH5Screate_simple_dims_exceed
.testH5Screate_simple_unlimted_1d
+.testH5Sselect_intersect_block_rank_start
+.testH5Sget_regular_hyperslab_invalid
+.testH5Sselect_adjust_rank_offset
.testH5Screate_simple_dims_invalid
.testH5Screate_scalar
.testH5Screate_simple
+.testH5Sselect_project_intersection_invalid
.testH5Screate_simple_rank_invalid
.testH5Sget_simple_extent_type_invalid
+.testH5Scombine_hyperslab_invalid
+.testH5Scombine_hyperslab_null_count
+.testH5Scombine_hyperslab_null_start
.testH5Sencode_invalid
.testH5Screate_null
.testH5Screate_simple_extent
.testH5Screate_invalid
+.testH5Sselect_intersect_block_invalid
+.testH5Sselect_adjust_invalid
.testH5Screate_simple_unlimted
+.testH5Sselect_shape_same_invalid
+.testH5Smodify_select_invalid
+.testH5Scombine_select_invalid
+.testH5Sselect_copy_invalid
+.testH5Sselect_intersect_block_rank_end
Time: XXXX
-OK (16 tests)
+OK (30 tests)