JNIEXPORT jobject JNICALL Java_mpi_Datatype_getAttr( JNIEnv *env, jobject jthis, jlong type, jint keyval) { int flag; void *val; int rc = MPI_Type_get_attr((MPI_Datatype)type, keyval, &val, &flag); if(ompi_java_exceptionCheck(env, rc) || !flag) return NULL; return ompi_java_attrGet(env, val); }
/* * Class: mpi_Win * Method: getAttr_predefined * Signature: (JI)Ljava/lang/Object; */ JNIEXPORT jobject JNICALL Java_mpi_Win_getAttr( JNIEnv *env, jobject jthis, jlong win, jint keyval) { int flag; void *val; int rc = MPI_Win_get_attr((MPI_Win)win, keyval, &val, &flag); if(ompi_java_exceptionCheck(env, rc) || !flag) return NULL; switch(keyval) { case MPI_WIN_SIZE: return ompi_java_Integer_valueOf(env, (jint)(*((MPI_Aint*)val))); case MPI_WIN_DISP_UNIT: return ompi_java_Integer_valueOf(env, (jint)(*((int*)val))); case MPI_WIN_BASE: return ompi_java_Long_valueOf(env, (jlong)val); default: return ompi_java_attrGet(env, val); } }