diff options
Diffstat (limited to 'java/src')
-rw-r--r-- | java/src/hdf/hdf5lib/H5.java | 11 | ||||
-rw-r--r-- | java/src/hdf/hdf5lib/HDF5Constants.java | 6 | ||||
-rw-r--r-- | java/src/jni/h5Constants.c | 4 | ||||
-rw-r--r-- | java/src/jni/h5fImp.c | 13 | ||||
-rw-r--r-- | java/src/jni/h5fImp.h | 9 |
5 files changed, 43 insertions, 0 deletions
diff --git a/java/src/hdf/hdf5lib/H5.java b/java/src/hdf/hdf5lib/H5.java index cd5793d..6b2af4b 100644 --- a/java/src/hdf/hdf5lib/H5.java +++ b/java/src/hdf/hdf5lib/H5.java @@ -2853,6 +2853,17 @@ public class H5 implements java.io.Serializable { public synchronized static native void H5Fclear_elink_file_cache(long file_id) throws HDF5LibraryException; /** + * H5Fstart_swmr_write will activate SWMR writing mode for a file associated with file_id. This routine will + * prepare and ensure the file is safe for SWMR writing. + * + * @param file_id + * IN: Identifier of the target file. + * + * @exception HDF5LibraryException + * - Error from the HDF-5 Library. + **/ + public synchronized static native void H5Fstart_swmr_write(long file_id) throws HDF5LibraryException; + /** * H5Fstart_mdc_logging starts logging metadata cache events if logging was previously enabled. * diff --git a/java/src/hdf/hdf5lib/HDF5Constants.java b/java/src/hdf/hdf5lib/HDF5Constants.java index 8089544..acd3eb5 100644 --- a/java/src/hdf/hdf5lib/HDF5Constants.java +++ b/java/src/hdf/hdf5lib/HDF5Constants.java @@ -201,6 +201,8 @@ public class HDF5Constants { public static final int H5F_ACC_RDWR = H5F_ACC_RDWR(); public static final int H5F_ACC_TRUNC = H5F_ACC_TRUNC(); public static final int H5F_ACC_DEFAULT = H5F_ACC_DEFAULT(); + public static final int H5F_ACC_SWMR_READ = H5F_ACC_SWMR_READ(); + public static final int H5F_ACC_SWMR_WRITE = H5F_ACC_SWMR_WRITE(); public static final int H5F_CLOSE_DEFAULT = H5F_CLOSE_DEFAULT(); public static final int H5F_CLOSE_SEMI = H5F_CLOSE_SEMI(); public static final int H5F_CLOSE_STRONG = H5F_CLOSE_STRONG(); @@ -984,6 +986,10 @@ public class HDF5Constants { private static native final int H5F_ACC_DEFAULT(); + private static native final int H5F_ACC_SWMR_READ(); + + private static native final int H5F_ACC_SWMR_WRITE(); + private static native final int H5F_CLOSE_DEFAULT(); private static native final int H5F_CLOSE_SEMI(); diff --git a/java/src/jni/h5Constants.c b/java/src/jni/h5Constants.c index ffde130..976a224 100644 --- a/java/src/jni/h5Constants.c +++ b/java/src/jni/h5Constants.c @@ -363,6 +363,10 @@ JNIEXPORT jint JNICALL Java_hdf_hdf5lib_HDF5Constants_H5F_1ACC_1TRUNC(JNIEnv *env, jclass cls) { return H5F_ACC_TRUNC; } JNIEXPORT jint JNICALL Java_hdf_hdf5lib_HDF5Constants_H5F_1ACC_1DEFAULT(JNIEnv *env, jclass cls) { return H5F_ACC_DEFAULT; } +JNIEXPORT jint JNICALL +Java_hdf_hdf5lib_HDF5Constants_H5F_1ACC_1SWMR_1READ(JNIEnv *env, jclass cls) { return H5F_ACC_SWMR_READ; } +JNIEXPORT jint JNICALL +Java_hdf_hdf5lib_HDF5Constants_H5F_1ACC_1SWMR_1WRITE(JNIEnv *env, jclass cls) { return H5F_ACC_SWMR_WRITE; } #pragma GCC diagnostic pop JNIEXPORT jint JNICALL diff --git a/java/src/jni/h5fImp.c b/java/src/jni/h5fImp.c index d4b3a3c..058ba26 100644 --- a/java/src/jni/h5fImp.c +++ b/java/src/jni/h5fImp.c @@ -538,6 +538,19 @@ Java_hdf_hdf5lib_H5_H5Fclear_1elink_1file_1cache /* * Class: hdf_hdf5lib_H5 + * Method: H5Fstart_swmr_write + * Signature: (J)V + */ +JNIEXPORT void JNICALL +Java_hdf_hdf5lib_H5_H5Fstart_1swmr_1write + (JNIEnv *env, jclass cls, jlong file_id) +{ + if (H5Fstart_swmr_write((hid_t)file_id) < 0) + h5libraryError(env); +} /* end Java_hdf_hdf5lib_H5_H5Fstart_1swmr_1write */ + +/* + * Class: hdf_hdf5lib_H5 * Method: H5Fstart_mdc_logging * Signature: (J)V */ diff --git a/java/src/jni/h5fImp.h b/java/src/jni/h5fImp.h index b88e491..7aff835 100644 --- a/java/src/jni/h5fImp.h +++ b/java/src/jni/h5fImp.h @@ -214,6 +214,15 @@ Java_hdf_hdf5lib_H5_H5Fclear_1elink_1file_1cache /* * Class: hdf_hdf5lib_H5 + * Method: H5Fstart_swmr_write + * Signature: (J)V + */ +JNIEXPORT void JNICALL +Java_hdf_hdf5lib_H5_H5Fstart_1swmr_1write + (JNIEnv *, jclass, jlong); + +/* + * Class: hdf_hdf5lib_H5 * Method: H5Fstart_mdc_logging * Signature: (J)V */ |