张洋洋
2024-12-23 9d4865279fb04028963d49105c0d12918929485b
[add]h5读取改造
已添加2个文件
已修改3个文件
2819 ■■■■■ 文件已修改
src/main/java/com/se/simu/controller/BizH5FileParserController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/se/simu/helper/H5ReadHelper.java 393 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/se/simu/service/IBizH5FileParserService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/se/simu/service/Impl/BizH5FileParserServiceImpl.java 23 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/hdf/hdf5lib/H5.java 2399 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/se/simu/controller/BizH5FileParserController.java
@@ -53,7 +53,7 @@
     */
    @ApiOperation("打开HDF5文件")
    @PostMapping("/open-hdf5-file")
    public R<Object> openHdf5File(String filePath) throws HDF5LibraryException {
    public R<Object> openHdf5File(String filePath)  {
        return success(bizH5FileParserService.openH5File(filePath));
    }
src/main/java/com/se/simu/helper/H5ReadHelper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,393 @@
package com.se.simu.helper;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.PrintWriter;
import java.io.UnsupportedEncodingException;
import java.nio.ByteBuffer;
import java.nio.ByteOrder;
import java.nio.charset.Charset;
import java.text.DecimalFormat;
import java.util.EnumSet;
import java.util.HashMap;
import java.util.Map;
import hdf.hdf5lib.H5;
import hdf.hdf5lib.HDF5Constants;
public class H5ReadHelper {
    //传入跟组
    private static String PATH = "/";
    //数据集名称
    private static String DATASETNAME;
    //设置数据集行数  ä¹‹åŽä¼šåŠ¨æ€èŽ·å¾—è¡Œæ•°ï¼Œå®žçŽ°å¯¹åº”ç¼©å®¹ï¼ˆå»ºè®®åˆå§‹å€¼è®¾ç½®å¤§äº›ï¼‰
    private static final long DIM0 = 100000;
    //设置整型长度
    protected static final int INTEGERSIZE = 4;
    //设置长整型长度
    protected static final int LONGSIZE = 8;
    //设置单精度长度
    protected static final int FLOATSIZE = 4;
    //设置双精度型长度
    protected static final int DOUBLESIZE = 8;
    //设置字符串最大长度
    protected final static int MAXSTRINGSIZE = 80;
    static class Sensor_Datatype {
        static int numberMembers = 5;//表示列项数
        static int[] memberDims = {1, 1, 1, 1, 1};
        static String[] memberNames = {  //定义表中所有字段名称
                "trading_day", "updatetime", "instrument_id", "gap_number", "reserve"
        };//数据元素为具体的表字段名称
        static long[] memberMemTypes = {  //对应字段类型值
                HDF5Constants.H5T_NATIVE_INT, HDF5Constants.H5T_NATIVE_LONG, HDF5Constants.H5T_NATIVE_FLOAT, HDF5Constants.H5T_NATIVE_DOUBLE, HDF5Constants.H5T_C_S1
        };//用于定义每个字段元素的类型  æŒ‡å®šå­—段元素类型的时候注意类型长度,如果小于存储数长度,则会发生数据溢出
        static long[] memberFileTypes = { //对应字段类型大小
                HDF5Constants.H5T_STD_I32BE, HDF5Constants.H5T_STD_I64BE, HDF5Constants.H5T_IEEE_F32BE, HDF5Constants.H5T_IEEE_F64BE, HDF5Constants.H5T_C_S1
        };//对应的字段类型的大小
        static int[] memberStorage = {  //对应字段类型值长度
                INTEGERSIZE, LONGSIZE, FLOATSIZE, DOUBLESIZE, MAXSTRINGSIZE
        };//定义对应类型的长度大小
        // Data size is the storage size for the members.
        static long getTotalDataSize() {
            long data_size = 0;
            for (int indx = 0; indx < numberMembers; indx++) {
                data_size += memberStorage[indx] * memberDims[indx];
            }
            return DIM0 * data_size;
        }
        static long getDataSize() {
            long data_size = 0;
            for (int indx = 0; indx < numberMembers; indx++) {
                data_size += memberStorage[indx] * memberDims[indx];
            }
            return data_size;
        }
        static int getOffset(int memberItem) {
            int data_offset = 0;
            for (int indx = 0; indx < memberItem; indx++) {
                data_offset += memberStorage[indx];
            }
            return data_offset;
        }
    }
    static class Sensor {
        public Integer trading_day;
        public Long updatetime;
        public Float instrument_id;
        public Double gap_number;
        public String reserve;
        public Sensor(Integer trading_day, Long updatetime, Float instrument_id, Double gap_number, String reserve) {
            super();
            this.trading_day = trading_day;
            this.updatetime = updatetime;
            this.instrument_id = instrument_id;
            this.gap_number = gap_number;
            this.reserve = reserve;
        }
        Sensor(ByteBuffer databuf, int dbposition) {
            readBuffer(databuf, dbposition);
        }
        //遍历.h5下边的所有数据集,并以数组的方式返回数据集名称
        private static String[] do_iterate(String filePath) {
            int file_id = -1;
            // Open a file using default properties.
            try {
                file_id = H5.H5Fopen(filePath, HDF5Constants.H5F_ACC_RDONLY, HDF5Constants.H5P_DEFAULT);
            } catch (Exception e) {
                e.printStackTrace();
            }
            // Begin iteration.
            System.out.println("Objects in root group:");
            try {
                if (file_id >= 0) {
                    int count = (int) H5.H5Gn_members(file_id, PATH);
                    String[] oname = new String[count];
                    int[] otype = new int[count];
                    int[] ltype = new int[count];
                    long[] orefs = new long[count];
                    H5.H5Gget_obj_info_all(file_id, PATH, oname, otype, ltype, orefs, HDF5Constants.H5_INDEX_NAME);
                    // Get type of the object and display its name and type.
                    for (int indx = 0; indx < otype.length; indx++) {
                        switch (H5O_type.get(otype[indx])) {
                            case H5O_TYPE_GROUP:
                                System.out.print("  Group: " + oname[indx] + "," + oname.length + " ");
                                break;
                            case H5O_TYPE_DATASET:
                                System.out.print("  Dataset: " + oname[indx] + "," + oname.length + " ");
                                break;
                            case H5O_TYPE_NAMED_DATATYPE:
                                System.out.print("  Datatype: " + oname[indx] + "," + oname.length + " ");
                                break;
                            default:
                                System.out.print("  Unknown: " + oname[indx] + "," + oname.length + " ");
                        }
                    }
                    System.out.println();
                    return oname;
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
            // Close the file.
            try {
                if (file_id >= 0) {
                    H5.H5Fclose(file_id);
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
            return new String[]{"数据集遍历出错"};
        }
        //读数据
        void readBuffer(ByteBuffer databuf, int dbposition) {
            //0
            this.trading_day = databuf.getInt(dbposition + Sensor_Datatype.getOffset(0));
            //1
            this.updatetime = databuf.getLong(dbposition + Sensor_Datatype.getOffset(1));
            //2
            this.instrument_id = databuf.getFloat(dbposition + Sensor_Datatype.getOffset(2));
            //3
            this.gap_number = databuf.getDouble(dbposition + Sensor_Datatype.getOffset(3));
            //4
            ByteBuffer stringbuf_reserve = databuf.duplicate();
            stringbuf_reserve.position(dbposition + Sensor_Datatype.getOffset(4));
            stringbuf_reserve.limit(dbposition + Sensor_Datatype.getOffset(4) + MAXSTRINGSIZE);
            byte[] bytearr_reserve = new byte[stringbuf_reserve.remaining()];
            stringbuf_reserve.get(bytearr_reserve);
            this.reserve = new String(bytearr_reserve, Charset.forName("UTF-8")).trim();
        }
        //重写toString()方法
        @Override
        public String toString() {
            DecimalFormat df = new DecimalFormat("#0.0000");//浮点数保留4位小数,不足,用0补齐
            return trading_day + ", " + updatetime + ", "
                    + df.format(instrument_id) + ", " + df.format(gap_number) + ", " + reserve;
        }
    }
    //读取表结构数据集
    private static void ReadDataset(String filePath) {
        int file_id = -1;
        int strtype_id = -1;
        int memtype_id = -1;
        int dataspace_id = -1;
        int dataset_id = -1;
        long[] dims = {DIM0};
        Sensor[] object_data2 = new Sensor[(int) dims[0]];
        ;
        byte[] dset_data;
        String[] dsetName = {};
        //遍历.h5文件下边的所有数据集
        dsetName = Sensor.do_iterate(filePath);
        //遍历得到文件下边的各个数据集  Open an existing dataset.
        for (int i = 0; i < dsetName.length; i++) {
            try {
                file_id = H5.H5Fopen(filePath, HDF5Constants.H5F_ACC_RDONLY, HDF5Constants.H5P_DEFAULT);
            } catch (Exception e) {
                e.printStackTrace();
            }
            DATASETNAME = dsetName[i];
            try {
                if (file_id >= 0) {
                    dataset_id = H5.H5Dopen(file_id, DATASETNAME, HDF5Constants.H5P_DEFAULT);
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
            // Get dataspace and allocate memory for read buffer.
            try {
                if (dataset_id >= 0) {
                    dataspace_id = H5.H5Dget_space(dataset_id);
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
            try {
                if (dataspace_id >= 0) {
                    H5.H5Sget_simple_extent_dims(dataspace_id, dims, null);
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
            // Create string datatype.
            try {
                strtype_id = H5.H5Tcopy(HDF5Constants.H5T_C_S1);
                if (strtype_id >= 0) {
                    H5.H5Tset_size(strtype_id, MAXSTRINGSIZE);
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
            // Create the compound datatype for memory.
            try {
                memtype_id = H5.H5Tcreate(HDF5Constants.H5T_COMPOUND, Sensor_Datatype.getDataSize());
                if (memtype_id >= 0) {
                    for (int indx = 0; indx < Sensor_Datatype.numberMembers; indx++) {
                        int type_id = (int) Sensor_Datatype.memberMemTypes[indx];
                        if (type_id == HDF5Constants.H5T_C_S1) {
                            type_id = strtype_id;
                        }
                        H5.H5Tinsert(memtype_id, Sensor_Datatype.memberNames[indx], Sensor_Datatype.getOffset(indx),
                                type_id);
                    }
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
            // allocate memory for read buffer.
            dset_data = new byte[(int) dims[0] * (int) Sensor_Datatype.getDataSize()];
            // Read data.
            try {
                if ((dataset_id >= 0) && (memtype_id >= 0)) {
                    H5.H5Dread(dataset_id, memtype_id, HDF5Constants.H5S_ALL, HDF5Constants.H5S_ALL,
                            HDF5Constants.H5P_DEFAULT, dset_data);
                }
                ByteBuffer inBuf = ByteBuffer.wrap(dset_data);
                inBuf.order(ByteOrder.nativeOrder());
                for (int indx = 0; indx < (int) dims[0]; indx++) {
                    object_data2[indx] = new Sensor(inBuf, indx * (int) Sensor_Datatype.getDataSize());//将读取到的数据存入该数组
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
            // Output the data to the screen.
            for (int indx = 0; indx < dims[0]; indx++) {
                System.out.println(DATASETNAME + " [" + indx + "]:");
                System.out.println(object_data2[indx].toString());
            }
            //写到本地的文本中
            H5ReadHelper.writeLocalExcel(object_data2, DATASETNAME, dims[0]);
            try {
                if (dataset_id >= 0) {
                    H5.H5Dclose(dataset_id);
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
            // Terminate access to the data space.
            try {
                if (dataspace_id >= 0) {
                    H5.H5Sclose(dataspace_id);
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
            // Terminate access to the mem type.
            try {
                if (memtype_id >= 0) {
                    H5.H5Tclose(memtype_id);
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
            try {
                if (strtype_id >= 0) {
                    H5.H5Tclose(strtype_id);
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
            // Close the file.
            try {
                if (file_id >= 0) {
                    H5.H5Fclose(file_id);
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
    enum H5O_type {
        H5O_TYPE_UNKNOWN(-1), // Unknown object type
        H5O_TYPE_GROUP(0), // Object is a group
        H5O_TYPE_DATASET(1), // Object is a dataset
        H5O_TYPE_NAMED_DATATYPE(2), // Object is a named data type
        H5O_TYPE_NTYPES(3); // Number of different object types
        private static final Map<Integer, H5O_type> lookup = new HashMap<Integer, H5O_type>();
        static {
            for (H5O_type s : EnumSet.allOf(H5O_type.class)) {
                lookup.put(s.getCode(), s);
            }
        }
        private int code;
        H5O_type(int layout_type) {
            this.code = layout_type;
        }
        public int getCode() {
            return this.code;
        }
        public static H5O_type get(int code) {
            return lookup.get(code);
        }
    }
    //将读出的数据写到本地
    public static void writeLocalExcel(Sensor[] dataSensors, String datasetName, long dims) {
        //测试数据写出 io
        String url = "D:/hdf5_write_txt/";
        String dsetUrl = datasetName;
        String path = url + dsetUrl + ".txt";
        File file = new File(path);
        if (file.exists()) {
            file.delete();
        } else {
            file = new File(path);
            try {
                file.createNewFile();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        //执行遍历写出
        try {
            PrintWriter pw = new PrintWriter(file, "UTF-8");
            pw.append(
                    "trading_day, updatetime, instrument_id, gap_number, reserve "
            );
            pw.print("\n");
            for (int i = 0; i < dims; i++) {
                StringBuffer sb = new StringBuffer("");
                //当前获取的字段值
                Sensor data = dataSensors[i];
                if (i < dataSensors.length - 1) {
                    sb.append(data).append("," + "\t");
                } else {
                    sb.append(data).append(" ");
                }
                //此时不做判断会发生空指针异常 å®šä¹‰çš„h5文件行数固定,各个文件行数不同
                if (null != data) {
                    pw.print(data.toString() + "\n");
                }
            }
            pw.close();
        } catch (FileNotFoundException | UnsupportedEncodingException e) {
            e.printStackTrace();
        }
    }
    public static void main(String[] args) {
        H5ReadHelper.ReadDataset("D:/tongzhou.h5");
    }
}
src/main/java/com/se/simu/service/IBizH5FileParserService.java
@@ -16,7 +16,7 @@
     * @param filePath æ–‡ä»¶è·¯å¾„
     * @return æ–‡ä»¶ID
     */
    long openH5File(String filePath) throws HDF5LibraryException;
    long openH5File(String filePath) ;
    /**
src/main/java/com/se/simu/service/Impl/BizH5FileParserServiceImpl.java
@@ -7,14 +7,31 @@
import hdf.hdf5lib.exceptions.HDF5LibraryException;
import org.springframework.stereotype.Service;
import java.util.HashMap;
import java.util.Map;
@Service
public class BizH5FileParserServiceImpl implements IBizH5FileParserService {
    @Override
    public long openH5File(String filePath) throws HDF5LibraryException {
        long fileId = H5.H5Fopen(filePath, HDF5Constants.H5F_ACC_RDONLY, HDF5Constants.H5P_DEFAULT);
        return fileId;
    public long openH5File(String filePath) {
        int hdf5File = -1;
        try {
            hdf5File = H5.H5Fopen(filePath, HDF5Constants.H5F_ACC_RDWR, HDF5Constants.H5P_DEFAULT);
            // åœ¨è¿™é‡Œè¿›è¡Œæ–‡ä»¶æ“ä½œ
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            if (hdf5File >= 0) {
                try {
                    H5.H5Fclose(hdf5File);
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        }
        return hdf5File;
    }
    @Override
src/main/java/hdf/hdf5lib/H5.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,2399 @@
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by FernFlower decompiler)
//
package hdf.hdf5lib;
import hdf.hdf5lib.callbacks.H5A_iterate_cb;
import hdf.hdf5lib.callbacks.H5A_iterate_t;
import hdf.hdf5lib.callbacks.H5D_iterate_cb;
import hdf.hdf5lib.callbacks.H5D_iterate_t;
import hdf.hdf5lib.callbacks.H5E_walk_cb;
import hdf.hdf5lib.callbacks.H5E_walk_t;
import hdf.hdf5lib.callbacks.H5L_iterate_cb;
import hdf.hdf5lib.callbacks.H5L_iterate_t;
import hdf.hdf5lib.callbacks.H5O_iterate_cb;
import hdf.hdf5lib.callbacks.H5O_iterate_t;
import hdf.hdf5lib.callbacks.H5P_iterate_cb;
import hdf.hdf5lib.callbacks.H5P_iterate_t;
import hdf.hdf5lib.exceptions.HDF5Exception;
import hdf.hdf5lib.exceptions.HDF5JavaException;
import hdf.hdf5lib.exceptions.HDF5LibraryException;
import hdf.hdf5lib.structs.H5AC_cache_config_t;
import hdf.hdf5lib.structs.H5A_info_t;
import hdf.hdf5lib.structs.H5F_info_t;
import hdf.hdf5lib.structs.H5G_info_t;
import hdf.hdf5lib.structs.H5L_info_t;
import hdf.hdf5lib.structs.H5O_info_t;
import java.io.File;
import java.io.Serializable;
import java.nio.ByteBuffer;
import java.util.Collection;
import java.util.LinkedHashSet;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class H5 implements Serializable {
    private static final long serialVersionUID = 6129888282117053288L;
    private static final Logger log = LoggerFactory.getLogger(H5.class);
    public static final int[] LIB_VERSION = new int[]{1, 8, 19};
    public static final String H5PATH_PROPERTY_KEY = "hdf.hdf5lib.H5.hdf5lib";
    public static final String H5_LIBRARY_NAME_PROPERTY_KEY = "hdf.hdf5lib.H5.loadLibraryName";
    private static String s_libraryName;
    private static boolean isLibraryLoaded = false;
    private static final boolean IS_CRITICAL_PINNING = true;
    private static final LinkedHashSet<Integer> OPEN_IDS = new LinkedHashSet();
    public H5() {
    }
    public static void loadH5Lib() {
        if (!isLibraryLoaded) {
//            System.setProperty("hdf.hdf5lib.H5.loadLibraryName", "hdf5");
            s_libraryName = System.getProperty("hdf.hdf5lib.H5.loadLibraryName", (String)null);
            String var0 = null;
            if (s_libraryName != null && s_libraryName.length() > 0) {
                try {
                    var0 = System.mapLibraryName(s_libraryName);
                    System.loadLibrary(s_libraryName);
                    isLibraryLoaded = true;
                } catch (Throwable var30) {
                    var30.printStackTrace();
                    isLibraryLoaded = false;
                } finally {
                    log.info("HDF5 library: " + s_libraryName);
                    log.debug(" resolved to: " + var0 + "; ");
                    log.info((isLibraryLoaded ? "" : " NOT") + " successfully loaded from system property");
                }
            }
            if (!isLibraryLoaded) {
                String var1 = System.getProperty("hdf.hdf5lib.H5.hdf5lib", (String)null);
                if (var1 != null && var1.length() > 0) {
                    File var2 = new File(var1);
                    if (!var2.exists() || !var2.canRead() || !var2.isFile()) {
                        isLibraryLoaded = false;
                        throw new UnsatisfiedLinkError("Invalid HDF5 library, " + var1);
                    }
                    try {
                        System.load(var1);
                        isLibraryLoaded = true;
                    } catch (Throwable var29) {
                        var29.printStackTrace();
                        isLibraryLoaded = false;
                    } finally {
                        log.info("HDF5 library: ");
                        log.debug(var1);
                        log.info((isLibraryLoaded ? "" : " NOT") + " successfully loaded.");
                    }
                }
            }
            if (!isLibraryLoaded) {
                try {
                    s_libraryName = "jhdf5";
                    var0 = System.mapLibraryName(s_libraryName);
                    System.loadLibrary("jhdf5");
                    isLibraryLoaded = true;
                } catch (Throwable var28) {
                    var28.printStackTrace();
                    isLibraryLoaded = false;
                } finally {
                    log.info("HDF5 library: " + s_libraryName);
                    log.debug(" resolved to: " + var0 + "; ");
                    log.info((isLibraryLoaded ? "" : " NOT") + " successfully loaded from java.library.path");
                }
            }
            try {
                H5dont_atexit();
            } catch (HDF5LibraryException var27) {
                System.exit(1);
            }
            if (!log.isDebugEnabled()) {
                H5error_off();
            }
            Integer var34 = Integer.getInteger("hdf.hdf5lib.H5.hdf5maj", (Integer)null);
            Integer var35 = Integer.getInteger("hdf.hdf5lib.H5.hdf5min", (Integer)null);
            Integer var3 = Integer.getInteger("hdf.hdf5lib.H5.hdf5rel", (Integer)null);
            if (var34 != null && var35 != null && var3 != null) {
                H5check_version(var34, var35, var3);
            }
        }
    }
    public static final int getOpenIDCount() {
        return OPEN_IDS.size();
    }
    /** @deprecated */
    @Deprecated
    public static final int getOpenID(int var0) {
        byte var1 = -1;
        return var1;
    }
    public static final Collection<Integer> getOpenIDs() {
        return OPEN_IDS;
    }
    public static synchronized native int H5check_version(int var0, int var1, int var2);
    public static synchronized native int H5close() throws HDF5LibraryException;
    public static synchronized native int H5open() throws HDF5LibraryException;
    private static synchronized native int H5dont_atexit() throws HDF5LibraryException;
    public static synchronized native int H5error_off();
    public static synchronized native int H5garbage_collect() throws HDF5LibraryException;
    public static synchronized native int H5get_libversion(int[] var0) throws HDF5LibraryException;
    public static synchronized native int H5set_free_list_limits(int var0, int var1, int var2, int var3, int var4, int var5) throws HDF5LibraryException;
    public static synchronized native void H5export_dataset(String var0, String var1, String var2, int var3) throws HDF5LibraryException;
    private static synchronized native boolean H5is_library_threadsafe();
    public static int H5Aclose(int var0) throws HDF5LibraryException {
        if (var0 < 0) {
            return 0;
        } else {
            log.trace("OPEN_IDS: H5Aclose remove {}", var0);
            OPEN_IDS.remove(var0);
            log.trace("OPEN_IDS: {}", OPEN_IDS.size());
            return _H5Aclose(var0);
        }
    }
    private static synchronized native int _H5Aclose(int var0) throws HDF5LibraryException;
    public static synchronized native int H5Acopy(int var0, int var1) throws HDF5LibraryException;
    /** @deprecated */
    @Deprecated
    public static int H5Acreate(int var0, String var1, int var2, int var3, int var4) throws HDF5LibraryException, NullPointerException {
        int var5 = _H5Acreate(var0, var1, var2, var3, var4);
        if (var5 > 0) {
            log.trace("OPEN_IDS: H5A add {}", var5);
            OPEN_IDS.add(var5);
            log.trace("OPEN_IDS: {}", OPEN_IDS.size());
        }
        return var5;
    }
    private static synchronized native int _H5Acreate(int var0, String var1, int var2, int var3, int var4) throws HDF5LibraryException, NullPointerException;
    public static int H5Acreate(int var0, String var1, int var2, int var3, int var4, int var5) throws HDF5LibraryException, NullPointerException {
        int var6 = _H5Acreate2(var0, var1, var2, var3, var4, var5);
        if (var6 > 0) {
            log.trace("OPEN_IDS: H5A create add {}", var6);
            OPEN_IDS.add(var6);
            log.trace("OPEN_IDS: {}", OPEN_IDS.size());
        }
        return var6;
    }
    private static synchronized native int _H5Acreate2(int var0, String var1, int var2, int var3, int var4, int var5) throws HDF5LibraryException, NullPointerException;
    public static int H5Acreate_by_name(int var0, String var1, String var2, int var3, int var4, int var5, int var6, int var7) throws HDF5LibraryException, NullPointerException {
        int var8 = _H5Acreate_by_name(var0, var1, var2, var3, var4, var5, var6, var7);
        if (var8 > 0) {
            log.trace("OPEN_IDS: H5Acreate_by_name add {}", var8);
            OPEN_IDS.add(var8);
            log.trace("OPEN_IDS: {}", OPEN_IDS.size());
        }
        return var8;
    }
    private static synchronized native int _H5Acreate_by_name(int var0, String var1, String var2, int var3, int var4, int var5, int var6, int var7) throws HDF5LibraryException, NullPointerException;
    public static synchronized native int H5Adelete(int var0, String var1) throws HDF5LibraryException, NullPointerException;
    public static synchronized native void H5Adelete_by_idx(int var0, String var1, int var2, int var3, long var4, int var6) throws HDF5LibraryException, NullPointerException;
    public static synchronized native int H5Adelete_by_name(int var0, String var1, String var2, int var3) throws HDF5LibraryException, NullPointerException;
    public static synchronized native boolean H5Aexists(int var0, String var1) throws HDF5LibraryException, NullPointerException;
    public static synchronized native boolean H5Aexists_by_name(int var0, String var1, String var2, int var3) throws HDF5LibraryException, NullPointerException;
    public static synchronized native H5A_info_t H5Aget_info(int var0) throws HDF5LibraryException;
    public static synchronized native H5A_info_t H5Aget_info_by_idx(int var0, String var1, int var2, int var3, long var4, int var6) throws HDF5LibraryException, NullPointerException;
    public static synchronized native H5A_info_t H5Aget_info_by_name(int var0, String var1, String var2, int var3) throws HDF5LibraryException, NullPointerException;
    public static synchronized native String H5Aget_name(int var0) throws HDF5LibraryException;
    public static synchronized native String H5Aget_name_by_idx(int var0, String var1, int var2, int var3, long var4, int var6) throws HDF5LibraryException, NullPointerException;
    /** @deprecated */
    @Deprecated
    public static synchronized native int H5Aget_num_attrs(int var0) throws HDF5LibraryException;
    public static int H5Aget_space(int var0) throws HDF5LibraryException {
        int var1 = _H5Aget_space(var0);
        if (var1 > 0) {
            log.trace("OPEN_IDS: H5Aget_space add {}", var1);
            OPEN_IDS.add(var1);
            log.trace("OPEN_IDS: {}", OPEN_IDS.size());
        }
        return var1;
    }
    private static synchronized native int _H5Aget_space(int var0) throws HDF5LibraryException;
    public static synchronized native long H5Aget_storage_size(int var0) throws HDF5LibraryException;
    public static int H5Aget_type(int var0) throws HDF5LibraryException {
        int var1 = _H5Aget_type(var0);
        if (var1 > 0) {
            log.trace("OPEN_IDS: H5Aget_type add {}", var1);
            OPEN_IDS.add(var1);
            log.trace("OPEN_IDS: {}", OPEN_IDS.size());
        }
        return var1;
    }
    private static synchronized native int _H5Aget_type(int var0) throws HDF5LibraryException;
    public static int H5Aopen(int var0, String var1, int var2) throws HDF5LibraryException, NullPointerException {
        int var3 = _H5Aopen(var0, var1, var2);
        if (var3 > 0) {
            log.trace("OPEN_IDS: H5Aopen add {}", var3);
            OPEN_IDS.add(var3);
            log.trace("OPEN_IDS: {}", OPEN_IDS.size());
        }
        return var3;
    }
    private static synchronized native int _H5Aopen(int var0, String var1, int var2) throws HDF5LibraryException, NullPointerException;
    public static int H5Aopen_by_idx(int var0, String var1, int var2, int var3, long var4, int var6, int var7) throws HDF5LibraryException, NullPointerException {
        int var8 = _H5Aopen_by_idx(var0, var1, var2, var3, var4, var6, var7);
        if (var8 > 0) {
            log.trace("OPEN_IDS: H5Aopen_by_idx add {}", var8);
            OPEN_IDS.add(var8);
            log.trace("OPEN_IDS: {}", OPEN_IDS.size());
        }
        return var8;
    }
    private static synchronized native int _H5Aopen_by_idx(int var0, String var1, int var2, int var3, long var4, int var6, int var7) throws HDF5LibraryException, NullPointerException;
    public static int H5Aopen_by_name(int var0, String var1, String var2, int var3, int var4) throws HDF5LibraryException, NullPointerException {
        int var5 = _H5Aopen_by_name(var0, var1, var2, var3, var4);
        if (var5 > 0) {
            log.trace("OPEN_IDS: H5Aopen_by_name add {}", var5);
            OPEN_IDS.add(var5);
            log.trace("OPEN_IDS: {}", OPEN_IDS.size());
        }
        return var5;
    }
    private static synchronized native int _H5Aopen_by_name(int var0, String var1, String var2, int var3, int var4) throws HDF5LibraryException, NullPointerException;
    /** @deprecated */
    @Deprecated
    public static int H5Aopen_idx(int var0, int var1) throws HDF5LibraryException {
        int var2 = _H5Aopen_idx(var0, var1);
        if (var2 > 0) {
            log.trace("OPEN_IDS: H5A add {}", var2);
            OPEN_IDS.add(var2);
            log.trace("OPEN_IDS: {}", OPEN_IDS.size());
        }
        return var2;
    }
    private static synchronized native int _H5Aopen_idx(int var0, int var1) throws HDF5LibraryException;
    /** @deprecated */
    @Deprecated
    public static int H5Aopen_name(int var0, String var1) throws HDF5LibraryException, NullPointerException {
        int var2 = _H5Aopen_name(var0, var1);
        if (var2 > 0) {
            log.trace("OPEN_IDS: H5A add {}", var2);
            OPEN_IDS.add(var2);
            log.trace("OPEN_IDS: {}", OPEN_IDS.size());
        }
        return var2;
    }
    private static synchronized native int _H5Aopen_name(int var0, String var1) throws HDF5LibraryException, NullPointerException;
    public static synchronized native int H5Aread(int var0, int var1, byte[] var2) throws HDF5LibraryException, NullPointerException;
    public static synchronized int H5Aread(int var0, int var1, Object var2) throws HDF5Exception, NullPointerException {
        HDFArray var3 = new HDFArray(var2);
        byte[] var4 = var3.emptyBytes();
        int var5 = H5Aread(var0, var1, var4);
        if (var5 >= 0) {
            var3.arrayify(var4);
        }
        return var5;
    }
    public static synchronized native int H5AreadVL(int var0, int var1, String[] var2) throws HDF5LibraryException, NullPointerException;
    public static synchronized native int H5AreadComplex(int var0, int var1, String[] var2) throws HDF5LibraryException, NullPointerException;
    public static synchronized native int H5Arename(int var0, String var1, String var2) throws HDF5LibraryException, NullPointerException;
    public static synchronized native int H5Arename_by_name(int var0, String var1, String var2, String var3, int var4) throws HDF5LibraryException, NullPointerException;
    public static synchronized native int H5Awrite(int var0, int var1, byte[] var2) throws HDF5LibraryException, NullPointerException;
    public static synchronized int H5Awrite(int var0, int var1, Object var2) throws HDF5Exception, NullPointerException {
        HDFArray var3 = new HDFArray(var2);
        byte[] var4 = var3.byteify();
        int var5 = H5Awrite(var0, var1, var4);
        Object var6 = null;
        var3 = null;
        return var5;
    }
    public static synchronized native int H5AwriteVL(int var0, int var1, String[] var2) throws HDF5LibraryException, NullPointerException;
    public static int H5Aget_create_plist(int var0) throws HDF5LibraryException {
        int var1 = _H5Aget_create_plist(var0);
        if (var1 > 0) {
            log.trace("OPEN_IDS: H5Aget_create_plist add {}", var1);
            OPEN_IDS.add(var1);
            log.trace("OPEN_IDS: {}", OPEN_IDS.size());
        }
        return var1;
    }
    private static synchronized native int _H5Aget_create_plist(int var0) throws HDF5LibraryException;
    public static synchronized native int H5Aiterate(int var0, int var1, int var2, long var3, H5A_iterate_cb var5, H5A_iterate_t var6) throws HDF5LibraryException, NullPointerException;
    public static synchronized native int H5Aiterate_by_name(int var0, String var1, int var2, int var3, long var4, H5A_iterate_cb var6, H5A_iterate_t var7, int var8) throws HDF5LibraryException, NullPointerException;
    public static synchronized native int H5Dcopy(int var0, int var1) throws HDF5LibraryException;
    public static int H5Dclose(int var0) throws HDF5LibraryException {
        if (var0 < 0) {
            return 0;
        } else {
            log.trace("OPEN_IDS: H5Dclose remove {}", var0);
            OPEN_IDS.remove(var0);
            log.trace("OPEN_IDS: {}", OPEN_IDS.size());
            return _H5Dclose(var0);
        }
    }
    private static synchronized native int _H5Dclose(int var0) throws HDF5LibraryException;
    /** @deprecated */
    @Deprecated
    public static int H5Dcreate(int var0, String var1, int var2, int var3, int var4) throws HDF5LibraryException, NullPointerException {
        int var5 = _H5Dcreate(var0, var1, var2, var3, var4);
        if (var5 > 0) {
            log.trace("OPEN_IDS: H5D add {}", var5);
            OPEN_IDS.add(var5);
            log.trace("OPEN_IDS: {}", OPEN_IDS.size());
        }
        return var5;
    }
    private static synchronized native int _H5Dcreate(int var0, String var1, int var2, int var3, int var4) throws HDF5LibraryException, NullPointerException;
    public static int H5Dcreate(int var0, String var1, int var2, int var3, int var4, int var5, int var6) throws HDF5LibraryException, NullPointerException {
        int var7 = _H5Dcreate2(var0, var1, var2, var3, var4, var5, var6);
        if (var7 > 0) {
            log.trace("OPEN_IDS: H5Dcreate add {}", var7);
            OPEN_IDS.add(var7);
            log.trace("OPEN_IDS: {}", OPEN_IDS.size());
        }
        return var7;
    }
    private static synchronized native int _H5Dcreate2(int var0, String var1, int var2, int var3, int var4, int var5, int var6) throws HDF5LibraryException, NullPointerException;
    public static int H5Dcreate_anon(int var0, int var1, int var2, int var3, int var4) throws HDF5LibraryException {
        int var5 = _H5Dcreate_anon(var0, var1, var2, var3, var4);
        if (var5 > 0) {
            log.trace("OPEN_IDS: H5Dcreate_anon add {}", var5);
            OPEN_IDS.add(var5);
            log.trace("OPEN_IDS: {}", OPEN_IDS.size());
        }
        return var5;
    }
    private static synchronized native int _H5Dcreate_anon(int var0, int var1, int var2, int var3, int var4) throws HDF5LibraryException;
    /** @deprecated */
    @Deprecated
    public static synchronized native int H5Dextend(int var0, byte[] var1) throws HDF5LibraryException, NullPointerException;
    /** @deprecated */
    @Deprecated
    public static synchronized int H5Dextend(int var0, long[] var1) throws HDF5Exception, NullPointerException {
        boolean var2 = true;
        HDFArray var3 = new HDFArray(var1);
        byte[] var4 = var3.byteify();
        int var5 = H5Dextend(var0, var4);
        Object var6 = null;
        var3 = null;
        return var5;
    }
    public static synchronized native void H5Dfill(byte[] var0, int var1, byte[] var2, int var3, int var4) throws HDF5LibraryException, NullPointerException;
    public static synchronized native int H5Dget_access_plist(int var0) throws HDF5LibraryException;
    public static int H5Dget_create_plist(int var0) throws HDF5LibraryException {
        int var1 = _H5Dget_create_plist(var0);
        if (var1 > 0) {
            log.trace("OPEN_IDS: H5Dget_create_plist add {}", var1);
            OPEN_IDS.add(var1);
            log.trace("OPEN_IDS: {}", OPEN_IDS.size());
        }
        return var1;
    }
    private static synchronized native int _H5Dget_create_plist(int var0) throws HDF5LibraryException;
    public static synchronized native long H5Dget_offset(int var0) throws HDF5LibraryException;
    public static int H5Dget_space(int var0) throws HDF5LibraryException {
        int var1 = _H5Dget_space(var0);
        if (var1 > 0) {
            log.trace("OPEN_IDS: H5Dget_space add {}", var1);
            OPEN_IDS.add(var1);
            log.trace("OPEN_IDS: {}", OPEN_IDS.size());
        }
        return var1;
    }
    private static synchronized native int _H5Dget_space(int var0) throws HDF5LibraryException;
    public static synchronized native int H5Dget_space_status(int var0) throws HDF5LibraryException;
    public static int H5Dget_space_status(int var0, int[] var1) throws HDF5LibraryException, NullPointerException {
        return _H5Dget_space_status(var0, var1);
    }
    private static synchronized native int _H5Dget_space_status(int var0, int[] var1) throws HDF5LibraryException, NullPointerException;
    public static synchronized native long H5Dget_storage_size(int var0) throws HDF5LibraryException, IllegalArgumentException;
    public static int H5Dget_type(int var0) throws HDF5LibraryException {
        int var1 = _H5Dget_type(var0);
        if (var1 > 0) {
            log.trace("OPEN_IDS: H5Dget_type add {}", var1);
            OPEN_IDS.add(var1);
            log.trace("OPEN_IDS: {}", OPEN_IDS.size());
        }
        return var1;
    }
    private static synchronized native int _H5Dget_type(int var0) throws HDF5LibraryException;
    public static synchronized native int H5Diterate(byte[] var0, int var1, int var2, H5D_iterate_cb var3, H5D_iterate_t var4) throws HDF5LibraryException, NullPointerException;
    /** @deprecated */
    @Deprecated
    public static int H5Dopen(int var0, String var1) throws HDF5LibraryException, NullPointerException {
        int var2 = _H5Dopen(var0, var1);
        if (var2 > 0) {
            log.trace("OPEN_IDS: H5D add {}", var2);
            OPEN_IDS.add(var2);
            log.trace("OPEN_IDS: {}", OPEN_IDS.size());
        }
        return var2;
    }
    private static synchronized native int _H5Dopen(int var0, String var1) throws HDF5LibraryException, NullPointerException;
    public static int H5Dopen(int var0, String var1, int var2) throws HDF5LibraryException, NullPointerException {
        int var3 = _H5Dopen2(var0, var1, var2);
        if (var3 > 0) {
            log.trace("OPEN_IDS: H5Dopen add {}", var3);
            OPEN_IDS.add(var3);
            log.trace("OPEN_IDS: {}", OPEN_IDS.size());
        }
        return var3;
    }
    private static synchronized native int _H5Dopen2(int var0, String var1, int var2) throws HDF5LibraryException, NullPointerException;
    public static synchronized native int H5Dread(int var0, int var1, int var2, int var3, int var4, byte[] var5, boolean var6) throws HDF5LibraryException, NullPointerException;
    public static synchronized int H5Dread(int var0, int var1, int var2, int var3, int var4, byte[] var5) throws HDF5LibraryException, NullPointerException {
        return H5Dread(var0, var1, var2, var3, var4, var5, true);
    }
    public static synchronized int H5Dread(int var0, int var1, int var2, int var3, int var4, Object var5) throws HDF5Exception, HDF5LibraryException, NullPointerException {
        return H5Dread(var0, var1, var2, var3, var4, var5, true);
    }
    public static synchronized int H5Dread(int var0, int var1, int var2, int var3, int var4, Object var5, boolean var6) throws HDF5Exception, HDF5LibraryException, NullPointerException {
        boolean var7 = true;
        boolean var8 = false;
        Class var9 = var5.getClass();
        if (!var9.isArray()) {
            throw new HDF5JavaException("H5Dread: data is not an array");
        } else {
            String var10 = var9.getName();
            var8 = var10.lastIndexOf(91) == var10.indexOf(91);
            char var11 = var10.charAt(var10.lastIndexOf("[") + 1);
            log.trace("H5Dread: cname={} is1D={} dname={}", new Object[]{var10, var8, var11});
            int var14;
            if (var8 && var11 == 'B') {
                log.trace("H5Dread_dname_B");
                var14 = H5Dread(var0, var1, var2, var3, var4, (byte[])((byte[])var5), var6);
            } else if (var8 && var11 == 'S') {
                log.trace("H5Dread_dname_S");
                var14 = H5Dread_short(var0, var1, var2, var3, var4, (short[])((short[])var5), var6);
            } else if (var8 && var11 == 'I') {
                log.trace("H5Dread_dname_I");
                var14 = H5Dread_int(var0, var1, var2, var3, var4, (int[])((int[])var5), var6);
            } else if (var8 && var11 == 'J') {
                log.trace("H5Dread_dname_J");
                var14 = H5Dread_long(var0, var1, var2, var3, var4, (long[])((long[])var5));
            } else if (var8 && var11 == 'F') {
                log.trace("H5Dread_dname_F");
                var14 = H5Dread_float(var0, var1, var2, var3, var4, (float[])((float[])var5), var6);
            } else if (var8 && var11 == 'D') {
                log.trace("H5Dread_dname_D");
                var14 = H5Dread_double(var0, var1, var2, var3, var4, (double[])((double[])var5), var6);
            } else if (H5Tequal(var1, HDF5Constants.H5T_STD_REF_DSETREG)) {
                log.trace("H5Dread_reg_ref");
                var14 = H5Dread_reg_ref(var0, var1, var2, var3, var4, (String[])((String[])var5));
            } else if (var8 && var9.getComponentType() == String.class) {
                log.trace("H5Dread_string type");
                if (H5Tis_variable_str(var1)) {
                    var14 = H5DreadVL(var0, var1, var2, var3, var4, (Object[])((Object[])var5));
                } else {
                    var14 = H5Dread_string(var0, var1, var2, var3, var4, (String[])((String[])var5));
                }
            } else {
                HDFArray var12 = new HDFArray(var5);
                byte[] var13 = var12.emptyBytes();
                log.trace("H5Dread_else");
                var14 = H5Dread(var0, var1, var2, var3, var4, var13, var6);
                if (var14 >= 0) {
                    var12.arrayify(var13);
                }
                Object var15 = null;
                var12 = null;
            }
            return var14;
        }
    }
    public static synchronized native int H5Dread_double(int var0, int var1, int var2, int var3, int var4, double[] var5, boolean var6) throws HDF5LibraryException, NullPointerException;
    public static synchronized int H5Dread_double(int var0, int var1, int var2, int var3, int var4, double[] var5) throws HDF5LibraryException, NullPointerException {
        return H5Dread_double(var0, var1, var2, var3, var4, var5, true);
    }
    public static synchronized native int H5Dread_float(int var0, int var1, int var2, int var3, int var4, float[] var5, boolean var6) throws HDF5LibraryException, NullPointerException;
    public static synchronized int H5Dread_float(int var0, int var1, int var2, int var3, int var4, float[] var5) throws HDF5LibraryException, NullPointerException {
        return H5Dread_float(var0, var1, var2, var3, var4, var5, true);
    }
    public static synchronized native int H5Dread_int(int var0, int var1, int var2, int var3, int var4, int[] var5, boolean var6) throws HDF5LibraryException, NullPointerException;
    public static synchronized int H5Dread_int(int var0, int var1, int var2, int var3, int var4, int[] var5) throws HDF5LibraryException, NullPointerException {
        return H5Dread_int(var0, var1, var2, var3, var4, var5, true);
    }
    public static synchronized native int H5Dread_long(int var0, int var1, int var2, int var3, int var4, long[] var5, boolean var6) throws HDF5LibraryException, NullPointerException;
    public static synchronized int H5Dread_long(int var0, int var1, int var2, int var3, int var4, long[] var5) throws HDF5LibraryException, NullPointerException {
        return H5Dread_long(var0, var1, var2, var3, var4, var5, true);
    }
    public static synchronized native int H5Dread_reg_ref(int var0, int var1, int var2, int var3, int var4, String[] var5) throws HDF5LibraryException, NullPointerException;
    public static synchronized native int H5Dread_reg_ref_data(int var0, int var1, int var2, int var3, int var4, String[] var5) throws HDF5LibraryException, NullPointerException;
    public static synchronized native int H5Dread_short(int var0, int var1, int var2, int var3, int var4, short[] var5, boolean var6) throws HDF5LibraryException, NullPointerException;
    public static synchronized int H5Dread_short(int var0, int var1, int var2, int var3, int var4, short[] var5) throws HDF5LibraryException, NullPointerException {
        return H5Dread_short(var0, var1, var2, var3, var4, var5, true);
    }
    public static synchronized native int H5Dread_string(int var0, int var1, int var2, int var3, int var4, String[] var5) throws HDF5LibraryException, NullPointerException;
    public static synchronized native int H5DreadVL(int var0, int var1, int var2, int var3, int var4, Object[] var5) throws HDF5LibraryException, NullPointerException;
    public static synchronized native void H5Dset_extent(int var0, long[] var1) throws HDF5LibraryException, NullPointerException;
    public static synchronized native int H5Dvlen_get_buf_size(int var0, int var1, int var2, int[] var3) throws HDF5LibraryException;
    public static synchronized native long H5Dvlen_get_buf_size_long(int var0, int var1, int var2) throws HDF5LibraryException;
    public static synchronized native int H5Dvlen_reclaim(int var0, int var1, int var2, byte[] var3) throws HDF5LibraryException, NullPointerException;
    public static synchronized native int H5Dwrite(int var0, int var1, int var2, int var3, int var4, byte[] var5, boolean var6) throws HDF5LibraryException, NullPointerException;
    public static synchronized int H5Dwrite(int var0, int var1, int var2, int var3, int var4, byte[] var5) throws HDF5LibraryException, NullPointerException {
        return H5Dwrite(var0, var1, var2, var3, var4, var5, true);
    }
    public static synchronized int H5Dwrite(int var0, int var1, int var2, int var3, int var4, Object var5) throws HDF5Exception, HDF5LibraryException, NullPointerException {
        return H5Dwrite(var0, var1, var2, var3, var4, var5, true);
    }
    public static synchronized int H5Dwrite(int var0, int var1, int var2, int var3, int var4, Object var5, boolean var6) throws HDF5Exception, HDF5LibraryException, NullPointerException {
        boolean var7 = true;
        boolean var8 = false;
        Class var9 = var5.getClass();
        if (!var9.isArray()) {
            throw new HDF5JavaException("H5Dread: data is not an array");
        } else {
            String var10 = var9.getName();
            var8 = var10.lastIndexOf(91) == var10.indexOf(91);
            char var11 = var10.charAt(var10.lastIndexOf("[") + 1);
            int var14;
            if (var8 && var11 == 'B') {
                var14 = H5Dwrite(var0, var1, var2, var3, var4, (byte[])((byte[])var5), var6);
            } else if (var8 && var11 == 'S') {
                var14 = H5Dwrite_short(var0, var1, var2, var3, var4, (short[])((short[])var5), var6);
            } else if (var8 && var11 == 'I') {
                var14 = H5Dwrite_int(var0, var1, var2, var3, var4, (int[])((int[])var5), var6);
            } else if (var8 && var11 == 'J') {
                var14 = H5Dwrite_long(var0, var1, var2, var3, var4, (long[])((long[])var5), var6);
            } else if (var8 && var11 == 'F') {
                var14 = H5Dwrite_float(var0, var1, var2, var3, var4, (float[])((float[])var5), var6);
            } else if (var8 && var11 == 'D') {
                var14 = H5Dwrite_double(var0, var1, var2, var3, var4, (double[])((double[])var5), var6);
            } else if (H5Tget_class(var1) == HDF5Constants.H5T_STRING && H5Tis_variable_str(var1) && var9.isArray() && var9.getComponentType() == String.class && var8) {
                var14 = H5DwriteString(var0, var1, var2, var3, var4, (String[])((String[])var5));
            } else {
                HDFArray var12 = new HDFArray(var5);
                byte[] var13 = var12.byteify();
                var14 = H5Dwrite(var0, var1, var2, var3, var4, var13, var6);
                Object var15 = null;
                var12 = null;
            }
            return var14;
        }
    }
    public static synchronized native int H5Dwrite_double(int var0, int var1, int var2, int var3, int var4, double[] var5, boolean var6) throws HDF5LibraryException, NullPointerException;
    public static synchronized int H5Dwrite_double(int var0, int var1, int var2, int var3, int var4, double[] var5) throws HDF5LibraryException, NullPointerException {
        return H5Dwrite_double(var0, var1, var2, var3, var4, var5, true);
    }
    public static synchronized native int H5Dwrite_float(int var0, int var1, int var2, int var3, int var4, float[] var5, boolean var6) throws HDF5LibraryException, NullPointerException;
    public static synchronized int H5Dwrite_float(int var0, int var1, int var2, int var3, int var4, float[] var5) throws HDF5LibraryException, NullPointerException {
        return H5Dwrite_float(var0, var1, var2, var3, var4, var5, true);
    }
    public static synchronized native int H5Dwrite_int(int var0, int var1, int var2, int var3, int var4, int[] var5, boolean var6) throws HDF5LibraryException, NullPointerException;
    public static synchronized int H5Dwrite_int(int var0, int var1, int var2, int var3, int var4, int[] var5) throws HDF5LibraryException, NullPointerException {
        return H5Dwrite_int(var0, var1, var2, var3, var4, var5, true);
    }
    public static synchronized native int H5Dwrite_long(int var0, int var1, int var2, int var3, int var4, long[] var5, boolean var6) throws HDF5LibraryException, NullPointerException;
    public static synchronized int H5Dwrite_long(int var0, int var1, int var2, int var3, int var4, long[] var5) throws HDF5LibraryException, NullPointerException {
        return H5Dwrite_long(var0, var1, var2, var3, var4, var5, true);
    }
    public static synchronized native int H5Dwrite_short(int var0, int var1, int var2, int var3, int var4, short[] var5, boolean var6) throws HDF5LibraryException, NullPointerException;
    public static synchronized int H5Dwrite_short(int var0, int var1, int var2, int var3, int var4, short[] var5) throws HDF5LibraryException, NullPointerException {
        return H5Dwrite_short(var0, var1, var2, var3, var4, var5, true);
    }
    public static synchronized native int H5DwriteString(int var0, int var1, int var2, int var3, int var4, String[] var5) throws HDF5LibraryException, NullPointerException;
    public static synchronized native boolean H5Eauto_is_v2(int var0) throws HDF5LibraryException;
    public static int H5Eclear() throws HDF5LibraryException {
        H5Eclear2(HDF5Constants.H5E_DEFAULT);
        return 0;
    }
    public static void H5Eclear(int var0) throws HDF5LibraryException {
        H5Eclear2(var0);
    }
    public static synchronized native void H5Eclear2(int var0) throws HDF5LibraryException;
    public static synchronized native void H5Eclose_msg(int var0) throws HDF5LibraryException;
    public static synchronized native void H5Eclose_stack(int var0) throws HDF5LibraryException;
    public static synchronized native int H5Ecreate_msg(int var0, int var1, String var2) throws HDF5LibraryException, NullPointerException;
    public static synchronized native int H5Ecreate_stack() throws HDF5LibraryException;
    public static synchronized native String H5Eget_class_name(int var0) throws HDF5LibraryException, NullPointerException;
    public static synchronized native int H5Eget_current_stack() throws HDF5LibraryException;
    public static synchronized native void H5Eset_current_stack(int var0) throws HDF5LibraryException;
    public static synchronized native String H5Eget_msg(int var0, int[] var1) throws HDF5LibraryException;
    public static synchronized native long H5Eget_num(int var0) throws HDF5LibraryException, NullPointerException;
    /** @deprecated */
    @Deprecated
    public static synchronized native void H5Eprint1(Object var0) throws HDF5LibraryException;
    public static synchronized native void H5Eprint2(int var0, Object var1) throws HDF5LibraryException;
    public static synchronized native void H5Epop(int var0, long var1) throws HDF5LibraryException;
    public static void H5Epush(int var0, String var1, String var2, int var3, int var4, int var5, int var6, String var7) throws HDF5LibraryException, NullPointerException {
        H5Epush2(var0, var1, var2, var3, var4, var5, var6, var7);
    }
    public static synchronized native void H5Epush2(int var0, String var1, String var2, int var3, int var4, int var5, int var6, String var7) throws HDF5LibraryException, NullPointerException;
    public static synchronized native int H5Eregister_class(String var0, String var1, String var2) throws HDF5LibraryException, NullPointerException;
    public static synchronized native void H5Eunregister_class(int var0) throws HDF5LibraryException;
    public static void H5Ewalk(int var0, int var1, H5E_walk_cb var2, H5E_walk_t var3) throws HDF5LibraryException, NullPointerException {
        H5Ewalk2(var0, var1, var2, var3);
    }
    public static synchronized native void H5Ewalk2(int var0, int var1, H5E_walk_cb var2, H5E_walk_t var3) throws HDF5LibraryException, NullPointerException;
    public static int H5Fclose(int var0) throws HDF5LibraryException {
        if (var0 < 0) {
            return 0;
        } else {
            log.trace("OPEN_IDS: H5Fclose remove {}", var0);
            OPEN_IDS.remove(var0);
            log.trace("OPEN_IDS: {}", OPEN_IDS.size());
            return _H5Fclose(var0);
        }
    }
    private static synchronized native int _H5Fclose(int var0) throws HDF5LibraryException;
    public static int H5Fopen(String var0, int var1, int var2) throws HDF5LibraryException, NullPointerException {
        int var3 = _H5Fopen(var0, var1, var2);
        if (var3 > 0) {
            log.trace("OPEN_IDS: H5Fopen add {}", var3);
            OPEN_IDS.add(var3);
            log.trace("OPEN_IDS: {}", OPEN_IDS.size());
        }
        return var3;
    }
    private static synchronized native int _H5Fopen(String var0, int var1, int var2) throws HDF5LibraryException, NullPointerException;
    public static int H5Freopen(int var0) throws HDF5LibraryException {
        int var1 = _H5Freopen(var0);
        if (var1 > 0) {
            log.trace("OPEN_IDS: H5Freopen add {}", var1);
            OPEN_IDS.add(var1);
            log.trace("OPEN_IDS: {}", OPEN_IDS.size());
        }
        return var1;
    }
    private static synchronized native int _H5Freopen(int var0) throws HDF5LibraryException;
    public static int H5Fcreate(String var0, int var1, int var2, int var3) throws HDF5LibraryException, NullPointerException {
        int var4 = _H5Fcreate(var0, var1, var2, var3);
        if (var4 > 0) {
            log.trace("OPEN_IDS: H5Fcreate add {}", var4);
            OPEN_IDS.add(var4);
            log.trace("OPEN_IDS: {}", OPEN_IDS.size());
        }
        return var4;
    }
    private static synchronized native int _H5Fcreate(String var0, int var1, int var2, int var3) throws HDF5LibraryException, NullPointerException;
    public static synchronized native int H5Fflush(int var0, int var1) throws HDF5LibraryException;
    public static int H5Fget_access_plist(int var0) throws HDF5LibraryException {
        int var1 = _H5Fget_access_plist(var0);
        if (var1 > 0) {
            log.trace("OPEN_IDS: H5Fget_access_plist add {}", var1);
            OPEN_IDS.add(var1);
            log.trace("OPEN_IDS: {}", OPEN_IDS.size());
        }
        return var1;
    }
    private static synchronized native int _H5Fget_access_plist(int var0) throws HDF5LibraryException;
    public static int H5Fget_create_plist(int var0) throws HDF5LibraryException {
        int var1 = _H5Fget_create_plist(var0);
        if (var1 > 0) {
            log.trace("OPEN_IDS: H5Fget_create_plist add {}", var1);
            OPEN_IDS.add(var1);
            log.trace("OPEN_IDS: {}", OPEN_IDS.size());
        }
        return var1;
    }
    private static synchronized native int _H5Fget_create_plist(int var0) throws HDF5LibraryException;
    public static synchronized native long H5Fget_filesize(int var0) throws HDF5LibraryException;
    public static synchronized native long H5Fget_freespace(int var0) throws HDF5LibraryException;
    public static synchronized native int H5Fget_intent(int var0) throws HDF5LibraryException;
    public static synchronized native double H5Fget_mdc_hit_rate(int var0) throws HDF5LibraryException;
    public static synchronized native int H5Fget_mdc_size(int var0, long[] var1) throws HDF5LibraryException, NullPointerException, IllegalArgumentException;
    public static synchronized native String H5Fget_name(int var0) throws HDF5LibraryException;
    public static synchronized native String H5Fget_name(int var0, int var1) throws HDF5LibraryException;
    public static synchronized native int H5Fget_obj_count(int var0, int var1) throws HDF5LibraryException;
    public static synchronized native long H5Fget_obj_count_long(int var0, int var1) throws HDF5LibraryException;
    public static synchronized native int H5Fget_obj_ids(int var0, int var1, int var2, int[] var3) throws HDF5LibraryException, NullPointerException;
    public static synchronized native long H5Fget_obj_ids_long(int var0, int var1, long var2, int[] var4) throws HDF5LibraryException, NullPointerException;
    public static synchronized native boolean H5Fis_hdf5(String var0) throws HDF5LibraryException, NullPointerException;
    public static synchronized native int H5Fmount(int var0, String var1, int var2, int var3) throws HDF5LibraryException, NullPointerException;
    public static synchronized native int H5Funmount(int var0, String var1) throws HDF5LibraryException, NullPointerException;
    public static synchronized native void H5Freset_mdc_hit_rate_stats(int var0) throws HDF5LibraryException;
    public static synchronized native H5F_info_t H5Fget_info(int var0) throws HDF5LibraryException;
    public static synchronized native void H5Fclear_elink_file_cache(int var0) throws HDF5LibraryException;
    public static int H5Gclose(int var0) throws HDF5LibraryException {
        if (var0 < 0) {
            return 0;
        } else {
            log.trace("OPEN_IDS: H5Gclose remove {}", var0);
            OPEN_IDS.remove(var0);
            log.trace("OPEN_IDS: {}", OPEN_IDS.size());
            return _H5Gclose(var0);
        }
    }
    private static synchronized native int _H5Gclose(int var0) throws HDF5LibraryException;
    /** @deprecated */
    @Deprecated
    public static int H5Gcreate(int var0, String var1, long var2) throws HDF5LibraryException, NullPointerException {
        int var4 = _H5Gcreate(var0, var1, var2);
        if (var4 > 0) {
            log.trace("OPEN_IDS: H5Gcreate add {}", var4);
            OPEN_IDS.add(var4);
            log.trace("OPEN_IDS: {}", OPEN_IDS.size());
        }
        return var4;
    }
    private static synchronized native int _H5Gcreate(int var0, String var1, long var2) throws HDF5LibraryException, NullPointerException;
    public static int H5Gcreate(int var0, String var1, int var2, int var3, int var4) throws HDF5LibraryException, NullPointerException {
        int var5 = _H5Gcreate2(var0, var1, var2, var3, var4);
        if (var5 > 0) {
            log.trace("OPEN_IDS: H5Gcreate add {}", var5);
            OPEN_IDS.add(var5);
            log.trace("OPEN_IDS: {}", OPEN_IDS.size());
        }
        return var5;
    }
    private static synchronized native int _H5Gcreate2(int var0, String var1, int var2, int var3, int var4) throws HDF5LibraryException, NullPointerException;
    public static int H5Gcreate_anon(int var0, int var1, int var2) throws HDF5LibraryException {
        int var3 = _H5Gcreate_anon(var0, var1, var2);
        if (var3 > 0) {
            log.trace("OPEN_IDS: H5Gcreate_anon add {}", var3);
            OPEN_IDS.add(var3);
            log.trace("OPEN_IDS: {}", OPEN_IDS.size());
        }
        return var3;
    }
    private static synchronized native int _H5Gcreate_anon(int var0, int var1, int var2) throws HDF5LibraryException;
    /** @deprecated */
    @Deprecated
    public static synchronized native int H5Gget_comment(int var0, String var1, int var2, String[] var3) throws ArrayIndexOutOfBoundsException, ArrayStoreException, HDF5LibraryException, NullPointerException, IllegalArgumentException;
    /** @deprecated */
    @Deprecated
    public static synchronized native int H5Gset_comment(int var0, String var1, String var2) throws HDF5LibraryException, NullPointerException;
    public static synchronized native int H5Gget_create_plist(int var0) throws HDF5LibraryException;
    public static synchronized native H5G_info_t H5Gget_info(int var0) throws HDF5LibraryException;
    public static synchronized native H5G_info_t H5Gget_info_by_idx(int var0, String var1, int var2, int var3, long var4, int var6) throws HDF5LibraryException, NullPointerException;
    public static synchronized native H5G_info_t H5Gget_info_by_name(int var0, String var1, int var2) throws HDF5LibraryException, NullPointerException;
    /** @deprecated */
    @Deprecated
    public static synchronized native int H5Gget_linkval(int var0, String var1, int var2, String[] var3) throws ArrayIndexOutOfBoundsException, ArrayStoreException, HDF5LibraryException, NullPointerException, IllegalArgumentException;
    /** @deprecated */
    @Deprecated
    public static synchronized native int H5Gget_num_objs(int var0, long[] var1) throws HDF5LibraryException, NullPointerException;
    public static synchronized int H5Gget_obj_info_all(int var0, String var1, String[] var2, int[] var3, long[] var4) throws HDF5LibraryException, NullPointerException {
        if (var2 == null) {
            throw new NullPointerException("H5Gget_obj_info_all(): name array is null");
        } else {
            return H5Gget_obj_info_all(var0, var1, var2, var3, (int[])null, (long[])null, var4, HDF5Constants.H5_INDEX_NAME);
        }
    }
    public static synchronized int H5Gget_obj_info_all(int var0, String var1, String[] var2, int[] var3, int[] var4, long[] var5, int var6) throws HDF5LibraryException, NullPointerException {
        return H5Gget_obj_info_full(var0, var1, var2, var3, var4, (long[])null, var5, var6, -1);
    }
    public static synchronized int H5Gget_obj_info_all(int var0, String var1, String[] var2, int[] var3, int[] var4, long[] var5, long[] var6, int var7) throws HDF5LibraryException, NullPointerException {
        return H5Gget_obj_info_full(var0, var1, var2, var3, var4, var5, var6, var2.length, var7, -1);
    }
    public static synchronized int H5Gget_obj_info_full(int var0, String var1, String[] var2, int[] var3, int[] var4, long[] var5, long[] var6, int var7, int var8) throws HDF5LibraryException, NullPointerException {
        if (var2 == null) {
            throw new NullPointerException("H5Gget_obj_info_full(): name array is null");
        } else if (var3 == null) {
            throw new NullPointerException("H5Gget_obj_info_full(): object type array is null");
        } else if (var2.length == 0) {
            throw new HDF5LibraryException("H5Gget_obj_info_full(): array size is zero");
        } else if (var2.length != var3.length) {
            throw new HDF5LibraryException("H5Gget_obj_info_full(): name and type array sizes are different");
        } else {
            if (var4 == null) {
                var4 = new int[var3.length];
            }
            if (var5 == null) {
                var5 = new long[var6.length];
            }
            if (var7 < 0) {
                var7 = HDF5Constants.H5_INDEX_NAME;
            }
            if (var8 < 0) {
                var8 = HDF5Constants.H5_ITER_INC;
            }
            log.trace("H5Gget_obj_info_full: oname_len={}", var2.length);
            int var9 = H5Gget_obj_info_full(var0, var1, var2, var3, var4, var5, var6, var2.length, var7, var8);
            for(int var10 = 0; var10 < var2.length; ++var10) {
                log.trace("H5Gget_obj_info_full: oname={}", var2[var10]);
            }
            return var9;
        }
    }
    private static synchronized native int H5Gget_obj_info_full(int var0, String var1, String[] var2, int[] var3, int[] var4, long[] var5, long[] var6, int var7, int var8, int var9) throws HDF5LibraryException, NullPointerException;
    public static synchronized int H5Gget_obj_info_idx(int var0, String var1, int var2, String[] var3, int[] var4) throws HDF5LibraryException, NullPointerException {
        long var5 = 4096L;
        String[] var7 = new String[]{new String("")};
        int var8 = H5Gopen(var0, var1);
        long var9 = H5Gget_objname_by_idx(var8, (long)var2, var7, var5);
        int var11 = H5Gget_objtype_by_idx(var8, (long)var2);
        var3[0] = new String(var7[0]);
        var4[0] = var11;
        int var12 = (new Long(var9)).intValue();
        return var12;
    }
    public static synchronized int H5Gget_obj_info_max(int var0, String[] var1, int[] var2, int[] var3, long[] var4, int var5) throws HDF5LibraryException, NullPointerException {
        if (var1 == null) {
            throw new NullPointerException("H5Gget_obj_info_max(): name array is null");
        } else if (var2 == null) {
            throw new NullPointerException("H5Gget_obj_info_max(): object type array is null");
        } else if (var3 == null) {
            throw new NullPointerException("H5Gget_obj_info_max(): link type array is null");
        } else if (var1.length <= 0) {
            throw new HDF5LibraryException("H5Gget_obj_info_max(): array size is zero");
        } else if (var5 <= 0) {
            throw new HDF5LibraryException("H5Gget_obj_info_max(): maximum array size is zero");
        } else if (var1.length != var2.length) {
            throw new HDF5LibraryException("H5Gget_obj_info_max(): name and type array sizes are different");
        } else {
            return H5Gget_obj_info_max(var0, var1, var2, var3, var4, var5, var1.length);
        }
    }
    private static synchronized native int H5Gget_obj_info_max(int var0, String[] var1, int[] var2, int[] var3, long[] var4, int var5, int var6) throws HDF5LibraryException, NullPointerException;
    /** @deprecated */
    @Deprecated
    public static synchronized native int H5Gget_objinfo(int var0, String var1, boolean var2, long[] var3, long[] var4, int[] var5, long[] var6) throws HDF5LibraryException, NullPointerException, IllegalArgumentException;
    /** @deprecated */
    @Deprecated
    public static synchronized int H5Gget_objinfo(int var0, String var1, boolean var2, HDF5GroupInfo var3) throws HDF5LibraryException, NullPointerException {
        boolean var4 = true;
        long[] var5 = new long[2];
        long[] var6 = new long[2];
        int[] var7 = new int[3];
        long[] var8 = new long[1];
        int var9 = H5Gget_objinfo(var0, var1, var2, var5, var6, var7, var8);
        if (var9 >= 0) {
            var3.setGroupInfo(var5, var6, var7[0], var7[1], var8[0], var7[2]);
        }
        return var9;
    }
    /** @deprecated */
    @Deprecated
    public static synchronized native long H5Gget_objname_by_idx(int var0, long var1, String[] var3, long var4) throws HDF5LibraryException, NullPointerException;
    /** @deprecated */
    @Deprecated
    public static synchronized native int H5Gget_objtype_by_idx(int var0, long var1) throws HDF5LibraryException;
    /** @deprecated */
    @Deprecated
    public static synchronized native int H5Glink(int var0, int var1, String var2, String var3) throws HDF5LibraryException, NullPointerException;
    /** @deprecated */
    @Deprecated
    public static synchronized native int H5Glink2(int var0, String var1, int var2, int var3, String var4) throws HDF5LibraryException, NullPointerException;
    /** @deprecated */
    @Deprecated
    public static synchronized native int H5Gunlink(int var0, String var1) throws HDF5LibraryException, NullPointerException;
    /** @deprecated */
    @Deprecated
    public static synchronized native int H5Gmove(int var0, String var1, String var2) throws HDF5LibraryException, NullPointerException;
    public static synchronized long H5Gn_members_long(int var0, String var1) throws HDF5LibraryException, NullPointerException {
        int var2 = H5Gopen(var0, var1);
        long var3 = -1L;
        try {
            H5G_info_t var5 = H5Gget_info(var2);
            var3 = var5.nlinks;
        } finally {
            H5Gclose(var2);
        }
        return var3;
    }
    public static synchronized int H5Gn_members(int var0, String var1) throws HDF5LibraryException, NullPointerException {
        return (int)H5Gn_members_long(var0, var1);
    }
    /** @deprecated */
    @Deprecated
    public static int H5Gopen(int var0, String var1) throws HDF5LibraryException, NullPointerException {
        int var2 = _H5Gopen(var0, var1);
        if (var2 > 0) {
            log.trace("OPEN_IDS: H5G add {}", var2);
            OPEN_IDS.add(var2);
            log.trace("OPEN_IDS: {}", OPEN_IDS.size());
        }
        return var2;
    }
    private static synchronized native int _H5Gopen(int var0, String var1) throws HDF5LibraryException, NullPointerException;
    public static int H5Gopen(int var0, String var1, int var2) throws HDF5LibraryException, NullPointerException {
        int var3 = _H5Gopen2(var0, var1, var2);
        if (var3 > 0) {
            log.trace("OPEN_IDS: H5Gopen add {}", var3);
            OPEN_IDS.add(var3);
            log.trace("OPEN_IDS: {}", OPEN_IDS.size());
        }
        return var3;
    }
    private static synchronized native int _H5Gopen2(int var0, String var1, int var2) throws HDF5LibraryException, NullPointerException;
    public static synchronized native int H5Iget_file_id(int var0) throws HDF5LibraryException;
    /** @deprecated */
    @Deprecated
    public static synchronized native long H5Iget_name_long(int var0, String[] var1, long var2) throws HDF5LibraryException, NullPointerException;
    public static synchronized native String H5Iget_name(int var0) throws HDF5LibraryException;
    public static synchronized native int H5Iget_ref(int var0) throws HDF5LibraryException, NullPointerException;
    public static synchronized native int H5Idec_ref(int var0) throws HDF5LibraryException, NullPointerException;
    public static synchronized native int H5Iinc_ref(int var0) throws HDF5LibraryException, NullPointerException;
    public static synchronized native int H5Iget_type(int var0) throws HDF5LibraryException;
    public static synchronized native int H5Iget_type_ref(int var0) throws HDF5LibraryException;
    public static synchronized native int H5Idec_type_ref(int var0) throws HDF5LibraryException;
    public static synchronized native int H5Iinc_type_ref(int var0) throws HDF5LibraryException;
    public static synchronized native int H5Inmembers(int var0) throws HDF5LibraryException;
    public static synchronized native boolean H5Iis_valid(int var0) throws HDF5LibraryException;
    public static synchronized native boolean H5Itype_exists(int var0) throws HDF5LibraryException;
    public static synchronized native void H5Iclear_type(int var0, boolean var1) throws HDF5LibraryException;
    public static synchronized native void H5Idestroy_type(int var0) throws HDF5LibraryException;
    public static synchronized native void H5Lcopy(int var0, String var1, int var2, String var3, int var4, int var5) throws HDF5LibraryException, NullPointerException;
    public static synchronized native void H5Lcreate_external(String var0, String var1, int var2, String var3, int var4, int var5) throws HDF5LibraryException, NullPointerException;
    public static synchronized native void H5Lcreate_hard(int var0, String var1, int var2, String var3, int var4, int var5) throws HDF5LibraryException, NullPointerException;
    public static synchronized native void H5Lcreate_soft(String var0, int var1, String var2, int var3, int var4) throws HDF5LibraryException, NullPointerException;
    public static synchronized native void H5Ldelete(int var0, String var1, int var2) throws HDF5LibraryException, NullPointerException;
    public static synchronized native void H5Ldelete_by_idx(int var0, String var1, int var2, int var3, long var4, int var6) throws HDF5LibraryException, NullPointerException;
    public static synchronized native boolean H5Lexists(int var0, String var1, int var2) throws HDF5LibraryException, NullPointerException;
    public static synchronized native H5L_info_t H5Lget_info(int var0, String var1, int var2) throws HDF5LibraryException, NullPointerException;
    public static synchronized native H5L_info_t H5Lget_info_by_idx(int var0, String var1, int var2, int var3, long var4, int var6) throws HDF5LibraryException, NullPointerException;
    public static synchronized native String H5Lget_name_by_idx(int var0, String var1, int var2, int var3, long var4, int var6) throws HDF5LibraryException, NullPointerException;
    public static synchronized native int H5Lget_val(int var0, String var1, String[] var2, int var3) throws HDF5LibraryException, NullPointerException;
    public static synchronized native int H5Lget_val_by_idx(int var0, String var1, int var2, int var3, long var4, String[] var6, int var7) throws HDF5LibraryException, NullPointerException;
    public static synchronized native int H5Literate(int var0, int var1, int var2, long var3, H5L_iterate_cb var5, H5L_iterate_t var6) throws HDF5LibraryException;
    public static synchronized native int H5Literate_by_name(int var0, String var1, int var2, int var3, long var4, H5L_iterate_cb var6, H5L_iterate_t var7, int var8) throws HDF5LibraryException, NullPointerException;
    public static synchronized native void H5Lmove(int var0, String var1, int var2, String var3, int var4, int var5) throws HDF5LibraryException, NullPointerException;
    public static synchronized native int H5Lvisit(int var0, int var1, int var2, H5L_iterate_cb var3, H5L_iterate_t var4) throws HDF5LibraryException;
    public static synchronized native int H5Lvisit_by_name(int var0, String var1, int var2, int var3, H5L_iterate_cb var4, H5L_iterate_t var5, int var6) throws HDF5LibraryException, NullPointerException;
    public static synchronized native int H5Lis_registered(int var0) throws HDF5LibraryException;
    public static synchronized native void H5Lunregister(int var0) throws HDF5LibraryException;
    public static int H5Oclose(int var0) throws HDF5LibraryException {
        if (var0 < 0) {
            return 0;
        } else {
            log.trace("OPEN_IDS: H5Oclose remove {}", var0);
            OPEN_IDS.remove(var0);
            log.trace("OPEN_IDS: {}", OPEN_IDS.size());
            return _H5Oclose(var0);
        }
    }
    private static synchronized native int _H5Oclose(int var0) throws HDF5LibraryException;
    public static synchronized native void H5Ocopy(int var0, String var1, int var2, String var3, int var4, int var5) throws HDF5LibraryException, NullPointerException;
    public static synchronized native String H5Oget_comment(int var0) throws HDF5LibraryException;
    /** @deprecated */
    @Deprecated
    public static synchronized native void H5Oset_comment(int var0, String var1) throws HDF5LibraryException;
    public static synchronized native String H5Oget_comment_by_name(int var0, String var1, int var2) throws HDF5LibraryException, NullPointerException;
    /** @deprecated */
    @Deprecated
    public static synchronized native void H5Oset_comment_by_name(int var0, String var1, String var2, int var3) throws HDF5LibraryException, NullPointerException;
    public static synchronized native H5O_info_t H5Oget_info(int var0) throws HDF5LibraryException, NullPointerException;
    public static synchronized native H5O_info_t H5Oget_info_by_idx(int var0, String var1, int var2, int var3, long var4, int var6) throws HDF5LibraryException, NullPointerException;
    public static synchronized native H5O_info_t H5Oget_info_by_name(int var0, String var1, int var2) throws HDF5LibraryException, NullPointerException;
    public static synchronized native void H5Olink(int var0, int var1, String var2, int var3, int var4) throws HDF5LibraryException, NullPointerException;
    public static int H5Oopen(int var0, String var1, int var2) throws HDF5LibraryException, NullPointerException {
        int var3 = _H5Oopen(var0, var1, var2);
        if (var3 > 0) {
            log.trace("OPEN_IDS: H5Oopen add {}", var3);
            OPEN_IDS.add(var3);
            log.trace("OPEN_IDS: {}", OPEN_IDS.size());
        }
        return var3;
    }
    private static synchronized native int _H5Oopen(int var0, String var1, int var2) throws HDF5LibraryException, NullPointerException;
    public static synchronized native int H5Ovisit(int var0, int var1, int var2, H5O_iterate_cb var3, H5O_iterate_t var4) throws HDF5LibraryException, NullPointerException;
    public static synchronized native int H5Ovisit_by_name(int var0, String var1, int var2, int var3, H5O_iterate_cb var4, H5O_iterate_t var5, int var6) throws HDF5LibraryException, NullPointerException;
    public static synchronized native boolean H5Oexists_by_name(int var0, String var1, int var2) throws HDF5LibraryException, NullPointerException;
    public static synchronized native void H5Odecr_refcount(int var0) throws HDF5LibraryException;
    public static synchronized native void H5Oincr_refcount(int var0) throws HDF5LibraryException;
    public static int H5Oopen_by_addr(int var0, long var1) throws HDF5LibraryException {
        int var3 = _H5Oopen_by_addr(var0, var1);
        if (var3 > 0) {
            log.trace("OPEN_IDS: H5Oopen_by_addr add {}", var3);
            OPEN_IDS.add(var3);
            log.trace("OPEN_IDS: {}", OPEN_IDS.size());
        }
        return var3;
    }
    private static synchronized native int _H5Oopen_by_addr(int var0, long var1) throws HDF5LibraryException, NullPointerException;
    public static int H5Oopen_by_idx(int var0, String var1, int var2, int var3, long var4, int var6) throws HDF5LibraryException, NullPointerException {
        int var7 = _H5Oopen_by_idx(var0, var1, var2, var3, var4, var6);
        if (var7 > 0) {
            log.trace("OPEN_IDS: H5Oopen_by_idx add {}", var7);
            OPEN_IDS.add(var7);
            log.trace("OPEN_IDS: {}", OPEN_IDS.size());
        }
        return var7;
    }
    public static synchronized native int _H5Oopen_by_idx(int var0, String var1, int var2, int var3, long var4, int var6) throws HDF5LibraryException, NullPointerException;
    public static synchronized native String H5Pget_class_name(int var0) throws HDF5LibraryException;
    public static int H5Pcreate(int var0) throws HDF5LibraryException {
        int var1 = _H5Pcreate(var0);
        if (var1 > 0) {
            log.trace("OPEN_IDS: H5Pcreate add {}", var1);
            OPEN_IDS.add(var1);
            log.trace("OPEN_IDS: {}", OPEN_IDS.size());
        }
        return var1;
    }
    private static synchronized native int _H5Pcreate(int var0) throws HDF5LibraryException;
    public static synchronized native int H5Pget(int var0, String var1) throws HDF5LibraryException;
    public static synchronized native int H5Pset(int var0, String var1, int var2) throws HDF5LibraryException;
    public static synchronized native int H5Pexist(int var0, String var1) throws HDF5LibraryException;
    public static synchronized native long H5Pget_size(int var0, String var1) throws HDF5LibraryException;
    public static synchronized native long H5Pget_nprops(int var0) throws HDF5LibraryException;
    public static synchronized native int H5Pget_class(int var0) throws HDF5LibraryException;
    public static synchronized native int H5Pget_class_parent(int var0) throws HDF5LibraryException;
    public static synchronized native int H5Pequal(int var0, int var1) throws HDF5LibraryException;
    public static boolean H5P_equal(int var0, int var1) throws HDF5LibraryException {
        return H5Pequal(var0, var1) == 1;
    }
    public static synchronized native int H5Pisa_class(int var0, int var1) throws HDF5LibraryException;
    public static synchronized native int H5Pcopy_prop(int var0, int var1, String var2) throws HDF5LibraryException;
    public static synchronized native int H5Premove(int var0, String var1) throws HDF5LibraryException;
    public static synchronized native int H5Punregister(int var0, String var1) throws HDF5LibraryException;
    public static int H5Pclose_class(int var0) throws HDF5LibraryException {
        if (var0 < 0) {
            return 0;
        } else {
            log.trace("OPEN_IDS: H5Pclose_class remove {}", var0);
            OPEN_IDS.remove(var0);
            log.trace("OPEN_IDS: {}", OPEN_IDS.size());
            return _H5Pclose_class(var0);
        }
    }
    public static synchronized native int _H5Pclose_class(int var0) throws HDF5LibraryException;
    public static int H5Pclose(int var0) throws HDF5LibraryException {
        if (var0 < 0) {
            return 0;
        } else {
            log.trace("OPEN_IDS: H5Pclose remove {}", var0);
            OPEN_IDS.remove(var0);
            log.trace("OPEN_IDS: {}", OPEN_IDS.size());
            return _H5Pclose(var0);
        }
    }
    private static synchronized native int _H5Pclose(int var0) throws HDF5LibraryException;
    public static int H5Pcopy(int var0) throws HDF5LibraryException {
        int var1 = _H5Pcopy(var0);
        if (var1 > 0) {
            log.trace("OPEN_IDS: H5Pcopy add {}", var1);
            OPEN_IDS.add(var1);
            log.trace("OPEN_IDS: {}", OPEN_IDS.size());
        }
        return var1;
    }
    private static synchronized native int _H5Pcopy(int var0) throws HDF5LibraryException;
    public static int H5Pcreate_class_nocb(int var0, String var1) throws HDF5LibraryException {
        int var2 = _H5Pcreate_class_nocb(var0, var1);
        if (var2 > 0) {
            log.trace("OPEN_IDS: H5Pcreate_class_nocb add {}", var2);
            OPEN_IDS.add(var2);
            log.trace("OPEN_IDS: {}", OPEN_IDS.size());
        }
        return var2;
    }
    private static synchronized native int _H5Pcreate_class_nocb(int var0, String var1) throws HDF5LibraryException;
    public static synchronized native void H5Pregister2_nocb(int var0, String var1, long var2, byte[] var4) throws HDF5LibraryException;
    public static synchronized native void H5Pinsert2_nocb(int var0, String var1, long var2, byte[] var4) throws HDF5LibraryException;
    public static synchronized native int H5Piterate(int var0, int[] var1, H5P_iterate_cb var2, H5P_iterate_t var3) throws HDF5LibraryException;
    public static synchronized native int H5Pget_attr_phase_change(int var0, int[] var1) throws HDF5LibraryException, NullPointerException;
    public static synchronized native void H5Pset_attr_phase_change(int var0, int var1, int var2) throws HDF5LibraryException;
    public static synchronized native int H5Pget_attr_creation_order(int var0) throws HDF5LibraryException;
    public static synchronized native int H5Pset_attr_creation_order(int var0, int var1) throws HDF5LibraryException;
    public static synchronized native boolean H5Pget_obj_track_times(int var0) throws HDF5LibraryException;
    public static synchronized native void H5Pset_obj_track_times(int var0, boolean var1) throws HDF5LibraryException;
    public static synchronized native int H5Pmodify_filter(int var0, int var1, int var2, long var3, int[] var5) throws HDF5LibraryException, NullPointerException;
    public static synchronized native int H5Pset_filter(int var0, int var1, int var2, long var3, int[] var5) throws HDF5LibraryException;
    public static synchronized native int H5Pget_nfilters(int var0) throws HDF5LibraryException;
    /** @deprecated */
    @Deprecated
    public static synchronized native int H5Pget_filter(int var0, int var1, int[] var2, int[] var3, int[] var4, int var5, String[] var6) throws ArrayIndexOutOfBoundsException, ArrayStoreException, HDF5LibraryException, NullPointerException;
    public static int H5Pget_filter(int var0, int var1, int[] var2, long[] var3, int[] var4, long var5, String[] var7, int[] var8) throws ArrayIndexOutOfBoundsException, ArrayStoreException, HDF5LibraryException, NullPointerException {
        return H5Pget_filter2(var0, var1, var2, var3, var4, var5, var7, var8);
    }
    private static synchronized native int H5Pget_filter2(int var0, int var1, int[] var2, long[] var3, int[] var4, long var5, String[] var7, int[] var8) throws ArrayIndexOutOfBoundsException, ArrayStoreException, HDF5LibraryException, NullPointerException;
    /** @deprecated */
    @Deprecated
    public static synchronized native int H5Pget_filter_by_id(int var0, int var1, int[] var2, long[] var3, int[] var4, long var5, String[] var7) throws HDF5LibraryException, NullPointerException;
    public static int H5Pget_filter_by_id(int var0, int var1, int[] var2, long[] var3, int[] var4, long var5, String[] var7, int[] var8) throws ArrayIndexOutOfBoundsException, ArrayStoreException, HDF5LibraryException, NullPointerException {
        return H5Pget_filter_by_id2(var0, var1, var2, var3, var4, var5, var7, var8);
    }
    public static synchronized native int H5Pget_filter_by_id2(int var0, int var1, int[] var2, long[] var3, int[] var4, long var5, String[] var7, int[] var8) throws HDF5LibraryException, NullPointerException;
    public static synchronized native boolean H5Pall_filters_avail(int var0) throws HDF5LibraryException, NullPointerException;
    public static synchronized native int H5Premove_filter(int var0, int var1) throws HDF5LibraryException;
    public static synchronized native int H5Pset_deflate(int var0, int var1) throws HDF5LibraryException;
    public static synchronized native int H5Pset_fletcher32(int var0) throws HDF5LibraryException, NullPointerException;
    public static synchronized native int H5Pget_userblock(int var0, long[] var1) throws HDF5LibraryException, NullPointerException;
    public static synchronized native int H5Pset_userblock(int var0, long var1) throws HDF5LibraryException;
    public static synchronized native int H5Pget_sizes(int var0, long[] var1) throws HDF5LibraryException, NullPointerException, IllegalArgumentException;
    public static synchronized native int H5Pset_sizes(int var0, int var1, int var2) throws HDF5LibraryException;
    public static synchronized native int H5Pget_sym_k(int var0, int[] var1) throws HDF5LibraryException, NullPointerException, IllegalArgumentException;
    public static synchronized native int H5Pset_sym_k(int var0, int var1, int var2) throws HDF5LibraryException;
    public static synchronized native int H5Pget_istore_k(int var0, int[] var1) throws HDF5LibraryException, NullPointerException;
    public static synchronized native int H5Pset_istore_k(int var0, int var1) throws HDF5LibraryException;
    public static synchronized native int H5Pget_shared_mesg_nindexes(int var0) throws HDF5LibraryException;
    public static synchronized native int H5Pset_shared_mesg_nindexes(int var0, int var1) throws HDF5LibraryException, IllegalArgumentException;
    public static synchronized native int H5Pget_shared_mesg_index(int var0, int var1, int[] var2) throws HDF5LibraryException, NullPointerException, IllegalArgumentException;
    public static synchronized native int H5Pset_shared_mesg_index(int var0, int var1, int var2, int var3) throws HDF5LibraryException, IllegalArgumentException;
    public static synchronized native int H5Pget_shared_mesg_phase_change(int var0, int[] var1) throws HDF5LibraryException, NullPointerException;
    public static synchronized native int H5Pset_shared_mesg_phase_change(int var0, int var1, int var2) throws HDF5LibraryException, IllegalArgumentException;
    public static synchronized native int H5Pget_alignment(int var0, long[] var1) throws HDF5LibraryException, NullPointerException, IllegalArgumentException;
    public static synchronized native int H5Pset_alignment(int var0, long var1, long var3) throws HDF5LibraryException;
    public static synchronized native int H5Pget_driver(int var0) throws HDF5LibraryException;
    public static synchronized native long H5Pget_family_offset(int var0) throws HDF5LibraryException, NullPointerException;
    public static synchronized native int H5Pset_family_offset(int var0, long var1) throws HDF5LibraryException, NullPointerException;
    public static synchronized native int H5Pget_cache(int var0, int[] var1, long[] var2, long[] var3, double[] var4) throws HDF5LibraryException, NullPointerException;
    /** @deprecated */
    @Deprecated
    public static int H5Pget_cache(int var0, int[] var1, int[] var2, int[] var3, double[] var4) throws HDF5LibraryException, NullPointerException {
        long[] var5 = new long[]{(long)var2[0]};
        long[] var6 = new long[]{(long)var3[0]};
        int var7 = H5Pget_cache(var0, var1, var5, var6, var4);
        var2[0] = (int)var5[0];
        var3[0] = (int)var6[0];
        return var7;
    }
    public static synchronized native int H5Pset_cache(int var0, int var1, long var2, long var4, double var6) throws HDF5LibraryException;
    public static synchronized native H5AC_cache_config_t H5Pget_mdc_config(int var0) throws HDF5LibraryException;
    public static synchronized native void H5Pset_mdc_config(int var0, H5AC_cache_config_t var1) throws HDF5LibraryException;
    public static synchronized native int H5Pget_gc_references(int var0, boolean[] var1) throws HDF5LibraryException, NullPointerException;
    public static synchronized native boolean H5Pget_gcreferences(int var0) throws HDF5LibraryException;
    public static synchronized int H5Pget_gc_reference(int var0, boolean[] var1) throws HDF5LibraryException, NullPointerException {
        return H5Pget_gc_references(var0, var1);
    }
    public static synchronized native int H5Pset_gc_references(int var0, boolean var1) throws HDF5LibraryException;
    public static synchronized native int H5Pget_fclose_degree(int var0) throws HDF5LibraryException, NullPointerException;
    public static synchronized native int H5Pset_fclose_degree(int var0, int var1) throws HDF5LibraryException, NullPointerException;
    public static synchronized native long H5Pget_meta_block_size(int var0) throws HDF5LibraryException;
    public static synchronized native void H5Pset_meta_block_size(int var0, long var1) throws HDF5LibraryException;
    public static synchronized native long H5Pget_sieve_buf_size(int var0) throws HDF5LibraryException;
    public static synchronized native void H5Pset_sieve_buf_size(int var0, long var1) throws HDF5LibraryException;
    public static synchronized native int H5Pget_small_data_block_size(int var0, long[] var1) throws HDF5LibraryException, NullPointerException;
    public static synchronized native long H5Pget_small_data_block_size_long(int var0) throws HDF5LibraryException;
    public static synchronized native int H5Pset_small_data_block_size(int var0, long var1) throws HDF5LibraryException;
    public static synchronized native int H5Pget_libver_bounds(int var0, int[] var1) throws HDF5LibraryException, NullPointerException;
    public static synchronized native int H5Pset_libver_bounds(int var0, int var1, int var2) throws HDF5LibraryException, IllegalArgumentException;
    public static synchronized native int H5Pget_elink_file_cache_size(int var0) throws HDF5LibraryException;
    public static synchronized native void H5Pset_elink_file_cache_size(int var0, int var1) throws HDF5LibraryException;
    public static synchronized native int H5Pget_layout(int var0) throws HDF5LibraryException;
    public static synchronized native int H5Pset_layout(int var0, int var1) throws HDF5LibraryException;
    public static synchronized native int H5Pget_chunk(int var0, int var1, long[] var2) throws HDF5LibraryException, NullPointerException, IllegalArgumentException;
    public static synchronized native int H5Pset_chunk(int var0, int var1, byte[] var2) throws HDF5LibraryException, NullPointerException, IllegalArgumentException;
    public static synchronized int H5Pset_chunk(int var0, int var1, long[] var2) throws HDF5Exception, NullPointerException, IllegalArgumentException {
        if (var2 == null) {
            return -1;
        } else {
            HDFArray var3 = new HDFArray(var2);
            byte[] var4 = var3.byteify();
            int var5 = H5Pset_chunk(var0, var1, var4);
            Object var6 = null;
            var3 = null;
            return var5;
        }
    }
    public static synchronized native int H5Pget_external(int var0, int var1, long var2, String[] var4, long[] var5) throws ArrayIndexOutOfBoundsException, ArrayStoreException, HDF5LibraryException, NullPointerException, IllegalArgumentException;
    public static synchronized native int H5Pset_external(int var0, String var1, long var2, long var4) throws HDF5LibraryException, NullPointerException;
    public static synchronized native int H5Pget_external_count(int var0) throws HDF5LibraryException;
    public static synchronized native int H5Pset_szip(int var0, int var1, int var2) throws HDF5LibraryException, NullPointerException;
    public static synchronized native int H5Pset_shuffle(int var0) throws HDF5LibraryException, NullPointerException;
    public static synchronized native int H5Pset_nbit(int var0) throws HDF5LibraryException;
    public static synchronized native int H5Pset_scaleoffset(int var0, int var1, int var2) throws HDF5LibraryException, IllegalArgumentException;
    public static synchronized native int H5Pget_fill_value(int var0, int var1, byte[] var2) throws HDF5Exception;
    public static synchronized int H5Pget_fill_value(int var0, int var1, Object var2) throws HDF5Exception {
        HDFArray var3 = new HDFArray(var2);
        byte[] var4 = var3.emptyBytes();
        int var5 = H5Pget_fill_value(var0, var1, var4);
        if (var5 >= 0) {
            var3.arrayify(var4);
        }
        return var5;
    }
    public static synchronized native int H5Pset_fill_value(int var0, int var1, byte[] var2) throws HDF5Exception;
    public static synchronized int H5Pset_fill_value(int var0, int var1, Object var2) throws HDF5Exception {
        HDFArray var3 = new HDFArray(var2);
        byte[] var4 = var3.byteify();
        int var5 = H5Pset_fill_value(var0, var1, var4);
        Object var6 = null;
        var3 = null;
        return var5;
    }
    public static synchronized native int H5Pfill_value_defined(int var0, int[] var1) throws HDF5LibraryException, NullPointerException;
    public static synchronized native int H5Pget_alloc_time(int var0, int[] var1) throws HDF5LibraryException, NullPointerException;
    public static synchronized native int H5Pset_alloc_time(int var0, int var1) throws HDF5LibraryException, NullPointerException;
    public static synchronized native int H5Pget_fill_time(int var0, int[] var1) throws HDF5LibraryException, NullPointerException;
    public static synchronized native int H5Pset_fill_time(int var0, int var1) throws HDF5LibraryException, NullPointerException;
    public static synchronized native void H5Pget_chunk_cache(int var0, long[] var1, long[] var2, double[] var3) throws HDF5LibraryException, NullPointerException;
    public static synchronized native void H5Pset_chunk_cache(int var0, long var1, long var3, double var5) throws HDF5LibraryException;
    public static synchronized native long H5Pget_data_transform(int var0, String[] var1, long var2) throws HDF5LibraryException, IllegalArgumentException;
    public static synchronized native int H5Pset_data_transform(int var0, String var1) throws HDF5LibraryException, NullPointerException;
    public static synchronized native int H5Pget_buffer(int var0, byte[] var1, byte[] var2) throws HDF5LibraryException, IllegalArgumentException;
    public static synchronized native long H5Pget_buffer_size(int var0) throws HDF5LibraryException, IllegalArgumentException;
    public static synchronized native void H5Pset_buffer_size(int var0, long var1) throws HDF5LibraryException, IllegalArgumentException;
    public static synchronized native int H5Pget_edc_check(int var0) throws HDF5LibraryException, NullPointerException;
    public static synchronized native int H5Pset_edc_check(int var0, int var1) throws HDF5LibraryException, NullPointerException;
    public static synchronized native int H5Pget_btree_ratios(int var0, double[] var1, double[] var2, double[] var3) throws HDF5LibraryException, NullPointerException;
    public static synchronized native int H5Pset_btree_ratios(int var0, double var1, double var3, double var5) throws HDF5LibraryException;
    public static synchronized native int H5Pget_hyper_vector_size(int var0, long[] var1) throws HDF5LibraryException, NullPointerException;
    public static synchronized native int H5Pset_hyper_vector_size(int var0, long var1) throws HDF5LibraryException, NullPointerException;
    public static synchronized native boolean H5Pget_create_intermediate_group(int var0) throws HDF5LibraryException;
    public static synchronized native int H5Pset_create_intermediate_group(int var0, boolean var1) throws HDF5LibraryException;
    public static synchronized native long H5Pget_local_heap_size_hint(int var0) throws HDF5LibraryException;
    public static synchronized native int H5Pset_local_heap_size_hint(int var0, long var1) throws HDF5LibraryException;
    public static synchronized native int H5Pget_link_phase_change(int var0, int[] var1) throws HDF5LibraryException, NullPointerException;
    public static synchronized native int H5Pset_link_phase_change(int var0, int var1, int var2) throws HDF5LibraryException, IllegalArgumentException;
    public static synchronized native int H5Pget_est_link_info(int var0, int[] var1) throws HDF5LibraryException, NullPointerException;
    public static synchronized native int H5Pset_est_link_info(int var0, int var1, int var2) throws HDF5LibraryException, IllegalArgumentException;
    public static synchronized native int H5Pget_link_creation_order(int var0) throws HDF5LibraryException;
    public static synchronized native int H5Pset_link_creation_order(int var0, int var1) throws HDF5LibraryException;
    public static synchronized native int H5Pget_char_encoding(int var0) throws HDF5LibraryException;
    public static synchronized native void H5Pset_char_encoding(int var0, int var1) throws HDF5LibraryException;
    public static synchronized native long H5Pget_nlinks(int var0) throws HDF5LibraryException;
    public static synchronized native int H5Pset_nlinks(int var0, long var1) throws HDF5LibraryException, IllegalArgumentException;
    public static synchronized native long H5Pget_elink_prefix(int var0, String[] var1) throws HDF5LibraryException, NullPointerException;
    public static synchronized native int H5Pset_elink_prefix(int var0, String var1) throws HDF5LibraryException, NullPointerException;
    public static int H5Pget_elink_fapl(int var0) throws HDF5LibraryException {
        int var1 = _H5Pget_elink_fapl(var0);
        if (var1 > 0) {
            log.trace("OPEN_IDS: H5Pget_elink_fapl add {}", var1);
            OPEN_IDS.add(var1);
            log.trace("OPEN_IDS: {}", OPEN_IDS.size());
        }
        return var1;
    }
    private static synchronized native int _H5Pget_elink_fapl(int var0) throws HDF5LibraryException;
    public static synchronized native int H5Pset_elink_fapl(int var0, int var1) throws HDF5LibraryException;
    public static synchronized native int H5Pget_elink_acc_flags(int var0) throws HDF5LibraryException;
    public static synchronized native int H5Pset_elink_acc_flags(int var0, int var1) throws HDF5LibraryException, IllegalArgumentException;
    public static synchronized native int H5Pget_copy_object(int var0) throws HDF5LibraryException;
    public static synchronized native void H5Pset_copy_object(int var0, int var1) throws HDF5LibraryException;
    public static synchronized native int H5Pget_version(int var0, int[] var1) throws HDF5LibraryException, NullPointerException, IllegalArgumentException;
    public static synchronized native void H5Pget_fapl_core(int var0, long[] var1, boolean[] var2) throws HDF5LibraryException, NullPointerException;
    public static synchronized native int H5Pset_fapl_core(int var0, long var1, boolean var3) throws HDF5LibraryException, NullPointerException;
    public static synchronized native int H5Pget_fapl_direct(int var0, long[] var1) throws HDF5LibraryException;
    public static synchronized native int H5Pset_fapl_direct(int var0, long var1, long var3, long var5) throws HDF5LibraryException;
    public static synchronized native int H5Pget_fapl_family(int var0, long[] var1, int[] var2) throws HDF5LibraryException, NullPointerException;
    public static synchronized native int H5Pset_fapl_family(int var0, long var1, int var3) throws HDF5LibraryException, NullPointerException;
    public static synchronized native boolean H5Pget_fapl_multi(int var0, int[] var1, int[] var2, String[] var3, long[] var4) throws HDF5LibraryException, NullPointerException;
    public static synchronized native void H5Pset_fapl_multi(int var0, int[] var1, int[] var2, String[] var3, long[] var4, boolean var5) throws HDF5LibraryException, NullPointerException;
    /** @deprecated */
    @Deprecated
    public static synchronized native int H5Pget_preserve(int var0) throws HDF5LibraryException;
    /** @deprecated */
    @Deprecated
    public static synchronized native int H5Pset_preserve(int var0, boolean var1) throws HDF5LibraryException, IllegalArgumentException;
    /** @deprecated */
    @Deprecated
    public static int H5Pset_fapl_log(int var0, String var1, int var2, int var3) throws HDF5LibraryException, NullPointerException {
        H5Pset_fapl_log(var0, var1, (long)var2, (long)var3);
        return 1;
    }
    public static synchronized native void H5Pset_fapl_log(int var0, String var1, long var2, long var4) throws HDF5LibraryException, NullPointerException;
    public static synchronized native int H5Pset_fapl_sec2(int var0) throws HDF5LibraryException, NullPointerException;
    public static synchronized native void H5Pset_fapl_split(int var0, String var1, int var2, String var3, int var4) throws HDF5LibraryException, NullPointerException;
    public static synchronized native int H5Pset_fapl_stdio(int var0) throws HDF5LibraryException, NullPointerException;
    public static synchronized native int H5Pset_fapl_windows(int var0) throws HDF5LibraryException, NullPointerException;
    public static synchronized native void H5PLset_loading_state(int var0) throws HDF5LibraryException;
    public static synchronized native int H5PLget_loading_state() throws HDF5LibraryException;
    private static synchronized native int H5Rcreate(byte[] var0, int var1, String var2, int var3, int var4) throws HDF5LibraryException, NullPointerException, IllegalArgumentException;
    public static synchronized byte[] H5Rcreate(int var0, String var1, int var2, int var3) throws HDF5LibraryException, NullPointerException, IllegalArgumentException {
        byte var4 = 8;
        if (var2 == HDF5Constants.H5R_DATASET_REGION) {
            var4 = 12;
        }
        byte[] var5 = new byte[var4];
        H5Rcreate(var5, var0, var1, var2, var3);
        return var5;
    }
    public static int H5Rdereference(int var0, int var1, byte[] var2) throws HDF5LibraryException, NullPointerException, IllegalArgumentException {
        int var3 = _H5Rdereference(var0, var1, var2);
        if (var3 > 0) {
            log.trace("OPEN_IDS: H5Rdereference add {}", var3);
            OPEN_IDS.add(var3);
            log.trace("OPEN_IDS: {}", OPEN_IDS.size());
        }
        return var3;
    }
    private static synchronized native int _H5Rdereference(int var0, int var1, byte[] var2) throws HDF5LibraryException, NullPointerException, IllegalArgumentException;
    public static synchronized native long H5Rget_name(int var0, int var1, byte[] var2, String[] var3, long var4) throws HDF5LibraryException, NullPointerException, IllegalArgumentException;
    /** @deprecated */
    @Deprecated
    public static synchronized native int H5Rget_obj_type(int var0, int var1, byte[] var2) throws HDF5LibraryException, NullPointerException, IllegalArgumentException;
    public static int H5Rget_obj_type(int var0, int var1, byte[] var2, int[] var3) throws HDF5LibraryException, NullPointerException, IllegalArgumentException {
        return H5Rget_obj_type2(var0, var1, var2, var3);
    }
    private static synchronized native int H5Rget_obj_type2(int var0, int var1, byte[] var2, int[] var3) throws HDF5LibraryException, NullPointerException, IllegalArgumentException;
    public static int H5Rget_region(int var0, int var1, byte[] var2) throws HDF5LibraryException, NullPointerException, IllegalArgumentException {
        int var3 = _H5Rget_region(var0, var1, var2);
        if (var3 > 0) {
            log.trace("OPEN_IDS: H5Rget_region add {}", var3);
            OPEN_IDS.add(var3);
            log.trace("OPEN_IDS: {}", OPEN_IDS.size());
        }
        return var3;
    }
    private static synchronized native int _H5Rget_region(int var0, int var1, byte[] var2) throws HDF5LibraryException, NullPointerException, IllegalArgumentException;
    public static int H5Sclose(int var0) throws HDF5LibraryException {
        if (var0 < 0) {
            return 0;
        } else {
            log.trace("OPEN_IDS: H5Sclose remove {}", var0);
            OPEN_IDS.remove(var0);
            log.trace("OPEN_IDS: {}", OPEN_IDS.size());
            return _H5Sclose(var0);
        }
    }
    private static synchronized native int _H5Sclose(int var0) throws HDF5LibraryException;
    public static int H5Scopy(int var0) throws HDF5LibraryException {
        int var1 = _H5Scopy(var0);
        if (var1 > 0) {
            log.trace("OPEN_IDS: H5Scopy add {}", var1);
            OPEN_IDS.add(var1);
            log.trace("OPEN_IDS: {}", OPEN_IDS.size());
        }
        return var1;
    }
    private static synchronized native int _H5Scopy(int var0) throws HDF5LibraryException;
    public static int H5Screate(int var0) throws HDF5LibraryException {
        int var1 = _H5Screate(var0);
        if (var1 > 0) {
            log.trace("OPEN_IDS: H5Screate add {}", var1);
            OPEN_IDS.add(var1);
            log.trace("OPEN_IDS: {}", OPEN_IDS.size());
        }
        return var1;
    }
    private static synchronized native int _H5Screate(int var0) throws HDF5LibraryException;
    public static int H5Screate_simple(int var0, long[] var1, long[] var2) throws HDF5Exception, NullPointerException {
        int var3 = _H5Screate_simple(var0, var1, var2);
        if (var3 > 0) {
            log.trace("OPEN_IDS: H5Screate_simple add {}", var3);
            OPEN_IDS.add(var3);
            log.trace("OPEN_IDS: {}", OPEN_IDS.size());
        }
        return var3;
    }
    private static synchronized native int _H5Screate_simple(int var0, long[] var1, long[] var2) throws HDF5Exception, NullPointerException;
    /** @deprecated */
    @Deprecated
    public static int H5Screate_simple(int var0, byte[] var1, byte[] var2) throws HDF5Exception, NullPointerException {
        ByteBuffer var3 = ByteBuffer.wrap(var1);
        long[] var4 = var3.asLongBuffer().array();
        ByteBuffer var5 = ByteBuffer.wrap(var2);
        long[] var6 = var5.asLongBuffer().array();
        int var7 = _H5Screate_simple(var0, var4, var6);
        if (var7 > 0) {
            log.trace("OPEN_IDS: H5S add {}", var7);
            OPEN_IDS.add(var7);
            log.trace("OPEN_IDS: {}", OPEN_IDS.size());
        }
        return var7;
    }
    public static synchronized native int H5Sdecode(byte[] var0) throws HDF5LibraryException, NullPointerException;
    public static synchronized native byte[] H5Sencode(int var0) throws HDF5LibraryException, NullPointerException;
    public static synchronized native int H5Sextent_copy(int var0, int var1) throws HDF5LibraryException;
    public static synchronized native boolean H5Sextent_equal(int var0, int var1) throws HDF5LibraryException;
    public static synchronized native int H5Sget_select_bounds(int var0, long[] var1, long[] var2) throws HDF5LibraryException, NullPointerException;
    public static synchronized native long H5Sget_select_elem_npoints(int var0) throws HDF5LibraryException;
    public static synchronized native int H5Sget_select_elem_pointlist(int var0, long var1, long var3, long[] var5) throws HDF5LibraryException, NullPointerException;
    public static synchronized native int H5Sget_select_hyper_blocklist(int var0, long var1, long var3, long[] var5) throws HDF5LibraryException, NullPointerException;
    public static synchronized native long H5Sget_select_hyper_nblocks(int var0) throws HDF5LibraryException;
    public static synchronized native long H5Sget_select_npoints(int var0) throws HDF5LibraryException;
    public static synchronized native int H5Sget_select_type(int var0) throws HDF5LibraryException;
    public static synchronized native int H5Sget_simple_extent_dims(int var0, long[] var1, long[] var2) throws HDF5LibraryException, NullPointerException;
    public static synchronized native int H5Sget_simple_extent_ndims(int var0) throws HDF5LibraryException;
    public static synchronized native long H5Sget_simple_extent_npoints(int var0) throws HDF5LibraryException;
    public static synchronized native int H5Sget_simple_extent_type(int var0) throws HDF5LibraryException;
    public static synchronized native boolean H5Sis_simple(int var0) throws HDF5LibraryException;
    public static synchronized native int H5Soffset_simple(int var0, byte[] var1) throws HDF5LibraryException, NullPointerException;
    public static synchronized int H5Soffset_simple(int var0, long[] var1) throws HDF5Exception, NullPointerException {
        if (var1 == null) {
            return -1;
        } else {
            HDFArray var2 = new HDFArray(var1);
            byte[] var3 = var2.byteify();
            int var4 = H5Soffset_simple(var0, var3);
            Object var5 = null;
            var2 = null;
            return var4;
        }
    }
    public static synchronized native int H5Sselect_all(int var0) throws HDF5LibraryException;
    private static synchronized native int H5Sselect_elements(int var0, int var1, int var2, byte[] var3) throws HDF5LibraryException, NullPointerException;
    public static synchronized int H5Sselect_elements(int var0, int var1, int var2, long[][] var3) throws HDF5Exception, HDF5LibraryException, NullPointerException {
        if (var3 == null) {
            return -1;
        } else {
            HDFArray var4 = new HDFArray(var3);
            byte[] var5 = var4.byteify();
            int var6 = H5Sselect_elements(var0, var1, var2, var5);
            Object var7 = null;
            var4 = null;
            return var6;
        }
    }
    public static synchronized int H5Sselect_hyperslab(int var0, int var1, byte[] var2, byte[] var3, byte[] var4, byte[] var5) throws HDF5LibraryException, NullPointerException, IllegalArgumentException {
        ByteBuffer var6 = ByteBuffer.wrap(var2);
        long[] var7 = var6.asLongBuffer().array();
        ByteBuffer var8 = ByteBuffer.wrap(var3);
        long[] var9 = var8.asLongBuffer().array();
        ByteBuffer var10 = ByteBuffer.wrap(var4);
        long[] var11 = var10.asLongBuffer().array();
        ByteBuffer var12 = ByteBuffer.wrap(var5);
        long[] var13 = var12.asLongBuffer().array();
        return H5Sselect_hyperslab(var0, var1, var7, var9, var11, var13);
    }
    public static synchronized native int H5Sselect_hyperslab(int var0, int var1, long[] var2, long[] var3, long[] var4, long[] var5) throws HDF5LibraryException, NullPointerException, IllegalArgumentException;
    public static synchronized native int H5Sselect_none(int var0) throws HDF5LibraryException;
    public static synchronized native boolean H5Sselect_valid(int var0) throws HDF5LibraryException;
    public static synchronized native int H5Sset_extent_none(int var0) throws HDF5LibraryException;
    public static synchronized native int H5Sset_extent_simple(int var0, int var1, long[] var2, long[] var3) throws HDF5LibraryException, NullPointerException;
    public static synchronized int H5Sset_extent_simple(int var0, int var1, byte[] var2, byte[] var3) throws HDF5LibraryException, NullPointerException {
        ByteBuffer var4 = ByteBuffer.wrap(var2);
        long[] var5 = var4.asLongBuffer().array();
        ByteBuffer var6 = ByteBuffer.wrap(var3);
        long[] var7 = var6.asLongBuffer().array();
        return H5Sset_extent_simple(var0, var1, var5, var7);
    }
    /** @deprecated */
    @Deprecated
    public static int H5Tarray_create(int var0, int var1, int[] var2, int[] var3) throws HDF5LibraryException, NullPointerException {
        int var4 = _H5Tarray_create(var0, var1, var2, var3);
        if (var4 > 0) {
            log.trace("OPEN_IDS: H5T add {}", var4);
            OPEN_IDS.add(var4);
            log.trace("OPEN_IDS: {}", OPEN_IDS.size());
        }
        return var4;
    }
    private static synchronized native int _H5Tarray_create(int var0, int var1, int[] var2, int[] var3) throws HDF5LibraryException, NullPointerException;
    public static int H5Tarray_create(int var0, int var1, long[] var2) throws HDF5LibraryException, NullPointerException {
        int var3 = _H5Tarray_create2(var0, var1, var2);
        if (var3 > 0) {
            log.trace("OPEN_IDS: H5Tarray_create add {}", var3);
            OPEN_IDS.add(var3);
            log.trace("OPEN_IDS: {}", OPEN_IDS.size());
        }
        return var3;
    }
    private static synchronized native int _H5Tarray_create2(int var0, int var1, long[] var2) throws HDF5LibraryException, NullPointerException;
    public static int H5Tclose(int var0) throws HDF5LibraryException {
        if (var0 < 0) {
            return 0;
        } else {
            log.trace("OPEN_IDS: H5Tclose remove {}", var0);
            OPEN_IDS.remove(var0);
            log.trace("OPEN_IDS: {}", OPEN_IDS.size());
            return _H5Tclose(var0);
        }
    }
    private static synchronized native int _H5Tclose(int var0) throws HDF5LibraryException;
    /** @deprecated */
    @Deprecated
    public static int H5Tcommit(int var0, String var1, int var2) throws HDF5LibraryException, NullPointerException {
        return H5Tcommit1(var0, var1, var2);
    }
    /** @deprecated */
    @Deprecated
    public static synchronized native int H5Tcommit1(int var0, String var1, int var2) throws HDF5LibraryException, NullPointerException;
    public static synchronized native void H5Tcommit(int var0, String var1, int var2, int var3, int var4, int var5) throws HDF5LibraryException, NullPointerException;
    public static synchronized native void H5Tcommit_anon(int var0, int var1, int var2, int var3) throws HDF5LibraryException;
    public static synchronized native boolean H5Tcommitted(int var0) throws HDF5LibraryException;
    public static synchronized native void H5Tcompiler_conv(int var0, int var1) throws HDF5LibraryException;
    public static synchronized native void H5Tconvert(int var0, int var1, long var2, byte[] var4, byte[] var5, int var6) throws HDF5LibraryException, NullPointerException;
    public static int H5Tcopy(int var0) throws HDF5LibraryException {
        int var1 = _H5Tcopy(var0);
        if (var1 > 0) {
            log.trace("OPEN_IDS: H5Tcopy add {}", var1);
            OPEN_IDS.add(var1);
            log.trace("OPEN_IDS: {}", OPEN_IDS.size());
        }
        return var1;
    }
    private static synchronized native int _H5Tcopy(int var0) throws HDF5LibraryException;
    public static int H5Tcreate(int var0, int var1) throws HDF5LibraryException {
        return H5Tcreate(var0, (long)var1);
    }
    public static int H5Tcreate(int var0, long var1) throws HDF5LibraryException {
        int var3 = _H5Tcreate(var0, var1);
        if (var3 > 0) {
            log.trace("OPEN_IDS: H5Tcreate add {}", var3);
            OPEN_IDS.add(var3);
            log.trace("OPEN_IDS: {}", OPEN_IDS.size());
        }
        return var3;
    }
    private static synchronized native int _H5Tcreate(int var0, long var1) throws HDF5LibraryException;
    public static int H5Tdecode(byte[] var0) throws HDF5LibraryException, NullPointerException {
        int var1 = _H5Tdecode(var0);
        if (var1 > 0) {
            log.trace("OPEN_IDS: H5Tdecode add {}", var1);
            OPEN_IDS.add(var1);
            log.trace("OPEN_IDS: {}", OPEN_IDS.size());
        }
        return var1;
    }
    private static synchronized native int _H5Tdecode(byte[] var0) throws HDF5LibraryException, NullPointerException;
    public static synchronized native boolean H5Tdetect_class(int var0, int var1) throws HDF5LibraryException;
    public static synchronized native int H5Tencode(int var0, byte[] var1, long var2) throws HDF5LibraryException, NullPointerException;
    public static int H5Tenum_create(int var0) throws HDF5LibraryException {
        int var1 = _H5Tenum_create(var0);
        if (var1 > 0) {
            log.trace("OPEN_IDS: H5Tenum_create add {}", var1);
            OPEN_IDS.add(var1);
            log.trace("OPEN_IDS: {}", OPEN_IDS.size());
        }
        return var1;
    }
    private static synchronized native int _H5Tenum_create(int var0) throws HDF5LibraryException;
    public static synchronized native void H5Tenum_insert(int var0, String var1, byte[] var2) throws HDF5LibraryException, NullPointerException;
    public static int H5Tenum_insert(int var0, String var1, int[] var2) throws HDF5LibraryException, NullPointerException {
        return H5Tenum_insert_int(var0, var1, var2);
    }
    public static int H5Tenum_insert(int var0, String var1, int var2) throws HDF5LibraryException, NullPointerException {
        int[] var3 = new int[]{var2};
        return H5Tenum_insert_int(var0, var1, var3);
    }
    private static synchronized native int H5Tenum_insert_int(int var0, String var1, int[] var2) throws HDF5LibraryException, NullPointerException;
    public static synchronized native String H5Tenum_nameof(int var0, byte[] var1, long var2) throws HDF5LibraryException, NullPointerException;
    public static int H5Tenum_nameof(int var0, int[] var1, String[] var2, int var3) throws HDF5LibraryException, NullPointerException {
        return H5Tenum_nameof_int(var0, var1, var2, var3);
    }
    private static synchronized native int H5Tenum_nameof_int(int var0, int[] var1, String[] var2, int var3) throws HDF5LibraryException, NullPointerException;
    public static synchronized native void H5Tenum_valueof(int var0, String var1, byte[] var2) throws HDF5LibraryException, NullPointerException;
    public static int H5Tenum_valueof(int var0, String var1, int[] var2) throws HDF5LibraryException, NullPointerException {
        return H5Tenum_valueof_int(var0, var1, var2);
    }
    private static synchronized native int H5Tenum_valueof_int(int var0, String var1, int[] var2) throws HDF5LibraryException, NullPointerException;
    public static synchronized native boolean H5Tequal(int var0, int var1) throws HDF5LibraryException;
    /** @deprecated */
    @Deprecated
    public static synchronized native int H5Tget_array_dims(int var0, int[] var1, int[] var2) throws HDF5LibraryException, NullPointerException;
    /** @deprecated */
    @Deprecated
    public static int H5Tget_array_dims(int var0, long[] var1, int[] var2) throws HDF5LibraryException, NullPointerException {
        return H5Tget_array_dims1(var0, var1, var2);
    }
    /** @deprecated */
    @Deprecated
    private static synchronized native int H5Tget_array_dims1(int var0, long[] var1, int[] var2) throws HDF5LibraryException, NullPointerException;
    public static int H5Tget_array_dims(int var0, long[] var1) throws HDF5LibraryException, NullPointerException {
        return H5Tget_array_dims2(var0, var1);
    }
    public static synchronized native int H5Tget_array_dims2(int var0, long[] var1) throws HDF5LibraryException, NullPointerException;
    public static synchronized native int H5Tget_array_ndims(int var0) throws HDF5LibraryException;
    public static synchronized native int H5Tget_class(int var0) throws HDF5LibraryException;
    public static String H5Tget_class_name(int var0) {
        String var1 = null;
        if (HDF5Constants.H5T_INTEGER == var0) {
            var1 = "H5T_INTEGER";
        } else if (HDF5Constants.H5T_FLOAT == var0) {
            var1 = "H5T_FLOAT";
        } else if (HDF5Constants.H5T_TIME == var0) {
            var1 = "H5T_TIME";
        } else if (HDF5Constants.H5T_STRING == var0) {
            var1 = "H5T_STRING";
        } else if (HDF5Constants.H5T_BITFIELD == var0) {
            var1 = "H5T_BITFIELD";
        } else if (HDF5Constants.H5T_OPAQUE == var0) {
            var1 = "H5T_OPAQUE";
        } else if (HDF5Constants.H5T_COMPOUND == var0) {
            var1 = "H5T_COMPOUND";
        } else if (HDF5Constants.H5T_REFERENCE == var0) {
            var1 = "H5T_REFERENCE";
        } else if (HDF5Constants.H5T_ENUM == var0) {
            var1 = "H5T_ENUM";
        } else if (HDF5Constants.H5T_VLEN == var0) {
            var1 = "H5T_VLEN";
        } else if (HDF5Constants.H5T_ARRAY == var0) {
            var1 = "H5T_ARRAY";
        } else {
            var1 = "H5T_NO_CLASS";
        }
        return var1;
    }
    public static int H5Tget_create_plist(int var0) throws HDF5LibraryException {
        int var1 = _H5Tget_create_plist(var0);
        if (var1 > 0) {
            log.trace("OPEN_IDS: _H5Tget_create_plist add {}", var1);
            OPEN_IDS.add(var1);
            log.trace("OPEN_IDS: {}", OPEN_IDS.size());
        }
        return var1;
    }
    private static synchronized native int _H5Tget_create_plist(int var0) throws HDF5LibraryException;
    public static synchronized native int H5Tget_cset(int var0) throws HDF5LibraryException;
    public static synchronized native int H5Tset_cset(int var0, int var1) throws HDF5LibraryException;
    public static synchronized native int H5Tget_ebias(int var0) throws HDF5LibraryException;
    public static int H5Tset_ebias(int var0, int var1) throws HDF5LibraryException {
        H5Tset_ebias(var0, (long)var1);
        return 0;
    }
    public static synchronized native long H5Tget_ebias_long(int var0) throws HDF5LibraryException;
    public static synchronized native void H5Tset_ebias(int var0, long var1) throws HDF5LibraryException;
    public static synchronized native void H5Tget_fields(int var0, long[] var1) throws HDF5LibraryException, NullPointerException, IllegalArgumentException;
    public static int H5Tget_fields(int var0, int[] var1) throws HDF5LibraryException, NullPointerException, IllegalArgumentException {
        return H5Tget_fields_int(var0, var1);
    }
    private static synchronized native int H5Tget_fields_int(int var0, int[] var1) throws HDF5LibraryException, NullPointerException, IllegalArgumentException;
    public static synchronized native void H5Tset_fields(int var0, long var1, long var3, long var5, long var7, long var9) throws HDF5LibraryException;
    public static int H5Tset_fields(int var0, int var1, int var2, int var3, int var4, int var5) throws HDF5LibraryException {
        H5Tset_fields(var0, (long)var1, (long)var2, (long)var3, (long)var4, (long)var5);
        return 0;
    }
    public static synchronized native int H5Tget_inpad(int var0) throws HDF5LibraryException;
    public static synchronized native int H5Tset_inpad(int var0, int var1) throws HDF5LibraryException;
    public static synchronized native int H5Tget_member_class(int var0, int var1) throws HDF5LibraryException;
    public static synchronized native int H5Tget_member_index(int var0, String var1);
    public static synchronized native String H5Tget_member_name(int var0, int var1);
    public static synchronized native long H5Tget_member_offset(int var0, int var1) throws HDF5LibraryException;
    public static int H5Tget_member_type(int var0, int var1) throws HDF5LibraryException {
        int var2 = _H5Tget_member_type(var0, var1);
        if (var2 > 0) {
            log.trace("OPEN_IDS: H5Tget_member_type add {}", var2);
            OPEN_IDS.add(var2);
            log.trace("OPEN_IDS: {}", OPEN_IDS.size());
        }
        return var2;
    }
    private static synchronized native int _H5Tget_member_type(int var0, int var1) throws HDF5LibraryException;
    public static synchronized native void H5Tget_member_value(int var0, int var1, byte[] var2) throws HDF5LibraryException, NullPointerException;
    public static int H5Tget_member_value(int var0, int var1, int[] var2) throws HDF5LibraryException, NullPointerException {
        return H5Tget_member_value_int(var0, var1, var2);
    }
    private static synchronized native int H5Tget_member_value_int(int var0, int var1, int[] var2) throws HDF5LibraryException, NullPointerException;
    public static synchronized int H5Tget_native_type(int var0) throws HDF5LibraryException {
        return H5Tget_native_type(var0, HDF5Constants.H5T_DIR_ASCEND);
    }
    public static int H5Tget_native_type(int var0, int var1) throws HDF5LibraryException {
        int var2 = _H5Tget_native_type(var0, var1);
        if (var2 > 0) {
            log.trace("OPEN_IDS: H5Tget_native_type add {}", var2);
            OPEN_IDS.add(var2);
            log.trace("OPEN_IDS: {}", OPEN_IDS.size());
        }
        return var2;
    }
    private static synchronized native int _H5Tget_native_type(int var0, int var1) throws HDF5LibraryException;
    public static synchronized native int H5Tget_nmembers(int var0) throws HDF5LibraryException;
    public static synchronized native int H5Tget_norm(int var0) throws HDF5LibraryException;
    public static synchronized native int H5Tset_norm(int var0, int var1) throws HDF5LibraryException;
    public static synchronized native int H5Tget_offset(int var0) throws HDF5LibraryException;
    public static int H5Tset_offset(int var0, int var1) throws HDF5LibraryException {
        H5Tset_offset(var0, (long)var1);
        return 0;
    }
    public static synchronized native void H5Tset_offset(int var0, long var1) throws HDF5LibraryException;
    public static synchronized native int H5Tget_order(int var0) throws HDF5LibraryException;
    public static synchronized native int H5Tset_order(int var0, int var1) throws HDF5LibraryException;
    public static synchronized native int H5Tget_pad(int var0, int[] var1) throws HDF5LibraryException, NullPointerException;
    public static synchronized native int H5Tset_pad(int var0, int var1, int var2) throws HDF5LibraryException;
    public static synchronized native int H5Tget_precision(int var0) throws HDF5LibraryException;
    public static int H5Tset_precision(int var0, int var1) throws HDF5LibraryException {
        H5Tset_precision(var0, (long)var1);
        return 0;
    }
    public static synchronized native long H5Tget_precision_long(int var0) throws HDF5LibraryException;
    public static synchronized native void H5Tset_precision(int var0, long var1) throws HDF5LibraryException;
    public static synchronized native int H5Tget_sign(int var0) throws HDF5LibraryException;
    public static synchronized native int H5Tset_sign(int var0, int var1) throws HDF5LibraryException;
    public static synchronized native int H5Tget_size(int var0) throws HDF5LibraryException;
    public static int H5Tset_size(int var0, int var1) throws HDF5LibraryException {
        H5Tset_size(var0, (long)var1);
        return 0;
    }
    public static synchronized native long H5Tget_size_long(int var0) throws HDF5LibraryException;
    public static synchronized native void H5Tset_size(int var0, long var1) throws HDF5LibraryException;
    public static synchronized native int H5Tget_strpad(int var0) throws HDF5LibraryException;
    public static synchronized native int H5Tset_strpad(int var0, int var1) throws HDF5LibraryException;
    public static int H5Tget_super(int var0) throws HDF5LibraryException {
        int var1 = _H5Tget_super(var0);
        if (var1 > 0) {
            log.trace("OPEN_IDS: H5Tget_super add {}", var1);
            OPEN_IDS.add(var1);
            log.trace("OPEN_IDS: {}", OPEN_IDS.size());
        }
        return var1;
    }
    private static synchronized native int _H5Tget_super(int var0) throws HDF5LibraryException;
    public static synchronized native String H5Tget_tag(int var0) throws HDF5LibraryException;
    public static synchronized native int H5Tset_tag(int var0, String var1) throws HDF5LibraryException;
    public static synchronized native int H5Tinsert(int var0, String var1, long var2, int var4) throws HDF5LibraryException, NullPointerException;
    public static synchronized native boolean H5Tis_variable_str(int var0) throws HDF5LibraryException;
    public static synchronized native int H5Tlock(int var0) throws HDF5LibraryException;
    /** @deprecated */
    @Deprecated
    public static int H5Topen(int var0, String var1) throws HDF5LibraryException, NullPointerException {
        int var2 = _H5Topen(var0, var1);
        if (var2 > 0) {
            log.trace("OPEN_IDS: H5Topen add {}", var2);
            OPEN_IDS.add(var2);
            log.trace("OPEN_IDS: {}", OPEN_IDS.size());
        }
        return var2;
    }
    private static synchronized native int _H5Topen(int var0, String var1) throws HDF5LibraryException, NullPointerException;
    public static int H5Topen(int var0, String var1, int var2) throws HDF5LibraryException, NullPointerException {
        int var3 = _H5Topen2(var0, var1, var2);
        if (var3 > 0) {
            log.trace("OPEN_IDS: H5Topen add {}", var3);
            OPEN_IDS.add(var3);
            log.trace("OPEN_IDS: {}", OPEN_IDS.size());
        }
        return var3;
    }
    private static synchronized native int _H5Topen2(int var0, String var1, int var2) throws HDF5LibraryException, NullPointerException;
    public static synchronized native int H5Tpack(int var0) throws HDF5LibraryException;
    public static int H5Tvlen_create(int var0) throws HDF5LibraryException {
        int var1 = _H5Tvlen_create(var0);
        if (var1 > 0) {
            log.trace("OPEN_IDS: H5Tvlen_create add {}", var1);
            OPEN_IDS.add(var1);
            log.trace("OPEN_IDS: {}", OPEN_IDS.size());
        }
        return var1;
    }
    private static synchronized native int _H5Tvlen_create(int var0) throws HDF5LibraryException;
    public static synchronized native int H5Zfilter_avail(int var0) throws HDF5LibraryException, NullPointerException;
    public static synchronized native int H5Zget_filter_info(int var0) throws HDF5LibraryException;
    public static synchronized native int H5Zunregister(int var0) throws HDF5LibraryException, NullPointerException;
    static {
        loadH5Lib();
    }
}