620 lines
17 KiB
C
620 lines
17 KiB
C
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
|
|
* Copyright by The HDF Group. *
|
|
* Copyright by the Board of Trustees of the University of Illinois. *
|
|
* All rights reserved. *
|
|
* *
|
|
* This file is part of HDF5. The full HDF5 copyright notice, including *
|
|
* terms governing use, modification, and redistribution, is contained in *
|
|
* the files COPYING and Copyright.html. COPYING can be found at the root *
|
|
* of the source code distribution tree; Copyright.html can be found at the *
|
|
* root level of an installed copy of the electronic HDF5 document set and *
|
|
* is linked from the top-level documents page. It can also be found at *
|
|
* http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have *
|
|
* access to either file, you may request a copy from help@hdfgroup.org. *
|
|
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
|
|
|
/*
|
|
* For details of the HDF libraries, see the HDF Documentation at:
|
|
* http://hdfdfgroup.org/HDF5/doc/
|
|
*
|
|
*/
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif /* __cplusplus */
|
|
|
|
#include <jni.h>
|
|
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
#include "hdf5.h"
|
|
#include "h5fImp.h"
|
|
#include "h5util.h"
|
|
|
|
extern JavaVM *jvm;
|
|
extern jobject visit_callback;
|
|
|
|
/*
|
|
* Class: hdf_hdf5lib_H5
|
|
* Method: H5Fopen
|
|
* Signature: (Ljava/lang/String;IJ)J
|
|
*/
|
|
JNIEXPORT jlong JNICALL
|
|
Java_hdf_hdf5lib_H5__1H5Fopen
|
|
(JNIEnv *env, jclass clss, jstring name, jint flags, jlong access_id)
|
|
{
|
|
hid_t status = -1;
|
|
const char *fileName;
|
|
|
|
PIN_JAVA_STRING(name, fileName);
|
|
if (fileName != NULL) {
|
|
status = H5Fopen(fileName, (unsigned)flags, (hid_t)access_id );
|
|
|
|
UNPIN_JAVA_STRING(name, fileName);
|
|
|
|
if (status < 0)
|
|
h5libraryError(env);
|
|
}
|
|
|
|
return (jlong)status;
|
|
} /* end Java_hdf_hdf5lib_H5__1H5Fopen */
|
|
|
|
/*
|
|
* Class: hdf_hdf5lib_H5
|
|
* Method: H5Fcreate
|
|
* Signature: (Ljava/lang/String;IJJ)J
|
|
*/
|
|
JNIEXPORT jlong JNICALL
|
|
Java_hdf_hdf5lib_H5__1H5Fcreate
|
|
(JNIEnv *env, jclass clss, jstring name, jint flags, jlong create_id, jlong access_id)
|
|
{
|
|
hid_t status = -1;
|
|
const char *fileName;
|
|
|
|
PIN_JAVA_STRING(name, fileName);
|
|
if (fileName != NULL) {
|
|
status = H5Fcreate(fileName, (unsigned)flags, create_id, access_id);
|
|
|
|
UNPIN_JAVA_STRING(name, fileName);
|
|
|
|
if (status < 0)
|
|
h5libraryError(env);
|
|
}
|
|
|
|
return (jlong)status;
|
|
} /* end Java_hdf_hdf5lib_H5__1H5Fcreate */
|
|
|
|
/*
|
|
* Class: hdf_hdf5lib_H5
|
|
* Method: H5Fflush
|
|
* Signature: (JI)I
|
|
*/
|
|
JNIEXPORT jint JNICALL
|
|
Java_hdf_hdf5lib_H5_H5Fflush
|
|
(JNIEnv *env, jclass clss, jlong object_id, jint scope)
|
|
{
|
|
herr_t retVal = -1;
|
|
|
|
retVal = H5Fflush((hid_t)object_id, (H5F_scope_t)scope );
|
|
if (retVal < 0)
|
|
h5libraryError(env);
|
|
|
|
return (jint)retVal;
|
|
} /* end Java_hdf_hdf5lib_H5_H5Fflush */
|
|
|
|
/*
|
|
* Class: hdf_hdf5lib_H5
|
|
* Method: H5Fget_name
|
|
* Signature: (J)Ljava/lang/String;
|
|
*/
|
|
JNIEXPORT jstring JNICALL
|
|
Java_hdf_hdf5lib_H5_H5Fget_1name
|
|
(JNIEnv *env, jclass cls, jlong file_id)
|
|
{
|
|
char *namePtr;
|
|
jstring str = NULL;
|
|
ssize_t buf_size;
|
|
|
|
/* get the length of the name */
|
|
buf_size = H5Fget_name((hid_t)file_id, NULL, 0);
|
|
|
|
if (buf_size <= 0) {
|
|
h5badArgument(env, "H5Fget_name: buf_size <= 0");
|
|
} /* end if */
|
|
else {
|
|
buf_size++; /* add extra space for the null terminator */
|
|
namePtr = (char*)HDmalloc(sizeof(char) * (size_t)buf_size);
|
|
if (namePtr == NULL) {
|
|
h5outOfMemory(env, "H5Fget_name: malloc failed");
|
|
} /* end if */
|
|
else {
|
|
buf_size = H5Fget_name((hid_t)file_id, namePtr, (size_t)buf_size);
|
|
if (buf_size < 0) {
|
|
HDfree(namePtr);
|
|
h5libraryError(env);
|
|
} /* end if */
|
|
else {
|
|
str = ENVPTR->NewStringUTF(ENVPAR namePtr);
|
|
HDfree(namePtr);
|
|
}/* end else */
|
|
}/* end else */
|
|
}/* end else */
|
|
|
|
return str;
|
|
} /* end Java_hdf_hdf5lib_H5_H5Fget_1name */
|
|
|
|
/*
|
|
* Class: hdf_hdf5lib_H5
|
|
* Method: H5Fis_hdf5
|
|
* Signature: (Ljava/lang/String;)Z
|
|
*/
|
|
JNIEXPORT jboolean JNICALL
|
|
Java_hdf_hdf5lib_H5_H5Fis_1hdf5
|
|
(JNIEnv *env, jclass clss, jstring name)
|
|
{
|
|
htri_t bval = JNI_FALSE;
|
|
const char *fileName;
|
|
|
|
PIN_JAVA_STRING(name, fileName);
|
|
if (fileName != NULL) {
|
|
bval = H5Fis_hdf5(fileName);
|
|
|
|
UNPIN_JAVA_STRING(name, fileName);
|
|
|
|
if (bval > 0)
|
|
bval = JNI_TRUE;
|
|
else if (bval < 0)
|
|
h5libraryError(env);
|
|
}
|
|
|
|
return (jboolean)bval;
|
|
} /* end Java_hdf_hdf5lib_H5_H5Fis_1hdf5 */
|
|
|
|
/*
|
|
* Class: hdf_hdf5lib_H5
|
|
* Method: H5Fget_create_plist
|
|
* Signature: (J)J
|
|
*/
|
|
JNIEXPORT jlong JNICALL
|
|
Java_hdf_hdf5lib_H5__1H5Fget_1create_1plist
|
|
(JNIEnv *env, jclass clss, jlong file_id)
|
|
{
|
|
hid_t retVal = -1;
|
|
|
|
retVal = H5Fget_create_plist((hid_t)file_id );
|
|
if (retVal < 0)
|
|
h5libraryError(env);
|
|
|
|
return (jlong)retVal;
|
|
} /* end Java_hdf_hdf5lib_H5__1H5Fget_1create_1plist */
|
|
|
|
/*
|
|
* Class: hdf_hdf5lib_H5
|
|
* Method: H5Fget_access_plist
|
|
* Signature: (J)J
|
|
*/
|
|
JNIEXPORT jlong JNICALL
|
|
Java_hdf_hdf5lib_H5__1H5Fget_1access_1plist
|
|
(JNIEnv *env, jclass clss, jlong file_id)
|
|
{
|
|
hid_t retVal = -1;
|
|
|
|
retVal = H5Fget_access_plist((hid_t)file_id);
|
|
if (retVal < 0)
|
|
h5libraryError(env);
|
|
|
|
return (jlong)retVal;
|
|
} /* end Java_hdf_hdf5lib_H5__1H5Fget_1access_1plist */
|
|
|
|
/*
|
|
* Class: hdf_hdf5lib_H5
|
|
* Method: H5Fget_intent
|
|
* Signature: (J)I
|
|
*/
|
|
JNIEXPORT jint JNICALL
|
|
Java_hdf_hdf5lib_H5_H5Fget_1intent
|
|
(JNIEnv *env, jclass cls, jlong file_id)
|
|
{
|
|
unsigned intent = 0;
|
|
|
|
if (H5Fget_intent((hid_t)file_id, &intent) < 0)
|
|
h5libraryError(env);
|
|
|
|
return (jint)intent;
|
|
} /* end Java_hdf_hdf5lib_H5_H5Fget_1intent */
|
|
|
|
/*
|
|
* Class: hdf_hdf5lib_H5
|
|
* Method: H5Fclose
|
|
* Signature: (J)I
|
|
*/
|
|
JNIEXPORT jint JNICALL
|
|
Java_hdf_hdf5lib_H5__1H5Fclose
|
|
(JNIEnv *env, jclass clss, jlong file_id)
|
|
{
|
|
herr_t status = -1;
|
|
|
|
if (file_id > 0)
|
|
status = H5Fclose((hid_t)file_id );
|
|
|
|
if (status < 0)
|
|
h5libraryError(env);
|
|
|
|
return (jint)status;
|
|
} /* end Java_hdf_hdf5lib_H5__1H5Fclose */
|
|
|
|
/*
|
|
* Class: hdf_hdf5lib_H5
|
|
* Method: H5Fmount
|
|
* Signature: (JLjava/lang/String;JJ)I
|
|
*/
|
|
JNIEXPORT jint JNICALL
|
|
Java_hdf_hdf5lib_H5_H5Fmount
|
|
(JNIEnv *env, jclass clss, jlong loc_id, jstring name, jlong child_id, jlong plist_id)
|
|
{
|
|
herr_t status = -1;
|
|
const char *fileName;
|
|
|
|
PIN_JAVA_STRING(name, fileName);
|
|
if (fileName != NULL) {
|
|
status = H5Fmount((hid_t)loc_id, fileName, (hid_t)child_id, (hid_t)plist_id);
|
|
|
|
UNPIN_JAVA_STRING(name, fileName);
|
|
|
|
if (status < 0)
|
|
h5libraryError(env);
|
|
}
|
|
|
|
return (jint)status;
|
|
} /* end Java_hdf_hdf5lib_H5_H5Fmount */
|
|
|
|
/*
|
|
* Class: hdf_hdf5lib_H5
|
|
* Method: H5Funmount
|
|
* Signature: (JLjava/lang/String;)I
|
|
*/
|
|
JNIEXPORT jint JNICALL
|
|
Java_hdf_hdf5lib_H5_H5Funmount
|
|
(JNIEnv *env, jclass clss, jlong loc_id, jstring name)
|
|
{
|
|
herr_t status = -1;
|
|
const char *fileName;
|
|
|
|
PIN_JAVA_STRING(name, fileName);
|
|
if (fileName != NULL) {
|
|
status = H5Funmount((hid_t)loc_id, fileName);
|
|
|
|
UNPIN_JAVA_STRING(name, fileName);
|
|
|
|
if (status < 0)
|
|
h5libraryError(env);
|
|
}
|
|
|
|
return (jint)status;
|
|
} /* end Java_hdf_hdf5lib_H5_H5Funmount */
|
|
|
|
/*
|
|
* Class: hdf_hdf5lib_H5
|
|
* Method: H5Fget_freespace
|
|
* Signature: (J)J
|
|
*/
|
|
JNIEXPORT jlong JNICALL
|
|
Java_hdf_hdf5lib_H5_H5Fget_1freespace
|
|
(JNIEnv *env, jclass cls, jlong file_id)
|
|
{
|
|
hssize_t ret_val = H5Fget_freespace((hid_t)file_id);
|
|
|
|
if (ret_val < 0)
|
|
h5libraryError(env);
|
|
|
|
return (jlong)ret_val;
|
|
} /* end Java_hdf_hdf5lib_H5_H5Fget_1freespace */
|
|
|
|
/*
|
|
* Class: hdf_hdf5lib_H5
|
|
* Method: H5Freopen
|
|
* Signature: (J)J
|
|
*/
|
|
JNIEXPORT jlong JNICALL
|
|
Java_hdf_hdf5lib_H5__1H5Freopen
|
|
(JNIEnv *env, jclass clss, jlong file_id)
|
|
{
|
|
hid_t retVal = -1;
|
|
|
|
retVal = H5Freopen((hid_t)file_id);
|
|
if (retVal < 0)
|
|
h5libraryError(env);
|
|
|
|
return (jlong)retVal;
|
|
} /* end Java_hdf_hdf5lib_H5__1H5Freopen */
|
|
|
|
/*
|
|
* Class: hdf_hdf5lib_H5
|
|
* Method: H5Fget_obj_ids
|
|
* Signature: (JIJ[J)J
|
|
*/
|
|
JNIEXPORT jlong JNICALL
|
|
Java_hdf_hdf5lib_H5_H5Fget_1obj_1ids
|
|
(JNIEnv *env, jclass cls, jlong file_id, jint types, jlong maxObjs,
|
|
jlongArray obj_id_list)
|
|
{
|
|
ssize_t ret_val = -1;
|
|
jlong *obj_id_listP;
|
|
jboolean isCopy;
|
|
hid_t *id_list;
|
|
size_t rank;
|
|
size_t i;
|
|
|
|
if (obj_id_list == NULL) {
|
|
h5nullArgument(env, "H5Fget_obj_ids: obj_id_list is NULL");
|
|
} /* end if */
|
|
else {
|
|
obj_id_listP = ENVPTR->GetLongArrayElements(ENVPAR obj_id_list, &isCopy);
|
|
if (obj_id_listP == NULL) {
|
|
h5JNIFatalError(env, "H5Fget_obj_ids: obj_id_list not pinned");
|
|
} /* end if */
|
|
else {
|
|
rank = (size_t)ENVPTR->GetArrayLength(ENVPAR obj_id_list);
|
|
|
|
id_list = (hid_t *)HDmalloc(rank * sizeof(hid_t));
|
|
if (id_list == NULL) {
|
|
ENVPTR->ReleaseLongArrayElements(ENVPAR obj_id_list, obj_id_listP, JNI_ABORT);
|
|
h5JNIFatalError(env, "H5Fget_obj_ids: obj_id_list not converted to hid_t");
|
|
} /* end if */
|
|
else {
|
|
ret_val = H5Fget_obj_ids((hid_t)file_id, (unsigned int)types, (size_t)maxObjs, id_list);
|
|
|
|
if (ret_val < 0) {
|
|
ENVPTR->ReleaseLongArrayElements(ENVPAR obj_id_list, obj_id_listP, JNI_ABORT);
|
|
HDfree(id_list);
|
|
h5libraryError(env);
|
|
} /* end if */
|
|
else {
|
|
for (i = 0; i < rank; i++) {
|
|
obj_id_listP[i] = (jlong)id_list[i];
|
|
} /* end for */
|
|
HDfree(id_list);
|
|
ENVPTR->ReleaseLongArrayElements(ENVPAR obj_id_list, obj_id_listP, 0);
|
|
} /* end else */
|
|
} /* end else */
|
|
} /* end else */
|
|
} /* end else */
|
|
|
|
return (jlong)ret_val;
|
|
} /* end Java_hdf_hdf5lib_H5_H5Fget_1obj_1ids */
|
|
|
|
/*
|
|
* Class: hdf_hdf5lib_H5
|
|
* Method: H5Fget_obj_count
|
|
* Signature: (JI)J
|
|
*/
|
|
JNIEXPORT jlong JNICALL
|
|
Java_hdf_hdf5lib_H5_H5Fget_1obj_1count
|
|
(JNIEnv *env, jclass cls, jlong file_id, jint types)
|
|
{
|
|
ssize_t ret_val = H5Fget_obj_count((hid_t)file_id, (unsigned int)types);
|
|
|
|
if (ret_val < 0)
|
|
h5libraryError(env);
|
|
|
|
return (jlong)ret_val;
|
|
} /* end Java_hdf_hdf5lib_H5_H5Fget_1obj_1count_1long */
|
|
|
|
/*
|
|
* Class: hdf_hdf5lib_H5
|
|
* Method: H5Fget_filesize
|
|
* Signature: (J)J
|
|
*/
|
|
JNIEXPORT jlong JNICALL
|
|
Java_hdf_hdf5lib_H5_H5Fget_1filesize
|
|
(JNIEnv *env, jclass clss, jlong file_id)
|
|
{
|
|
hsize_t size = 0;
|
|
|
|
if (H5Fget_filesize ((hid_t)file_id, &size) < 0)
|
|
h5libraryError(env);
|
|
|
|
return (jlong) size;
|
|
} /* end Java_hdf_hdf5lib_H5_H5Fget_1filesize */
|
|
|
|
/*
|
|
* Class: hdf_hdf5lib_H5
|
|
* Method: H5Fget_mdc_hit_rate
|
|
* Signature: (J)D
|
|
*/
|
|
JNIEXPORT jdouble JNICALL
|
|
Java_hdf_hdf5lib_H5_H5Fget_1mdc_1hit_1rate
|
|
(JNIEnv *env, jclass cls, jlong file_id)
|
|
{
|
|
double rate = 0.0;
|
|
|
|
if (H5Fget_mdc_hit_rate((hid_t)file_id, &rate) < 0)
|
|
h5libraryError(env);
|
|
|
|
return (jdouble)rate;
|
|
} /* end Java_hdf_hdf5lib_H5_H5Fget_1mdc_1hit_1rate */
|
|
|
|
/*
|
|
* Class: hdf_hdf5lib_H5
|
|
* Method: H5Fget_mdc_size
|
|
* Signature: (J[J)I
|
|
*/
|
|
JNIEXPORT jint JNICALL
|
|
Java_hdf_hdf5lib_H5_H5Fget_1mdc_1size
|
|
(JNIEnv *env, jclass cls, jlong file_id, jlongArray metadata_cache)
|
|
{
|
|
jint size = 0;
|
|
jlong *metadata_cache_ptr;
|
|
size_t max_size = 0, min_clean_size = 0, cur_size = 0;
|
|
int cur_num_entries = -1;
|
|
jboolean isCopy;
|
|
|
|
if (metadata_cache == NULL) {
|
|
h5nullArgument(env, "H5Fget_mdc_size: metadata_cache is NULL");
|
|
} /* end if */
|
|
else {
|
|
size = (int)ENVPTR->GetArrayLength(ENVPAR metadata_cache);
|
|
if (size < 3) {
|
|
h5badArgument(env, "H5Fget_mdc_size: length of metadata_cache < 3.");
|
|
} /* end if */
|
|
else {
|
|
if (H5Fget_mdc_size((hid_t)file_id, &max_size, &min_clean_size, &cur_size, &cur_num_entries) < 0) {
|
|
h5libraryError(env);
|
|
} /* end if */
|
|
else {
|
|
metadata_cache_ptr = ENVPTR->GetLongArrayElements(ENVPAR metadata_cache, &isCopy);
|
|
metadata_cache_ptr[0] = (jlong)max_size;
|
|
metadata_cache_ptr[1] = (jlong)min_clean_size;
|
|
metadata_cache_ptr[2] = (jlong)cur_size;
|
|
ENVPTR->ReleaseLongArrayElements(ENVPAR metadata_cache, metadata_cache_ptr, 0);
|
|
} /* end else */
|
|
} /* end else */
|
|
} /* end else */
|
|
|
|
return (jint)cur_num_entries;
|
|
} /* end Java_hdf_hdf5lib_H5_H5Fget_1mdc_1size */
|
|
|
|
/*
|
|
* Class: hdf_hdf5lib_H5
|
|
* Method: H5Fget_info
|
|
* Signature: (J)Lhdf/hdf5lib/structs/H5F_info2_t;
|
|
*/
|
|
JNIEXPORT jobject JNICALL
|
|
Java_hdf_hdf5lib_H5_H5Fget_1info
|
|
(JNIEnv *env, jclass clss, jlong obj_id)
|
|
{
|
|
H5F_info2_t finfo;
|
|
jvalue args[9];
|
|
jobject ihinfobuf;
|
|
jobject ret_obj = NULL;
|
|
|
|
if (H5Fget_info2((hid_t)obj_id, &finfo) < 0) {
|
|
h5libraryError(env);
|
|
} /* end if */
|
|
else {
|
|
args[0].j = (jlong)finfo.sohm.msgs_info.index_size;
|
|
args[1].j = (jlong)finfo.sohm.msgs_info.heap_size;
|
|
CALL_CONSTRUCTOR("hdf/hdf5lib/structs/H5_ih_info_t", "(JJ)V", args);
|
|
ihinfobuf = ret_obj;
|
|
|
|
args[0].i = (jint)finfo.super.version;
|
|
args[1].j = (jlong)finfo.super.super_size;
|
|
args[2].j = (jlong)finfo.super.super_ext_size;
|
|
args[3].i = (jint)finfo.free.version;
|
|
args[4].j = (jlong)finfo.free.meta_size;
|
|
args[5].j = (jlong)finfo.free.tot_space;
|
|
args[6].j = (jint)finfo.sohm.version;
|
|
args[7].j = (jlong)finfo.sohm.hdr_size;
|
|
args[8].l = ihinfobuf;
|
|
CALL_CONSTRUCTOR("hdf/hdf5lib/structs/H5F_info2_t", "(IJJIJJIJLhdf/hdf5lib/structs/H5_ih_info_t;)V", args);
|
|
} /* end else */
|
|
return ret_obj;
|
|
} /* end Java_hdf_hdf5lib_H5_H5Fget_1info */
|
|
|
|
/*
|
|
* Class: hdf_hdf5lib_H5
|
|
* Method: H5Freset_mdc_hit_rate_stats
|
|
* Signature: (J)V
|
|
*/
|
|
JNIEXPORT void JNICALL
|
|
Java_hdf_hdf5lib_H5_H5Freset_1mdc_1hit_1rate_1stats
|
|
(JNIEnv *env, jclass cls, jlong file_id)
|
|
{
|
|
if (H5Freset_mdc_hit_rate_stats((hid_t)file_id) < 0)
|
|
h5libraryError(env);
|
|
} /* end Java_hdf_hdf5lib_H5_H5Freset_1mdc_1hit_1rate_1stats */
|
|
|
|
/*
|
|
* Class: hdf_hdf5lib_H5
|
|
* Method: H5Fclear_elink_file_cache
|
|
* Signature: (J)V
|
|
*/
|
|
JNIEXPORT void JNICALL
|
|
Java_hdf_hdf5lib_H5_H5Fclear_1elink_1file_1cache
|
|
(JNIEnv *env, jclass cls, jlong file_id)
|
|
{
|
|
if (H5Fclear_elink_file_cache((hid_t)file_id) < 0)
|
|
h5libraryError(env);
|
|
} /* end 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
|
|
*/
|
|
JNIEXPORT void JNICALL
|
|
Java_hdf_hdf5lib_H5_H5Fstart_1mdc_1logging
|
|
(JNIEnv *env, jclass cls, jlong file_id)
|
|
{
|
|
if (H5Fstart_mdc_logging((hid_t)file_id) < 0)
|
|
h5libraryError(env);
|
|
} /* end Java_hdf_hdf5lib_H5_H5Fstart_1mdc_1logging */
|
|
|
|
/*
|
|
* Class: hdf_hdf5lib_H5
|
|
* Method: H5Fstop_mdc_logging
|
|
* Signature: (J)V
|
|
*/
|
|
JNIEXPORT void JNICALL
|
|
Java_hdf_hdf5lib_H5_H5Fstop_1mdc_1logging
|
|
(JNIEnv *env, jclass cls, jlong file_id)
|
|
{
|
|
if (H5Fstop_mdc_logging((hid_t)file_id) < 0)
|
|
h5libraryError(env);
|
|
} /* end Java_hdf_hdf5lib_H5_H5Fstop_1mdc_1logging */
|
|
|
|
/*
|
|
* Class: hdf_hdf5lib_H5
|
|
* Method: H5Fget_mdc_logging_status
|
|
* Signature: (J[Z)V
|
|
*/
|
|
JNIEXPORT void JNICALL
|
|
Java_hdf_hdf5lib_H5_H5Fget_1mdc_1logging_1status
|
|
(JNIEnv *env, jclass cls, jlong file_id, jbooleanArray mdc_logging_status)
|
|
{
|
|
hbool_t is_enabled;
|
|
hbool_t is_currently_logging;
|
|
jboolean *mdc_logging_status_ptr;
|
|
jint size;
|
|
jboolean isCopy;
|
|
|
|
if (mdc_logging_status == NULL) {
|
|
h5nullArgument(env, "H5Fget_mdc_logging_status: mdc_logging_status is NULL");
|
|
} /* end if */
|
|
else {
|
|
size = (int)ENVPTR->GetArrayLength(ENVPAR mdc_logging_status);
|
|
if (size < 2) {
|
|
h5badArgument(env, "H5Fget_mdc_logging_status: length of mdc_logging_status < 2.");
|
|
} /* end if */
|
|
else {
|
|
if (H5Fget_mdc_logging_status((hid_t)file_id, &is_enabled, &is_currently_logging) < 0) {
|
|
h5libraryError(env);
|
|
} /* end if */
|
|
else {
|
|
mdc_logging_status_ptr = ENVPTR->GetBooleanArrayElements(ENVPAR mdc_logging_status, &isCopy);
|
|
mdc_logging_status_ptr[0] = (jboolean)is_enabled;
|
|
mdc_logging_status_ptr[1] = (jboolean)is_currently_logging;
|
|
ENVPTR->ReleaseBooleanArrayElements(ENVPAR mdc_logging_status, mdc_logging_status_ptr, 0);
|
|
} /* end else */
|
|
} /* end else */
|
|
} /* end else */
|
|
} /* end Java_hdf_hdf5lib_H5_H5Fget_1mdc_1logging_1status */
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
} /* end extern "C" */
|
|
#endif /* __cplusplus */
|