Package hdf.hdflib

# Class HDFLibrary

java.lang.Object
hdf.hdflib.HDFLibrary

All Implemented Interfaces:
  `Serializable`

public class HDFLibrary extends Object implements Serializable
This is the Java interface for the HDF 4.2 library.

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

These routines use the class HDFArray to handle arrays of arbitrary type and shape.

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.

C types to Java types
C | Java
int, intn, int32, uint32 | int
short, uint16, int16 | short
float, float32 | float
double, float64 | double
char, uchar, int8, uint8 | byte
char * (i.e., string) | java.lang.String
void | void
void *, VOIDP, char * (meaning ``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 intn or whatever. (Functions that return a value or else FAIL are declared the equivalent to the C function.)

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:

           void HDFdummy( int32* a1, int32* a2)

For the Java interface, this would be declared:

     public static native void HDFdummy(int args[]);

where a1 is args[0] and a2 is args[1].

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

Arrays

HDF needs to read and write multi-dimensional arrays of many types. The HDF API is self-describing, with the data for the array passed as a block of bytes, for instance,

          int SDreaddata(int sdsid, int32 *start, int32 * stride,
                 int32 *count, VOIDP data);

where ``VOIDP'' 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.

For Java, this is a problem, as the type of data must 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 HDFArray class is used to discover the type, shape, and size of the data array at run time, and to convert to and from contigous bytes. The upshot is that the data can be passed as an ``Object'', and the Java API will translate to and from the appropriate bytes. So the function above would be declared:

     int SDreaddata(int sdsid, int[] start, int[] stride, int[] count, Object data);

and the parameter data can be any multi-dimensional array of numbers, such as float[][], or int[][][]. Compression and Chunk Information

The HDF library passes the parameters needed by compression and chunking through C structures (actually, unions). The Java interface passes these as instances of subclasses of class HDFCompInfo and HDFChunkInfo respectively.

See: hdf.hdflib.HDFChunkInfo, and

hdf.hdflib.HDFCompInfo.

See Also:
  Serialized Form

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static String`
  `H4_LIBRARY_NAME_PROPERTY_KEY`
  `static String`
  `HDFPATH_PROPERTY_KEY`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `HDFLibrary()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static int`
  `ANannlen​(long ann_id)`
  `static int`
  `ANannlist​(long an_id, int anntype, short tag, short ref, int[] ann_list)`
  `static short`
  `ANatype2tag​(int antag)`
  `static int`
  `ANcreate​(long an_id, short tag, short ref, int type)`
  `static int`
  `ANcreatef​(long an_id, int type)`
  `static boolean`
  `ANend​(long an_id)`
  `static boolean`
  `ANendaccess​(long an_id)`
  `static boolean`
  `ANfileinfo​(long an_id, int[] info)`
  `static int`
  `ANget_tagref​(long an_id, int index, int type, short[] tagref)`
  `static boolean`
  `ANid2tagref​(long an_id, short[] tagref)`
  `static int`
  `ANnumann​(long an_id, int anntype, short tag, short ref)`
  `static boolean`
  `ANreadann​(long ann_id, String[] annbuf, int maxlen)`
  `static int`
  `ANselect​(long an_id, int index, int anntype)`
  `static int`
  `ANstart​(long fid)`
  `static int`
  `ANtag2atype​(short anttype)`
  `static long`
  `ANtagref2id​(long an_id, short tag, short ref)`
  `static boolean`
  `ANwriteann​(long ann_id, String label, int ann_length)`
  `static boolean`
  `DF24addimage​(String filename, byte[] image, int width, int height)`
  `static boolean`
  `DF24addimage​(String filename, Object theImage, int width, int height)`
  `static boolean`
  `DF24getdims​(String fileName, int[] argv)`
  `static boolean`
  `DF24getimage​(String fileName, byte[] imagedata, int width, int height)`
  `static boolean`
  `DF24getimage​(String fileName, Object theImagedata, int width, int height)`
  `static short`
  `DF24lastref()`
  `static int`
  `DF24nimages​(String fileName)`
  `static boolean`
  `DF24putimage​(String filename, byte[] image, int width, int height)`
  `static boolean`
  `DF24putimage​(String filename, Object theImage, int width, int height)`
  `static boolean`
  `DF24readref​(String filename, int ref)`
  `static boolean`
  `DF24reqil​(int il)`
  `static boolean`
  `DF24restart()`
  `static boolean`
  `DF24setcompress​(int type, HDFCompInfo cinfo)`
  `static boolean`
  `DF24setdims​(int width, int height)`
  `static boolean`
  `DF24setil​(int il)`
  `static int`
  `DFKNTsize​(long numbertype)`
  `static boolean`
  `DFPaddpal​(String filename, byte[] palette)`
  `static boolean`
  `DFPgetpal​(String filename, byte[] palette)`
  `static short`
  `DFPlastref()`
  `static int`
  `DFPnpals​(String filename)`
  `static boolean`
  `DFPputpal​(String filename, byte[] palette, boolean overwrite, String filemode)`
  `static boolean`
  `DFPputpal​(String filename, byte[] palette, int overwrite, String filemode)`
  `static boolean`
  `DFPreadref​(String filename, short ref)`
  `static short`
  `DFPrestart()`
  `static boolean`
  `DFPwriteref​(String filename, short ref)`
  `static boolean`
  `DFR8addimage​(String filename, byte[] image, int width, int height, short compress)`
  `static boolean`
  `DFR8addimage​(String filename, Object theImage, int width, int height, short compress)`
  `static boolean`
  `DFR8getdims​(String fileName, int[] argv, boolean[] haspalette)`
  `static boolean`
  `DFR8getimage​(String fileName, byte[] imagedata, int width, int height, byte[] palette)`
  `static boolean`
  `DFR8getimage​(String fileName, Object theImagedata, int width, int height, byte[] palette)`
  `static boolean`
  `DFR8getpalref​(short[] palref)`
  `static short`
  `DFR8lastref()`
  `static int`
  `DFR8nimages​(String fileName)`
  `static boolean`
  `DFR8putimage​(String filename, byte[] image, int width, int height, short compress)`
  `static boolean`
  `DFR8putimage​(String filename, Object theImage, int width, int height, short compress)`
  `static boolean`
  `DFR8readref​(String filename, int ref)`
  `static boolean`
  `DFR8restart()`
  `static boolean`
  `DFR8setcompress​(int type, HDFCompInfo cinfo)`
  DFR8setcompress sets compression scheme for 8-bit image
  `static boolean`
  `DFR8setpalette​(byte[] palette)`
  `static boolean`
  `DFR8writeref​(String filename, short ref)`
  `static String`
  `getJHIVersion()`
  Deprecated.
  `static boolean`
  `GRattrinfo​(long id, int index, String[] name, int[] argv)`
  `static int`
  `GRcreate​(long gr_id, String name, int ncomp, long data_type, int interlace_mode, int[] dim_sizes)`
  `static boolean`
  `GRend​(long grid)`
  `static boolean`
  `GRendaccess​(long riid)`
  `static boolean`
  `GRfileinfo​(long grid, int[] args)`
  `static int`
  `GRfindattr​(long id, String name)`
  `static boolean`
  `GRgetattr​(long id, int index, byte[] data)`
  `static boolean`
  `GRgetattr​(long id, int index, Object theData)`
  `static boolean`
  `GRgetchunkinfo​(long sdsid, HDFChunkInfo chunk_def, int[] flag)`
  `static boolean`
  `GRgetcompinfo​(long ri_id, HDFCompInfo c_info)`
  `static boolean`
  `GRgetcompress​(long ri_id, HDFCompInfo c_info)`
  `static boolean`
  `GRgetiminfo​(long grid, String[] gr_name, int[] args, int[] dim_sizes)`
  `static int`
  `GRgetlutid​(long rrid, int index)`
  `static boolean`
  `GRgetlutinfo​(long lutid, int[] args)`
  `static int`
  `GRgetnluts​(long rrid)`
  `static short`
  `GRidtoref​(long riid)`
  `static short`
  `GRluttoref​(long pal_id)`
  `static int`
  `GRnametoindex​(long grid, String name)`
  `static boolean`
  `GRreadchunk​(long sdsid, int[] origin, byte[] theData)`
  `static boolean`
  `GRreadchunk​(long grid, int[] origin, Object theData)`
  `static boolean`
  `GRreadimage​(long grid, int[] start, int[] stride, int[] count, byte[] data)`
  `static boolean`
  `GRreadimage​(long grid, int[] start, int[] stride, int[] count, Object theData)`
  `static boolean`
  `GRreadlut​(long lutid, byte[] data)`
  `static boolean`
  `GRreadlut​(long lutid, Object theData)`
  `static int`
  `GRreftoindex​(long grid, short ref)`
  `static boolean`
  `GRreqimageil​(long rrid, int interlace)`
  `static boolean`
  `GRreqlutil​(long riid, int interlace)`
  `static int`
  `GRselect​(long grid, int index)`
  `static boolean`
  `GRsetattr​(long gr_id, String attr_name, long data_type, int count, byte[] values)`
  `static boolean`
  `GRsetattr​(long gr_id, String attr_name, long data_type, int count, Object theData)`
  `static boolean`
  `GRsetattr​(long gr_id, String attr_name, long data_type, int count, String values)`
  `static boolean`
  `GRsetchunk​(long sdsid, HDFChunkInfo chunk_def, int flags)`
  `static int`
  `GRsetchunkcache​(long sdsid, int maxcache, int flags)`
  `static boolean`
  `GRsetcompress​(long ri_id, int comp_type, HDFCompInfo c_info)`
  `static boolean`
  `GRsetexternalfile​(long ri_id, String filename, int offset)`
  `static int`
  `GRstart​(long fid)`
  `static boolean`
  `GRwriteimage​(long grid, int[] start, int[] stride, int[] edge, byte[] data)`
  `static boolean`
  `GRwriteimage​(long grid, int[] start, int[] stride, int[] edge, Object theData)`
  `static boolean`
  `GRwritelut​(long pal_id, int ncomp, int data_type, int interlace, int num_entries, byte[] pal_data)`
  `static boolean`
  `GRwritelut​(long pal_id, int ncomp, int data_type, int interlace, int num_entries, Object theData)`
  `static boolean`
  `Hcache​(long file_id, int cache_switch)`
  `static int`
  `HCget_config_info​(int coder_type)`
  New API for hdf-42r1
  `static boolean`
  `Hclose​(long fid)`
  `static int`
  `HDdont_atexit()`
  `static boolean`
  `HDFclose​(long file_id)`
  `static long`
  `HDFopen​(String filename, int access, short n_dds)`
  `static String`
  `HDgetNTdesc​(int nt)`
  `static void`
  `HEprint​(Object stream, int level)`
  `static String`
  `HEstring​(int error_code)`
  `static short`
  `HEvalue​(int level)`
  `static boolean`
  `Hgetfileversion​(long file_id, int[] vers, String[] string)`
  Note: the version of an HDF file is not well defined, it is not recommended that programs rely on these numbers.
  `static boolean`
  `Hgetlibversion​(int[] vers, String[] string)`
  `static boolean`
  `Hishdf​(String fileName)`
  `static int`
  `Hnumber​(long fid)`
  `static int`
  `Hnumber​(long fid, int tagtype)`
  `static long`
  `Hopen​(String filename)`
  `static long`
  `Hopen​(String filename, int access)`
  `static long`
  `Hopen​(String filename, int access, int ndds)`
  `static boolean`
  `Hsetaccesstype​(long h_id, int access_type)`
  `static boolean`
  `Hsync​(long file_id)`
  `static boolean`
  `HXsetcreatedir​(String dir)`
  `static boolean`
  `HXsetdir​(String dir)`
  `static void`
  `loadH4Lib()`
  `static boolean`
  `SDattrinfo​(long id, int index, String[] name, int[] argv)`
  `static boolean`
  `SDcheckempty​(long sdsid, int[] emptySDS)`
  `static long`
  `SDcreate​(long sd_id, String name, long number_type, int rank, int[] dimsizes)`
  `static boolean`
  `SDdiminfo​(long dimid, String[] name, int[] argv)`
  `static boolean`
  `SDend​(long sdid)`
  `static boolean`
  `SDendaccess​(long sdsid)`
  `static boolean`
  `SDfileinfo​(long sdid, int[] argv)`
  `static long`
  `SDfindattr​(long id, String name)`
  `static boolean`
  `SDgetcal​(long sdsid, double[] argv, int[] NT)`
  `static boolean`
  `SDgetchunkinfo​(long sdsid, HDFChunkInfo chunk_def, int[] clflags)`
  `static boolean`
  `SDgetcompinfo​(long id, HDFCompInfo cinfo)`
  Deprecated.
  As of HDF 4.2.9, replaced by `SDgetcompinfo(long, HDFCompInfo)`
  `static boolean`
  `SDgetdatastrs​(long sdsid, String[] strings, int len)`
  `static long`
  `SDgetdimid​(long sdsid, int index)`
  `static boolean`
  `SDgetdimscale​(long dimid, byte[] data)`
  `static boolean`
  `SDgetdimscale​(long dimid, Object theData)`
  `static boolean`
  `SDgetdimstrs​(long dimid, String[] args, int len)`
  `static boolean`
  `SDgetfillvalue​(long sdsid, byte[] fillValue)`
  `static boolean`
  `SDgetfillvalue​(long sdsid, Object[] theFillValue)`
  `static boolean`
  `SDgetinfo​(long sdsid, String[] name, int[] dimsizes, int[] args)`
  `static boolean`
  `SDgetrange​(long sdsid, byte[] max, byte[] min)`
  `static boolean`
  `SDgetrange​(long sdsid, double[] maxmin)`
  `static int`
  `SDidtoref​(long sdsid)`
  `static boolean`
  `SDiscoordvar​(long sdsid)`
  `static boolean`
  `SDisdimval_bwcomp​(long dimid)`
  `static boolean`
  `SDisrecord​(long sdsid)`
  `static int`
  `SDnametoindex​(long sdid, String name)`
  `static boolean`
  `SDreadattr​(long id, int index, byte[] data)`
  `static boolean`
  `SDreadattr​(long id, int index, Object theData)`
  `static boolean`
  `SDreadchunk​(long sdsid, int[] origin, byte[] theData)`
  `static boolean`
  `SDreadchunk​(long sdsid, int[] origin, Object theData)`
  `static boolean`
  `SDreaddata​(long sdsid, int[] start, int[] stride, int[] count, byte[] data)`
  `static boolean`
  `SDreaddata​(long sdsid, int[] start, int[] stride, int[] count, Object theData)`
  `static boolean`
  `SDreaddata_double​(long sdsid, int[] start, int[] stride, int[] count, double[] theData)`
  `static boolean`
  `SDreaddata_float​(long sdsid, int[] start, int[] stride, int[] count, float[] theData)`
  `static boolean`
  `SDreaddata_int​(long sdsid, int[] start, int[] stride, int[] count, int[] theData)`
  `static boolean`
  `SDreaddata_long​(long sdsid, int[] start, int[] stride, int[] count, long[] theData)`
  `static boolean`
  `SDreaddata_short​(long sdsid, int[] start, int[] stride, int[] count, short[] theData)`
  `static int`
  `SDreftoindex​(long sdid, int ref)`
  `static long`
  `SDselect​(long sdid, int index)`
  `static boolean`
  `SDsetaccesstype​(long id, int accesstype)`
  `static boolean`
  `SDsetattr​(long s_id, String attr_name, long num_type, int count, byte[] values)`
  `static boolean`
  `SDsetattr​(long s_id, String attr_name, long num_type, int count, Object theValues)`
  `static boolean`
  `SDsetblocksize​(long sdsid, int block_size)`
  `static boolean`
  `SDsetcal​(long sds_id, double cal, double cal_err, double offset, double offset_err, int number_type)`
  `static boolean`
  `SDsetchunk​(long sdsid, HDFChunkInfo chunk_def, int flags)`
  `static int`
  `SDsetchunkcache​(long sdsid, int maxcache, int flags)`
  `static boolean`
  `SDsetcompress​(long id, int type, HDFCompInfo cinfo)`
  `static boolean`
  `SDsetdatastrs​(long sds_id, String label, String unit, String format, String coordsys)`
  `static boolean`
  `SDsetdimname​(long dim_id, String dim_name)`
  `static boolean`
  `SDsetdimscale​(long dim_id, int count, int number_type, byte[] data)`
  `static boolean`
  `SDsetdimscale​(long dim_id, int count, int number_type, Object theData)`
  `static boolean`
  `SDsetdimstrs​(long dim_id, String label, String unit, String format)`
  `static boolean`
  `SDsetdimval_comp​(long dimid, int comp_mode)`
  `static boolean`
  `SDsetexternalfile​(long sds_id, String filename, int offset)`
  `static boolean`
  `SDsetfillmode​(long sdsid, boolean fill_enable)`
  `static boolean`
  `SDsetfillmode​(long sdsid, int fillmode)`
  `static boolean`
  `SDsetfillvalue​(long sds_id, byte[] fill_val)`
  `static boolean`
  `SDsetfillvalue​(long sds_id, Object the_fill_val)`
  `static boolean`
  `SDsetnbitdataset​(long id, int start_bit, int bit_len, int sign_ext, int fill_one)`
  `static boolean`
  `SDsetrange​(long sdsid, byte[] max, byte[] min)`
  `static boolean`
  `SDsetrange​(long sdsid, Object max, Object min)`
  `static long`
  `SDstart​(String filename, int accessmode)`
  `static boolean`
  `SDwritechunk​(long sdsid, int[] origin, byte[] data)`
  `static boolean`
  `SDwritechunk​(long sdsid, int[] origin, Object theData)`
  `static boolean`
  `SDwritedata​(long sdsid, int[] start, int[] stride, int[] count, byte[] data)`
  `static boolean`
  `SDwritedata​(long sdsid, int[] start, int[] stride, int[] count, Object theData)`
  `static int`
  `Vaddtagref​(long vgroup_id, int tag, int ref)`
  `static int`
  `Vattach​(long fid, int vgroup_ref, String access)`
  `static boolean`
  `Vattrinfo​(long id, int index, String[] name, int[] argv)`
  `static int`
  `Vdeletetagref​(long vgroup_id, int tag, int ref)`
  `static void`
  `Vdetach​(long vgroup_id)`
  `static void`
  `Vend​(long file_id)`
  `static int`
  `VFfieldesize​(long vdata_id, int field_index)`
  `static int`
  `VFfieldisize​(long vdata_id, int field_index)`
  `static String`
  `VFfieldname​(long vdata_id, int field_index)`
  `static int`
  `VFfieldorder​(long vdata_id, int field_index)`
  `static long`
  `VFfieldtype​(long vdata_id, int field_index)`
  `static int`
  `Vfind​(long file_id, String vgroup_name)`
  `static long`
  `Vfindattr​(long id, String name)`
  `static int`
  `Vfindclass​(long file_id, String vgclassname)`
  `static int`
  `Vflocate​(int key, String vgclassname)`
  `static int`
  `VFnfields​(long vkey)`
  `static boolean`
  `Vgetattr​(long id, int index, byte[] data)`
  `static boolean`
  `Vgetattr​(long id, int index, Object theData)`
  `static void`
  `Vgetclass​(long vgroup_id, String[] hdfclassname)`
  `static int`
  `Vgetid​(long file_id, int vgroup_ref)`
  `static void`
  `Vgetname​(long vgroup_id, String[] hdfname)`
  `static int`
  `Vgetnext​(int key, int ref)`
  `static boolean`
  `Vgettagref​(long vgroup_id, int index, int[] tagref)`
  `static int`
  `Vgettagrefs​(long vgroup_id, int[] tags, int[] refs, int arraysize)`
  `static int`
  `Vgetversion​(long id)`
  `static int`
  `VHmakegroup​(long file_id, int[] tag_array, int[] ref_array, int n_objects, String vgroup_name, String vgroup_class)`
  `static int`
  `VHstoredata​(long file_id, String fieldname, byte[] buf, int n_records, int data_type, String vdata_name, String vdata_class)`
  `static int`
  `VHstoredata​(long file_id, String fieldname, Object thebuf, int n_records, int data_type, String vdata_name, String vdata_class)`
  `static int`
  `VHstoredatam​(long file_id, String fieldname, byte[] buf, int n_records, int data_type, String vdata_name, String vdata_class, int order)`
  `static int`
  `VHstoredatam​(long file_id, String fieldname, Object buf, int n_records, int data_type, String vdata_name, String vdata_class, int order)`
  `static boolean`
  `Vinqtagref​(long vgroup_id, int tag, int ref)`
  `static boolean`
  `Vinquire​(long vgroup_id, int[] n_entries, String[] vgroup_name)`
  `static int`
  `Vinsert​(long vgroup_id, long v_id)`
  `static boolean`
  `Visvg​(long vgroup_id, int vgroup_ref)`
  `static boolean`
  `Visvs​(long vgroup_id, int vdata_ref)`
  `static int`
  `Vlone​(long fid, int[] ref_array, int buffersize)`
  `static int`
  `Vnattrs​(long id)`
  `static int`
  `Vnrefs​(int key, int ref)`
  `static int`
  `Vntagrefs​(long vgroup_id)`
  `static int`
  `VQueryref​(long vkey)`
  `static int`
  `VQuerytag​(long vkey)`
  `static boolean`
  `VSappendable​(int vkey, int block_size)`
  `static int`
  `VSattach​(long fid, int vdata_ref, String access)`
  `static boolean`
  `VSattrinfo​(long id, int index, int attr_index, String[] name, int[] argv)`
  `static void`
  `VSdetach​(long vdata_id)`
  `static int`
  `VSelts​(long vdata_id)`
  `static boolean`
  `Vsetattr​(long id, String attr_name, long data_type, int count, byte[] data)`
  `static boolean`
  `Vsetattr​(long id, String attr_name, long data_type, int count, Object theData)`
  `static boolean`
  `Vsetattr​(long id, String attr_name, long data_type, int count, String values)`
  `static boolean`
  `Vsetclass​(long vgroup_id, String vgclassname)`
  `static boolean`
  `Vsetname​(long vgroup_id, String vgname)`
  `static boolean`
  `VSfdefine​(long vdata_id, String fieldname, int numbertype, int order)`
  `static boolean`
  `VSfexist​(long vdata_id, String fields)`
  `static int`
  `VSfind​(long file_id, String vdataname)`
  `static int`
  `VSfindattr​(long id, int index, String name)`
  `static int`
  `VSfindclass​(long file_id, String vgclass)`
  `static int`
  `VSfindex​(long id, String name, int[] findex)`
  `static int`
  `VSfnattrs​(long id, int fnattrs)`
  `static boolean`
  `VSgetattr​(long id, int index, int attr_index, byte[] data)`
  `static boolean`
  `VSgetattr​(long id, int index, int attr_index, Object theData)`
  `static void`
  `VSgetclass​(long vdata_id, String[] hdfclassname)`
  `static int`
  `VSgetfields​(long vdata_id, String[] fieldname)`
  `static long`
  `VSgetid​(long file_id, int vdata_ref)`
  `static int`
  `VSgetinterlace​(long vdata_id)`
  `static void`
  `VSgetname​(long vdata_id, String[] hdfname)`
  `static int`
  `VSgetversion​(int vkey)`
  `static boolean`
  `VSinquire​(long vdata_id, int[] iargs)`
  `static boolean`
  `VSinquire​(long vdata_id, int[] iargs, String[] sargs)`
  `static boolean`
  `VSisattr​(long id)`
  `static int`
  `VSlone​(long fid, int[] ref_array, int buffersize)`
  `static int`
  `VSnattrs​(long id)`
  `static boolean`
  `VSQuerycount​(long vdata_id, int[] n_records)`
  `static boolean`
  `VSQueryfields​(long vdata_id, String[] fields)`
  `static boolean`
  `VSQueryinterlace​(long vdata_id, int[] interlace)`
  `static boolean`
  `VSQueryname​(long vdata_id, String[] vdata_name)`
  `static int`
  `VSQueryref​(long vdata_id)`
  `static int`
  `VSQuerytag​(long vdata_id)`
  `static boolean`
  `VSQueryvsize​(long vdata_id, int[] vdata_size)`
  `static int`
  `VSread​(long vdata_id, byte[] databuf, int nrecord, int interlace)`
  `static int`
  `VSread​(long vdata_id, Object theData, int nrecord, int interlace)`
  `static int`
  `VSseek​(long vdata_id, int record)`
  `static boolean`
  `VSsetattr​(long id, int index, String attr_name, long data_type, int count, byte[] values)`
  `static boolean`
  `VSsetattr​(long id, int index, String attr_name, long data_type, int count, Object theData)`
  `static boolean`
  `VSsetattr​(long id, int index, String attr_name, long data_type, int count, String values)`
  `static int`
  `VSsetblocksize​(long vdata_id, int blocksize)`
  `static void`
  `VSsetclass​(long vdata_id, String vdata_class)`
  `static boolean`
  `VSsetexternalfile​(int vkey, String filename, int offset)`
  `static boolean`
  `VSsetfields​(long vdata_id, String fields)`
  `static boolean`
  `VSsetinterlace​(long vdata_id, int interlace)`
  `static void`
  `VSsetname​(long vdata_id, String vdata_name)`
  `static int`
  `VSsetnumblocks​(long vdata_id, int numblocks)`
  `static int`
  `VSsizeof​(long vdata_id, String fields)`
  `static boolean`
  `Vstart​(long fid)`
  `static int`
  `VSwrite​(long vdata_id, byte[] databuf, int n_records, int interlace)`
  `static int`
  `VSwrite​(long vdata_id, Object databuf, int n_records, int interlace)`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Field Details

  - ### HDFPATH_PROPERTY_KEY

    public static final String HDFPATH_PROPERTY_KEY
    See Also:
      Constant Field Values

  - ### H4_LIBRARY_NAME_PROPERTY_KEY

    public static final String H4_LIBRARY_NAME_PROPERTY_KEY
    See Also:
      Constant Field Values

- ## Constructor Details

  - ### HDFLibrary

    public HDFLibrary()

- ## Method Details

  - ### loadH4Lib

    public static void loadH4Lib()

  - ### getJHIVersion

    @Deprecated public static final String getJHIVersion()
    Deprecated.

  - ### Hopen

    public static long Hopen​(String filename) throws HDFException
    Throws:
      `HDFException`

  - ### Hopen

    public static long Hopen​(String filename, int access) throws HDFException
    Throws:
      `HDFException`

  - ### Hopen

    public static long Hopen​(String filename, int access, int ndds) throws HDFException
    Throws:
      `HDFException`

  - ### Hclose

    public static boolean Hclose​(long fid) throws HDFException
    Throws:
      `HDFException`

  - ### HDdont_atexit

    public static int HDdont_atexit() throws HDFException
    Throws:
      `HDFException`

  - ### Hishdf

    public static boolean Hishdf​(String fileName) throws HDFException
    Throws:
      `HDFException`

  - ### Hnumber

    public static int Hnumber​(long fid) throws HDFException
    Throws:
      `HDFException`

  - ### Hnumber

    public static int Hnumber​(long fid, int tagtype) throws HDFException
    Throws:
      `HDFException`

  - ### DFKNTsize

    public static int DFKNTsize​(long numbertype) throws HDFException
    Throws:
      `HDFException`

  - ### HDgetNTdesc

    public static String HDgetNTdesc​(int nt) throws HDFException
    Throws:
      `HDFException`

  - ### Hcache

    public static boolean Hcache​(long file_id, int cache_switch) throws HDFException
    Throws:
      `HDFException`

  - ### Hgetfileversion

    public static boolean Hgetfileversion​(long file_id, int[] vers, String[] string) throws HDFException
    Note: the version of an HDF file is not well defined, it is not recommended that programs rely on these numbers.

    Parameters:
      `file_id` - IN: long, the file descriptor returned by Hopen
      `vers` - OUT: int[3], the major version, minor version, and release number of the file.
      `string` - OUT: String[1], the version string
    Returns:
      the major, minor, and release number are returned in the array of ints, and a string is returned in the string.
    Throws:
      `HDFException` - should be thrown for errors in the HDF library call, but is not yet implemented.

  - ### Hgetlibversion

    public static boolean Hgetlibversion​(int[] vers, String[] string) throws HDFException
    Parameters:
      `vers` - OUT: int[3], the major version, minor version, and release number of the HDF library.
      `string` - OUT: String[1], the version string
    Returns:
      the major, minor, and release number are returned in the array of ints, and a string is returned in the string.
    Throws:
      `HDFException` - should be thrown for errors in the HDF library call, but is not yet implemented.

  - ### Hsetaccesstype

    public static boolean Hsetaccesstype​(long h_id, int access_type) throws HDFException
    Throws:
      `HDFException`

  - ### Hsync

    public static boolean Hsync​(long file_id) throws HDFException
    Throws:
      `HDFException`

  - ### ANstart

    public static int ANstart​(long fid) throws HDFException
    Throws:
      `HDFException`

  - ### ANend

    public static boolean ANend​(long an_id) throws HDFException
    Throws:
      `HDFException`

  - ### ANendaccess

    public static boolean ANendaccess​(long an_id) throws HDFException
    Throws:
      `HDFException`

  - ### ANfileinfo

    public static boolean ANfileinfo​(long an_id, int[] info) throws HDFException
    Parameters:
      `an_id` - IN: the AN interface id, returned by ANstart
      `info` - OUT: int[4], n_file_label, n_file_desc, n_data_label, n_data_desc
    Returns:
      four integer parameters: info[0] = n_file_label, info[1] = n_file_desc, info[2] = n_data_label, info[3] = n_data_desc
    Throws:
      `HDFException` - should be thrown for errors.

  - ### ANselect

    public static int ANselect​(long an_id, int index, int anntype) throws HDFException
    Throws:
      `HDFException`

  - ### ANnumann

    public static int ANnumann​(long an_id, int anntype, short tag, short ref) throws HDFException
    Throws:
      `HDFException`

  - ### ANatype2tag

    public static short ANatype2tag​(int antag) throws HDFException
    Throws:
      `HDFException`

  - ### ANtag2atype

    public static int ANtag2atype​(short anttype) throws HDFException
    Throws:
      `HDFException`

  - ### ANannlist

    public static int ANannlist​(long an_id, int anntype, short tag, short ref, int[] ann_list) throws HDFException
    Parameters:
      `an_id` - IN: the AN interface id, returned by ANstart
      `anntype` - IN: the number type, as defined in HDFConstants
      `tag` - IN: the HDF tag
      `ref` - IN: the HDF ref
      `ann_list` - OUT: int[], an array of annotation identifiers. The array must be long enough to hold the number of annotations returned by ANnumann
    Returns:
      an array of integers, which are the identifiers of the annotations
    Throws:
      `HDFException` - should be thrown for errors.

  - ### ANannlen

    public static int ANannlen​(long ann_id) throws HDFException
    Throws:
      `HDFException`

  - ### ANreadann

    public static boolean ANreadann​(long ann_id, String[] annbuf, int maxlen) throws HDFException
    Parameters:
      `ann_id` - IN: the AN interface id, returned by ANstart
      `annbuf` - OUT: String[1], the annotation is returned as annbuf[0].
      `maxlen` - IN: int, the maximum length of the string.
    Returns:
      an annotation string: annbuf[0] = the annotation
    Throws:
      `HDFException` - should be thrown for errors.

  - ### ANcreate

    public static int ANcreate​(long an_id, short tag, short ref, int type) throws HDFException
    Throws:
      `HDFException`

  - ### ANcreatef

    public static int ANcreatef​(long an_id, int type) throws HDFException
    Throws:
      `HDFException`

  - ### ANget_tagref

    public static int ANget_tagref​(long an_id, int index, int type, short[] tagref) throws HDFException
    Parameters:
      `an_id` - IN: the AN interface id, returned by ANstart
      `index` - IN: the index of the annotation
      `type` - IN: the type of the annotation
      `tagref` - OUT: short[2], the tag and ref of the annotation
    Returns:
      the tag and ref: tagref[0] = tag, tagref[1] = ref
    Throws:
      `HDFException` - should be thrown for errors.

  - ### ANid2tagref

    public static boolean ANid2tagref​(long an_id, short[] tagref) throws HDFException
    Parameters:
      `an_id` - IN: the AN interface id, returned by ANstart
      `tagref` - OUT: short[2], the tag and ref of the annotation
    Returns:
      the tag and ref: tagref[0] = tag, tagref[1] = ref
    Throws:
      `HDFException` - should be thrown for errors.

  - ### ANtagref2id

    public static long ANtagref2id​(long an_id, short tag, short ref) throws HDFException
    Throws:
      `HDFException`

  - ### ANwriteann

    public static boolean ANwriteann​(long ann_id, String label, int ann_length) throws HDFException
    Throws:
      `HDFException`

  - ### DFPaddpal

    public static boolean DFPaddpal​(String filename, byte[] palette) throws HDFException
    Throws:
      `HDFException`

  - ### DFPgetpal

    public static boolean DFPgetpal​(String filename, byte[] palette) throws HDFException
    Throws:
      `HDFException`

  - ### DFPlastref

    public static short DFPlastref() throws HDFException
    Throws:
      `HDFException`

  - ### DFPnpals

    public static int DFPnpals​(String filename) throws HDFException
    Throws:
      `HDFException`

  - ### DFPputpal

    public static boolean DFPputpal​(String filename, byte[] palette, int overwrite, String filemode) throws HDFException
    Throws:
      `HDFException`

  - ### DFPputpal

    public static boolean DFPputpal​(String filename, byte[] palette, boolean overwrite, String filemode) throws HDFException
    Parameters:
      `filename` - IN: String, the name of the HDF file
      `palette` - IN: byte[] the palette
      `overwrite` - IN: boolean, converted to 1 == true, 0 == false to call the HDF library
      `filemode` - IN: if "a" append palette to file, "w" create new file
    Returns:
      true on success
    Throws:
      `HDFException` - should be thrown for errors.

  - ### DFPreadref

    public static boolean DFPreadref​(String filename, short ref) throws HDFException
    Throws:
      `HDFException`

  - ### DFPrestart

    public static short DFPrestart() throws HDFException
    Throws:
      `HDFException`

  - ### DFPwriteref

    public static boolean DFPwriteref​(String filename, short ref) throws HDFException
    Throws:
      `HDFException`

  - ### GRstart

    public static int GRstart​(long fid) throws HDFException
    Throws:
      `HDFException`

  - ### GRend

    public static boolean GRend​(long grid) throws HDFException
    Throws:
      `HDFException`

  - ### GRfileinfo

    public static boolean GRfileinfo​(long grid, int[] args) throws HDFException
    Parameters:
      `grid` - IN: the GR interface id, returned by GRstart
      `args` - OUT: int[2], n_datasets and n_file_attrs
    Returns:
      the file info: args[0] = n_datasets, args[1] = n_file_attrs
    Throws:
      `HDFException` - should be thrown for errors.

  - ### GRgetchunkinfo

    public static boolean GRgetchunkinfo​(long sdsid, HDFChunkInfo chunk_def, int[] flag) throws HDFException
    Parameters:
      `sdsid` - IN: the SD identifier returned by SDselect
      `chunk_def` - OUT: HDFChunkInfo, the chunking info
      `flag` - OUT: int[1], the type of chunking
    Returns:
      c_info contains information about the chunking method, flags[0] == the chunking flags

      NOTE:The chunking algorithm-specific information is passed in an appropriate sub-class of HDFChunkInfo.

    Throws:
      `HDFException` - should be thrown for errors.

  - ### GRselect

    public static int GRselect​(long grid, int index) throws HDFException
    Throws:
      `HDFException`

  - ### GRnametoindex

    public static int GRnametoindex​(long grid, String name) throws HDFException
    Throws:
      `HDFException`

  - ### GRgetiminfo

    public static boolean GRgetiminfo​(long grid, String[] gr_name, int[] args, int[] dim_sizes) throws HDFException
    Parameters:
      `grid` - IN: the GR interface id, returned by GRstart
      `gr_name` - OUT: name of raster image
      `args` - OUT: int[4], image info: number of components in the image, data type of the image data, interlace mode of the stored image data, number of attributes assigned to the image
      `dim_sizes` - OUT: int[2], dim_sizes
    Returns:
      the file info: String[0] = gr_name, args[0] = ncomp, args[1] = data_type, args[2] = interlace, args[3] = num_attrs

      NOTE: the parameters for the Java interface are not in the same order as the C interface.

    Throws:
      `HDFException` - should be thrown for errors.

  - ### GRreadimage

    public static boolean GRreadimage​(long grid, int[] start, int[] stride, int[] count, byte[] data) throws HDFException
    Parameters:
      `grid` - IN: the GR interface id, returned by GRstart
      `start` - IN: int[2], start
      `stride` - IN: int[2], stride. If the stride parameter is set to NULL, a stride of 1 will be assumed. strides of 0 are illegal.
      `count` - IN: int[2], count
      `data` - OUT: byte[], data
    Returns:
      the the data in the form of a continous array of bytes.

      NOTE: to read into a Java 2D array use the alternative routine below.

    Throws:
      `HDFException` - should be thrown for errors.

  - ### GRreadimage

    public static boolean GRreadimage​(long grid, int[] start, int[] stride, int[] count, Object theData) throws HDFException
    Parameters:
      `grid` - IN: the GR interface id, returned by GRstart
      `start` - IN: int[2], start
      `stride` - IN: int[2], stride. If the stride parameter is set to NULL, a stride of 1 will be assumed. strides of 0 are illegal.
      `count` - IN: int[2], count
      `theData` - OUT: Object, a Java array of appropriate type, dimensions, and size.
    Returns:
      the the data in the Java array.

      Note: reads the data as bytes and converts to the Java array.

    Throws:
      `HDFException` - should be thrown for errors.

  - ### GRendaccess

    public static boolean GRendaccess​(long riid) throws HDFException
    Throws:
      `HDFException`

  - ### GRidtoref

    public static short GRidtoref​(long riid) throws HDFException
    Throws:
      `HDFException`

  - ### GRreftoindex

    public static int GRreftoindex​(long grid, short ref) throws HDFException
    Throws:
      `HDFException`

  - ### GRreqlutil

    public static boolean GRreqlutil​(long riid, int interlace) throws HDFException
    Throws:
      `HDFException`

  - ### GRreqimageil

    public static boolean GRreqimageil​(long rrid, int interlace) throws HDFException
    Throws:
      `HDFException`

  - ### GRgetlutid

    public static int GRgetlutid​(long rrid, int index) throws HDFException
    Throws:
      `HDFException`

  - ### GRgetnluts

    public static int GRgetnluts​(long rrid) throws HDFException
    Throws:
      `HDFException`

  - ### GRgetlutinfo

    public static boolean GRgetlutinfo​(long lutid, int[] args) throws HDFException
    Parameters:
      `lutid` - IN: the palette identifier returned by GRgetlutid
      `args` - OUT: int[4], palette info: Number of components in the palette, Data type of the palette data, Interlace mode of the stored palette data, Number of color lookup table entries in the palette.
    Returns:
      the palette info: args[0] = ncomp, args[1] = data_type, args[2] = interlace, args[3] = num_entries
    Throws:
      `HDFException` - should be thrown for errors.

  - ### GRreadlut

    public static boolean GRreadlut​(long lutid, byte[] data) throws HDFException
    Parameters:
      `lutid` - IN: the palette identifier returned by GRgetlutid
      `data` - OUT: byte[], palette data, in bytes
    Returns:
      the palette data: as bytes

      NOTE: to read into a Java 1D array use the alternative routine below.

    Throws:
      `HDFException` - should be thrown for errors.

  - ### GRreadlut

    public static boolean GRreadlut​(long lutid, Object theData) throws HDFException
    Parameters:
      `lutid` - IN: the palette identifier returned by GRgetlutid
      `theData` - OUT: Object, palette data, an Java array
    Returns:
      the palette data: as a Java array

      Note: reads the data as bytes and converts to the Java array.

    Throws:
      `HDFException` - should be thrown for errors.

  - ### GRattrinfo

    public static boolean GRattrinfo​(long id, int index, String[] name, int[] argv) throws HDFException
    Parameters:
      `id` - IN: the GR identifier returned by GRstart
      `index` - IN: the index of the attribute
      `name` - OUT: String[1], the name of the attribute
      `argv` - OUT: int[2], the type and length of the attribute
    Returns:
      the name, type, and lenght of the attribute: name[0] = name, argv[0] = data_type, argv[1] = length
    Throws:
      `HDFException` - should be thrown for errors.

  - ### GRgetattr

    public static boolean GRgetattr​(long id, int index, byte[] data) throws HDFException
    Parameters:
      `id` - IN: the GR identifier returned by GRstart
      `index` - IN: index of the attribute for info
      `data` - OUT: byte[], attribute data, in bytes
    Returns:
      the attribute data: as bytes

      NOTE: to read into a Java 1D array use the alternative routine below.

    Throws:
      `HDFException` - should be thrown for errors.

  - ### GRgetattr

    public static boolean GRgetattr​(long id, int index, Object theData) throws HDFException
    Parameters:
      `id` - IN: the GR identifier returned by GRstart
      `index` - IN: index of the attribute for info
      `theData` - OUT: Object, attribute data, an Java array
    Returns:
      the attribute data: as a Java array

      Note: reads the data as bytes and converts to the Java array.

    Throws:
      `HDFException` - should be thrown for errors.

  - ### GRfindattr

    public static int GRfindattr​(long id, String name) throws HDFException
    Throws:
      `HDFException`

  - ### GRcreate

    public static int GRcreate​(long gr_id, String name, int ncomp, long data_type, int interlace_mode, int[] dim_sizes) throws HDFException
    Throws:
      `HDFException`

  - ### GRluttoref

    public static short GRluttoref​(long pal_id) throws HDFException
    Throws:
      `HDFException`

  - ### GRsetattr

    public static boolean GRsetattr​(long gr_id, String attr_name, long data_type, int count, String values) throws HDFException
    Parameters:
      `gr_id` - IN: the GR identifier returned by GRstart
      `attr_name` - IN: the name of the attribute
      `data_type` - IN: the number type of the data (should be DFNT_CHAR)
      `count` - IN: the length the data (lenght of 'values')
      `values` - IN: the the attribute to write -- A String
    Returns:
      true on success
    Throws:
      `HDFException` - should be thrown for errors.

      NOTE:This routine writes a attribute that is a String. Alternative methods write data of other types.

  - ### GRsetattr

    public static boolean GRsetattr​(long gr_id, String attr_name, long data_type, int count, byte[] values) throws HDFException
    Parameters:
      `gr_id` - IN: the GR identifier returned by GRstart
      `attr_name` - IN: the name of the attribute
      `data_type` - IN: the number type of the data
      `count` - IN: the length the data (lenght of 'values')
      `values` - IN: the the attribute to write -- in an array of bytes
    Returns:
      true on success
    Throws:
      `HDFException` - should be thrown for errors.

      NOTE:This routine writes the attribute as an array of bytes. DO NOT USE THIS TO WRITE A STRING. This is intended for numeric data that has been flattened into bytes.

  - ### GRsetattr

    public static boolean GRsetattr​(long gr_id, String attr_name, long data_type, int count, Object theData) throws HDFException
    Parameters:
      `gr_id` - IN: the GR identifier returned by GRstart
      `attr_name` - IN: the name of the attribute
      `data_type` - IN: the number type of the data
      `count` - IN: the length the data (lenght of 'values')
      `theData` - IN: Object -- the value to be written, a Java array of numbers.
    Returns:
      true on success
    Throws:
      `HDFException` - should be thrown for errors.

      NOTE:This routine converts the Java array to bytes then writes it. DO NOT USE THIS TO WRITE A STRING.

  - ### GRsetchunk

    public static boolean GRsetchunk​(long sdsid, HDFChunkInfo chunk_def, int flags) throws HDFException
    Parameters:
      `sdsid` - IN: the SD identifier returned by SDselect
      `chunk_def` - IN: HDFChunkInfo, the chunking info
      `flags` - IN: the type of chunking
    Returns:
      true on success
    Throws:
      `HDFException` - should be thrown for errors.

      NOTE:The chunking algorithm-specific information is passed in an appropriate sub-class of HDFChunkInfo.

  - ### GRsetchunkcache

    public static int GRsetchunkcache​(long sdsid, int maxcache, int flags) throws HDFException
    Throws:
      `HDFException`

  - ### GRsetcompress

    public static boolean GRsetcompress​(long ri_id, int comp_type, HDFCompInfo c_info) throws HDFException
    Parameters:
      `ri_id` - IN: the GR identifier returned by GRstart
      `comp_type` - IN: the type of compression
      `c_info` - IN: HDFCompInfo, the compression info
    Returns:
      true on success
    Throws:
      `HDFException` - should be thrown for errors.

      NOTE:The compression algorithm specific information is passed in an appropriate sub-class of HDFCompInfo.

  - ### GRgetcompress

    public static boolean GRgetcompress​(long ri_id, HDFCompInfo c_info) throws HDFException
    Throws:
      `HDFException`

  - ### GRgetcompinfo

    public static boolean GRgetcompinfo​(long ri_id, HDFCompInfo c_info) throws HDFException
    Throws:
      `HDFException`

  - ### GRsetexternalfile

    public static boolean GRsetexternalfile​(long ri_id, String filename, int offset) throws HDFException
    Throws:
      `HDFException`

  - ### GRwriteimage

    public static boolean GRwriteimage​(long grid, int[] start, int[] stride, int[] edge, byte[] data) throws HDFException
    Parameters:
      `grid` - IN: the GR interface id, returned by GRstart
      `start` - IN: int[2], start
      `stride` - IN: int[2], stride. If the stride parameter is set to NULL, a stride of 1 will be assumed. strides of 0 are illegal.
      `edge` - IN: int[2], count
      `data` - IN: byte[], data to be written
    Returns:
      true on success
    Throws:
      `HDFException` - should be thrown for errors.

      NOTE: to write from a Java 2D array use the alternative routine below.

  - ### GRwriteimage

    public static boolean GRwriteimage​(long grid, int[] start, int[] stride, int[] edge, Object theData) throws HDFException
    Parameters:
      `grid` - IN: the GR interface id, returned by GRstart
      `start` - IN: int[2], start
      `stride` - IN: int[2], stride. If the stride parameter is set to NULL, a stride of 1 will be assumed. strides of 0 are illegal.
      `edge` - IN: int[2], count
      `theData` - IN: Object, a Java array of appropriate type, dimensions, and size.
    Returns:
      true on success
    Throws:
      `HDFException` - should be thrown for errors.

      Note: converts the Java array to a contiguous block of bytes appropriate for C, and then writes the bytes.

  - ### GRwritelut

    public static boolean GRwritelut​(long pal_id, int ncomp, int data_type, int interlace, int num_entries, byte[] pal_data) throws HDFException
    Parameters:
      `pal_id` - IN: the palette identifier returned by GRgetlutid
      `ncomp` - IN: int, number of components
      `data_type` - IN: int, number type
      `interlace` - IN: int, interlace
      `num_entries` - IN: int, number of entries
      `pal_data` - IN: byte[], palette data to be written--as bytes
    Returns:
      true on success
    Throws:
      `HDFException` - should be thrown for errors.

      NOTE: to write from a Java array of numbers use the alternative routine below.

  - ### GRwritelut

    public static boolean GRwritelut​(long pal_id, int ncomp, int data_type, int interlace, int num_entries, Object theData) throws HDFException
    Parameters:
      `pal_id` - IN: the palette identifier returned by GRgetlutid
      `ncomp` - IN: int, number of components
      `data_type` - IN: int, number type
      `interlace` - IN: int, interlace
      `num_entries` - IN: int, number of entries
      `theData` - IN: Object, palette data to be written, any number type.
    Returns:
      true on success
    Throws:
      `HDFException` - should be thrown for errors.

      Note: converts the Java array to a contiguous block of bytes appropriate for C, and then writes the bytes.

  - ### GRreadchunk

    public static boolean GRreadchunk​(long sdsid, int[] origin, byte[] theData) throws HDFException
    Parameters:
      `sdsid` - IN: the GR interface id, returned by SDselect
      `origin` - IN: int[], origin
      `theData` - OUT: byte[], the data in an array of bytes
    Returns:
      true on success
    Throws:
      `HDFException` - should be thrown for errors.

      NOTE: to read into a Java array use the alternative routine below.

  - ### GRreadchunk

    public static boolean GRreadchunk​(long grid, int[] origin, Object theData) throws HDFException
    Parameters:
      `grid` - IN: the GR interface id, returned by SDselect
      `origin` - IN: int[], origin
      `theData` - IN: Object, a Java array of appropriate type, dimensions, and size.
    Returns:
      true on success
    Throws:
      `HDFException` - should be thrown for errors.

      Note: reads the data as a contiguous array of bytes and then converts it to an appropriate Java object.

  - ### HDFclose

    public static boolean HDFclose​(long file_id) throws HDFException
    Throws:
      `HDFException`

  - ### HDFopen

    public static long HDFopen​(String filename, int access, short n_dds) throws HDFException
    Throws:
      `HDFException`

  - ### HEvalue

    public static short HEvalue​(int level) throws HDFException
    Throws:
      `HDFException`

  - ### HEstring

    public static String HEstring​(int error_code) throws HDFException
    Throws:
      `HDFException`

  - ### HEprint

    public static void HEprint​(Object stream, int level) throws HDFException
    Throws:
      `HDFException`

  - ### HXsetcreatedir

    public static boolean HXsetcreatedir​(String dir) throws HDFException
    Throws:
      `HDFException`

  - ### HXsetdir

    public static boolean HXsetdir​(String dir) throws HDFException
    Throws:
      `HDFException`

  - ### SDstart

    public static long SDstart​(String filename, int accessmode) throws HDFException
    Throws:
      `HDFException`

  - ### SDend

    public static boolean SDend​(long sdid) throws HDFException
    Throws:
      `HDFException`

  - ### SDfileinfo

    public static boolean SDfileinfo​(long sdid, int[] argv) throws HDFException
    Parameters:
      `sdid` - IN: the SD interface id, returned by SDstart
      `argv` - OUT: int[2], Number of datasets in the file, Number of global attributes in the file
    Returns:
      the file info: argv[0] = n_datasets, argv[1] = n_file_attrs
    Throws:
      `HDFException` - should be thrown for errors.

  - ### SDselect

    public static long SDselect​(long sdid, int index) throws HDFException
    Throws:
      `HDFException`

  - ### SDnametoindex

    public static int SDnametoindex​(long sdid, String name) throws HDFException
    Throws:
      `HDFException`

  - ### SDgetinfo

    public static boolean SDgetinfo​(long sdsid, String[] name, int[] dimsizes, int[] args) throws HDFException
    Parameters:
      `sdsid` - IN: the SD interface id, returned by SDselect
      `name` - OUT: String[1], the name of the dataset
      `args` - OUT: int[3], dataset info: number of dimensions (rank), data type for the data stored in the dataset, number of "netCDF-style" attributes for this dataset
      `dimsizes` - OUT: int[(rank)], sizes of dimensions
    Returns:
      the file info: name[0] = gr_name, args[0] = rank, args[1] = data_type, args[2] = nattrs, dim_sizes[] = dimensions

      NOTE: the parameters for the Java interface are not in the same order as the C interface.

    Throws:
      `HDFException` - should be thrown for errors.

  - ### SDcheckempty

    public static boolean SDcheckempty​(long sdsid, int[] emptySDS) throws HDFException
    Parameters:
      `sdsid` - IN: the SD interface id, returned by SDselect
      `emptySDS` - OUT: int[1], 1 if the SDS is empty, 0 if has data
    Returns:
      true on success
    Throws:
      `HDFException` - should be thrown for errors.

  - ### SDreaddata

    public static boolean SDreaddata​(long sdsid, int[] start, int[] stride, int[] count, byte[] data) throws HDFException
    Parameters:
      `sdsid` - IN: the SD interface id, returned by SDselect
      `start` - IN: int[], start
      `stride` - IN: int[], stride
      `count` - IN: int[], count
      `data` - OUT: byte[], data
    Returns:
      the the data in the form of a continous array of bytes.

      NOTE: to read into a Java array use the alternative routine below.

    Throws:
      `HDFException` - should be thrown for errors.

  - ### SDreaddata

    public static boolean SDreaddata​(long sdsid, int[] start, int[] stride, int[] count, Object theData) throws HDFException
    Parameters:
      `sdsid` - IN: the SD interface id, returned by SDselect
      `start` - IN: int[], start
      `stride` - IN: int[], stride
      `count` - IN: int[], count
      `theData` - OUT: Object, a Java array of appropriate type, dimensions, and size.
    Returns:
      the the data in the Java array.

      Note: reads the data as bytes and converts to the Java array.

    Throws:
      `HDFException` - should be thrown for errors.

  - ### SDreaddata_short

    public static boolean SDreaddata_short​(long sdsid, int[] start, int[] stride, int[] count, short[] theData) throws HDFException
    Throws:
      `HDFException`

  - ### SDreaddata_int

    public static boolean SDreaddata_int​(long sdsid, int[] start, int[] stride, int[] count, int[] theData) throws HDFException
    Throws:
      `HDFException`

  - ### SDreaddata_long

    public static boolean SDreaddata_long​(long sdsid, int[] start, int[] stride, int[] count, long[] theData) throws HDFException
    Throws:
      `HDFException`

  - ### SDreaddata_float

    public static boolean SDreaddata_float​(long sdsid, int[] start, int[] stride, int[] count, float[] theData) throws HDFException
    Throws:
      `HDFException`

  - ### SDreaddata_double

    public static boolean SDreaddata_double​(long sdsid, int[] start, int[] stride, int[] count, double[] theData) throws HDFException
    Throws:
      `HDFException`

  - ### SDendaccess

    public static boolean SDendaccess​(long sdsid) throws HDFException
    Throws:
      `HDFException`

  - ### SDgetdimid

    public static long SDgetdimid​(long sdsid, int index) throws HDFException
    Throws:
      `HDFException`

  - ### SDdiminfo

    public static boolean SDdiminfo​(long dimid, String[] name, int[] argv) throws HDFException
    Parameters:
      `dimid` - IN: the dimension id, returned by SDgetdimid
      `name` - OUT: String[1], the dimension name
      `argv` - OUT: int[3], size of the name string, number type of data in the array, # attributes for the dimension
    Returns:
      name[0] = name, argv[0] = count, argv[1] = data_type, argv[2] = nattr
    Throws:
      `HDFException` - should be thrown for errors.

  - ### SDidtoref

    public static int SDidtoref​(long sdsid) throws HDFException
    Throws:
      `HDFException`

  - ### SDreftoindex

    public static int SDreftoindex​(long sdid, int ref) throws HDFException
    Throws:
      `HDFException`

  - ### SDattrinfo

    public static boolean SDattrinfo​(long id, int index, String[] name, int[] argv) throws HDFException
    Parameters:
      `id` - IN: id of a file, SDS, or dimension
      `index` - IN: index of the attribute
      `name` - OUT: String[1], the name of the attribute
      `argv` - OUT: int[2], number type of the attribute, number of values in the attribute
    Returns:
      name[0] = attr_name, argv[0] = data_type, argv[1] = count
    Throws:
      `HDFException` - should be thrown for errors.

  - ### SDreadattr

    public static boolean SDreadattr​(long id, int index, byte[] data) throws HDFException
    Parameters:
      `id` - IN: id of a file, SDS, or dimension
      `index` - IN: index of the attribute
      `data` - OUT: byte[], data
    Returns:
      the the data in the form of a continous array of bytes.

      NOTE: to read into a Java array use the alternative routine below.

    Throws:
      `HDFException` - should be thrown for errors.

  - ### SDreadattr

    public static boolean SDreadattr​(long id, int index, Object theData) throws HDFException
    Parameters:
      `id` - IN: id of a file, SDS, or dimension
      `index` - IN: index of the attribute
      `theData` - OUT: Object, a Java array of appropriate type, dimensions, and size.
    Returns:
      the the data in the Java array.

      Note: reads the data as bytes and converts to the Java array.

    Throws:
      `HDFException` - should be thrown for errors.

  - ### SDfindattr

    public static long SDfindattr​(long id, String name) throws HDFException
    Throws:
      `HDFException`

  - ### SDiscoordvar

    public static boolean SDiscoordvar​(long sdsid) throws HDFException
    Throws:
      `HDFException`

  - ### SDgetcal

    public static boolean SDgetcal​(long sdsid, double[] argv, int[] NT) throws HDFException
    Parameters:
      `sdsid` - IN: id of the SDS as returned by SDselect
      `argv` - OUT: double[4], calibration information: calibration factor calibration error offset offset error
      `NT` - OUT: int[1], number type of uncalibrated data
    Returns:
      argv[0] = cal, argv[1] = cal_err, argv[2] = offset, argv[3] = offset_err, NT[0] = data_type
    Throws:
      `HDFException` - should be thrown for errors.

  - ### SDgetdatastrs

    public static boolean SDgetdatastrs​(long sdsid, String[] strings, int len) throws HDFException
    Parameters:
      `sdsid` - IN: id of the SDS as returned by SDselect
      `strings` - OUT: String[4], data information strings: label unit print format coordinate system
      `len` - IN: int, max len of string (not needed by Java -- the HDFLibrary interface will handle this)
    Returns:
      strings[0] = label, strings[1] = unit, strings[2] = format, strings[3] = coordsys,
    Throws:
      `HDFException` - should be thrown for errors.

  - ### SDgetdimstrs

    public static boolean SDgetdimstrs​(long dimid, String[] args, int len) throws HDFException
    Parameters:
      `dimid` - IN: id of the SDS as returned by SDselect
      `args` - OUT: String[3], data information strings: label unit print format
      `len` - IN: int, max len of string (not needed by Java -- the HDFLibrary interface will handle this)
    Returns:
      strings[0] = label, strings[1] = unit, strings[2] = format
    Throws:
      `HDFException` - should be thrown for errors.

  - ### SDgetdimscale

    public static boolean SDgetdimscale​(long dimid, byte[] data) throws HDFException
    Parameters:
      `dimid` - IN: id of a dimension as returned by SDgetdimid
      `data` - OUT: byte[], data
    Returns:
      the the data in the form of a continous array of bytes.

      NOTE: to read into a Java array use the alternative routine below.

    Throws:
      `HDFException` - should be thrown for errors.

  - ### SDgetdimscale

    public static boolean SDgetdimscale​(long dimid, Object theData) throws HDFException
    Parameters:
      `dimid` - IN: id of a dimension as returned by SDgetdimid
      `theData` - OUT: Object, a Java array of appropriate type and size.
    Returns:
      the the data in the Java array.

      Note: reads the data as bytes and converts to the Java array.

    Throws:
      `HDFException` - should be thrown for errors.

  - ### SDgetfillvalue

    public static boolean SDgetfillvalue​(long sdsid, byte[] fillValue) throws HDFException
    Parameters:
      `sdsid` - IN: id of the SDS as returned by SDselect
      `fillValue` - OUT: byte[], data
    Returns:
      the the fill value in the form of a continous array of bytes.

      NOTE: to read into a Java variable use the alternative routine below.

    Throws:
      `HDFException` - should be thrown for errors.

  - ### SDgetfillvalue

    public static boolean SDgetfillvalue​(long sdsid, Object[] theFillValue) throws HDFException
    Parameters:
      `sdsid` - IN: id of the SDS as returned by SDselect
      `theFillValue` - OUT: Object[1], one object of appropriate type
    Returns:
      the the data in the Java array: theFillValue[0] = fillValue

      Note: the routine calls SDgetinfo to determine the correct type, reads the data as bytes, and converts to the appropriate Java object.

    Throws:
      `HDFException` - should be thrown for errors.

  - ### SDgetrange

    public static boolean SDgetrange​(long sdsid, byte[] max, byte[] min) throws HDFException
    Parameters:
      `sdsid` - IN: id of the SDS as returned by SDselect
      `max` - OUT: byte[], max value, as bytes
      `min` - OUT: byte[], min value, as bytes
    Returns:
      the the max and min values in the form of a continous array of bytes.

      NOTE: to read into Java doubles, use the alternative routine below.

    Throws:
      `HDFException` - should be thrown for errors.

  - ### SDgetrange

    public static boolean SDgetrange​(long sdsid, double[] maxmin) throws HDFException
    Parameters:
      `sdsid` - IN: id of the SDS as returned by SDselect
      `maxmin` - OUT: double[2], the max and min values converted to doubles
    Returns:
      the the data in the Java array: maxmin[0] = max, maxmin[1] = min

      Note: the routine calls SDgetinfo to determine the correct type, reads the data as bytes, and converts to the double.

    Throws:
      `HDFException` - should be thrown for errors.

  - ### SDcreate

    public static long SDcreate​(long sd_id, String name, long number_type, int rank, int[] dimsizes) throws HDFException
    Throws:
      `HDFException`

  - ### SDisrecord

    public static boolean SDisrecord​(long sdsid) throws HDFException
    Throws:
      `HDFException`

  - ### SDsetattr

    public static boolean SDsetattr​(long s_id, String attr_name, long num_type, int count, byte[] values) throws HDFException
    Throws:
      `HDFException`

  - ### SDsetattr

    public static boolean SDsetattr​(long s_id, String attr_name, long num_type, int count, Object theValues) throws HDFException
    Throws:
      `HDFException`

  - ### SDsetcal

    public static boolean SDsetcal​(long sds_id, double cal, double cal_err, double offset, double offset_err, int number_type) throws HDFException
    Throws:
      `HDFException`

  - ### SDsetdatastrs

    public static boolean SDsetdatastrs​(long sds_id, String label, String unit, String format, String coordsys) throws HDFException
    Throws:
      `HDFException`

  - ### SDsetdimname

    public static boolean SDsetdimname​(long dim_id, String dim_name) throws HDFException
    Throws:
      `HDFException`

  - ### SDsetdimscale

    public static boolean SDsetdimscale​(long dim_id, int count, int number_type, byte[] data) throws HDFException
    Parameters:
      `dim_id` - IN: id of a dimension
      `count` - IN: number of values
      `number_type` - IN: number type of the values
      `data` - IN: byte[], the values, in an array of bytes.
    Returns:
      true on success
    Throws:
      `HDFException` - should be thrown for errors.

      Note: the calling program must assure that the data is correctly formatted for C. To write an array of Java objects, use the alternative routine below.

  - ### SDsetdimscale

    public static boolean SDsetdimscale​(long dim_id, int count, int number_type, Object theData) throws HDFException
    Parameters:
      `dim_id` - IN: id of a dimension
      `count` - IN: number of values
      `number_type` - IN: number type of the values
      `theData` - OUT: Object, a Java array of appropriate type and size.
    Returns:
      true on success
    Throws:
      `HDFException` - should be thrown for errors.

      Note: converts the Java array to an array of bytes, and writes the bytes.

  - ### SDsetdimstrs

    public static boolean SDsetdimstrs​(long dim_id, String label, String unit, String format) throws HDFException
    Throws:
      `HDFException`

  - ### SDsetexternalfile

    public static boolean SDsetexternalfile​(long sds_id, String filename, int offset) throws HDFException
    Throws:
      `HDFException`

  - ### SDsetfillvalue

    public static boolean SDsetfillvalue​(long sds_id, byte[] fill_val) throws HDFException
    Parameters:
      `sds_id` - IN: id of a dataset
      `fill_val` - IN: byte[], the fill values in an array of bytes.
    Returns:
      true on success
    Throws:
      `HDFException` - should be thrown for errors.

      Note: the calling program must assure that the data is correctly formatted for C. To set the fill value with a Java object, use the alternative routine below.

  - ### SDsetfillvalue

    public static boolean SDsetfillvalue​(long sds_id, Object the_fill_val) throws HDFException
    Parameters:
      `sds_id` - IN: id of a dataset
      `the_fill_val` - IN: Object, a Java object of appropriate type
    Returns:
      true on success
    Throws:
      `HDFException` - should be thrown for errors.

      Note: converts the Java array to an array of bytes, and writes the bytes.

  - ### SDsetrange

    public static boolean SDsetrange​(long sdsid, byte[] max, byte[] min) throws HDFException
    Parameters:
      `sdsid` - IN: id of a dataset
      `max` - IN: byte[], the max value in an array of bytes
      `min` - IN: byte[], the min value in an array of bytes
    Returns:
      true on success
    Throws:
      `HDFException` - should be thrown for errors.

      Note: the calling program must assure that the data is correctly formatted for C. To set the max and min value with Java objects, use the alternative routine below.

  - ### SDsetrange

    public static boolean SDsetrange​(long sdsid, Object max, Object min) throws HDFException
    Parameters:
      `sdsid` - IN: id of a dataset
      `max` - IN: Object, a Java object of appropriate type
      `min` - IN: Object, a Java object of appropriate type
    Returns:
      true on success
    Throws:
      `HDFException` - should be thrown for errors.

      Note: converts the Java array to an array of bytes, and writes the bytes.

  - ### SDwritedata

    public static boolean SDwritedata​(long sdsid, int[] start, int[] stride, int[] count, byte[] data) throws HDFException
    Parameters:
      `sdsid` - IN: the SD interface id, returned by SDselect
      `start` - IN: int[], start
      `stride` - IN: int[], stride
      `count` - IN: int[], count
      `data` - IN: byte[], data in an array of bytes
    Returns:
      true on success
    Throws:
      `HDFException` - should be thrown for errors.

      NOTE: to write from a Java array use the alternative routine below.

  - ### SDwritedata

    public static boolean SDwritedata​(long sdsid, int[] start, int[] stride, int[] count, Object theData) throws HDFException
    Parameters:
      `sdsid` - IN: the SD interface id, returned by SDselect
      `start` - IN: int[], start
      `stride` - IN: int[], stride
      `count` - IN: int[], count
      `theData` - IN: Object, a Java array of appropriate type, dimensions, and size.
    Returns:
      true on success
    Throws:
      `HDFException` - should be thrown for errors.

      Note: converts to the Java array to a contiguous array of bytes and then writes to the file.

  - ### SDsetnbitdataset

    public static boolean SDsetnbitdataset​(long id, int start_bit, int bit_len, int sign_ext, int fill_one) throws HDFException
    Throws:
      `HDFException`

  - ### SDsetcompress

    public static boolean SDsetcompress​(long id, int type, HDFCompInfo cinfo) throws HDFException
    Parameters:
      `id` - IN: the SD identifier returned by SDselect
      `type` - IN: the type of compression
      `cinfo` - IN: HDFCompInfo, the compression info
    Returns:
      true on success
    Throws:
      `HDFException` - should be thrown for errors.

      NOTE:The compression algorithm specific information is passed in an appropriate sub-class of HDFCompInfo.

  - ### SDgetcompinfo

    public static boolean SDgetcompinfo​(long id, HDFCompInfo cinfo) throws HDFException
    Deprecated.
    As of HDF 4.2.9, replaced by `SDgetcompinfo(long, HDFCompInfo)`
    Parameters:
      `id` - IN: the SD identifier returned by SDselect
      `cinfo` - IN: HDFCompInfo, the compression info
    Returns:
      true on success
    Throws:
      `HDFException` - should be thrown for errors.

      NOTE:The compression algorithm specific information is passed in an appropriate sub-class of HDFCompInfo.

  - ### SDsetaccesstype

    public static boolean SDsetaccesstype​(long id, int accesstype) throws HDFException
    Throws:
      `HDFException`

  - ### SDsetblocksize

    public static boolean SDsetblocksize​(long sdsid, int block_size) throws HDFException
    Throws:
      `HDFException`

  - ### SDsetfillmode

    public static boolean SDsetfillmode​(long sdsid, boolean fill_enable) throws HDFException
    Parameters:
      `sdsid` - IN: the SD id
      `fill_enable` - IN: boolean, true calls library with SD_FILL, false calls library with SD_NOFILL
    Returns:
      true on success
    Throws:
      `HDFException` - should be thrown for errors.

  - ### SDsetfillmode

    public static boolean SDsetfillmode​(long sdsid, int fillmode) throws HDFException
    Throws:
      `HDFException`

  - ### SDsetdimval_comp

    public static boolean SDsetdimval_comp​(long dimid, int comp_mode) throws HDFException
    Throws:
      `HDFException`

  - ### SDisdimval_bwcomp

    public static boolean SDisdimval_bwcomp​(long dimid) throws HDFException
    Throws:
      `HDFException`

  - ### SDsetchunk

    public static boolean SDsetchunk​(long sdsid, HDFChunkInfo chunk_def, int flags) throws HDFException
    Parameters:
      `sdsid` - IN: the SD identifier returned by SDselect
      `chunk_def` - IN: HDFChunkInfo, the chunking info
      `flags` - IN: the type of chunking
    Returns:
      true on success
    Throws:
      `HDFException` - should be thrown for errors.

      NOTE:The chunking algorithm-specific information is passed in an appropriate sub-class of HDFChunkInfo.

  - ### SDgetchunkinfo

    public static boolean SDgetchunkinfo​(long sdsid, HDFChunkInfo chunk_def, int[] clflags) throws HDFException
    Parameters:
      `sdsid` - IN: the SD identifier returned by SDselect
      `chunk_def` - OUT: HDFChunkInfo, the chunking info
      `clflags` - OUT: int[1], the type of chunking
    Returns:
      c_info contains information about the chunking method, clflags[0] == the chunking flags

      NOTE:The chunking algorithm-specific information is passed in an appropriate sub-class of HDFChunkInfo.

    Throws:
      `HDFException` - should be thrown for errors.

  - ### SDreadchunk

    public static boolean SDreadchunk​(long sdsid, int[] origin, byte[] theData) throws HDFException
    Parameters:
      `sdsid` - IN: the SD interface id, returned by SDselect
      `origin` - IN: int[], origin
      `theData` - OUT: byte[], the data in an array of bytes
    Returns:
      true on success
    Throws:
      `HDFException` - should be thrown for errors.

      NOTE: to read into a Java array use the alternative routine below.

  - ### SDreadchunk

    public static boolean SDreadchunk​(long sdsid, int[] origin, Object theData) throws HDFException
    Parameters:
      `sdsid` - IN: the SD interface id, returned by SDselect
      `origin` - IN: int[], origin
      `theData` - IN: Object, a Java array of appropriate type, dimensions, and size.
    Returns:
      true on success
    Throws:
      `HDFException` - should be thrown for errors.

      Note: reads the data as a contiguous array of bytes and then converts it to an appropriate Java object.

  - ### SDsetchunkcache

    public static int SDsetchunkcache​(long sdsid, int maxcache, int flags) throws HDFException
    Throws:
      `HDFException`

  - ### SDwritechunk

    public static boolean SDwritechunk​(long sdsid, int[] origin, byte[] data) throws HDFException
    Parameters:
      `sdsid` - IN: the SD interface id, returned by SDselect
      `origin` - IN: int[], origin
      `data` - IN: byte[], data to be written, in an array of bytes
    Returns:
      true on success
    Throws:
      `HDFException` - should be thrown for errors.

      NOTE: to write from a Java array use the alternative routine below.

  - ### SDwritechunk

    public static boolean SDwritechunk​(long sdsid, int[] origin, Object theData) throws HDFException
    Parameters:
      `sdsid` - IN: the SD interface id, returned by SDselect
      `origin` - IN: int[], origin
      `theData` - IN: Object, a Java array of appropriate type, dimensions, and size.
    Returns:
      true on success
    Throws:
      `HDFException` - should be thrown for errors.

      Note: converts to the Java array to a contiguous array of bytes and then writes to the file.

  - ### VFfieldesize

    public static int VFfieldesize​(long vdata_id, int field_index) throws HDFException
    Throws:
      `HDFException`

  - ### VFfieldisize

    public static int VFfieldisize​(long vdata_id, int field_index) throws HDFException
    Throws:
      `HDFException`

  - ### VFfieldname

    public static String VFfieldname​(long vdata_id, int field_index) throws HDFException
    Throws:
      `HDFException`

  - ### VFfieldorder

    public static int VFfieldorder​(long vdata_id, int field_index) throws HDFException
    Throws:
      `HDFException`

  - ### VFfieldtype

    public static long VFfieldtype​(long vdata_id, int field_index) throws HDFException
    Throws:
      `HDFException`

  - ### VFnfields

    public static int VFnfields​(long vkey) throws HDFException
    Throws:
      `HDFException`

  - ### VHmakegroup

    public static int VHmakegroup​(long file_id, int[] tag_array, int[] ref_array, int n_objects, String vgroup_name, String vgroup_class) throws HDFException
    Throws:
      `HDFException`

  - ### VHstoredata

    public static int VHstoredata​(long file_id, String fieldname, byte[] buf, int n_records, int data_type, String vdata_name, String vdata_class) throws HDFException
    Parameters:
      `file_id` - IN: the SD interface id, returned by SDselect
      `fieldname` - IN: String, the name of the field to be filled
      `buf` - IN: byte[], data to be written, in an array of bytes
      `n_records` - IN: int, the number of records being written
      `data_type` - IN: int, the number type of the data
      `vdata_name` - IN: String, the name of the Vdata
      `vdata_class` - IN: String, the class of the Vdata
    Returns:
      negative on failure
    Throws:
      `HDFException` - should be thrown for errors.

      NOTE: to write from a Java array use the alternative routine below.

  - ### VHstoredata

    public static int VHstoredata​(long file_id, String fieldname, Object thebuf, int n_records, int data_type, String vdata_name, String vdata_class) throws HDFException
    Parameters:
      `file_id` - IN: the SD interface id, returned by SDselect
      `fieldname` - IN: String, the name of the field to be filled
      `thebuf` - IN: Object, data to be written, in a Java array of appropriate type and size
      `n_records` - IN: int, the number of records being written
      `data_type` - IN: int, the number type of the data
      `vdata_name` - IN: String, the name of the Vdata
      `vdata_class` - IN: String, the class of the Vdata
    Returns:
      negative on failure
    Throws:
      `HDFException` - should be thrown for errors.

      Note: converts to the Java array to a contiguous array of bytes and then writes to the file.

  - ### VHstoredatam

    public static int VHstoredatam​(long file_id, String fieldname, byte[] buf, int n_records, int data_type, String vdata_name, String vdata_class, int order) throws HDFException
    Parameters:
      `file_id` - IN: the SD interface id, returned by SDselect
      `fieldname` - IN: String, the name of the field to be filled
      `buf` - IN: byte[], data to be written, in an array of bytes
      `n_records` - IN: int, the number of records being written
      `data_type` - IN: int, the number type of the data
      `vdata_name` - IN: String, the name of the Vdata
      `vdata_class` - IN: String, the class of the Vdata
      `order` - IN: int, the number of components per field
    Returns:
      negative on failure
    Throws:
      `HDFException` - should be thrown for errors.

      NOTE: to write from a Java array use the alternative routine below.

  - ### VHstoredatam

    public static int VHstoredatam​(long file_id, String fieldname, Object buf, int n_records, int data_type, String vdata_name, String vdata_class, int order) throws HDFException
    Parameters:
      `file_id` - IN: the SD interface id, returned by SDselect
      `fieldname` - IN: String, the name of the field to be filled
      `buf` - IN: Object, data to be written, in a Java array of appropriate type, dimension, and size
      `n_records` - IN: int, the number of records being written
      `data_type` - IN: int, the number type of the data
      `vdata_name` - IN: String, the name of the Vdata
      `vdata_class` - IN: String, the class of the Vdata
      `order` - IN: int, the number of components per field
    Returns:
      negative on failure
    Throws:
      `HDFException` - should be thrown for errors.

      Note: converts to the Java array to a contiguous array of bytes and then writes to the file.

  - ### VQueryref

    public static int VQueryref​(long vkey) throws HDFException
    Throws:
      `HDFException`

  - ### VQuerytag

    public static int VQuerytag​(long vkey) throws HDFException
    Throws:
      `HDFException`

  - ### Vstart

    public static boolean Vstart​(long fid) throws HDFException
    Throws:
      `HDFException`

  - ### Vattach

    public static int Vattach​(long fid, int vgroup_ref, String access) throws HDFException
    Throws:
      `HDFException`

  - ### Vdetach

    public static void Vdetach​(long vgroup_id) throws HDFException
    Throws:
      `HDFException`

  - ### Vend

    public static void Vend​(long file_id) throws HDFException
    Throws:
      `HDFException`

  - ### Vgetid

    public static int Vgetid​(long file_id, int vgroup_ref) throws HDFException
    Throws:
      `HDFException`

  - ### Vgetclass

    public static void Vgetclass​(long vgroup_id, String[] hdfclassname) throws HDFException
    Parameters:
      `vgroup_id` - IN: the Vgroup id
      `hdfclassname` - OUT: String[1], the HDF class of the vgroup.
    Throws:
      `HDFException` - should be thrown for errors in the HDF library call.

  - ### Vgetname

    public static void Vgetname​(long vgroup_id, String[] hdfname) throws HDFException
    Parameters:
      `vgroup_id` - IN: the Vgroup id
      `hdfname` - OUT: String[1], the name of the vgroup.
    Throws:
      `HDFException` - should be thrown for errors in the HDF library call.

  - ### Visvg

    public static boolean Visvg​(long vgroup_id, int vgroup_ref) throws HDFException
    Throws:
      `HDFException`

  - ### Visvs

    public static boolean Visvs​(long vgroup_id, int vdata_ref) throws HDFException
    Throws:
      `HDFException`

  - ### Vgettagrefs

    public static int Vgettagrefs​(long vgroup_id, int[] tags, int[] refs, int arraysize) throws HDFException
    Parameters:
      `vgroup_id` - IN: the Vgroup id
      `tags` - OUT: int[arraysize], the tags
      `refs` - OUT: int[arraysize], the refs
      `arraysize` - IN: int, the number of tags/refs to return
    Returns:
      tags[] = tags for objects 0 - n, refs[] = refs for objects 0 - n
    Throws:
      `HDFException` - should be thrown for errors in the HDF library call.

  - ### Vgettagref

    public static boolean Vgettagref​(long vgroup_id, int index, int[] tagref) throws HDFException
    Parameters:
      `vgroup_id` - - IN: the Vgroup id
      `index` - - IN: the index of the object
      `tagref` - - OUT: tagref[0]=tag, tagref[1]=ref
    Returns:
      tags[0] = tag for object #index, refs[0] = ref for objects #index
    Throws:
      `HDFException` - should be thrown for errors in the HDF library call.

  - ### Vntagrefs

    public static int Vntagrefs​(long vgroup_id) throws HDFException
    Throws:
      `HDFException`

  - ### Vinqtagref

    public static boolean Vinqtagref​(long vgroup_id, int tag, int ref) throws HDFException
    Throws:
      `HDFException`

  - ### Vlone

    public static int Vlone​(long fid, int[] ref_array, int buffersize) throws HDFException
    Parameters:
      `fid` - IN: the file identifier returned by Hopen
      `ref_array` - OUT: int[], the refs for Vdata not part of Vgroups
      `buffersize` - IN: the max size of the ref_array
    Returns:
      ref_array[] = refs 0 - ...
    Throws:
      `HDFException` - should be thrown for errors in the HDF library call.

  - ### Vaddtagref

    public static int Vaddtagref​(long vgroup_id, int tag, int ref) throws HDFException
    Throws:
      `HDFException`

  - ### Vdeletetagref

    public static int Vdeletetagref​(long vgroup_id, int tag, int ref) throws HDFException
    Throws:
      `HDFException`

  - ### Vfind

    public static int Vfind​(long file_id, String vgroup_name) throws HDFException
    Throws:
      `HDFException`

  - ### Vfindclass

    public static int Vfindclass​(long file_id, String vgclassname) throws HDFException
    Throws:
      `HDFException`

  - ### Vflocate

    public static int Vflocate​(int key, String vgclassname) throws HDFException
    Throws:
      `HDFException`

  - ### Vgetnext

    public static int Vgetnext​(int key, int ref) throws HDFException
    Throws:
      `HDFException`

  - ### Vinquire

    public static boolean Vinquire​(long vgroup_id, int[] n_entries, String[] vgroup_name) throws HDFException
    Parameters:
      `vgroup_id` - IN: the Vgroup id
      `n_entries` - OUT: int[1], the number of objects in the Vgroup
      `vgroup_name` - OUT: String[1], the name of the Vgroup
    Returns:
      n_entries[0] = number of entries, vgroup_name[0] = the name
    Throws:
      `HDFException` - should be thrown for errors in the HDF library call.

  - ### Vinsert

    public static int Vinsert​(long vgroup_id, long v_id) throws HDFException
    Throws:
      `HDFException`

  - ### Vnrefs

    public static int Vnrefs​(int key, int ref) throws HDFException
    Throws:
      `HDFException`

  - ### Vsetclass

    public static boolean Vsetclass​(long vgroup_id, String vgclassname) throws HDFException
    Throws:
      `HDFException`

  - ### Vsetname

    public static boolean Vsetname​(long vgroup_id, String vgname) throws HDFException
    Throws:
      `HDFException`

  - ### Vattrinfo

    public static boolean Vattrinfo​(long id, int index, String[] name, int[] argv) throws HDFException
    Parameters:
      `id` - IN: Vgroup identifier returned by Vattach
      `index` - IN: the index of the attribute
      `name` - OUT: String[1], the name of the attribute
      `argv` - OUT: int[5], Data type of the target attribute, Number of values in the target attribute, Size, in bytes, of the values of the target attribute, ,
    Returns:
      name[0] = name, argv[0] = data_type, argv[1] = count, argv[2] = size, argv[3] = nfields, argv[4] = refnum
    Throws:
      `HDFException` - should be thrown for errors in the HDF library call, but is not yet implemented.

  - ### Vfindattr

    public static long Vfindattr​(long id, String name) throws HDFException
    Throws:
      `HDFException`

  - ### Vgetattr

    public static boolean Vgetattr​(long id, int index, byte[] data) throws HDFException
    Parameters:
      `id` - IN: the Vdata id
      `index` - IN: the index of the attribute
      `data` - OUT: byte[], the data in an array of bytes
    Returns:
      data = the value of the attribute, in an array of bytes
    Throws:
      `HDFException` - should be thrown for errors in the HDF library call.

      NOTE: to read into a Java array use the alternative routine below.

  - ### Vgetattr

    public static boolean Vgetattr​(long id, int index, Object theData) throws HDFException
    Parameters:
      `id` - IN: the Vdata id
      `index` - IN: the index of the attribute
      `theData` - OUT: Object, a Java array of appropriate type, dimensions, and size.
    Returns:
      data = the value of the attribute, in an array of Java objects
    Throws:
      `HDFException` - should be thrown for errors in the HDF library call.

      Note: reads the data as a contiguous array of bytes and then converts it to an appropriate Java object.

  - ### Vgetversion

    public static int Vgetversion​(long id) throws HDFException
    Throws:
      `HDFException`

  - ### Vnattrs

    public static int Vnattrs​(long id) throws HDFException
    Throws:
      `HDFException`

  - ### Vsetattr

    public static boolean Vsetattr​(long id, String attr_name, long data_type, int count, String values) throws HDFException
    Throws:
      `HDFException`

  - ### Vsetattr

    public static boolean Vsetattr​(long id, String attr_name, long data_type, int count, byte[] data) throws HDFException
    Parameters:
      `id` - IN: the Vdata id
      `attr_name` - IN: String, the name of the attribute
      `data_type` - IN: int, the number_type of the attribute
      `count` - IN: the number of values
      `data` - IN: byte[], the data in an array of bytes
    Returns:
      true on success
    Throws:
      `HDFException` - should be thrown for errors in the HDF library call.

      NOTE: to write into a Java array use the alternative routine below.

  - ### Vsetattr

    public static boolean Vsetattr​(long id, String attr_name, long data_type, int count, Object theData) throws HDFException
    Parameters:
      `id` - IN: the Vdata id
      `attr_name` - IN: String, the name of the attribute
      `data_type` - IN: int, the number_type of the attribute
      `count` - IN: the number of values
      `theData` - IN: Object, a Java array of appropriate type, dimensions, and size.
    Returns:
      true on success
    Throws:
      `HDFException` - should be thrown for errors in the HDF library call.

      Note: converts the data to a contiguous array of bytes and then converts writes it.

  - ### VSQuerycount

    public static boolean VSQuerycount​(long vdata_id, int[] n_records) throws HDFException
    Parameters:
      `vdata_id` - IN, vdata id as returned by VSattach
      `n_records` - OUT, int[1], the number of records in the vdata
    Returns:
      n_records[0] == the number of records
    Throws:
      `HDFException` - should be thrown for errors in the HDF library call.

  - ### VSQueryfields

    public static boolean VSQueryfields​(long vdata_id, String[] fields) throws HDFException
    Parameters:
      `vdata_id` - IN, vdata id as returned by VSattach
      `fields` - OUT, String[1], the names of the fields
    Returns:
      fields[0] == a comma delimited string with the names of the fields.
    Throws:
      `HDFException` - should be thrown for errors in the HDF library call.

  - ### VSQueryinterlace

    public static boolean VSQueryinterlace​(long vdata_id, int[] interlace) throws HDFException
    Parameters:
      `vdata_id` - IN, vdata id as returned by VSattach
      `interlace` - OUT, int[1], the interlace mode,
    Returns:
      interlace[0] == the number of records, HDFConstants.FULL_INTERLACE or HDFConstants.NO_INTERLACE
    Throws:
      `HDFException` - should be thrown for errors in the HDF library call.

  - ### VSQueryname

    public static boolean VSQueryname​(long vdata_id, String[] vdata_name) throws HDFException
    Parameters:
      `vdata_id` - IN, vdata id as returned by VSattach
      `vdata_name` - OUT, String[1], the name of the vdata
    Returns:
      vdata_name[0] == the name
    Throws:
      `HDFException` - should be thrown for errors in the HDF library call.

  - ### VSQueryref

    public static int VSQueryref​(long vdata_id) throws HDFException
    Throws:
      `HDFException`

  - ### VSQuerytag

    public static int VSQuerytag​(long vdata_id) throws HDFException
    Throws:
      `HDFException`

  - ### VSQueryvsize

    public static boolean VSQueryvsize​(long vdata_id, int[] vdata_size) throws HDFException
    Parameters:
      `vdata_id` - IN, vdata id as returned by VSattach
      `vdata_size` - OUT, int[1], the size of the vdata
    Returns:
      vdata_size[0] == Native size, in bytes, of a record in the vdata
    Throws:
      `HDFException` - should be thrown for errors in the HDF library call.

  - ### VSattach

    public static int VSattach​(long fid, int vdata_ref, String access) throws HDFException
    Throws:
      `HDFException`

  - ### VSdetach

    public static void VSdetach​(long vdata_id) throws HDFException
    Throws:
      `HDFException`

  - ### VSgetid

    public static long VSgetid​(long file_id, int vdata_ref) throws HDFException
    Throws:
      `HDFException`

  - ### VSgetclass

    public static void VSgetclass​(long vdata_id, String[] hdfclassname) throws HDFException
    Parameters:
      `vdata_id` - IN, vdata id as returned by VSattach
      `hdfclassname` - OUT, String[1], the class name of the vdata
    Throws:
      `HDFException` - should be thrown for errors in the HDF library call.

  - ### VSgetname

    public static void VSgetname​(long vdata_id, String[] hdfname) throws HDFException
    Parameters:
      `vdata_id` - IN, vdata id as returned by VSattach
      `hdfname` - OUT, String[1], the name of the vdata
    Throws:
      `HDFException` - should be thrown for errors in the HDF library call.

  - ### VSelts

    public static int VSelts​(long vdata_id) throws HDFException
    Throws:
      `HDFException`

  - ### VSfdefine

    public static boolean VSfdefine​(long vdata_id, String fieldname, int numbertype, int order) throws HDFException
    Throws:
      `HDFException`

  - ### VSfexist

    public static boolean VSfexist​(long vdata_id, String fields) throws HDFException
    Throws:
      `HDFException`

  - ### VSfind

    public static int VSfind​(long file_id, String vdataname) throws HDFException
    Throws:
      `HDFException`

  - ### VSsetblocksize

    public static int VSsetblocksize​(long vdata_id, int blocksize) throws HDFException
    Throws:
      `HDFException`

  - ### VSsetnumblocks

    public static int VSsetnumblocks​(long vdata_id, int numblocks) throws HDFException
    Throws:
      `HDFException`

  - ### VSgetfields

    public static int VSgetfields​(long vdata_id, String[] fieldname) throws HDFException
    Parameters:
      `vdata_id` - IN, vdata id as returned by VSattach
      `fieldname` - OUT, String[1], the names of the fields
    Returns:
      fieldname[0] == a comma delimited string with the names of the fields.
    Throws:
      `HDFException` - should be thrown for errors in the HDF library call.

  - ### VSgetinterlace

    public static int VSgetinterlace​(long vdata_id) throws HDFException
    Throws:
      `HDFException`

  - ### VSinquire

    public static boolean VSinquire​(long vdata_id, int[] iargs, String[] sargs) throws HDFException
    Parameters:
      `vdata_id` - IN, vdata id as returned by VSattach
      `iargs` - OUT, int[3], n_records, interlace, vdata_size
      `sargs` - OUT, String[2], names the dataset, fields
    Returns:
      iargs[0] = n_records, iargs[1] = interlace, iargs[2] = vdata_size, sargs[0] = vdata_name, sargs[1] = comma delimited list of fields

      NOTE: the parameters for the Java interface are not in the same order as the C interface.

    Throws:
      `HDFException` - should be thrown for errors in the HDF library call.

  - ### VSinquire

    public static boolean VSinquire​(long vdata_id, int[] iargs) throws HDFException
    Parameters:
      `vdata_id` - IN, vdata id as returned by VSattach
      `iargs` - OUT, int[2], block_size, num_blocks
    Returns:
      iargs[0] = blocksize, iargs[1] = num_blocks

      NOTE: the parameters for the Java interface are not in the same order as the C interface.

    Throws:
      `HDFException` - should be thrown for errors in the HDF library call.

  - ### VSlone

    public static int VSlone​(long fid, int[] ref_array, int buffersize) throws HDFException
    Parameters:
      `fid` - IN, File identifier returned by Hopen
      `ref_array` - OUT, int[?], the refs
      `buffersize` - IN, int, the max number of refs to return.
    Returns:
      ref_array contains refs. The Java API ignores the buffersize argument, returns as many as possible.
    Throws:
      `HDFException` - should be thrown for errors in the HDF library call.

  - ### VSread

    public static int VSread​(long vdata_id, byte[] databuf, int nrecord, int interlace) throws HDFException
    Parameters:
      `vdata_id` - IN: the Vdata id
      `databuf` - OUT: byte[], the data in an array of bytes
      `nrecord` - IN: int, number of records
      `interlace` - IN: int, interlace
    Returns:
      the number of elements read (0 or a +ve integer)
    Throws:
      `HDFException` - should be thrown for errors in the HDF library call.

      NOTE: to read into a Java array use the alternative routine below.

  - ### VSread

    public static int VSread​(long vdata_id, Object theData, int nrecord, int interlace) throws HDFException
    Parameters:
      `vdata_id` - IN: the Vdata id
      `theData` - OUT: Object, a Java array of appropriate type, dimensions, and size.
      `nrecord` - IN: int, number of records
      `interlace` - IN: int, interlace
    Returns:
      the number of elements read (0 or a +ve integer)
    Throws:
      `HDFException` - should be thrown for errors in the HDF library call.

      Note: reads the data as a contiguous array of bytes and then converts it to an appropriate Java object.

  - ### VSseek

    public static int VSseek​(long vdata_id, int record) throws HDFException
    Throws:
      `HDFException`

  - ### VSsetfields

    public static boolean VSsetfields​(long vdata_id, String fields) throws HDFException
    Throws:
      `HDFException`

  - ### VSsetinterlace

    public static boolean VSsetinterlace​(long vdata_id, int interlace) throws HDFException
    Throws:
      `HDFException`

  - ### VSsizeof

    public static int VSsizeof​(long vdata_id, String fields) throws HDFException
    Throws:
      `HDFException`

  - ### VSappendable

    public static boolean VSappendable​(int vkey, int block_size) throws HDFException
    Throws:
      `HDFException`

  - ### VSfindclass

    public static int VSfindclass​(long file_id, String vgclass) throws HDFException
    Throws:
      `HDFException`

  - ### VSgetversion

    public static int VSgetversion​(int vkey) throws HDFException
    Throws:
      `HDFException`

  - ### VSsetclass

    public static void VSsetclass​(long vdata_id, String vdata_class) throws HDFException
    Throws:
      `HDFException`

  - ### VSsetexternalfile

    public static boolean VSsetexternalfile​(int vkey, String filename, int offset) throws HDFException
    Throws:
      `HDFException`

  - ### VSsetname

    public static void VSsetname​(long vdata_id, String vdata_name) throws HDFException
    Throws:
      `HDFException`

  - ### VSwrite

    public static int VSwrite​(long vdata_id, byte[] databuf, int n_records, int interlace) throws HDFException
    Parameters:
      `vdata_id` - IN: the Vdata id
      `databuf` - IN: byte[], the data in an array of bytes
      `n_records` - IN: int, number of records
      `interlace` - IN: int, interlace
    Returns:
      the number of elements written (0 or a +ve integer)
    Throws:
      `HDFException` - should be thrown for errors in the HDF library call.

      NOTE: to write a Java array use the alternative routine below.

  - ### VSwrite

    public static int VSwrite​(long vdata_id, Object databuf, int n_records, int interlace) throws HDFException
    Parameters:
      `vdata_id` - IN: the Vdata id
      `databuf` - IN: Object, a Java array of appropriate type, dimensions, and size.
      `n_records` - IN: int, number of records
      `interlace` - IN: int, interlace
    Returns:
      the number of elements written (0 or a +ve integer)
    Throws:
      `HDFException` - should be thrown for errors in the HDF library call.

      Important Note: This interface only supports records which are all of the same numeric type, with no character fields. Heterogeneous fields can be written as bytes (see above), but the calling program must make sure the data is in proper order to write to the HDF library.

      Note: converts the data into a contiguous array of bytes and then writes it

  - ### VSattrinfo

    public static boolean VSattrinfo​(long id, int index, int attr_index, String[] name, int[] argv) throws HDFException
    Parameters:
      `id` - IN: the Vdata id
      `index` - IN: int, the index of the attribute
      `attr_index` - IN: int, the index of the attribute
      `name` - OUT: String[1], the name of the attribute
      `argv` - OUT: int[3], Data type of the target attribute, Number of values in the target attribute, Size, in bytes, of the values of the target attribute,
    Returns:
      name[0] = name, argv[0] = data_type, argv[1] = count, argv[2] = size
    Throws:
      `HDFException` - should be thrown for errors in the HDF library call.

  - ### VSfindex

    public static int VSfindex​(long id, String name, int[] findex) throws HDFException
    Parameters:
      `id` - IN: the Vdata id
      `name` - IN: the name of the attribute
      `findex` - IN: int[1], the index of the attribute
    Returns:
      findex[0] = the index
    Throws:
      `HDFException` - should be thrown for errors in the HDF library call.

  - ### VSfindattr

    public static int VSfindattr​(long id, int index, String name) throws HDFException
    Throws:
      `HDFException`

  - ### VSfnattrs

    public static int VSfnattrs​(long id, int fnattrs) throws HDFException
    Throws:
      `HDFException`

  - ### VSgetattr

    public static boolean VSgetattr​(long id, int index, int attr_index, byte[] data) throws HDFException
    Parameters:
      `id` - IN: the Vdata id
      `index` - IN: the index of the vdata
      `attr_index` - IN: the index of the attribute
      `data` - OUT: byte[], the data in an array of bytes
    Returns:
      data = the value of the attribute, in an array of bytes
    Throws:
      `HDFException` - should be thrown for errors in the HDF library call.

      NOTE: to read into a Java array use the alternative routine below.

  - ### VSgetattr

    public static boolean VSgetattr​(long id, int index, int attr_index, Object theData) throws HDFException
    Parameters:
      `id` - IN: the Vdata id
      `index` - IN: the index of the vdata
      `attr_index` - IN: the index of the attribute
      `theData` - OUT: Object, a Java array of appropriate type, dimensions, and size.
    Returns:
      data = the value of the attribute, in an array of Java objects
    Throws:
      `HDFException` - should be thrown for errors in the HDF library call.

      Note: reads the data as a contiguous array of bytes and then converts it to an appropriate Java object.

  - ### VSisattr

    public static boolean VSisattr​(long id) throws HDFException
    Throws:
      `HDFException`

  - ### VSnattrs

    public static int VSnattrs​(long id) throws HDFException
    Throws:
      `HDFException`

  - ### VSsetattr

    public static boolean VSsetattr​(long id, int index, String attr_name, long data_type, int count, String values) throws HDFException
    Parameters:
      `id` - IN: the Vdata id
      `index` - IN: the index of the vdata
      `attr_name` - IN: String, the name of the attribute
      `data_type` - IN: int, the number_type of the attribute
      `count` - IN: the number of values
      `values` - IN: String, the data in an String
    Returns:
      true on success
    Throws:
      `HDFException` - should be thrown for errors in the HDF library call.

      NOTE: to write from a Java array use the alternative routine below.

  - ### VSsetattr

    public static boolean VSsetattr​(long id, int index, String attr_name, long data_type, int count, byte[] values) throws HDFException
    Parameters:
      `id` - IN: the Vdata id
      `index` - IN: the index of the vdata
      `attr_name` - IN: String, the name of the attribute
      `data_type` - IN: int, the number_type of the attribute
      `count` - IN: the number of values
      `values` - IN: byte[], the data in an array of bytes
    Returns:
      true on success
    Throws:
      `HDFException` - should be thrown for errors in the HDF library call.

      NOTE: to write into a Java array use the alternative routine below.

  - ### VSsetattr

    public static boolean VSsetattr​(long id, int index, String attr_name, long data_type, int count, Object theData) throws HDFException
    Parameters:
      `id` - IN: the Vdata id
      `index` - IN: the index of the vdata
      `attr_name` - IN: String, the name of the attribute
      `data_type` - IN: int, the number_type of the attribute
      `count` - IN: the number of values
      `theData` - IN: Object, a Java array of appropriate type, dimensions, and size.
    Returns:
      true on success
    Throws:
      `HDFException` - should be thrown for errors in the HDF library call.

      Note: converts the data to a contiguous array of bytes and then converts writes it.

  - ### DF24getdims

    public static boolean DF24getdims​(String fileName, int[] argv) throws HDFException
    Parameters:
      `fileName` - IN: String, the file
      `argv` - OUT: int[3], the width, height, and interlace mode
    Returns:
      argv[0] = width, argv[1] = height, argv[2] = interlace
    Throws:
      `HDFException` - should be thrown for errors in the HDF library call.

  - ### DF24reqil

    public static boolean DF24reqil​(int il) throws HDFException
    Throws:
      `HDFException`

  - ### DF24getimage

    public static boolean DF24getimage​(String fileName, byte[] imagedata, int width, int height) throws HDFException
    Parameters:
      `fileName` - IN: String, the file
      `imagedata` - OUT: byte[], the image, in an array of bytes
      `width` - IN: int, the width of the image
      `height` - IN: int, the height of the image
    Returns:
      data = the image in an array of bytes
    Throws:
      `HDFException` - should be thrown for errors in the HDF library call.

      NOTE: to read into a Java array use the alternative routine below.

  - ### DF24getimage

    public static boolean DF24getimage​(String fileName, Object theImagedata, int width, int height) throws HDFException
    Parameters:
      `fileName` - IN: String, the file
      `theImagedata` - OUT: Object, the image, in a java array of appropriate size and type
      `width` - IN: int, the width of the image
      `height` - IN: int, the height of the image
    Returns:
      data = the value of the attribute, in an array of Java objects
    Throws:
      `HDFException` - should be thrown for errors in the HDF library call.

      Note: reads the data as a contiguous array of bytes and then converts it to an appropriate Java object.

  - ### DF24lastref

    public static short DF24lastref() throws HDFException
    Throws:
      `HDFException`

  - ### DF24restart

    public static boolean DF24restart() throws HDFException
    Throws:
      `HDFException`

  - ### DF24readref

    public static boolean DF24readref​(String filename, int ref) throws HDFException
    Throws:
      `HDFException`

  - ### DF24nimages

    public static int DF24nimages​(String fileName) throws HDFException
    Throws:
      `HDFException`

  - ### DF24addimage

    public static boolean DF24addimage​(String filename, byte[] image, int width, int height) throws HDFException
    Parameters:
      `filename` - IN: String, the file
      `image` - IN: byte[], the image, in an array of bytes
      `width` - IN: int, the width of the image
      `height` - IN: int, the height of the image
    Returns:
      true on success
    Throws:
      `HDFException` - should be thrown for errors in the HDF library call.

      NOTE: to write from a Java array use the alternative routine below.

  - ### DF24addimage

    public static boolean DF24addimage​(String filename, Object theImage, int width, int height) throws HDFException
    Parameters:
      `filename` - IN: String, the file
      `theImage` - IN: Object, the image, in a java array of appropriate size and type
      `width` - IN: int, the width of the image
      `height` - IN: int, the height of the image
    Returns:
      true on success
    Throws:
      `HDFException` - should be thrown for errors in the HDF library call.

      Note: converts the data into a contiguous array of bytes and then writes it to the file

  - ### DF24putimage

    public static boolean DF24putimage​(String filename, byte[] image, int width, int height) throws HDFException
    Parameters:
      `filename` - IN: String, the file
      `image` - IN: byte[], the image, in an array of bytes
      `width` - IN: int, the width of the image
      `height` - IN: int, the height of the image
    Returns:
      true on success
    Throws:
      `HDFException` - should be thrown for errors in the HDF library call.

      NOTE: to write from a Java array use the alternative routine below.

  - ### DF24putimage

    public static boolean DF24putimage​(String filename, Object theImage, int width, int height) throws HDFException
    Parameters:
      `filename` - IN: String, the file
      `theImage` - IN: Object, the image, in a java array of appropriate size and type
      `width` - IN: int, the width of the image
      `height` - IN: int, the height of the image
    Returns:
      true on success
    Throws:
      `HDFException` - should be thrown for errors in the HDF library call.

      Note: converts the data into a contiguous array of bytes and then writes it to the file

  - ### DF24setcompress

    public static boolean DF24setcompress​(int type, HDFCompInfo cinfo) throws HDFException
    Parameters:
      `type` - IN: int, the type of compression
      `cinfo` - IN: HDFCompInfo, the compression parameters
    Returns:
      true on success
    Throws:
      `HDFException` - should be thrown for errors in the HDF library call.

  - ### DF24setdims

    public static boolean DF24setdims​(int width, int height) throws HDFException
    Throws:
      `HDFException`

  - ### DF24setil

    public static boolean DF24setil​(int il) throws HDFException
    Throws:
      `HDFException`

  - ### DFR8getdims

    public static boolean DFR8getdims​(String fileName, int[] argv, boolean[] haspalette) throws HDFException
    Parameters:
      `fileName` - IN: String, the file
      `argv` - OUT: int[2], the width and height
      `haspalette` - OUT: boolean[1], has a palette
    Returns:
      argv[0] = width, argv[1] = height, haspalette[0] = palette
    Throws:
      `HDFException` - should be thrown for errors in the HDF library call.

  - ### DFR8getimage

    public static boolean DFR8getimage​(String fileName, byte[] imagedata, int width, int height, byte[] palette) throws HDFException
    Parameters:
      `fileName` - IN: String, the file
      `imagedata` - OUT: byte[], the image, in an array of bytes
      `width` - IN: int, the width of the image
      `height` - IN: int, the height of the image
      `palette` - OUT: byte[], the color look up table
    Returns:
      data = imagedata: the image in an array of bytes, palette: the look up table, in an array of bytes
    Throws:
      `HDFException` - should be thrown for errors in the HDF library call.

      NOTE: to read into a Java array use the alternative routine below.

  - ### DFR8getimage

    public static boolean DFR8getimage​(String fileName, Object theImagedata, int width, int height, byte[] palette) throws HDFException
    Parameters:
      `fileName` - IN: String, the file
      `theImagedata` - OUT: Object, the image, in a java array of appropriate size and type
      `width` - IN: int, the width of the image
      `height` - IN: int, the height of the image
      `palette` - OUT: byte[], the color look up table
    Returns:
      data = theImagedata: the value of the attribute, in an array of Java objects palette: the look up table, in an array of bytes
    Throws:
      `HDFException` - should be thrown for errors in the HDF library call.

      Note: reads the data as a contiguous array of bytes and then converts it to an appropriate Java object.

  - ### DFR8lastref

    public static short DFR8lastref() throws HDFException
    Throws:
      `HDFException`

  - ### DFR8restart

    public static boolean DFR8restart() throws HDFException
    Throws:
      `HDFException`

  - ### DFR8readref

    public static boolean DFR8readref​(String filename, int ref) throws HDFException
    Throws:
      `HDFException`

  - ### DFR8nimages

    public static int DFR8nimages​(String fileName) throws HDFException
    Throws:
      `HDFException`

  - ### DFR8addimage

    public static boolean DFR8addimage​(String filename, byte[] image, int width, int height, short compress) throws HDFException
    Parameters:
      `filename` - IN: String, the file
      `image` - IN: byte[], the image, in an array of bytes
      `width` - IN: int, the width of the image
      `height` - IN: int, the height of the image
      `compress` - IN: short, the type of compression
    Returns:
      true on success
    Throws:
      `HDFException` - should be thrown for errors in the HDF library call.

      NOTE: to write from a Java array use the alternative routine below.

  - ### DFR8addimage

    public static boolean DFR8addimage​(String filename, Object theImage, int width, int height, short compress) throws HDFException
    Parameters:
      `filename` - IN: String, the file
      `theImage` - IN: Object, the image, in a java array of appropriate size and type
      `width` - IN: int, the width of the image
      `height` - IN: int, the height of the image
      `compress` - IN: short, the type of compression
    Returns:
      true on success
    Throws:
      `HDFException` - should be thrown for errors in the HDF library call.

      Note: converts the data into a contiguous array of bytes and then writes it to the file

  - ### DFR8putimage

    public static boolean DFR8putimage​(String filename, byte[] image, int width, int height, short compress) throws HDFException
    Parameters:
      `filename` - IN: String, the file
      `image` - IN: byte[], the image, in an array of bytes
      `width` - IN: int, the width of the image
      `height` - IN: int, the height of the image
      `compress` - IN: short, the type of compression
    Returns:
      true on success
    Throws:
      `HDFException` - should be thrown for errors in the HDF library call.

      NOTE: to write from a Java array use the alternative routine below.

  - ### DFR8putimage

    public static boolean DFR8putimage​(String filename, Object theImage, int width, int height, short compress) throws HDFException
    Parameters:
      `filename` - IN: String, the file
      `theImage` - IN: Object, the image, in a java array of appropriate size and type
      `width` - IN: int, the width of the image
      `height` - IN: int, the height of the image
      `compress` - IN: short, the type of compression
    Returns:
      true on success
    Throws:
      `HDFException` - should be thrown for errors in the HDF library call.

      Note: converts the data into a contiguous array of bytes and then writes it to the file

  - ### DFR8setcompress

    public static boolean DFR8setcompress​(int type, HDFCompInfo cinfo) throws HDFException
    DFR8setcompress sets compression scheme for 8-bit image
    Parameters:
      `type` - IN: int, the type of compression
      `cinfo` - IN: HDFCompInfo, the compression parameters
    Returns:
      true on success
    Throws:
      `HDFException` - should be thrown for errors in the HDF library call.

  - ### DFR8getpalref

    public static boolean DFR8getpalref​(short[] palref) throws HDFException
    Parameters:
      `palref` - OUT: short[1], the HDF ref of the palette
    Returns:
      palref[0] = the ref of the palette
    Throws:
      `HDFException` - should be thrown for errors in the HDF library call.

  - ### DFR8setpalette

    public static boolean DFR8setpalette​(byte[] palette) throws HDFException
    Throws:
      `HDFException`

  - ### DFR8writeref

    public static boolean DFR8writeref​(String filename, short ref) throws HDFException
    Throws:
      `HDFException`

  - ### HCget_config_info

    public static int HCget_config_info​(int coder_type) throws HDFException
    New API for hdf-42r1
    Parameters:
      `coder_type` - comp_coder_t enum for determining which type of encoding is being done
    Returns:
      the compression config info value
    Throws:
      `HDFException` - should be thrown for errors in the HDF library call, but is not yet implemented.