## ncsa.hdf.hdf5lib
Class H5

    java.lang.Object
      ncsa.hdf.hdf5lib.H5

public class H5
extends Object

This class is the Java interface for the HDF5 library

This code is the called by Java programs to access the entry points of the HDF5 1.2 library. Each routine wraps a single HDF5 entry point, generally with the arguments and return codes analogous to the C interface.

For details of the HDF5 library, see the HDF5 Documentation at: http://hdf.ncsa.uiuc.edu/HDF5/

Mapping of arguments for Java

In general, arguments to the HDF Java API are straightforward translations from the 'C' API described in the HDF Reference Manual.

HDF-5 C types to Java types
HDF-5 | Java
H5T_NATIVE_INT | int, Integer
H5T_NATIVE_SHORT | short, Short
H5T_NATIVE_FLOAT | float, Float
H5T_NATIVE_DOUBLE | double, Double
H5T_NATIVE_CHAR | byte, Byte
H5T_C_S1 | java.lang.String
void * (i.e., pointer to `Any') | Special -- see HDFArray

General Rules for Passing Arguments and Results

In general, arguments passed IN to Java are the analogous basic types, as above. The exception is for arrays, which are discussed below.

The return value of Java methods is also the analogous type, as above. A major exception to that rule is that all HDF functions that return SUCCEED/FAIL are declared boolean in the Java version, rather than int as in the C. Functions that return a value or else FAIL are declared the equivalent to the C function. However, in most cases the Java method will raise an exception instead of returning an error code. See Errors and Exceptions below.

Java does not support pass by reference of arguments, so arguments that are returned through OUT parameters must be wrapped in an object or array. The Java API for HDF consistently wraps arguments in arrays.

For instance, a function that returns two integers is declared:

           h_err_t HDF5dummy( int *a1, int *a2)

For the Java interface, this would be declared:

           public static native int HDF5dummy( int args[] );

where a1 is args[0] and a2 is args[1], and would be invoked:

           H5.HDF5dummy( a );

All the routines where this convention is used will have specific documentation of the details, given below.

Arrays

HDF5 needs to read and write multi-dimensional arrays of any number type (and records). The HDF5 API describes the layout of the source and destination, and the data for the array passed as a block of bytes, for instance,

          herr_t H5Dread(int fid, int filetype, int memtype, int memspace,
          void * data);

where ``void *'' means that the data may be any valid numeric type, and is a contiguous block of bytes that is the data for a multi-dimensional array. The other parameters describe the dimensions, rank, and datatype of the array on disk (source) and in memory (destination).

For Java, this ``ANY'' is a problem, as the type of data must always be declared. Furthermore, multidimensional arrays are definitely not layed out contiguously in memory. It would be infeasible to declare a separate routine for every combination of number type and dimensionality. For that reason, the HDF-5 Constants

The HDF-5 API defines a set of constants and enumerated values. Most of these values are available to Java programs via the class HDF5Constants. For example, the parameters for the h5open() call include two numeric values, HDFConstants.H5F_ACC_RDWR and HDF5Constants.H5P_DEFAULT. As would be expected, these numbers correspond to the C constants H5F_ACC_RDWR and H5P_DEFAULT.

The HDF-5 API defines a set of values that describe number types and sizes, such as "H5T_NATIVE_INT" and "hsize_t". These values are determined at run time by the HDF-5 C library. To support these parameters, the Java class HDF5CDataTypes looks up the values when initiated. The values can be accessed as public variables of the Java class, such as:

     int data_type = HDF5CDataTypes.JH5T_NATIVE_INT;

The Java application uses both types of constants the same way, the only difference is that the HDF5CDataTypes may have different values on different platforms.

Error handling and Exceptions

The HDF5 error API (H5E) manages the behavior of the error stack in the HDF-5 library. This API is omitted from the JHI5. Errors are converted into Java exceptions. This is totally different from the C interface, but is very natural for Java programming.

The exceptions of the JHI5 are organized as sub-classes of the class HDF5Exception. There are two subclasses of HDF5Exception, HDF5LibraryException and HDF5JavaException. The sub-classes of the former represent errors from the HDF-5 C library, while sub-classes of the latter represent errors in the JHI5 wrapper and support code.

The super-class HDF5LibraryException implements the method 'printStackTrace()', which prints out the HDF-5 error stack, as described in the HDF-5 C API H5Eprint(). This may be used by Java exception handlers to print out the HDF-5 error stack.

Field Summary
`static String` `H5PATH_PROPERTY_KEY`

Constructor Summary
`H5()`

Method Summary
`static int` `H5Aclose(int attr_id)` H5Aclose terminates access to the attribute specified by its identifier, attr_id.
`static int` `H5Acreate(int loc_id, String name, int type_id, int space_id, int create_plist)` H5Acreate creates an attribute which is attached to the object specified with loc_id.
`static int` `H5Adelete(int loc_id, String name)` H5Adelete removes the attribute specified by its name, name, from a dataset, group, or named datatype.
`static long` `H5Aget_name(int attr_id, long buf_size, String[] name)` H5Aget_name retrieves the name of an attribute specified by the identifier, attr_id.
`static int` `H5Aget_num_attrs(int loc_id)` H5Aget_num_attrs returns the number of attributes attached to the object specified by its identifier, loc_id.
`static int` `H5Aget_space(int attr_id)` H5Aget_space retrieves a copy of the dataspace for an attribute.
`static int` `H5Aget_type(int attr_id)` H5Aget_type retrieves a copy of the datatype for an attribute.
`static int` `H5Aopen_idx(int loc_id, int idx)` H5Aopen_idx opens an attribute which is attached to the object specified with loc_id.
`static int` `H5Aopen_name(int loc_id, String name)` H5Aopen_name opens an attribute specified by its name, name, which is attached to the object specified with loc_id.
`static int` `H5Aread(int attr_id, int mem_type_id, byte[] buf)` H5Aread reads an attribute, specified with attr_id.
`static int` `H5Aread(int attr_id, int mem_type_id, Object obj)` H5Aread reads an attribute, specified with attr_id.
`static int` `H5Awrite(int attr_id, int mem_type_id, byte[] buf)` H5Awrite writes an attribute, specified with attr_id.
`static int` `H5Awrite(int attr_id, int mem_type_id, Object obj)` H5Awrite writes an attribute, specified with attr_id.
`static int` `H5check_version(int majnum, int minnum, int relnum)` H5check_version verifies that the arguments match the version numbers compiled into the library.
`static int` `H5close()` H5close flushes all data to disk, closes all file identifiers, and cleans up all memory used by the library.
`static int` `H5Dclose(int dataset_id)` H5Dclose ends access to a dataset specified by dataset_id and releases resources used by it.
`static int` `H5Dcreate(int loc_id, String name, int type_id, int space_id, int create_plist_id)` H5Dcreate creates a data set with a name, name, in the file or in the group specified by the identifier loc_id.
`static int` `H5Dextend(int dataset_id, long[] size)` H5Dextend verifies that the dataset is at least of size size.
`static int` `H5Dget_create_plist(int dataset_id)` H5Dget_create_plist returns an identifier for a copy of the dataset creation property list for a dataset.
`static int` `H5Dget_space(int dataset_id)` H5Dget_space returns an identifier for a copy of the dataspace for a dataset.
`static long` `H5Dget_storage_size(int dataset_id)` H5Dget_storage_size returns the amount of storage that is required for the dataset.
`static int` `H5Dget_type(int dataset_id)` H5Dget_type returns an identifier for a copy of the datatype for a dataset.
`static int` `H5Dopen(int loc_id, String name)` H5Dopen opens an existing dataset for access in the file or group specified in loc_id.
`static int` `H5Dread(int dataset_id, int mem_type_id, int mem_space_id, int file_space_id, int xfer_plist_id, byte[] buf)` H5Dread reads a (partial) dataset, specified by its identifier dataset_id, from the file into the application memory buffer buf.
`static int` `H5Dread(int dataset_id, int mem_type_id, int mem_space_id, int file_space_id, int xfer_plist_id, Object obj)` H5Dread reads a (partial) dataset, specified by its identifier dataset_id, from the file into the application data object.
`static int` `H5Dwrite(int dataset_id, int mem_type_id, int mem_space_id, int file_space_id, int xfer_plist_id, byte[] buf)` H5Dwrite writes a (partial) dataset, specified by its identifier dataset_id, from the application memory buffer buf into the file.
`static int` `H5Dwrite(int dataset_id, int mem_type_id, int mem_space_id, int file_space_id, int xfer_plist_id, Object obj)` H5Dwrite writes a (partial) dataset, specified by its identifier dataset_id, from the application memory data object into the file.
`static int` `H5Eclear()` H5Eclear clears the error stack for the current thread.
`static int` `H5Fclose(int file_id)` H5Fclose terminates access to an HDF5 file.
`static int` `H5Fcreate(String name, int flags, int create_id, int access_id)` H5Fcreate is the primary function for creating HDF5 files.
`static int` `H5Fflush(int object_id, int scope)` H5Fflush causes all buffers associated with a file or object to be immediately flushed (written) to disk without removing the data from the (memory) cache.
`static int` `H5Fget_access_plist(int file_id)` H5Fget_access_plist returns the file access property list identifier of the specified file.
`static int` `H5Fget_create_plist(int file_id)` H5Fget_create_plist returns a file creation property list identifier identifying the creation properties used to create this file.
`static boolean` `H5Fis_hdf5(String name)` H5Fis_hdf5 determines whether a file is in the HDF5 format.
`static int` `H5Fmount(int loc_id, String name, int child_id, int plist_id)` H5Fmount mounts the file specified by child_id onto the group specified by loc_id and name using the mount properties plist_id.
`static int` `H5Fopen(String name, int flags, int access_id)` H5Fopen opens an existing file and is the primary function for accessing existing HDF5 files.
`static int` `H5Freopen(int file_id)` H5Freopen reopens an HDF5 file.
`static int` `H5Funmount(int loc_id, String name)` Given a mount point, H5Funmount dissassociates the mount point's file from the file mounted there.
`static int` `H5Gclose(int group_id)` H5Gclose releases resources used by a group which was opened by a call to H5Gcreate() or H5Gopen().
`static int` `H5Gcreate(int loc_id, String name, int size_hint)` H5Gcreate creates a new group with the specified name at the specified location, loc_id.
`static int` `H5get_libversion(int[] libversion)` H5get_libversion retrieves the major, minor, and release numbers of the version of the HDF library which is linked to the application.
`static int` `H5Gget_comment(int loc_id, String name, int bufsize, String[] comment)` H5Gget_comment retrieves the comment for the the object name.
`static int` `H5Gget_linkval(int loc_id, String name, int size, String[] value)` H5Gget_linkval returns size characters of the link value through the value argument if loc_id (a file or group identifier) and name specify a symbolic link.
`static int` `H5Gget_obj_info_idx(int loc_id, String name, int idx, String[] oname, int[] type)`
`static int` `H5Gget_objinfo(int loc_id, String name, boolean follow_link, HDF5GroupInfo info)` H5Gget_objinfo returns information about the specified object in an HDF5GroupInfo object.
`static int` `H5Gget_objinfo(int loc_id, String name, boolean follow_link, long[] fileno, long[] objno, int[] link_info, long[] mtime)` H5Gget_objinfo returns information about the specified object.
`static int` `H5Glink(int loc_id, int link_type, String current_name, String new_name)` H5Glink creates a new name for an already existing object.
`static int` `H5Gmove(int loc_id, String src, String dst)` H5Gmove renames an object within an HDF5 file.
`static int` `H5Gn_members(int loc_id, String name)`
`static int` `H5Gopen(int loc_id, String name)` H5Gopen opens an existing group with the specified name at the specified location, loc_id.
`static int` `H5Gset_comment(int loc_id, String name, String comment)` H5Gset_comment sets the comment for the the object name to comment.
`static int` `H5Gunlink(int loc_id, String name)` H5Gunlink removes an association between a name and an object.
`static int` `H5Iget_type(int obj_id)` H5Iget_type retrieves the type of the object identified by obj_id.
`static int` `H5open()` H5open initialize the library.
`static int` `H5Pclose(int plist)` H5Pclose terminates access to a property list.
`static int` `H5Pcopy(int plist)` H5Pcopy copies an existing property list to create a new property list.
`static int` `H5Pcreate(int type)` H5Pcreate creates a new property as an instance of some property list class.
`static int` `H5Pget_alignment(int plist, long[] alignment)` H5Pget_alignment retrieves the current settings for alignment properties from a file access property list.
`static int` `H5Pget_btree_ratios(int plist_id, double[] left, double[] middle, double[] right)` H5Pget_btree_ratio Get the B-tree split ratios for a dataset transfer property list.
`static int` `H5Pget_cache(int plist, int[] mdc_nelmts, int[] rdcc_nelmts, int[] rdcc_nbytes, double[] rdcc_w0)` Retrieves the maximum possible number of elements in the meta data cache and the maximum possible number of bytes and the RDCC_W0 value in the raw data chunk cache.
`static int` `H5Pget_chunk(int plist, int max_ndims, long[] dims)` H5Pget_chunk retrieves the size of chunks for the raw data of a chunked layout dataset.
`static int` `H5Pget_class(int plist)` H5Pget_class returns the property list class for the property list identified by the plist parameter.
`static boolean` `H5Pget_core(int plist, int[] increment)` H5Pget_core checks to determine whether the file access property list is set to the core driver.
`static int` `H5Pget_driver(int plist)` H5Pget_driver returns the identifier of the low-level file driver.
`static int` `H5Pget_external_count(int plist)` H5Pget_external_count returns the number of external files for the specified dataset.
`static int` `H5Pget_external(int plist, int idx, int name_size, String[] name, long[] size)` H5Pget_external returns information about an external file.
`static int` `H5Pget_family(int tid, long[] memb_size, int[] memb_plist)` H5Pget_family checks to determine whether the file access property list is set to the family driver.
`static int` `H5Pget_fill_value(int plist_id, int type_id, byte[] value)` H5Pget_fill_value queries the fill value property of a dataset creation property list.
`static int` `H5Pget_fill_value(int plist_id, int type_id, Object obj)` H5Pget_fill_value queries the fill value property of a dataset creation property list.
`static int` `H5Pget_filter(int plist, int filter_number, int[] flags, int[] cd_nelmts, int[] cd_values, int namelen, String[] name)` H5Pget_filter returns information about a filter, specified by its filter number, in a filter pipeline, specified by the property list with which it is associated.
`static int` `H5Pget_gc_reference(int fapl_id, boolean[] gc_ref)` H5Pget_gc_references Returns the current setting for the garbage collection refernces property from a file access property list.
`static int` `H5Pget_hyper_cache(int plist_id, boolean[] cache, int[] limit)` H5Pget_hyper_cache Find whether to hyperslab blocks are cached during I/O.
`static int` `H5Pget_istore_k(int plist, int[] ik)` H5Pget_istore_k queries the 1/2 rank of an indexed storage B-tree.
`static int` `H5Pget_layout(int plist)` H5Pget_layout returns the layout of the raw data for a dataset.
`static int` `H5Pget_nfilters(int plist)` H5Pget_nfilters returns the number of filters defined in the filter pipeline associated with the property list plist.
`static int` `H5Pget_preserve(int plist)` H5Pget_preserve checks the status of the dataset transfer property list.
`static boolean` `H5Pget_sec2(int plist)` H5Pget_sec2 checks to determine whether the file access property list is set to the sec2 driver.
`static int` `H5Pget_sizes(int plist, int[] size)` H5Pget_sizes retrieves the size of the offsets and lengths used in an HDF5 file.
`static boolean` `H5Pget_split(int plist, int meta_ext_size, String[] meta_ext, int[] meta_properties, int raw_ext_size, String[] raw_ext, int[] raw_properties)` H5Pget_split checks to determine whether the file access property list is set to the split driver.
`static boolean` `H5Pget_stdio(int plist)` H5Pget_stdio checks to determine whether the file access property list is set to the stdio driver.
`static int` `H5Pget_sym_k(int plist, int[] size)` H5Pget_sym_k retrieves the size of the symbol table B-tree 1/2 rank and the symbol table leaf node 1/2 size.
`static int` `H5Pget_userblock(int plist, long[] size)` H5Pget_userblock retrieves the size of a user block in a file creation property list.
`static int` `H5Pget_version(int plist, int[] version_info)` H5Pget_version retrieves the version information of various objects for a file creation property list.
`static int` `H5Pset_alignment(int plist, long threshold, long alignment)` H5Pset_alignment sets the alignment properties of a file access property list so that any file object >= THRESHOLD bytes will be aligned on an address which is a multiple of ALIGNMENT.
`static int` `H5Pset_btree_ratios(int plist_id, double left, double middle, double right)` H5Pset_btree_ratio Sets B-tree split ratios for a dataset transfer property list.
`static int` `H5Pset_cache(int plist, int mdc_nelmts, int rdcc_nelmts, int rdcc_nbytes, double rdcc_w0)` H5Pset_cache sets the number of elements (objects) in the meta data cache and the total number of bytes in the raw data chunk cache.
`static int` `H5Pset_chunk(int plist, int ndims, long[] dim)` H5Pset_chunk sets the size of the chunks used to store a chunked layout dataset.
`static int` `H5Pset_core(int plist, int increment)` H5Pset_core sets the low-level file driver to use malloc() and free().
`static boolean` `H5Pset_deflate(int plist, int level)` H5Pset_deflate sets the compression method for a dataset.
`static int` `H5Pset_external(int plist, String name, long offset, long size)` H5Pset_external adds an external file to the list of external files.
`static int` `H5Pset_family(int plist, long memb_size, int memb_plist)` H5Pset_family sets the file access properties to use the family driver; any previously defined driver properties are erased from the property list.
`static int` `H5Pset_fill_value(int plist_id, int type_id, byte[] value)` H5Pset_fill_value sets the fill value for a dataset creation property list.
`static int` `H5Pset_fill_value(int plist_id, int type_id, Object obj)` H5Pset_fill_value sets the fill value for a dataset creation property list.
`static int` `H5Pset_filter(int plist, int filter, int flags, int cd_nelmts, int[] cd_values)` H5Pset_filter adds the specified filter and corresponding properties to the end of an output filter pipeline.
`static int` `H5Pset_gc_references(int fapl_id, boolean gc_ref)` H5Pset_gc_references Sets the flag for garbage collecting references for the file.
`static int` `H5Pset_hyper_cache(int plist_id, boolean cache, int limit)` H5Pset_hyper_cache Indicates whether to cache hyperslab blocks during I/O.
`static int` `H5Pset_istore_k(int plist, int ik)` H5Pset_istore_k sets the size of the parameter used to control the B-trees for indexing chunked datasets.
`static int` `H5Pset_layout(int plist, int layout)` H5Pset_layout sets the type of storage used store the raw data for a dataset.
`static int` `H5Pset_preserve(int plist, boolean status)` H5Pset_preserve sets the dataset transfer property list status to TRUE or FALSE.
`static int` `H5Pset_sec2(int plist)` H5Pset_sec2 sets the low-level file driver to use the functions declared in the unistd.h file: open(), lseek() or lseek64(), read(), write(), and close().
`static int` `H5Pset_sizes(int plist, int sizeof_addr, int sizeof_size)` H5Pset_sizes sets the byte size of the offsets and lengths used to address objects in an HDF5 file.
`static int` `H5Pset_split(int plist, String meta_ext, int meta_plist, String raw_ext, int raw_plist)` H5Pset_split sets the low-level driver to split meta data from raw data, storing meta data in one file and raw data in another file.
`static int` `H5Pset_stdio(int plist)` H5Pset_stdio sets the low level file driver to use the functions declared in the stdio.h file: fopen(), fseek() or fseek64(), fread(), fwrite(), and fclose().
`static int` `H5Pset_sym_k(int plist, int ik, int lk)` H5Pset_sym_k sets the size of parameters used to control the symbol table nodes.
`static int` `H5Pset_userblock(int plist, long size)` H5Pset_userblock sets the user block size of a file creation property list.
`static byte[]` `H5Rcreate(int loc_id, String name, int ref_type, int space_id)` H5Rcreate creates the reference, ref, of the type specified in ref_type, pointing to the object name located at loc_id.
`static int` `H5Rdereference(int dataset, int ref_type, byte[] ref)` Given a reference to some object, H5Rdereference opens that object and return an identifier.
`static int` `H5Rget_object_type(int loc_id, byte[] ref)` Given a reference to an object ref, H5Rget_object_type returns the type of the object pointed to.
`static int` `H5Rget_region(int loc_id, int ref_type, byte[] ref)` Given a reference to an object ref, H5Rget_region creates a copy of the dataspace of the dataset pointed to and defines a selection in the copy which is the region pointed to.
`static int` `H5Sclose(int space_id)` H5Sclose releases a dataspace.
`static int` `H5Scopy(int space_id)` H5Scopy creates a new dataspace which is an exact copy of the dataspace identified by space_id.
`static int` `H5Screate_simple(int rank, long[] dims, long[] maxdims)` H5Screate_simple creates a new simple data space and opens it for access.
`static int` `H5Screate(int type)` H5Screate creates a new dataspace of a particular type.
`static int` `H5Sextent_copy(int dest_space_id, int source_space_id)` H5Sextent_copy copies the extent from source_space_id to dest_space_id.
`static int` `H5Sget_select_bounds(int spaceid, long[] start, long[] end)` H5Sget_select_bounds retrieves the coordinates of the bounding box containing the current selection and places them into user-supplied buffers.
`static long` `H5Sget_select_elem_npoints(int spaceid)` H5Sget_select_elem_npoints returns the number of element points in the current dataspace selection.
`static int` `H5Sget_select_elem_pointlist(int spaceid, long startpoint, long numpoints, long[] buf)` H5Sget_select_elem_pointlist returns an array of of element points in the current dataspace selection.
`static int` `H5Sget_select_hyper_blocklist(int spaceid, long startblock, long numblocks, long[] buf)` H5Sget_select_hyper_blocklist returns an array of hyperslab blocks.
`static long` `H5Sget_select_hyper_nblocks(int spaceid)` H5Sget_select_hyper_nblocks returns the number of hyperslab blocks in the current dataspace selection.
`static long` `H5Sget_select_npoints(int space_id)` H5Sget_select_npoints determines the number of elements in the current selection of a dataspace.
`static int` `H5Sget_simple_extent_dims(int space_id, long[] dims, long[] maxdims)` H5Sget_simple_extent_dims returns the size and maximum sizes of each dimension of a dataspace through the dims and maxdims parameters.
`static int` `H5Sget_simple_extent_ndims(int space_id)` H5Sget_simple_extent_ndims determines the dimensionality (or rank) of a dataspace.
`static long` `H5Sget_simple_extent_npoints(int space_id)` H5Sget_simple_extent_npoints determines the number of elements in a dataspace.
`static int` `H5Sget_simple_extent_type(int space_id)` H5Sget_simple_extent_type queries a dataspace to determine the current class of a dataspace.
`static boolean` `H5Sis_simple(int space_id)` H5Sis_simple determines whether a dataspace is a simple dataspace.
`static int` `H5Soffset_simple(int space_id, long[] offset)` H5Soffset_simple sets the offset of a simple dataspace space_id.
`static int` `H5Sselect_all(int space_id)` H5Sselect_all selects the entire extent of the dataspace space_id.
`static int` `H5Sselect_elements(int space_id, int op, int num_elements, long[][] coord2D)` H5Sselect_elements selects array elements to be included in the selection for the space_id dataspace.
`static int` `H5Sselect_hyperslab(int space_id, int op, long[] start, long[] stride, long[] count, long[] block)` H5Sselect_hyperslab selects a hyperslab region to add to the current selected region for the dataspace specified by space_id.
`static int` `H5Sselect_none(int space_id)` H5Sselect_none resets the selection region for the dataspace space_id to include no elements.
`static boolean` `H5Sselect_valid(int space_id)` H5Sselect_valid verifies that the selection for the dataspace.
`static int` `H5Sset_extent_none(int space_id)` H5Sset_extent_none removes the extent from a dataspace and sets the type to H5S_NONE.
`static int` `H5Sset_extent_simple(int space_id, int rank, long[] current_size, long[] maximum_size)` H5Sset_extent_simple sets or resets the size of an existing dataspace.
`static int` `H5Tclose(int type_id)` H5Tclose releases a datatype.
`static int` `H5Tcommit(int loc_id, String name, int type)` H5Tcommit commits a transient datatype (not immutable) to a file, turned it into a named datatype.
`static boolean` `H5Tcommitted(int type)` H5Tcommitted queries a type to determine whether the type specified by the type identifier is a named type or a transient type.
`static int` `H5Tcopy(int type_id)` H5Tcopy copies an existing datatype.
`static int` `H5Tcreate(int dclass, int size)` H5Tcreate creates a new dataype of the specified class with the specified number of bytes.
`static int` `H5Tenum_create(int base_id)` H5Tenum_create creates a new enumeration datatype based on the specified base datatype, parent_id, which must be an integer type.
`static int` `H5Tenum_insert(int type, String name, int[] value)` H5Tenum_insert inserts a new enumeration datatype member into an enumeration datatype.
`static int` `H5Tenum_nameof(int type, int[] value, String[] name, int size)` H5Tenum_nameof finds the symbol name that corresponds to the specified value of the enumeration datatype type.
`static int` `H5Tenum_valueof(int type, String name, int[] value)` H5Tenum_valueof finds the value that corresponds to the specified name of the enumeration datatype type.
`static boolean` `H5Tequal(int type_id1, int type_id2)` H5Tequal determines whether two datatype identifiers refer to the same datatype.
`static int` `H5Tget_class(int type_id)` H5Tget_class returns the datatype class identifier.
`static int` `H5Tget_cset(int type_id)` H5Tget_cset retrieves the character set type of a string datatype.
`static int` `H5Tget_ebias(int type_id)` H5Tget_ebias retrieves the exponent bias of a floating-point type.
`static int` `H5Tget_fields(int type_id, int[] fields)` H5Tget_fields retrieves information about the locations of the various bit fields of a floating point datatype.
`static int` `H5Tget_inpad(int type_id)` H5Tget_inpad retrieves the internal padding type for unused bits in floating-point datatypes.
`static int` `H5Tget_member_dims(int type_id, int field_idx, int[] dims, int[] perm)` H5Tget_member_dims returns the dimensionality of the field.
`static String` `H5Tget_member_name(int type_id, int field_idx)` H5Tget_member_name retrieves the name of a field of a compound datatype.
`static long` `H5Tget_member_offset(int type_id, int membno)` H5Tget_member_offset returns the byte offset of the specified member of the compound datatype.
`static int` `H5Tget_member_type(int type_id, int field_idx)` H5Tget_member_type returns the datatype of the specified member.
`static int` `H5Tget_member_value(int type_id, int membno, int[] value)` H5Tget_member_value returns the value of the enumeration datatype member memb_no.
`static int` `H5Tget_nmembers(int type_id)` H5Tget_nmembers retrieves the number of fields a compound datatype has.
`static int` `H5Tget_norm(int type_id)` H5Tget_norm retrieves the mantissa normalization of a floating-point datatype.
`static int` `H5Tget_offset(int type_id)` H5Tget_offset retrieves the bit offset of the first significant bit.
`static int` `H5Tget_order(int type_id)` H5Tget_order returns the byte order of an atomic datatype.
`static int` `H5Tget_pad(int type_id, int[] pad)` H5Tget_pad retrieves the padding type of the least and most-significant bit padding.
`static int` `H5Tget_precision(int type_id)` H5Tget_precision returns the precision of an atomic datatype.
`static int` `H5Tget_sign(int type_id)` H5Tget_sign retrieves the sign type for an integer type.
`static int` `H5Tget_size(int type_id)` H5Tget_size returns the size of a datatype in bytes.
`static int` `H5Tget_strpad(int type_id)` H5Tget_strpad retrieves the string padding method for a string datatype.
`static int` `H5Tget_super(int type)` H5Tget_super returns the type from which TYPE is derived.
`static String` `H5Tget_tag(int type)` H5Tget_tag returns the tag associated with datatype type_id.
`static int` `H5Tinsert_array(int parent_id, String name, int offset, int ndims, int[] dim, int[] perm, int member_id)` H5Tinsert_array adds a new member to the compound datatype parent_id.
`static int` `H5Tinsert(int type_id, String name, long offset, int field_id)` H5Tinsert adds another member to the compound datatype type_id.
`static int` `H5Tlock(int type_id)` H5Tlock locks the datatype specified by the type_id identifier, making it read-only and non-destrucible.
`static int` `H5Topen(int loc_id, String name)` H5Topen opens a named datatype at the location specified by loc_id and return an identifier for the datatype.
`static int` `H5Tpack(int type_id)` H5Tpack recursively removes padding from within a compound datatype to make it more efficient (space-wise) to store that data.
`static int` `H5Tset_cset(int type_id, int cset)` H5Tset_cset the character set to be used.
`static int` `H5Tset_ebias(int type_id, int ebias)` H5Tset_ebias sets the exponent bias of a floating-point type.
`static int` `H5Tset_fields(int type_id, int spos, int epos, int esize, int mpos, int msize)` H5Tset_fields sets the locations and sizes of the various floating point bit fields.
`static int` `H5Tset_inpad(int type_id, int inpad)` If any internal bits of a floating point type are unused (that is, those significant bits which are not part of the sign, exponent, or mantissa), then H5Tset_inpad will be filled according to the value of the padding value property inpad.
`static int` `H5Tset_norm(int type_id, int norm)` H5Tset_norm sets the mantissa normalization of a floating-point datatype.
`static int` `H5Tset_offset(int type_id, int offset)` H5Tset_offset sets the bit offset of the first significant bit.
`static int` `H5Tset_order(int type_id, int order)` H5Tset_order sets the byte ordering of an atomic datatype.
`static int` `H5Tset_pad(int type_id, int lsb, int msb)` H5Tset_pad sets the least and most-significant bits padding types.
`static int` `H5Tset_precision(int type_id, int precision)` H5Tset_precision sets the precision of an atomic datatype.
`static int` `H5Tset_sign(int type_id, int sign)` H5Tset_sign sets the sign proprety for an integer type.
`static int` `H5Tset_size(int type_id, int size)` H5Tset_size sets the total size in bytes, size, for an atomic datatype (this operation is not permitted on compound datatypes).
`static int` `H5Tset_strpad(int type_id, int strpad)` H5Tset_strpad defines the storage mechanism for the string.
`static int` `H5Tset_tag(int type, String tag)` H5Tset_tag tags an opaque datatype type_id with a unique ASCII identifier tag.
`static int` `H5Tvlen_create(int base_id)` H5Tvlen_create creates a new variable-length (VL) dataype.
`static int` `J2C(int java_constant)` J2C converts a Java constant to an HDF5 constant determined at runtime

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### H5PATH_PROPERTY_KEY

    public static final String H5PATH_PROPERTY_KEY

See Also:
  Constant Field Values

Constructor Detail

### H5

    public H5()

Method Detail

### J2C

    public static int J2C(int java_constant)

  J2C converts a Java constant to an HDF5 constant determined at runtime

  Parameters:
    `java_constant` - The value of Java constant
  Returns:
    the value of an HDF5 constant determined at runtime

### H5open

    public static int H5open()
                      throws HDF5LibraryException

  H5open initialize the library.

  Returns:
    a non-negative value if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.

### H5close

    public static int H5close()
                       throws HDF5LibraryException

  H5close flushes all data to disk, closes all file identifiers, and cleans up all memory used by the library.

  Returns:
    a non-negative value if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.

### H5get_libversion

    public static int H5get_libversion(int[] libversion)
                                throws HDF5LibraryException

  H5get_libversion retrieves the major, minor, and release numbers of the version of the HDF library which is linked to the application.

  Parameters:
    `libversion` - The version information of the HDF library.

              libversion[0] = The major version of the library.
              libversion[1] = The minor version of the library.
              libversion[2] = The release number of the library.

  Returns:
    a non-negative value if successful, along with the version information.
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.

### H5check_version

    public static int H5check_version(int majnum,
                                      int minnum,
                                      int relnum)

  H5check_version verifies that the arguments match the version numbers compiled into the library.

  Parameters:
    `majnum` - The major version of the library.
    `minnum` - The minor version of the library.
    `relnum` - The release number of the library.
  Returns:
    a non-negative value if successful. Upon failure (when the versions do not match), this function causes the application to abort (i.e., crash)
  See Also:
    `API function: herr_t H5check_version()`

### H5Eclear

    public static int H5Eclear()
                        throws HDF5LibraryException

  H5Eclear clears the error stack for the current thread. H5Eclear can fail if there are problems initializing the library.

  This may be used by exception handlers to assure that the error condition in the HDF-5 library has been reset.

  Returns:
    Returns a non-negative value if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.

### H5Acreate

    public static int H5Acreate(int loc_id,
                                String name,
                                int type_id,
                                int space_id,
                                int create_plist)
                         throws HDF5LibraryException,
                                NullPointerException

  H5Acreate creates an attribute which is attached to the object specified with loc_id.

  Parameters:
    `loc_id` - IN: Object (dataset, group, or named datatype) to be attached to.
    `name` - IN: Name of attribute to create.
    `type_id` - IN: Identifier of datatype for attribute.
    `space_id` - IN: Identifier of dataspace for attribute.
    `create_plist` - IN: Identifier of creation property list (currently not used).
  Returns:
    an attribute identifier if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.
    `NullPointerException` - - name is null.

### H5Aopen_name

    public static int H5Aopen_name(int loc_id,
                                   String name)
                            throws HDF5LibraryException,
                                   NullPointerException

  H5Aopen_name opens an attribute specified by its name, name, which is attached to the object specified with loc_id.

  Parameters:
    `loc_id` - IN: Identifier of a group, dataset, or named datatype atttribute
    `name` - IN: Attribute name.
  Returns:
    attribute identifier if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.
    `NullPointerException` - - name is null.

### H5Aopen_idx

    public static int H5Aopen_idx(int loc_id,
                                  int idx)
                           throws HDF5LibraryException

  H5Aopen_idx opens an attribute which is attached to the object specified with loc_id. The location object may be either a group, dataset, or named datatype, all of which may have any sort of attribute.

  Parameters:
    `loc_id` - IN: Identifier of the group, dataset, or named datatype attribute
    `idx` - IN: Index of the attribute to open.
  Returns:
    attribute identifier if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.

### H5Awrite

    public static int H5Awrite(int attr_id,
                               int mem_type_id,
                               byte[] buf)
                        throws HDF5LibraryException,
                               NullPointerException

  H5Awrite writes an attribute, specified with attr_id. The attribute's memory datatype is specified with mem_type_id. The entire attribute is written from buf to the file.

  Parameters:
    `attr_id` - IN: Identifier of an attribute to write.
    `mem_type_id` - IN: Identifier of the attribute datatype (in memory).
    `buf` - IN: Data to be written.
  Returns:
    a non-negative value if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.
    `NullPointerException` - - data is null.

### H5Awrite

    public static int H5Awrite(int attr_id,
                               int mem_type_id,
                               Object obj)
                        throws HDF5Exception,
                               NullPointerException

  H5Awrite writes an attribute, specified with attr_id. The attribute's memory datatype is specified with mem_type_id. The entire attribute is written from data object to the file.

  Parameters:
    `attr_id` - IN: Identifier of an attribute to write.
    `mem_type_id` - IN: Identifier of the attribute datatype (in memory).
    `obj` - IN: Data object to be written.
  Returns:
    a non-negative value if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.
    `NullPointerException` - - data object is null.
    `HDF5Exception`
  See Also:
    `static native int H5Awrite(int attr_id, int mem_type_id, byte[] buf);`

### H5Aread

    public static int H5Aread(int attr_id,
                              int mem_type_id,
                              byte[] buf)
                       throws HDF5LibraryException,
                              NullPointerException

  H5Aread reads an attribute, specified with attr_id. The attribute's memory datatype is specified with mem_type_id. The entire attribute is read into buf from the file.

  Parameters:
    `attr_id` - IN: Identifier of an attribute to read.
    `mem_type_id` - IN: Identifier of the attribute datatype (in memory).
    `buf` - IN: Buffer for data to be read.
  Returns:
    a non-negative value if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.
    `NullPointerException` - - data buffer is null.

### H5Aread

    public static int H5Aread(int attr_id,
                              int mem_type_id,
                              Object obj)
                       throws HDF5Exception,
                              NullPointerException

  H5Aread reads an attribute, specified with attr_id. The attribute's memory datatype is specified with mem_type_id. The entire attribute is read into data object from the file.

  Parameters:
    `attr_id` - IN: Identifier of an attribute to read.
    `mem_type_id` - IN: Identifier of the attribute datatype (in memory).
    `obj` - IN: Object for data to be read.
  Returns:
    a non-negative value if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.
    `NullPointerException` - - data buffer is null.
    `HDF5Exception`
  See Also:
    `static native int H5Aread( )`

### H5Aget_space

    public static int H5Aget_space(int attr_id)
                            throws HDF5LibraryException

  H5Aget_space retrieves a copy of the dataspace for an attribute.

  Parameters:
    `attr_id` - IN: Identifier of an attribute.
  Returns:
    attribute dataspace identifier if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.

### H5Aget_type

    public static int H5Aget_type(int attr_id)
                           throws HDF5LibraryException

  H5Aget_type retrieves a copy of the datatype for an attribute.

  Parameters:
    `attr_id` - IN: Identifier of an attribute.
  Returns:
    a datatype identifier if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.

### H5Aget_name

    public static long H5Aget_name(int attr_id,
                                   long buf_size,
                                   String[] name)
                            throws ArrayIndexOutOfBoundsException,
                                   ArrayStoreException,
                                   HDF5LibraryException,
                                   NullPointerException,
                                   IllegalArgumentException

  H5Aget_name retrieves the name of an attribute specified by the identifier, attr_id.

  Parameters:
    `attr_id` - IN: Identifier of the attribute.
    `buf_size` - IN: The size of the buffer to store the name in.
    `name` - OUT: Buffer to store name in.
  Returns:
    the length of the attribute's name if successful.
  Throws:
    `ArrayIndexOutOfBoundsException` - JNI error writing back array
    `ArrayStoreException` - JNI error writing back array
    `HDF5LibraryException` - - Error from the HDF-5 Library.
    `NullPointerException` - - name is null.
    `IllegalArgumentException` - - bub_size <= 0.

### H5Aget_num_attrs

    public static int H5Aget_num_attrs(int loc_id)
                                throws HDF5LibraryException

  H5Aget_num_attrs returns the number of attributes attached to the object specified by its identifier, loc_id.

  Parameters:
    `loc_id` - IN: Identifier of a group, dataset, or named datatype.
  Returns:
    the number of attributes if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.

### H5Adelete

    public static int H5Adelete(int loc_id,
                                String name)
                         throws HDF5LibraryException,
                                NullPointerException

  H5Adelete removes the attribute specified by its name, name, from a dataset, group, or named datatype.

  Parameters:
    `loc_id` - IN: Identifier of the dataset, group, or named datatype.
    `name` - IN: Name of the attribute to delete.
  Returns:
    a non-negative value if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.
    `NullPointerException` - - name is null.

### H5Aclose

    public static int H5Aclose(int attr_id)
                        throws HDF5LibraryException

  H5Aclose terminates access to the attribute specified by its identifier, attr_id.

  Parameters:
    `attr_id` - IN: Attribute to release access to.
  Returns:
    a non-negative value if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.

### H5Dcreate

    public static int H5Dcreate(int loc_id,
                                String name,
                                int type_id,
                                int space_id,
                                int create_plist_id)
                         throws HDF5LibraryException,
                                NullPointerException

  H5Dcreate creates a data set with a name, name, in the file or in the group specified by the identifier loc_id.

  Parameters:
    `loc_id` - Identifier of the file or group to create the dataset within.
    `name` - The name of the dataset to create.
    `type_id` - Identifier of the datatype to use when creating the dataset.
    `space_id` - Identifier of the dataspace to use when creating the dataset.
    `create_plist_id` - Identifier of the set creation property list.
  Returns:
    a dataset identifier if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.
    `NullPointerException` - - name is null.

### H5Dopen

    public static int H5Dopen(int loc_id,
                              String name)
                       throws HDF5LibraryException,
                              NullPointerException

  H5Dopen opens an existing dataset for access in the file or group specified in loc_id.

  Parameters:
    `loc_id` - Identifier of the dataset to open or the file or group
    `name` - The name of the dataset to access.
  Returns:
    a dataset identifier if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.
    `NullPointerException` - - name is null.

### H5Dget_space

    public static int H5Dget_space(int dataset_id)
                            throws HDF5LibraryException

  H5Dget_space returns an identifier for a copy of the dataspace for a dataset.

  Parameters:
    `dataset_id` - Identifier of the dataset to query.
  Returns:
    a dataspace identifier if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.

### H5Dget_type

    public static int H5Dget_type(int dataset_id)
                           throws HDF5LibraryException

  H5Dget_type returns an identifier for a copy of the datatype for a dataset.

  Parameters:
    `dataset_id` - Identifier of the dataset to query.
  Returns:
    a datatype identifier if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.

### H5Dget_create_plist

    public static int H5Dget_create_plist(int dataset_id)
                                   throws HDF5LibraryException

  H5Dget_create_plist returns an identifier for a copy of the dataset creation property list for a dataset.

  Parameters:
    `dataset_id` - Identifier of the dataset to query.
  Returns:
    a dataset creation property list identifier if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.

### H5Dread

    public static int H5Dread(int dataset_id,
                              int mem_type_id,
                              int mem_space_id,
                              int file_space_id,
                              int xfer_plist_id,
                              byte[] buf)
                       throws HDF5LibraryException,
                              NullPointerException

  H5Dread reads a (partial) dataset, specified by its identifier dataset_id, from the file into the application memory buffer buf.

  Parameters:
    `dataset_id` - Identifier of the dataset read from.
    `mem_type_id` - Identifier of the memory datatype.
    `mem_space_id` - Identifier of the memory dataspace.
    `file_space_id` - Identifier of the dataset's dataspace in the file.
    `xfer_plist_id` - Identifier of a transfer property list for this I/O operation.
    `buf` - Buffer to store data read from the file.
  Returns:
    a non-negative value if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.
    `NullPointerException` - - data buffer is null.

### H5Dread

    public static int H5Dread(int dataset_id,
                              int mem_type_id,
                              int mem_space_id,
                              int file_space_id,
                              int xfer_plist_id,
                              Object obj)
                       throws HDF5Exception,
                              HDF5LibraryException,
                              NullPointerException

  H5Dread reads a (partial) dataset, specified by its identifier dataset_id, from the file into the application data object.

  Parameters:
    `dataset_id` - Identifier of the dataset read from.
    `mem_type_id` - Identifier of the memory datatype.
    `mem_space_id` - Identifier of the memory dataspace.
    `file_space_id` - Identifier of the dataset's dataspace in the file.
    `xfer_plist_id` - Identifier of a transfer property list for this I/O operation.
    `obj` - Object to store data read from the file.
  Returns:
    a non-negative value if successful
  Throws:
    `HDF5Exception` - - Failure in the data conversion.
    `HDF5LibraryException` - - Error from the HDF-5 Library.
    `NullPointerException` - - data object is null.

### H5Dwrite

    public static int H5Dwrite(int dataset_id,
                               int mem_type_id,
                               int mem_space_id,
                               int file_space_id,
                               int xfer_plist_id,
                               byte[] buf)
                        throws HDF5LibraryException,
                               NullPointerException

  H5Dwrite writes a (partial) dataset, specified by its identifier dataset_id, from the application memory buffer buf into the file.

  Parameters:
    `dataset_id` - Identifier of the dataset read from.
    `mem_type_id` - Identifier of the memory datatype.
    `mem_space_id` - Identifier of the memory dataspace.
    `file_space_id` - Identifier of the dataset's dataspace in the file.
    `xfer_plist_id` - Identifier of a transfer property list for this I/O operation.
    `buf` - Buffer with data to be written to the file.
  Returns:
    a non-negative value if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.
    `NullPointerException` - - name is null.

### H5Dwrite

    public static int H5Dwrite(int dataset_id,
                               int mem_type_id,
                               int mem_space_id,
                               int file_space_id,
                               int xfer_plist_id,
                               Object obj)
                        throws HDF5Exception,
                               HDF5LibraryException,
                               NullPointerException

  H5Dwrite writes a (partial) dataset, specified by its identifier dataset_id, from the application memory data object into the file.

  Parameters:
    `dataset_id` - Identifier of the dataset read from.
    `mem_type_id` - Identifier of the memory datatype.
    `mem_space_id` - Identifier of the memory dataspace.
    `file_space_id` - Identifier of the dataset's dataspace in the file.
    `xfer_plist_id` - Identifier of a transfer property list for this I/O operation.
    `obj` - Object with data to be written to the file.
  Returns:
    a non-negative value if successful
  Throws:
    `HDF5Exception` - - Failure in the data conversion.
    `HDF5LibraryException` - - Error from the HDF-5 Library.
    `NullPointerException` - - data object is null.

### H5Dextend

    public static int H5Dextend(int dataset_id,
                                long[] size)
                         throws HDF5LibraryException,
                                NullPointerException

  H5Dextend verifies that the dataset is at least of size size.

  Parameters:
    `dataset_id` - Identifier of the dataset.
    `size` - Array containing the new magnitude of each dimension.
  Returns:
    a non-negative value if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.
    `NullPointerException` - - size array is null.

### H5Dclose

    public static int H5Dclose(int dataset_id)
                        throws HDF5LibraryException

  H5Dclose ends access to a dataset specified by dataset_id and releases resources used by it.

  Parameters:
    `dataset_id` - Identifier of the dataset to finish access to.
  Returns:
    a non-negative value if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.

### H5Dget_storage_size

    public static long H5Dget_storage_size(int dataset_id)
                                    throws HDF5LibraryException

  H5Dget_storage_size returns the amount of storage that is required for the dataset.

  Parameters:
    `dataset_id` - Identifier of the dataset in question
  Returns:
    he amount of storage space allocated for the dataset.
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.

### H5Fopen

    public static int H5Fopen(String name,
                              int flags,
                              int access_id)
                       throws HDF5LibraryException,
                              NullPointerException

  H5Fopen opens an existing file and is the primary function for accessing existing HDF5 files.

  Parameters:
    `name` - Name of the file to access.
    `flags` - File access flags.
    `access_id` - Identifier for the file access properties list.
  Returns:
    a file identifier if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.
    `NullPointerException` - - name is null.

### H5Fcreate

    public static int H5Fcreate(String name,
                                int flags,
                                int create_id,
                                int access_id)
                         throws HDF5LibraryException,
                                NullPointerException

  H5Fcreate is the primary function for creating HDF5 files.

  Parameters:
    `name` - Name of the file to access.
    `flags` - File access flags. Possible values include:
    - H5F_ACC_RDWR Allow read and write access to file.
    - H5F_ACC_RDONLY Allow read-only access to file.
    - H5F_ACC_TRUNC Truncate file, if it already exists, erasing all data previously stored in the file.
    - H5F_ACC_EXCL Fail if file already exists.
    - H5F_ACC_DEBUG Print debug information.
    - H5P_DEFAULT Apply default file access and creation properties.
    `create_id` - File creation property list identifier, used when modifying default file meta-data. Use H5P_DEFAULT for default access properties.
    `access_id` - File access property list identifier. If parallel file access is desired, this is a collective call according to the communicator stored in the access_id (not supported in Java). Use H5P_DEFAULT for default access properties.
  Returns:
    a file identifier if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.
    `NullPointerException` - - name is null.

### H5Fflush

    public static int H5Fflush(int object_id,
                               int scope)
                        throws HDF5LibraryException

  H5Fflush causes all buffers associated with a file or object to be immediately flushed (written) to disk without removing the data from the (memory) cache.

  After this call completes, the file (or object) is in a consistent state and all data written to date is assured to be permanent.

  Parameters:
    `object_id` - Identifier of object used to identify the file. object_id can be any object associated with the file, including the file itself, a dataset, a group, an attribute, or a named data type. scope specifies whether the scope of the flushing action is global or local. Valid values are H5F_SCOPE_GLOBAL Flushes the entire virtual file. H5F_SCOPE_LOCAL Flushes only the specified file.
  Returns:
    a non-negative value if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.

### H5Fis_hdf5

    public static boolean H5Fis_hdf5(String name)
                              throws HDF5LibraryException,
                                     NullPointerException

  H5Fis_hdf5 determines whether a file is in the HDF5 format.

  Parameters:
    `name` - File name to check format.
  Returns:
    true if is HDF-5, false if not.
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.
    `NullPointerException` - - name is null.

### H5Fget_create_plist

    public static int H5Fget_create_plist(int file_id)
                                   throws HDF5LibraryException

  H5Fget_create_plist returns a file creation property list identifier identifying the creation properties used to create this file.

  Parameters:
    `file_id` - Identifier of the file to get creation property list
  Returns:
    a file creation property list identifier if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.

### H5Fget_access_plist

    public static int H5Fget_access_plist(int file_id)
                                   throws HDF5LibraryException

  H5Fget_access_plist returns the file access property list identifier of the specified file.

  Parameters:
    `file_id` - Identifier of file to get access property list of
  Returns:
    a file access property list identifier if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.

### H5Fclose

    public static int H5Fclose(int file_id)
                        throws HDF5LibraryException

  H5Fclose terminates access to an HDF5 file.

  Parameters:
    `file_id` - Identifier of a file to terminate access to.
  Returns:
    a non-negative value if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.

### H5Fmount

    public static int H5Fmount(int loc_id,
                               String name,
                               int child_id,
                               int plist_id)
                        throws HDF5LibraryException,
                               NullPointerException

  H5Fmount mounts the file specified by child_id onto the group specified by loc_id and name using the mount properties plist_id.

  Parameters:
    `loc_id` - The identifier for the group onto which the file specified by child_id is to be mounted.
    `name` - The name of the group onto which the file specified by child_id is to be mounted.
    `child_id` - The identifier of the file to be mounted.
    `plist_id` - The identifier of the property list to be used.
  Returns:
    a non-negative value if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.
    `NullPointerException` - - name is null.

### H5Funmount

    public static int H5Funmount(int loc_id,
                                 String name)
                          throws HDF5LibraryException,
                                 NullPointerException

  Given a mount point, H5Funmount dissassociates the mount point's file from the file mounted there.

  Parameters:
    `loc_id` - The identifier for the location at which the specified file is to be unmounted.
    `name` - The name of the file to be unmounted.
  Returns:
    a non-negative value if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.
    `NullPointerException` - - name is null.

### H5Freopen

    public static int H5Freopen(int file_id)
                         throws HDF5LibraryException

  H5Freopen reopens an HDF5 file.

  Parameters:
    `file_id` - Identifier of a file to terminate and reopen access to.
  Returns:
    a new file identifier if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.

### H5Gcreate

    public static int H5Gcreate(int loc_id,
                                String name,
                                int size_hint)
                         throws HDF5LibraryException,
                                NullPointerException

  H5Gcreate creates a new group with the specified name at the specified location, loc_id.

  Parameters:
    `loc_id` - The file or group identifier.
    `name` - The absolute or relative name of the new group.
    `size_hint` - An optional parameter indicating the number of bytes to reserve for the names that will appear in the group.
  Returns:
    a valid group identifier for the open group if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.
    `NullPointerException` - - name is null.

### H5Gopen

    public static int H5Gopen(int loc_id,
                              String name)
                       throws HDF5LibraryException,
                              NullPointerException

  H5Gopen opens an existing group with the specified name at the specified location, loc_id.

  Parameters:
    `loc_id` - File or group identifier within which group is to be open.
    `name` - Name of group to open.
  Returns:
    a valid group identifier if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.
    `NullPointerException` - - name is null.

### H5Gclose

    public static int H5Gclose(int group_id)
                        throws HDF5LibraryException

  H5Gclose releases resources used by a group which was opened by a call to H5Gcreate() or H5Gopen().

  Parameters:
    `group_id` - Group identifier to release.
  Returns:
    a non-negative value if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.

### H5Glink

    public static int H5Glink(int loc_id,
                              int link_type,
                              String current_name,
                              String new_name)
                       throws HDF5LibraryException,
                              NullPointerException

  H5Glink creates a new name for an already existing object.

  Parameters:
    `loc_id` - File, group, dataset, or datatype identifier.
    `current_name` - A name of the existing object if link is a hard link. Can be anything for the soft link.
    `new_name` - New name for the object.
  Returns:
    a non-negative value if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.
    `NullPointerException` - - current_name or name is null.

### H5Gunlink

    public static int H5Gunlink(int loc_id,
                                String name)
                         throws HDF5LibraryException,
                                NullPointerException

  H5Gunlink removes an association between a name and an object.

  Parameters:
    `loc_id` - Identifier of the file containing the object.
    `name` - Name of the object to unlink.
  Returns:
    a non-negative value if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.
    `NullPointerException` - - name is null.

### H5Gn_members

    public static int H5Gn_members(int loc_id,
                                   String name)
                            throws HDF5LibraryException,
                                   NullPointerException

  Parameters:
    `loc_id` - file or group ID.
    `name` - name of the group to iterate, relative to the loc_id
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.
    `NullPointerException` - - name is null.

### H5Gget_obj_info_idx

    public static int H5Gget_obj_info_idx(int loc_id,
                                          String name,
                                          int idx,
                                          String[] oname,
                                          int[] type)
                                   throws HDF5LibraryException,
                                          NullPointerException

  Parameters:
    `loc_id` - IN: file or group ID.
    `name` - IN: name of the group to iterate, relative to the loc_id
    `idx` - IN: the index of the object to iterate.
    `oname` - the name of the object [OUT]
    `type` - the type of the object [OUT]
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.
    `NullPointerException` - - name is null.

### H5Gmove

    public static int H5Gmove(int loc_id,
                              String src,
                              String dst)
                       throws HDF5LibraryException,
                              NullPointerException

  H5Gmove renames an object within an HDF5 file. The original name, src, is unlinked from the group graph and the new name, dst, is inserted as an atomic operation. Both names are interpreted relative to loc_id, which is either a file or a group identifier.

  Parameters:
    `loc_id` - File or group identifier.
  Returns:
    a non-negative value if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.
    `NullPointerException` - - src or dst is null.

### H5Gget_objinfo

    public static int H5Gget_objinfo(int loc_id,
                                     String name,
                                     boolean follow_link,
                                     long[] fileno,
                                     long[] objno,
                                     int[] link_info,
                                     long[] mtime)
                              throws HDF5LibraryException,
                                     NullPointerException,
                                     IllegalArgumentException

  H5Gget_objinfo returns information about the specified object.

  Parameters:
    `loc_id` - IN: File, group, dataset, or datatype identifier.
    `name` - IN: Name of the object for which status is being sought.
    `follow_link` - IN: Link flag.
    `fileno` - OUT: file id numbers.
    `objno` - OUT: object id numbers.
    `link_info` - OUT: link information.

                  link_info[0] = nlink
                  link_info[1] = type
                  link_info[2] = linklen

    `mtime` - OUT: modification time
  Returns:
    a non-negative value if successful, with the fields of link_info and mtime (if non-null) initialized.
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.
    `NullPointerException` - - name or array is null.
    `IllegalArgumentException` - - bad argument.

### H5Gget_objinfo

    public static int H5Gget_objinfo(int loc_id,
                                     String name,
                                     boolean follow_link,
                                     HDF5GroupInfo info)
                              throws HDF5LibraryException,
                                     NullPointerException

  H5Gget_objinfo returns information about the specified object in an HDF5GroupInfo object.

  Parameters:
    `loc_id` - IN: File, group, dataset, or datatype identifier.
    `name` - IN: Name of the object for which status is being sought.
    `follow_link` - IN: Link flag.
    `info` - OUT: the HDF5GroupInfo object to store the object infomation
  Returns:
    a non-negative value if successful, with the fields of HDF5GroupInfo object (if non-null) initialized.
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.
    `NullPointerException` - - name is null.
  See Also:
    `HDF5GroupInfo`, `static native int H5Gget_objinfo();`

### H5Gget_linkval

    public static int H5Gget_linkval(int loc_id,
                                     String name,
                                     int size,
                                     String[] value)
                              throws ArrayIndexOutOfBoundsException,
                                     ArrayStoreException,
                                     HDF5LibraryException,
                                     NullPointerException,
                                     IllegalArgumentException

  H5Gget_linkval returns size characters of the link value through the value argument if loc_id (a file or group identifier) and name specify a symbolic link.

  Parameters:
    `loc_id` - IN: Identifier of the file, group, dataset, or datatype.
    `name` - IN: Name of the object whose link value is to be checked.
    `size` - IN: Maximum number of characters of value to be returned.
  Returns:
    a non-negative value, with the link value in value, if successful.
  Throws:
    `ArrayIndexOutOfBoundsException` - Copy back failed
    `ArrayStoreException` - Copy back failed
    `HDF5LibraryException` - - Error from the HDF-5 Library.
    `NullPointerException` - - name is null.
    `IllegalArgumentException` - - size is invalid

### H5Gset_comment

    public static int H5Gset_comment(int loc_id,
                                     String name,
                                     String comment)
                              throws HDF5LibraryException,
                                     NullPointerException

  H5Gset_comment sets the comment for the the object name to comment. Any previously existing comment is overwritten.

  Parameters:
    `loc_id` - IN: Identifier of the file, group, dataset, or datatype.
    `name` - IN: Name of the object whose comment is to be set or reset.
    `comment` - IN: The new comment.
  Returns:
    a non-negative value if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.
    `NullPointerException` - - name or comment is null.

### H5Gget_comment

    public static int H5Gget_comment(int loc_id,
                                     String name,
                                     int bufsize,
                                     String[] comment)
                              throws ArrayIndexOutOfBoundsException,
                                     ArrayStoreException,
                                     HDF5LibraryException,
                                     NullPointerException,
                                     IllegalArgumentException

  H5Gget_comment retrieves the comment for the the object name. The comment is returned in the buffer comment.

  Parameters:
    `loc_id` - IN: Identifier of the file, group, dataset, or datatype.
    `name` - IN: Name of the object whose comment is to be set or reset.
    `bufsize` - IN: Anticipated size of the buffer required to hold comment.
    `comment` - OUT: The comment.
  Returns:
    the number of characters in the comment, counting the null terminator, if successful
  Throws:
    `ArrayIndexOutOfBoundsException` - - JNI error writing back data
    `ArrayStoreException` - - JNI error writing back data
    `HDF5LibraryException` - - Error from the HDF-5 Library.
    `NullPointerException` - - name is null.
    `IllegalArgumentException` - - size < 1, comment is invalid.

### H5Iget_type

    public static int H5Iget_type(int obj_id)
                           throws HDF5LibraryException

  H5Iget_type retrieves the type of the object identified by obj_id.

  Parameters:
    `obj_id` - IN: Object identifier whose type is to be determined.
  Returns:
    the object type if successful; otherwise H5I_BADID.
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.

### H5Pcreate

    public static int H5Pcreate(int type)
                         throws HDF5LibraryException

  H5Pcreate creates a new property as an instance of some property list class.

  Returns:
    a property list identifier (plist) if successful; otherwise Fail (-1).
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.

### H5Pclose

    public static int H5Pclose(int plist)
                        throws HDF5LibraryException

  H5Pclose terminates access to a property list.

  Parameters:
    `plist` - IN: Identifier of the property list to terminate access to.
  Returns:
    a non-negative value if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.

### H5Pget_class

    public static int H5Pget_class(int plist)
                            throws HDF5LibraryException

  H5Pget_class returns the property list class for the property list identified by the plist parameter.

  Parameters:
    `plist` - IN: Identifier of property list to query.
  Returns:
    a property list class if successful. Otherwise returns H5P_NO_CLASS (-1).
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.

### H5Pcopy

    public static int H5Pcopy(int plist)
                       throws HDF5LibraryException

  H5Pcopy copies an existing property list to create a new property list.

  Parameters:
    `plist` - IN: Identifier of property list to duplicate.
  Returns:
    a property list identifier if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.

### H5Pget_version

    public static int H5Pget_version(int plist,
                                     int[] version_info)
                              throws HDF5LibraryException,
                                     NullPointerException,
                                     IllegalArgumentException

  H5Pget_version retrieves the version information of various objects for a file creation property list.

  Parameters:
    `plist` - IN: Identifier of the file creation property list.
    `version_info` - OUT: version information.

              version_info[0] = boot  // boot block version number
              version_info[1] = freelist  // global freelist version
              version_info[2] = stab  // symbol tabl version number
              version_info[3] = shhdr  // hared object header version

  Returns:
    a non-negative value, with the values of version_info initialized, if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.
    `NullPointerException` - - version_info is null.
    `IllegalArgumentException` - - version_info is illegal.

### H5Pset_userblock

    public static int H5Pset_userblock(int plist,
                                       long size)
                                throws HDF5LibraryException

  H5Pset_userblock sets the user block size of a file creation property list.

  Parameters:
    `plist` - IN: Identifier of property list to modify.
    `size` - IN: Size of the user-block in bytes.
  Returns:
    a non-negative value if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.

### H5Pget_userblock

    public static int H5Pget_userblock(int plist,
                                       long[] size)
                                throws HDF5LibraryException,
                                       NullPointerException

  H5Pget_userblock retrieves the size of a user block in a file creation property list.

  Parameters:
    `plist` - IN: Identifier for property list to query.
    `size` - OUT: Pointer to location to return user-block size.
  Returns:
    a non-negative value and the size of the user block; if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.
    `NullPointerException` - - size is null.

### H5Pset_sizes

    public static int H5Pset_sizes(int plist,
                                   int sizeof_addr,
                                   int sizeof_size)
                            throws HDF5LibraryException

  H5Pset_sizes sets the byte size of the offsets and lengths used to address objects in an HDF5 file.

  Parameters:
    `plist` - IN: Identifier of property list to modify.
    `sizeof_addr` - IN: Size of an object offset in bytes.
    `sizeof_size` - IN: Size of an object length in bytes.
  Returns:
    a non-negative value if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.

### H5Pget_sizes

    public static int H5Pget_sizes(int plist,
                                   int[] size)
                            throws HDF5LibraryException,
                                   NullPointerException,
                                   IllegalArgumentException

  H5Pget_sizes retrieves the size of the offsets and lengths used in an HDF5 file. This function is only valid for file creation property lists.

  Parameters:
    `plist` - IN: Identifier of property list to query.
    `size` - OUT: the size of the offsets and length.

              size[0] = sizeof_addr // offset size in bytes
              size[1] = sizeof_size // length size in bytes

  Returns:
    a non-negative value with the sizes initialized; if successful;
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.
    `NullPointerException` - - size is null.
    `IllegalArgumentException` - - size is invalid.

### H5Pset_sym_k

    public static int H5Pset_sym_k(int plist,
                                   int ik,
                                   int lk)
                            throws HDF5LibraryException

  H5Pset_sym_k sets the size of parameters used to control the symbol table nodes.

  Parameters:
    `plist` - IN: Identifier for property list to query.
    `ik` - IN: Symbol table tree rank.
    `lk` - IN: Symbol table node size.
  Returns:
    a non-negative value if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.

### H5Pget_sym_k

    public static int H5Pget_sym_k(int plist,
                                   int[] size)
                            throws HDF5LibraryException,
                                   NullPointerException,
                                   IllegalArgumentException

  H5Pget_sym_k retrieves the size of the symbol table B-tree 1/2 rank and the symbol table leaf node 1/2 size.

  Parameters:
    `plist` - IN: Property list to query.
    `size` - OUT: the symbol table's B-tree 1/2 rank and leaf node 1/2 size.

              size[0] = ik // the symbol table's B-tree 1/2 rank
              size[1] = lk // leaf node 1/2 size

  Returns:
    a non-negative value if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.
    `NullPointerException` - - size is null.
    `IllegalArgumentException` - - size is invalid.

### H5Pset_istore_k

    public static int H5Pset_istore_k(int plist,
                                      int ik)
                               throws HDF5LibraryException

  H5Pset_istore_k sets the size of the parameter used to control the B-trees for indexing chunked datasets.

  Parameters:
    `plist` - IN: Identifier of property list to query.
    `ik` - IN: 1/2 rank of chunked storage B-tree.
  Returns:
    a non-negative value if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.

### H5Pget_istore_k

    public static int H5Pget_istore_k(int plist,
                                      int[] ik)
                               throws HDF5LibraryException,
                                      NullPointerException

  H5Pget_istore_k queries the 1/2 rank of an indexed storage B-tree.

  Parameters:
    `plist` - IN: Identifier of property list to query.
    `ik` - OUT: Pointer to location to return the chunked storage B-tree 1/2 rank.
  Returns:
    a non-negative value if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.
    `NullPointerException` - - ik array is null.

### H5Pset_layout

    public static int H5Pset_layout(int plist,
                                    int layout)
                             throws HDF5LibraryException

  H5Pset_layout sets the type of storage used store the raw data for a dataset.

  Parameters:
    `plist` - IN: Identifier of property list to query.
    `layout` - IN: Type of storage layout for raw data.
  Returns:
    a non-negative value if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.

### H5Pget_layout

    public static int H5Pget_layout(int plist)
                             throws HDF5LibraryException

  H5Pget_layout returns the layout of the raw data for a dataset.

  Parameters:
    `plist` - IN: Identifier for property list to query.
  Returns:
    the layout type of a dataset creation property list if successful. Otherwise returns H5D_LAYOUT_ERROR (-1).
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.

### H5Pset_chunk

    public static int H5Pset_chunk(int plist,
                                   int ndims,
                                   long[] dim)
                            throws HDF5LibraryException,
                                   NullPointerException,
                                   IllegalArgumentException

  H5Pset_chunk sets the size of the chunks used to store a chunked layout dataset.

  Parameters:
    `plist` - IN: Identifier for property list to query.
    `ndims` - IN: The number of dimensions of each chunk.
    `dim` - IN: An array containing the size of each chunk.
  Returns:
    a non-negative value if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.
    `NullPointerException` - - dims array is null.
    `IllegalArgumentException` - - dims <=0

### H5Pget_chunk

    public static int H5Pget_chunk(int plist,
                                   int max_ndims,
                                   long[] dims)
                            throws HDF5LibraryException,
                                   NullPointerException,
                                   IllegalArgumentException

  H5Pget_chunk retrieves the size of chunks for the raw data of a chunked layout dataset.

  Parameters:
    `plist` - IN: Identifier of property list to query.
    `max_ndims` - OUT: Size of the dims array.
    `dims` - OUT: Array to store the chunk dimensions.
  Returns:
    chunk dimensionality successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.
    `NullPointerException` - - dims array is null.
    `IllegalArgumentException` - - max_ndims <=0

### H5Pset_alignment

    public static int H5Pset_alignment(int plist,
                                       long threshold,
                                       long alignment)
                                throws HDF5LibraryException

  H5Pset_alignment sets the alignment properties of a file access property list so that any file object >= THRESHOLD bytes will be aligned on an address which is a multiple of ALIGNMENT.

  Parameters:
    `plist` - IN: Identifier for a file access property list.
    `threshold` - IN: Threshold value.
    `alignment` - IN: Alignment value.
  Returns:
    a non-negative value if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.

### H5Pget_alignment

    public static int H5Pget_alignment(int plist,
                                       long[] alignment)
                                throws HDF5LibraryException,
                                       NullPointerException,
                                       IllegalArgumentException

  H5Pget_alignment retrieves the current settings for alignment properties from a file access property list.

  Parameters:
    `plist` - IN: Identifier of a file access property list.
    `alignment` - OUT: threshold value and alignment value.

              alignment[0] = threshold // threshold value
              alignment[1] = alignment // alignment value

  Returns:
    a non-negative value if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.
    `NullPointerException` - - aligment array is null.
    `IllegalArgumentException` - - aligment array is invalid.

### H5Pset_external

    public static int H5Pset_external(int plist,
                                      String name,
                                      long offset,
                                      long size)
                               throws HDF5LibraryException,
                                      NullPointerException

  H5Pset_external adds an external file to the list of external files.

  Parameters:
    `plist` - IN: Identifier of a dataset creation property list.
    `name` - IN: Name of an external file.
    `offset` - IN: Offset, in bytes, from the beginning of the file to the location in the file where the data starts.
    `size` - IN: Number of bytes reserved in the file for the data.
  Returns:
    a non-negative value if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.
    `NullPointerException` - - name is null.

### H5Pget_external_count

    public static int H5Pget_external_count(int plist)
                                     throws HDF5LibraryException

  H5Pget_external_count returns the number of external files for the specified dataset.

  Parameters:
    `plist` - IN: Identifier of a dataset creation property list.
  Returns:
    the number of external files if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.

### H5Pget_external

    public static int H5Pget_external(int plist,
                                      int idx,
                                      int name_size,
                                      String[] name,
                                      long[] size)
                               throws ArrayIndexOutOfBoundsException,
                                      ArrayStoreException,
                                      HDF5LibraryException,
                                      NullPointerException,
                                      IllegalArgumentException

  H5Pget_external returns information about an external file.

  Parameters:
    `plist` - IN: Identifier of a dataset creation property list.
    `idx` - IN: External file index.
    `name_size` - IN: Maximum length of name array.
    `name` - OUT: Name of the external file.
    `size` - OUT: the offset value and the size of the external file data.

              size[0] = offset // a location to return an offset value
              size[1] = size // a location to return the size of
                        // the external file data.

  Returns:
    a non-negative value if successful
  Throws:
    `ArrayIndexOutOfBoundsException` - Fatal error on Copyback
    `ArrayStoreException` - Fatal error on Copyback
    `HDF5LibraryException` - - Error from the HDF-5 Library.
    `NullPointerException` - - name or size is null.
    `IllegalArgumentException` - - name_size <= 0 .

### H5Pset_fill_value

    public static int H5Pset_fill_value(int plist_id,
                                        int type_id,
                                        byte[] value)
                                 throws HDF5Exception

  H5Pset_fill_value sets the fill value for a dataset creation property list. NOT IMPLEMENTED YET

  Parameters:
    `plist_id` - IN: Property list identifier.
    `value` - IN: The fill value.
  Returns:
    a non-negative value if successful
  Throws:
    `HDF5Exception` - - Error converting data array

### H5Pset_fill_value

    public static int H5Pset_fill_value(int plist_id,
                                        int type_id,
                                        Object obj)
                                 throws HDF5Exception

  H5Pset_fill_value sets the fill value for a dataset creation property list.

  Parameters:
    `plist_id` - IN: Property list identifier.
    `obj` - IN: The fill value.
  Returns:
    a non-negative value if successful
  Throws:
    `HDF5Exception` - - Error converting data array

### H5Pget_fill_value

    public static int H5Pget_fill_value(int plist_id,
                                        int type_id,
                                        byte[] value)
                                 throws HDF5Exception

  H5Pget_fill_value queries the fill value property of a dataset creation property list. NOT IMPLEMENTED YET

  Parameters:
    `plist_id` - IN: Property list identifier.
    `type_id` - IN: The datatype identifier of value.
    `value` - IN: The fill value.
  Returns:
    a non-negative value if successful
  Throws:
    `HDF5Exception`

### H5Pget_fill_value

    public static int H5Pget_fill_value(int plist_id,
                                        int type_id,
                                        Object obj)
                                 throws HDF5Exception

  H5Pget_fill_value queries the fill value property of a dataset creation property list. NOT IMPLEMENTED YET

  Parameters:
    `plist_id` - IN: Property list identifier.
    `type_id` - IN: The datatype identifier of value.
    `obj` - IN: The fill value.
  Returns:
    a non-negative value if successful
  Throws:
    `HDF5Exception`

### H5Pset_filter

    public static int H5Pset_filter(int plist,
                                    int filter,
                                    int flags,
                                    int cd_nelmts,
                                    int[] cd_values)
                             throws HDF5LibraryException

  H5Pset_filter adds the specified filter and corresponding properties to the end of an output filter pipeline.

  Parameters:
    `plist` - IN: Property list identifier.
    `flags` - IN: Bit vector specifying certain general properties of the filter.
    `cd_nelmts` - IN: Number of elements in cd_values
  Returns:
    a non-negative value if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.

### H5Pget_nfilters

    public static int H5Pget_nfilters(int plist)
                               throws HDF5LibraryException

  H5Pget_nfilters returns the number of filters defined in the filter pipeline associated with the property list plist.

  Parameters:
    `plist` - IN: Property list identifier.
  Returns:
    the number of filters in the pipeline if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.

### H5Pget_filter

    public static int H5Pget_filter(int plist,
                                    int filter_number,
                                    int[] flags,
                                    int[] cd_nelmts,
                                    int[] cd_values,
                                    int namelen,
                                    String[] name)
                             throws ArrayIndexOutOfBoundsException,
                                    ArrayStoreException,
                                    HDF5LibraryException,
                                    NullPointerException

  H5Pget_filter returns information about a filter, specified by its filter number, in a filter pipeline, specified by the property list with which it is associated.

  Parameters:
    `plist` - IN: Property list identifier.
    `filter_number` - IN: Sequence number within the filter pipeline of the filter for which information is sought.
    `flags` - OUT: Bit vector specifying certain general properties of the filter.
    `cd_nelmts` - IN/OUT: Number of elements in cd_values
    `cd_values` - OUT: Auxiliary data for the filter.
    `namelen` - IN: Anticipated number of characters in name.
  Returns:
    the filter identification number if successful. Otherwise returns H5Z_FILTER_ERROR (-1).
  Throws:
    `ArrayIndexOutOfBoundsException` - Fatal error on Copyback
    `ArrayStoreException` - Fatal error on Copyback
    `NullPointerException` - - name or an array is null.
    `HDF5LibraryException`

### H5Pget_driver

    public static int H5Pget_driver(int plist)
                             throws HDF5LibraryException

  H5Pget_driver returns the identifier of the low-level file driver.

  Valid identifiers are:

  - H5F_LOW_STDIO (0)
  - H5F_LOW_SEC2 (1)
  - H5F_LOW_MPIO (2)
  - H5F_LOW_CORE (3)
  - H5F_LOW_SPLIT (4)
  - H5F_LOW_FAMILY (5)

  Parameters:
    `plist` - IN: Identifier of a file access property list.
  Returns:
    a low-level driver identifier if successful. Otherwise returns H5F_LOW_ERROR (-1).
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.

### H5Pset_stdio

    public static int H5Pset_stdio(int plist)
                            throws HDF5LibraryException

  H5Pset_stdio sets the low level file driver to use the functions declared in the stdio.h file: fopen(), fseek() or fseek64(), fread(), fwrite(), and fclose().

  Parameters:
    `plist` - IN: Identifier of a file access property list.
  Returns:
    a non-negative value if successful
  Throws:
    `HDF5LibraryException`

### H5Pget_stdio

    public static boolean H5Pget_stdio(int plist)

  H5Pget_stdio checks to determine whether the file access property list is set to the stdio driver.

  Parameters:
    `plist` - IN: Identifier of a file access property list.
  Returns:
    true if the file access property list is set to the stdio driver. Otherwise returns a negative value.

### H5Pset_sec2

    public static int H5Pset_sec2(int plist)
                           throws HDF5LibraryException

  H5Pset_sec2 sets the low-level file driver to use the functions declared in the unistd.h file: open(), lseek() or lseek64(), read(), write(), and close().

  Parameters:
    `plist` - IN: Identifier of a file access property list.
  Returns:
    a non-negative value if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.

### H5Pget_sec2

    public static boolean H5Pget_sec2(int plist)
                               throws HDF5LibraryException

  H5Pget_sec2 checks to determine whether the file access property list is set to the sec2 driver.

  Parameters:
    `plist` - IN: Identifier of a file access property list.
  Returns:
    true if the file access property list is set to the sec2 driver. Otherwise returns a negative value.
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.

### H5Pset_core

    public static int H5Pset_core(int plist,
                                  int increment)
                           throws HDF5LibraryException

  H5Pset_core sets the low-level file driver to use malloc() and free().

  Parameters:
    `plist` - IN: Identifier of a file access property list.
    `increment` - IN: File block size in bytes.
  Returns:
    a non-negative value if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.

### H5Pget_core

    public static boolean H5Pget_core(int plist,
                                      int[] increment)
                               throws HDF5LibraryException

  H5Pget_core checks to determine whether the file access property list is set to the core driver.

  Parameters:
    `plist` - IN: Identifier of the file access property list.
    `increment` - OUT: A location to return the file block size
  Returns:
    true if the file access property list is set to the core driver.
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.

### H5Pset_split

    public static int H5Pset_split(int plist,
                                   String meta_ext,
                                   int meta_plist,
                                   String raw_ext,
                                   int raw_plist)
                            throws HDF5LibraryException,
                                   NullPointerException

  H5Pset_split sets the low-level driver to split meta data from raw data, storing meta data in one file and raw data in another file.

  Parameters:
    `plist` - IN: Identifier of the file access property list.
    `meta_ext` - IN: Name of the extension for the metafile filename. Recommended default value: .meta.
    `meta_plist` - IN: Identifier of the meta file access property list.
    `raw_ext` - IN: Name extension for the raw file filename. Recommended default value: .raw.
    `raw_plist` - IN: Identifier of the raw file access property list.
  Returns:
    a non-negative value if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.
    `NullPointerException` - - a string is null.

### H5Pget_split

    public static boolean H5Pget_split(int plist,
                                       int meta_ext_size,
                                       String[] meta_ext,
                                       int[] meta_properties,
                                       int raw_ext_size,
                                       String[] raw_ext,
                                       int[] raw_properties)
                                throws ArrayIndexOutOfBoundsException,
                                       ArrayStoreException,
                                       HDF5LibraryException,
                                       NullPointerException

  H5Pget_split checks to determine whether the file access property list is set to the split driver.

  Parameters:
    `plist` - IN: Identifier of the file access property list.
    `meta_ext_size` - IN: Number of characters of the meta file extension to be copied to the meta_ext buffer.
    `meta_ext` - IN: Meta file extension.
    `raw_ext_size` - IN: Number of characters of the raw file extension to be copied to the raw_ext buffer.
    `raw_ext` - OUT: Raw file extension.
  Returns:
    true if the file access property list is set to the split driver.
  Throws:
    `ArrayIndexOutOfBoundsException` - JNI error writing back array
    `ArrayStoreException` - JNI error writing back array
    `HDF5LibraryException` - - Error from the HDF-5 Library.
    `NullPointerException` - - a string or array is null.

### H5Pset_family

    public static int H5Pset_family(int plist,
                                    long memb_size,
                                    int memb_plist)
                             throws HDF5LibraryException

  H5Pset_family sets the file access properties to use the family driver; any previously defined driver properties are erased from the property list.

  Parameters:
    `plist` - IN: Identifier of the file access property list.
    `memb_size` - IN: Logical size, in bytes, of each family member.
    `memb_plist` - IN: Identifier of the file access property list for each member of the family.
  Returns:
    a non-negative value if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.

### H5Pget_family

    public static int H5Pget_family(int tid,
                                    long[] memb_size,
                                    int[] memb_plist)
                             throws HDF5LibraryException,
                                    NullPointerException

  H5Pget_family checks to determine whether the file access property list is set to the family driver.

  Parameters:
    `memb_size` - OUT: Logical size, in bytes, of each family member.
  Returns:
    a non-negative value if the file access property list is set to the family driver.
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.
    `NullPointerException` - - an array is null.

### H5Pset_cache

    public static int H5Pset_cache(int plist,
                                   int mdc_nelmts,
                                   int rdcc_nelmts,
                                   int rdcc_nbytes,
                                   double rdcc_w0)
                            throws HDF5LibraryException

  H5Pset_cache sets the number of elements (objects) in the meta data cache and the total number of bytes in the raw data chunk cache.

  Parameters:
    `plist` - IN: Identifier of the file access property list.
    `mdc_nelmts` - IN: Number of elements (objects) in the meta data cache.
    `rdcc_nbytes` - IN: Total size of the raw data chunk cache, in bytes.
    `rdcc_w0` - IN: Preemption policy.
  Returns:
    a non-negative value if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.

### H5Pget_cache

    public static int H5Pget_cache(int plist,
                                   int[] mdc_nelmts,
                                   int[] rdcc_nelmts,
                                   int[] rdcc_nbytes,
                                   double[] rdcc_w0)
                            throws HDF5LibraryException,
                                   NullPointerException

  Retrieves the maximum possible number of elements in the meta data cache and the maximum possible number of bytes and the RDCC_W0 value in the raw data chunk cache.

  Parameters:
    `plist` - IN: Identifier of the file access property list.
    `mdc_nelmts` - IN/OUT: Number of elements (objects) in the meta data cache.
    `rdcc_nbytes` - IN/OUT: Total size of the raw data chunk cache, in bytes.
    `rdcc_w0` - IN/OUT: Preemption policy.
  Returns:
    a non-negative value if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.
    `NullPointerException` - - an array is null.

### H5Pset_preserve

    public static int H5Pset_preserve(int plist,
                                      boolean status)
                               throws HDF5LibraryException,
                                      IllegalArgumentException

  H5Pset_preserve sets the dataset transfer property list status to TRUE or FALSE.

  Parameters:
    `plist` - IN: Identifier for the dataset transfer property list.
    `status` - IN: Status of for the dataset transfer property list.
  Returns:
    a non-negative value if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.
    `IllegalArgumentException` - - plist is invalid.

### H5Pget_preserve

    public static int H5Pget_preserve(int plist)
                               throws HDF5LibraryException

  H5Pget_preserve checks the status of the dataset transfer property list.

  Parameters:
    `plist` - IN: Identifier for the dataset transfer property list.
  Returns:
    TRUE or FALSE if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.

### H5Pset_deflate

    public static boolean H5Pset_deflate(int plist,
                                         int level)
                                  throws HDF5LibraryException

  H5Pset_deflate sets the compression method for a dataset.

  Parameters:
    `plist` - IN: Identifier for the dataset creation property list.
    `level` - IN: Compression level.
  Returns:
    true if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.

### H5Pset_gc_references

    public static int H5Pset_gc_references(int fapl_id,
                                           boolean gc_ref)
                                    throws HDF5LibraryException

  H5Pset_gc_references Sets the flag for garbage collecting references for the file. Default value for garbage collecting references is off.

  Parameters:
    `fapl_id` - IN File access property list
    `gc_ref` - IN set GC on (true) or off (false)
  Returns:
    non-negative if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.

### H5Pget_gc_reference

    public static int H5Pget_gc_reference(int fapl_id,
                                          boolean[] gc_ref)
                                   throws HDF5LibraryException,
                                          NullPointerException

  H5Pget_gc_references Returns the current setting for the garbage collection refernces property from a file access property list.

  Parameters:
    `fapl_id` - IN File access property list
    `gc_ref` - OUT GC is on (true) or off (false)
  Returns:
    non-negative if succeed
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.
    `NullPointerException` - - array is null.

### H5Pset_hyper_cache

    public static int H5Pset_hyper_cache(int plist_id,
                                         boolean cache,
                                         int limit)
                                  throws HDF5LibraryException

  H5Pset_hyper_cache Indicates whether to cache hyperslab blocks during I/O.

  Given a dataset transfer property list, H5Pset_hyper_cache indicates whether to cache hyperslab blocks during I/O, a process which can significantly increase I/O speeds.

  Parameters:
    `plist_id` - IN Dataset transfer property list
    `cache` - IN cache on (true)/off (false)
    `limit` - IN Maximum size of the hyperslab block to cache. 0 (zero) indicates no limit.
  Returns:
    non-negative if succeed
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.

### H5Pget_hyper_cache

    public static int H5Pget_hyper_cache(int plist_id,
                                         boolean[] cache,
                                         int[] limit)
                                  throws HDF5LibraryException,
                                         NullPointerException

  H5Pget_hyper_cache Find whether to hyperslab blocks are cached during I/O.

  Parameters:
    `plist_id` - IN Dataset transfer property list
    `cache` - OUT cache on (true)/off (false)
    `limit` - OUT Maximum size of the hyperslab block to cache. 0 (zero) indicates no limit.
  Returns:
    non-negative if succeed
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.
    `NullPointerException` - - an array is null.

### H5Pset_btree_ratios

    public static int H5Pset_btree_ratios(int plist_id,
                                          double left,
                                          double middle,
                                          double right)
                                   throws HDF5LibraryException

  H5Pset_btree_ratio Sets B-tree split ratios for a dataset transfer property list. The split ratios determine what percent of children go in the first node when a node splits.

  Parameters:
    `plist_id` - IN Dataset transfer property list
    `left` - IN split ratio for leftmost nodes
    `right` - IN split ratio for righttmost nodes
    `middle` - IN split ratio for all other nodes
  Returns:
    non-negative if succeed
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.

### H5Pget_btree_ratios

    public static int H5Pget_btree_ratios(int plist_id,
                                          double[] left,
                                          double[] middle,
                                          double[] right)
                                   throws HDF5LibraryException,
                                          NullPointerException

  H5Pget_btree_ratio Get the B-tree split ratios for a dataset transfer property list.

  Parameters:
    `plist_id` - IN Dataset transfer property list
    `left` - OUT split ratio for leftmost nodes
    `right` - OUT split ratio for righttmost nodes
    `middle` - OUT split ratio for all other nodes
  Returns:
    non-negative if succeed
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.
    `NullPointerException` - - an input array is null.

### H5Rcreate

    public static byte[] H5Rcreate(int loc_id,
                                   String name,
                                   int ref_type,
                                   int space_id)
                            throws HDF5LibraryException,
                                   NullPointerException,
                                   IllegalArgumentException

  H5Rcreate creates the reference, ref, of the type specified in ref_type, pointing to the object name located at loc_id.

  Parameters:
    `loc_id` - IN: Location identifier used to locate the object being pointed to.
    `name` - IN: Name of object at location loc_id.
    `ref_type` - IN: Type of reference.
    `space_id` - IN: Dataspace identifier with selection.
  Returns:
    the reference (byte[]) if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.
    `NullPointerException` - - an input array is null.
    `IllegalArgumentException` - - an input array is invalid.

### H5Rdereference

    public static int H5Rdereference(int dataset,
                                     int ref_type,
                                     byte[] ref)
                              throws HDF5LibraryException,
                                     NullPointerException,
                                     IllegalArgumentException

  Given a reference to some object, H5Rdereference opens that object and return an identifier.

  Parameters:
    `dataset` - IN: Dataset containing reference object.
    `ref` - IN: reference to an object
  Returns:
    valid identifier if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.
    `NullPointerException` - - output array is null.
    `IllegalArgumentException` - - output array is invalid.

### H5Rget_region

    public static int H5Rget_region(int loc_id,
                                    int ref_type,
                                    byte[] ref)
                             throws HDF5LibraryException,
                                    NullPointerException,
                                    IllegalArgumentException

  Given a reference to an object ref, H5Rget_region creates a copy of the dataspace of the dataset pointed to and defines a selection in the copy which is the region pointed to.

  Returns:
    a valid identifier if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.
    `NullPointerException` - - output array is null.
    `IllegalArgumentException` - - output array is invalid.

### H5Rget_object_type

    public static int H5Rget_object_type(int loc_id,
                                         byte[] ref)
                                  throws HDF5LibraryException,
                                         NullPointerException,
                                         IllegalArgumentException

  Given a reference to an object ref, H5Rget_object_type returns the type of the object pointed to.

  Parameters:
    `ref` - IN: the reference
  Returns:
    a valid identifier if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.
    `NullPointerException` - - array is null.
    `IllegalArgumentException` - - array is invalid.

### H5Screate

    public static int H5Screate(int type)
                         throws HDF5LibraryException

  H5Screate creates a new dataspace of a particular type.

  Parameters:
    `type` - The type of dataspace to be created.
  Returns:
    a dataspace identifier if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.

### H5Screate_simple

    public static int H5Screate_simple(int rank,
                                       long[] dims,
                                       long[] maxdims)
                                throws HDF5LibraryException,
                                       NullPointerException

  H5Screate_simple creates a new simple data space and opens it for access.

  Parameters:
    `rank` - Number of dimensions of dataspace.
    `dims` - An array of the size of each dimension.
    `maxdims` - An array of the maximum size of each dimension.
  Returns:
    a dataspace identifier if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.
    `NullPointerException` - - dims or maxdims is null.

### H5Scopy

    public static int H5Scopy(int space_id)
                       throws HDF5LibraryException

  H5Scopy creates a new dataspace which is an exact copy of the dataspace identified by space_id.

  Parameters:
    `space_id` - Identifier of dataspace to copy.
  Returns:
    a dataspace identifier if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.

### H5Sselect_elements

    public static int H5Sselect_elements(int space_id,
                                         int op,
                                         int num_elements,
                                         long[][] coord2D)
                                  throws HDF5Exception,
                                         HDF5LibraryException,
                                         NullPointerException

  H5Sselect_elements selects array elements to be included in the selection for the space_id dataspace.

  Parameters:
    `space_id` - Identifier of the dataspace.
    `op` - operator specifying how the new selection is combined.
    `num_elements` - Number of elements to be selected.
  Returns:
    a non-negative value if successful
  Throws:
    `HDF5Exception` - - Error in the data conversion
    `HDF5LibraryException` - - Error from the HDF-5 Library.
    `NullPointerException` - - cord array is

### H5Sselect_all

    public static int H5Sselect_all(int space_id)
                             throws HDF5LibraryException

  H5Sselect_all selects the entire extent of the dataspace space_id.

  Parameters:
    `space_id` - IN: The identifier of the dataspace to be selected.
  Returns:
    a non-negative value if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.

### H5Sselect_none

    public static int H5Sselect_none(int space_id)
                              throws HDF5LibraryException

  H5Sselect_none resets the selection region for the dataspace space_id to include no elements.

  Parameters:
    `space_id` - IN: The identifier of the dataspace to be reset.
  Returns:
    a non-negative value if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.

### H5Sselect_valid

    public static boolean H5Sselect_valid(int space_id)
                                   throws HDF5LibraryException

  H5Sselect_valid verifies that the selection for the dataspace.

  Parameters:
    `space_id` - The identifier for the dataspace in which the selection is being reset.
  Returns:
    true if the selection is contained within the extent and FALSE if it is not or is an error.
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.

### H5Sget_simple_extent_npoints

    public static long H5Sget_simple_extent_npoints(int space_id)
                                             throws HDF5LibraryException

  H5Sget_simple_extent_npoints determines the number of elements in a dataspace.

  Parameters:
    `space_id` - ID of the dataspace object to query
  Returns:
    the number of elements in the dataspace if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.

### H5Sget_select_npoints

    public static long H5Sget_select_npoints(int space_id)
                                      throws HDF5LibraryException

  H5Sget_select_npoints determines the number of elements in the current selection of a dataspace.

  Parameters:
    `space_id` - Dataspace identifier.
  Returns:
    the number of elements in the selection if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.

### H5Sget_simple_extent_ndims

    public static int H5Sget_simple_extent_ndims(int space_id)
                                          throws HDF5LibraryException

  H5Sget_simple_extent_ndims determines the dimensionality (or rank) of a dataspace.

  Parameters:
    `space_id` - Identifier of the dataspace
  Returns:
    the number of dimensions in the dataspace if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.

### H5Sget_simple_extent_dims

    public static int H5Sget_simple_extent_dims(int space_id,
                                                long[] dims,
                                                long[] maxdims)
                                         throws HDF5LibraryException,
                                                NullPointerException

  H5Sget_simple_extent_dims returns the size and maximum sizes of each dimension of a dataspace through the dims and maxdims parameters.

  Parameters:
    `space_id` - IN: Identifier of the dataspace object to query
    `dims` - OUT: Pointer to array to store the size of each dimension.
    `maxdims` - OUT: Pointer to array to store the maximum size of each dimension.
  Returns:
    the number of dimensions in the dataspace if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.
    `NullPointerException` - - dims or maxdims is null.

### H5Sget_simple_extent_type

    public static int H5Sget_simple_extent_type(int space_id)
                                         throws HDF5LibraryException

  H5Sget_simple_extent_type queries a dataspace to determine the current class of a dataspace.

  Parameters:
    `space_id` - Dataspace identifier.
  Returns:
    a dataspace class name if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.

### H5Sset_extent_simple

    public static int H5Sset_extent_simple(int 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.

  Parameters:
    `space_id` - Dataspace identifier.
    `rank` - Rank, or dimensionality, of the dataspace.
    `current_size` - Array containing current size of dataspace.
    `maximum_size` - Array containing maximum size of dataspace.
  Returns:
    a dataspace identifier if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.
    `NullPointerException`

### H5Sis_simple

    public static boolean H5Sis_simple(int space_id)
                                throws HDF5LibraryException

  H5Sis_simple determines whether a dataspace is a simple dataspace.

  Parameters:
    `space_id` - Identifier of the dataspace to query
  Returns:
    true if is a simple dataspace
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.

### H5Soffset_simple

    public static int H5Soffset_simple(int space_id,
                                       long[] offset)
                                throws HDF5LibraryException,
                                       NullPointerException

  H5Soffset_simple sets the offset of a simple dataspace space_id.

  Parameters:
    `space_id` - IN: The identifier for the dataspace object to reset.
    `offset` - IN: The offset at which to position the selection.
  Returns:
    a non-negative value if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.
    `NullPointerException` - - offset array is null.

### H5Sextent_copy

    public static int H5Sextent_copy(int dest_space_id,
                                     int source_space_id)
                              throws HDF5LibraryException

  H5Sextent_copy copies the extent from source_space_id to dest_space_id. This action may change the type of the dataspace.

  Parameters:
    `dest_space_id` - IN: The identifier for the dataspace from which the extent is copied.
    `source_space_id` - IN: The identifier for the dataspace to which the extent is copied.
  Returns:
    a non-negative value if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.

### H5Sset_extent_none

    public static int H5Sset_extent_none(int space_id)
                                  throws HDF5LibraryException

  H5Sset_extent_none removes the extent from a dataspace and sets the type to H5S_NONE.

  Parameters:
    `space_id` - The identifier for the dataspace from which the extent is to be removed.
  Returns:
    a non-negative value if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.

### H5Sselect_hyperslab

    public static int H5Sselect_hyperslab(int space_id,
                                          int op,
                                          long[] start,
                                          long[] stride,
                                          long[] count,
                                          long[] block)
                                   throws HDF5LibraryException,
                                          NullPointerException,
                                          IllegalArgumentException

  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.

  Parameters:
    `space_id` - IN: Identifier of dataspace selection to modify
    `op` - IN: Operation to perform on current selection.
    `start` - IN: Offset of start of hyperslab
    `count` - IN: Number of blocks included in hyperslab.
    `stride` - IN: Hyperslab stride.
    `block` - IN: Size of block in hyperslab.
  Returns:
    a non-negative value if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.
    `NullPointerException` - - an input array is null.
    `NullPointerException` - - an input array is invalid.
    `IllegalArgumentException`

### H5Sclose

    public static int H5Sclose(int space_id)
                        throws HDF5LibraryException

  H5Sclose releases a dataspace.

  Parameters:
    `space_id` - Identifier of dataspace to release.
  Returns:
    a non-negative value if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.

### H5Sget_select_hyper_nblocks

    public static long H5Sget_select_hyper_nblocks(int spaceid)
                                            throws HDF5LibraryException

  H5Sget_select_hyper_nblocks returns the number of hyperslab blocks in the current dataspace selection.

  Parameters:
    `spaceid` - Identifier of dataspace to release.
  Returns:
    a non-negative value if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.

### H5Sget_select_elem_npoints

    public static long H5Sget_select_elem_npoints(int spaceid)
                                           throws HDF5LibraryException

  H5Sget_select_elem_npoints returns the number of element points in the current dataspace selection.

  Parameters:
    `spaceid` - Identifier of dataspace to release.
  Returns:
    a non-negative value if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.

### H5Sget_select_hyper_blocklist

    public static int H5Sget_select_hyper_blocklist(int spaceid,
                                                    long startblock,
                                                    long numblocks,
                                                    long[] buf)
                                             throws HDF5LibraryException,
                                                    NullPointerException

  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:

          <"start" coordinate>, immediately followed by
          <"opposite" corner coordinate>, followed by
         the next "start" and "opposite" coordinates,
         etc.
         until all of the selected blocks have been listed.

  Parameters:
    `spaceid` - Identifier of dataspace to release.
    `startblock` - first block to retrieve
    `buf` - returns blocks startblock to startblock+num-1, each block is rank * 2 (corners) longs.
  Returns:
    a non-negative value if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.
    `NullPointerException` - - buf is null.

### H5Sget_select_elem_pointlist

    public static int H5Sget_select_elem_pointlist(int spaceid,
                                                   long startpoint,
                                                   long numpoints,
                                                   long[] buf)
                                            throws HDF5LibraryException,
                                                   NullPointerException

  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.

  Parameters:
    `spaceid` - Identifier of dataspace to release.
    `startpoint` - first point to retrieve
    `numpoints` - number of points to retrieve
    `buf` - returns points startblock to startblock+num-1, each points is rank longs.
  Returns:
    a non-negative value if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.
    `NullPointerException` - - buf is null.

### H5Sget_select_bounds

    public static int H5Sget_select_bounds(int spaceid,
                                           long[] start,
                                           long[] end)
                                    throws HDF5LibraryException,
                                           NullPointerException

  H5Sget_select_bounds retrieves the coordinates of the bounding box containing the current selection and places them into user-supplied buffers.

  The start and end buffers must be large enough to hold the dataspace rank number of coordinates.

  Parameters:
    `spaceid` - Identifier of dataspace to release.
    `start` - coordinates of lowest corner of bounding box.
    `end` - coordinates of highest corner of bounding box.
  Returns:
    a non-negative value if successful,with start and end initialized.
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.
    `NullPointerException` - - start or end is null.

### H5Topen

    public static int H5Topen(int loc_id,
                              String name)
                       throws HDF5LibraryException,
                              NullPointerException

  H5Topen opens a named datatype at the location specified by loc_id and return an identifier for the datatype.

  Parameters:
    `loc_id` - A file, group, or datatype identifier.
    `name` - A datatype name.
  Returns:
    a named datatype identifier if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.
    `NullPointerException` - - name is null.

### H5Tcommit

    public static int H5Tcommit(int loc_id,
                                String name,
                                int type)
                         throws HDF5LibraryException,
                                NullPointerException

  H5Tcommit commits a transient datatype (not immutable) to a file, turned it into a named datatype.

  Parameters:
    `loc_id` - A file or group identifier.
    `name` - A datatype name.
    `type` - A datatype identifier.
  Returns:
    a non-negative value if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.
    `NullPointerException` - - name is null.

### H5Tcommitted

    public static boolean H5Tcommitted(int type)
                                throws HDF5LibraryException

  H5Tcommitted queries a type to determine whether the type specified by the type identifier is a named type or a transient type.

  Parameters:
    `type` - Datatype identifier.
  Returns:
    true if successfully committed
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.

### H5Tcreate

    public static int H5Tcreate(int dclass,
                                int size)
                         throws HDF5LibraryException

  H5Tcreate creates a new dataype of the specified class with the specified number of bytes.

  Parameters:
    `dclass` - Class of datatype to create.
    `size` - The number of bytes in the datatype to create.
  Returns:
    datatype identifier if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.

### H5Tcopy

    public static int H5Tcopy(int type_id)
                       throws HDF5LibraryException

  H5Tcopy copies an existing datatype. The returned type is always transient and unlocked.

  Parameters:
    `type_id` - Identifier of datatype to copy. Can be a datatype identifier, a predefined datatype (defined in H5Tpublic.h), or a dataset Identifier.
  Returns:
    a datatype identifier if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.

### H5Tequal

    public static boolean H5Tequal(int type_id1,
                                   int type_id2)
                            throws HDF5LibraryException

  H5Tequal determines whether two datatype identifiers refer to the same datatype.

  Parameters:
    `type_id1` - Identifier of datatype to compare.
    `type_id2` - Identifier of datatype to compare.
  Returns:
    true if the datatype identifiers refer to the same datatype, else FALSE.
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.

### H5Tlock

    public static int H5Tlock(int type_id)
                       throws HDF5LibraryException

  H5Tlock locks the datatype specified by the type_id identifier, making it read-only and non-destrucible.

  Parameters:
    `type_id` - Identifier of datatype to lock.
  Returns:
    a non-negative value if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.

### H5Tget_class

    public static int H5Tget_class(int type_id)
                            throws HDF5LibraryException

  H5Tget_class returns the datatype class identifier.

  Parameters:
    `type_id` - Identifier of datatype to query.
  Returns:
    datatype class identifier if successful; otherwise H5T_NO_CLASS (-1).
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.

### H5Tget_size

    public static int H5Tget_size(int type_id)
                           throws HDF5LibraryException

  H5Tget_size returns the size of a datatype in bytes.

  Parameters:
    `type_id` - Identifier of datatype to query.
  Returns:
    the size of the datatype in bytes if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.

### H5Tset_size

    public static int H5Tset_size(int type_id,
                                  int size)
                           throws HDF5LibraryException

  H5Tset_size sets the total size in bytes, size, for an atomic datatype (this operation is not permitted on compound datatypes).

  Parameters:
    `type_id` - Identifier of datatype to change size.
    `size` - Size in bytes to modify datatype.
  Returns:
    a non-negative value if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.

### H5Tget_order

    public static int H5Tget_order(int type_id)
                            throws HDF5LibraryException

  H5Tget_order returns the byte order of an atomic datatype.

  Parameters:
    `type_id` - Identifier of datatype to query.
  Returns:
    a byte order constant if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.

### H5Tset_order

    public static int H5Tset_order(int type_id,
                                   int order)
                            throws HDF5LibraryException

  H5Tset_order sets the byte ordering of an atomic datatype.

  Parameters:
    `type_id` - Identifier of datatype to set.
    `order` - Byte ordering constant.
  Returns:
    a non-negative value if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.

### H5Tget_precision

    public static int H5Tget_precision(int type_id)
                                throws HDF5LibraryException

  H5Tget_precision returns the precision of an atomic datatype.

  Parameters:
    `type_id` - Identifier of datatype to query.
  Returns:
    the number of significant bits if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.

### H5Tset_precision

    public static int H5Tset_precision(int type_id,
                                       int precision)
                                throws HDF5LibraryException

  H5Tset_precision sets the precision of an atomic datatype.

  Parameters:
    `type_id` - Identifier of datatype to set.
    `precision` - Number of bits of precision for datatype.
  Returns:
    a non-negative value if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.

### H5Tget_offset

    public static int H5Tget_offset(int type_id)
                             throws HDF5LibraryException

  H5Tget_offset retrieves the bit offset of the first significant bit.

  Parameters:
    `type_id` - Identifier of datatype to query.
  Returns:
    a positive offset value if successful; otherwise 0.
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.

### H5Tset_offset

    public static int H5Tset_offset(int type_id,
                                    int offset)
                             throws HDF5LibraryException

  H5Tset_offset sets the bit offset of the first significant bit.

  Parameters:
    `type_id` - Identifier of datatype to set.
    `offset` - Offset of first significant bit.
  Returns:
    a non-negative value if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.

### H5Tget_pad

    public static int H5Tget_pad(int type_id,
                                 int[] pad)
                          throws HDF5LibraryException,
                                 NullPointerException

  H5Tget_pad retrieves the padding type of the least and most-significant bit padding.

  Parameters:
    `type_id` - IN: Identifier of datatype to query.
    `pad` - OUT: locations to return least-significant and most-significant bit padding type.

              pad[0] = lsb // least-significant bit padding type
              pad[1] = msb // most-significant bit padding type

  Returns:
    a non-negative value if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.
    `NullPointerException` - - pad is null.

### H5Tset_pad

    public static int H5Tset_pad(int type_id,
                                 int lsb,
                                 int msb)
                          throws HDF5LibraryException

  H5Tset_pad sets the least and most-significant bits padding types.

  Parameters:
    `type_id` - Identifier of datatype to set.
    `lsb` - Padding type for least-significant bits.
    `msb` - Padding type for most-significant bits.
  Returns:
    a non-negative value if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.

### H5Tget_sign

    public static int H5Tget_sign(int type_id)
                           throws HDF5LibraryException

  H5Tget_sign retrieves the sign type for an integer type.

  Parameters:
    `type_id` - Identifier of datatype to query.
  Returns:
    a valid sign type if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.

### H5Tset_sign

    public static int H5Tset_sign(int type_id,
                                  int sign)
                           throws HDF5LibraryException

  H5Tset_sign sets the sign proprety for an integer type.

  Parameters:
    `type_id` - Identifier of datatype to set.
    `sign` - Sign type.
  Returns:
    a non-negative value if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.

### H5Tget_fields

    public static int H5Tget_fields(int type_id,
                                    int[] fields)
                             throws HDF5LibraryException,
                                    NullPointerException,
                                    IllegalArgumentException

  H5Tget_fields retrieves information about the locations of the various bit fields of a floating point datatype.

  Parameters:
    `type_id` - IN: Identifier of datatype to query.
    `fields` - OUT: location of size and bit-position.

              fields[0] = spos  OUT: location to return size of in bits.
              fields[1] = epos  OUT: location to return exponent
                          bit-position.
              fields[2] = esize  OUT: location to return size of
                          exponent in bits.
              fields[3] = mpos  OUT: location to return mantissa
                          bit-position.
              fields[4] = msize  OUT: location to return size of
                          mantissa in bits.

  Returns:
    a non-negative value if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.
    `NullPointerException` - - fileds is null.
    `IllegalArgumentException` - - fileds array is invalid.

### H5Tset_fields

    public static int H5Tset_fields(int type_id,
                                    int spos,
                                    int epos,
                                    int esize,
                                    int mpos,
                                    int msize)
                             throws HDF5LibraryException

  H5Tset_fields sets the locations and sizes of the various floating point bit fields.

  Parameters:
    `type_id` - Identifier of datatype to set.
    `spos` - Size position.
    `epos` - Exponent bit position.
    `esize` - Size of exponent in bits.
    `mpos` - Mantissa bit position.
    `msize` - Size of mantissa in bits.
  Returns:
    a non-negative value if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.

### H5Tget_ebias

    public static int H5Tget_ebias(int type_id)
                            throws HDF5LibraryException

  H5Tget_ebias retrieves the exponent bias of a floating-point type.

  Parameters:
    `type_id` - Identifier of datatype to query.
  Returns:
    the bias if successful; otherwise 0.
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.

### H5Tset_ebias

    public static int H5Tset_ebias(int type_id,
                                   int ebias)
                            throws HDF5LibraryException

  H5Tset_ebias sets the exponent bias of a floating-point type.

  Parameters:
    `type_id` - Identifier of datatype to set.
    `ebias` - Exponent bias value.
  Returns:
    a non-negative value if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.

### H5Tget_norm

    public static int H5Tget_norm(int type_id)
                           throws HDF5LibraryException

  H5Tget_norm retrieves the mantissa normalization of a floating-point datatype.

  Parameters:
    `type_id` - Identifier of datatype to query.
  Returns:
    a valid normalization type if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.

### H5Tset_norm

    public static int H5Tset_norm(int type_id,
                                  int norm)
                           throws HDF5LibraryException

  H5Tset_norm sets the mantissa normalization of a floating-point datatype.

  Parameters:
    `type_id` - Identifier of datatype to set.
    `norm` - Mantissa normalization type.
  Returns:
    a non-negative value if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.

### H5Tget_inpad

    public static int H5Tget_inpad(int type_id)
                            throws HDF5LibraryException

  H5Tget_inpad retrieves the internal padding type for unused bits in floating-point datatypes.

  Parameters:
    `type_id` - Identifier of datatype to query.
  Returns:
    a valid padding type if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.

### H5Tset_inpad

    public static int H5Tset_inpad(int type_id,
                                   int inpad)
                            throws HDF5LibraryException

  If any internal bits of a floating point type are unused (that is, those significant bits which are not part of the sign, exponent, or mantissa), then H5Tset_inpad will be filled according to the value of the padding value property inpad.

  Parameters:
    `type_id` - Identifier of datatype to modify.
    `inpad` - Padding type.
  Returns:
    a non-negative value if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.

### H5Tget_cset

    public static int H5Tget_cset(int type_id)
                           throws HDF5LibraryException

  H5Tget_cset retrieves the character set type of a string datatype.

  Parameters:
    `type_id` - Identifier of datatype to query.
  Returns:
    a valid character set type if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.

### H5Tset_cset

    public static int H5Tset_cset(int type_id,
                                  int cset)
                           throws HDF5LibraryException

  H5Tset_cset the character set to be used.

  Parameters:
    `type_id` - Identifier of datatype to modify.
    `cset` - Character set type.
  Returns:
    a non-negative value if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.

### H5Tget_strpad

    public static int H5Tget_strpad(int type_id)
                             throws HDF5LibraryException

  H5Tget_strpad retrieves the string padding method for a string datatype.

  Parameters:
    `type_id` - Identifier of datatype to query.
  Returns:
    a valid string padding type if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.

### H5Tset_strpad

    public static int H5Tset_strpad(int type_id,
                                    int strpad)
                             throws HDF5LibraryException

  H5Tset_strpad defines the storage mechanism for the string.

  Parameters:
    `type_id` - Identifier of datatype to modify.
    `strpad` - String padding type.
  Returns:
    a non-negative value if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.

### H5Tget_nmembers

    public static int H5Tget_nmembers(int type_id)
                               throws HDF5LibraryException

  H5Tget_nmembers retrieves the number of fields a compound datatype has.

  Parameters:
    `type_id` - Identifier of datatype to query.
  Returns:
    number of members datatype has if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.

### H5Tget_member_name

    public static String H5Tget_member_name(int type_id,
                                            int field_idx)

  H5Tget_member_name retrieves the name of a field of a compound datatype.

  Parameters:
    `type_id` - Identifier of datatype to query.
    `field_idx` - Field index (0-based) of the field name to retrieve.
  Returns:
    a valid pointer if successful; otherwise null.

### H5Tget_member_dims

    public static int H5Tget_member_dims(int type_id,
                                         int field_idx,
                                         int[] dims,
                                         int[] perm)
                                  throws HDF5LibraryException,
                                         NullPointerException

  H5Tget_member_dims returns the dimensionality of the field.

  Parameters:
    `type_id` - Identifier of datatype to query.
    `field_idx` - Field index (0-based) of the field dims to retrieve.
    `dims` - Pointer to buffer to store the dimensions of the field.
    `perm` - Pointer to buffer to store the permutation vector of the field.
  Returns:
    the number of dimensions, a number from 0 to 4, if successful. Otherwise returns a negative value.
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.
    `NullPointerException`

### H5Tget_member_type

    public static int H5Tget_member_type(int type_id,
                                         int field_idx)
                                  throws HDF5LibraryException

  H5Tget_member_type returns the datatype of the specified member.

  Parameters:
    `type_id` - Identifier of datatype to query.
    `field_idx` - Field index (0-based) of the field type to retrieve.
  Returns:
    the identifier of a copy of the datatype of the field if successful;
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.

### H5Tget_member_offset

    public static long H5Tget_member_offset(int type_id,
                                            int membno)
                                     throws HDF5LibraryException

  H5Tget_member_offset returns the byte offset of the specified member of the compound datatype. This is the byte offset in the HDF-5 file/library, NOT the offset of any Java object which might be mapped to this data item.

  Parameters:
    `type_id` - Identifier of datatype to query.
  Returns:
    the offset of the member.
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.

### H5Tinsert

    public static int H5Tinsert(int type_id,
                                String name,
                                long offset,
                                int field_id)
                         throws HDF5LibraryException,
                                NullPointerException

  H5Tinsert adds another member to the compound datatype type_id.

  Parameters:
    `type_id` - Identifier of compound datatype to modify.
    `name` - Name of the field to insert.
    `offset` - Offset in memory structure of the field to insert.
    `field_id` - Datatype identifier of the field to insert.
  Returns:
    a non-negative value if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.
    `NullPointerException` - - name is null.

### H5Tpack

    public static int H5Tpack(int type_id)
                       throws HDF5LibraryException

  H5Tpack recursively removes padding from within a compound datatype to make it more efficient (space-wise) to store that data.

  WARNING: This call only affects the C-data, even if it succeeds, there may be no visible effect on Java objects.

  Parameters:
    `type_id` - Identifier of datatype to modify.
  Returns:
    a non-negative value if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.

### H5Tinsert_array

    public static int H5Tinsert_array(int parent_id,
                                      String name,
                                      int offset,
                                      int ndims,
                                      int[] dim,
                                      int[] perm,
                                      int member_id)
                               throws HDF5LibraryException,
                                      NullPointerException

  H5Tinsert_array adds a new member to the compound datatype parent_id.

  Parameters:
    `parent_id` - Identifier of the parent compound datatype.
    `name` - Name of new member.
    `offset` - Offset to start of new member within compound datatype.
    `ndims` - Dimensionality of new member.
    `dim` - Size of new member array.
    `perm` - Buffer to store the permutation vector of the field.
    `member_id` - Identifier of the datatype of the new member.
  Returns:
    a non-negative value if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.
    `NullPointerException` - - name is null.

### H5Tclose

    public static int H5Tclose(int type_id)
                        throws HDF5LibraryException

  H5Tclose releases a datatype.

  Parameters:
    `type_id` - Identifier of datatype to release.
  Returns:
    a non-negative value if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.

### H5Tenum_create

    public static int H5Tenum_create(int base_id)
                              throws HDF5LibraryException

  H5Tenum_create creates a new enumeration datatype based on the specified base datatype, parent_id, which must be an integer type.

  Parameters:
    `base_id` - Identifier of the parent datatype to release.
  Returns:
    a non-negative value if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.

### H5Tenum_insert

    public static int H5Tenum_insert(int type,
                                     String name,
                                     int[] value)
                              throws HDF5LibraryException,
                                     NullPointerException

  H5Tenum_insert inserts a new enumeration datatype member into an enumeration datatype.

  Parameters:
    `type` - Identifier of datatype.
    `name` - The name of the member
  Returns:
    a non-negative value if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.
    `NullPointerException` - - name is null.

### H5Tenum_nameof

    public static int H5Tenum_nameof(int type,
                                     int[] value,
                                     String[] name,
                                     int size)
                              throws HDF5LibraryException,
                                     NullPointerException

  H5Tenum_nameof finds the symbol name that corresponds to the specified value of the enumeration datatype type.

  Parameters:
    `type` - IN: Identifier of datatype.
    `name` - OUT: The name of the member
    `size` - IN: The max length of the name
  Returns:
    a non-negative value if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.
    `NullPointerException` - - name is null.

### H5Tenum_valueof

    public static int H5Tenum_valueof(int type,
                                      String name,
                                      int[] value)
                               throws HDF5LibraryException,
                                      NullPointerException

  H5Tenum_valueof finds the value that corresponds to the specified name of the enumeration datatype type.

  Parameters:
    `type` - IN: Identifier of datatype.
    `name` - IN: The name of the member
    `value` - OUT: The value of the member
  Returns:
    a non-negative value if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.
    `NullPointerException` - - name is null.

### H5Tvlen_create

    public static int H5Tvlen_create(int base_id)
                              throws HDF5LibraryException

  H5Tvlen_create creates a new variable-length (VL) dataype.

  Returns:
    a non-negative value if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.

### H5Tset_tag

    public static int H5Tset_tag(int type,
                                 String tag)
                          throws HDF5LibraryException

  H5Tset_tag tags an opaque datatype type_id with a unique ASCII identifier tag.

  Parameters:
    `type` - IN: Identifier of parent datatype.
    `tag` - IN: Name of the tag (will be stored as ASCII)
  Returns:
    a non-negative value if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.

### H5Tget_tag

    public static String H5Tget_tag(int type)
                             throws HDF5LibraryException

  H5Tget_tag returns the tag associated with datatype type_id.

  Parameters:
    `type` - IN: Identifier of datatype.
  Returns:
    the tag
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.

### H5Tget_super

    public static int H5Tget_super(int type)
                            throws HDF5LibraryException

  H5Tget_super returns the type from which TYPE is derived.

  Parameters:
    `type` - IN: Identifier of datatype.
  Returns:
    the parent type
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.

### H5Tget_member_value

    public static int H5Tget_member_value(int type_id,
                                          int membno,
                                          int[] value)
                                   throws HDF5LibraryException,
                                          NullPointerException

  H5Tget_member_value returns the value of the enumeration datatype member memb_no.

  Parameters:
    `type_id` - IN: Identifier of datatype.
    `membno` - IN: The name of the member
    `value` - OUT: The value of the member
  Returns:
    a non-negative value if successful
  Throws:
    `HDF5LibraryException` - - Error from the HDF-5 Library.
    `NullPointerException` - - name is null.