public static extern herr_t get_object_flush_cb (hid_t fapl_id, ref H5F.flush_cb_t func, ref IntPtr udata);
public static extern herr_t get_fclose_degree (hid_t fapl_id, ref H5F.close_degree_t fc_degree);
public static extern herr_t get_libver_bounds (hid_t fapl_id, ref H5F.libver_t libver_low, ref H5F.libver_t libver_high);
public extern static herr_t get_info (hid_t obj_id, ref H5F.info_t bh_info);
/// <summary> /// Create a temporary HDF5 file IN MEMORY and return its name and /// a file handle. /// </summary> public static hid_t H5TempFile(ref string fileName, H5F.libver_t version = H5F.libver_t.LATEST, bool backing_store = false) { hid_t fapl = H5P.create(H5P.FILE_ACCESS); if (fapl < 0) { throw new ApplicationException("H5P.create failed."); } if (H5P.set_libver_bounds(fapl, version) < 0) { throw new ApplicationException("H5P.set_libver_bounds failed."); } // use the core VFD, 64K increments, no backing store if (H5P.set_fapl_core(fapl, new IntPtr(65536), (uint) (backing_store ? 1 : 0)) < 0) { throw new ApplicationException("H5P.set_fapl_core failed."); } fileName = Path.GetTempFileName(); hid_t file = H5F.create(fileName, H5F.ACC_TRUNC, H5P.DEFAULT, fapl); if (file < 0) { throw new ApplicationException("H5F.create failed."); } if (H5P.close(fapl) < 0) { throw new ApplicationException("H5P.close failed."); } return file; }
public static extern herr_t get_file_space (hid_t fcpl, ref H5F.file_space_type_t strategy, ref hsize_t threshold);
public static extern herr_t set_object_flush_cb (hid_t plist_id, H5F.flush_cb_t func, IntPtr udata);
public static extern herr_t set_libver_bounds (hid_t plist, H5F.libver_t low = H5F.libver_t.EARLIEST, H5F.libver_t high = H5F.libver_t.LATEST);
public static extern herr_t set_file_space (hid_t fcpl, H5F.file_space_type_t strategy, hsize_t threshold = 1);