/* * Class: com_kenai_jffi_Foreign * Method: invokeArrayInt32 * Signature: (J[B)I */ JNIEXPORT jint JNICALL Java_com_kenai_jffi_Foreign_invokeArrayReturnInt(JNIEnv* env, jclass self, jlong ctxAddress, jbyteArray paramBuffer) { FFIValue retval; invokeArray(env, ctxAddress, paramBuffer, &retval); return_int(retval); }
/* * Class: com_kenai_jffi_Foreign * Method: invokeArrayReturnStruct * Signature: (J[B[B)V */ JNIEXPORT void JNICALL Java_com_kenai_jffi_Foreign_invokeArrayReturnStruct(JNIEnv* env, jclass self, jlong ctxAddress, jbyteArray paramBuffer, jbyteArray returnBuffer, jint offset) { Function* ctx = (Function *) j2p(ctxAddress); jbyte* retval = alloca_aligned(ctx->cif.rtype->size, MIN_ALIGN); invokeArray(env, ctxAddress, paramBuffer, retval); (*env)->SetByteArrayRegion(env, returnBuffer, offset, ctx->cif.rtype->size, retval); }