Mercurial > pub > dyncall > bindings
diff java/jdc/src/org_dyncall_DC.c @ 0:0cfcc391201f
initial from svn dyncall-1745
author | Daniel Adler |
---|---|
date | Thu, 19 Mar 2015 22:26:28 +0100 |
parents | |
children | 3bfef07b0cd9 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/java/jdc/src/org_dyncall_DC.c Thu Mar 19 22:26:28 2015 +0100 @@ -0,0 +1,112 @@ +#include "org_dyncall_DC.h" +#include "../../../../dyncall/dyncall.h" +jlong JNICALL Java_org_dyncall_DC_newCallVM + (JNIEnv *pEnv, jclass clazz, jint mode, jint size) +{ + return (jlong) dcNewCallVM(mode,size); +} + +void JNICALL Java_org_dyncall_DC_reset (JNIEnv *, jclass, jlong vm) +{ + DCCallVM* vm = (DCCallVM*) in_vm; + dcReset(vm); +} + +void JNICALL Java_org_dyncall_DC_argBool(JNIEnv *, jclass, jlong vm, jboolean b) +{ + DCCallVM* vm = (DCCallVM*) in_vm; + dcPushBool(vm,b); +} + +void JNICALL Java_org_dyncall_DC_argByte (JNIEnv *, jclass, jlong in_vm, jbyte b) +{ + DCCallVM* vm = (DCCallVM*) in_vm; + dcPushChar(vm,b); +} +void JNICALL Java_org_dyncall_DC_argShort(JNIEnv *, jclass, jlong in_vm, jshort s) +{ + DCCallVM* vm = (DCCallVM*) in_vm; + dcPushShort(vm,s); +} + +void JNICALL Java_org_dyncall_DC_argInt(JNIEnv *, jclass, jlong in_vm, jint i) +{ + DCCallVM* vm = (DCCallVM*) in_vm; + dcPushInt(vm,i); + +} +void JNICALL Java_org_dyncall_DC_argLong (JNIEnv *, jclass, jlong in_vm, jlong l) +{ + DCCallVM* vm = (DCCallVM*) in_vm; + dcPushLong(vm,l); +} + +void JNICALL Java_org_dyncall_DC_argChar(JNIEnv *, jclass, jlong in_vm, jchar c) +{ + DCCallVM* vm = (DCCallVM*) in_vm; + dcPushChar(vm,c); +} + +void JNICALL Java_org_dyncall_DC_argFloat(JNIEnv *, jclass, jlong in_vm, jfloat f) +{ + DCCallVM* vm = (DCCallVM*) in_vm; + dcPushFloat(vm,f); +} + +void JNICALL Java_org_dyncall_DC_argDouble(JNIEnv *, jclass, jlong in_vm, jdouble d) +{ + DCCallVM* vm = (DCCallVM*) in_vm; + dcPushDouble(vm,d); +} + +void JNICALL Java_org_dyncall_DC_argPointer__JJ(JNIEnv *, jclass, jlong in_vm, jlong l) +{ + DCCallVM* vm = (DCCallVM*) in_vm; + dcPushPointer(vm, (DCpointer) l ); +} + +void JNICALL Java_org_dyncall_DC_argPointer__JLjava_lang_Object_2(JNIEnv *, jclass, jlong in_vm, jobject o) +{ + DCCallVM* vm = (DCCallVM*) in_vm; + dcPushPointer(vm, (DCpointer) o ); +} + +void JNICALL Java_org_dyncall_DC_argString(JNIEnv *, jclass, jlong, jstring) +{ + DCCallVM* vm = (DCCallVM*) in_vm; + dcPushPointer(vm, (DCpointer) o ); +} + +void JNICALL Java_org_dyncall_DC_callVoid (JNIEnv *, jclass, jlong in_vm, jlong in_target) +{ + DCCallVM* vm = (DCCallVM*) in_vm; + dcCallVoid(vm, (DCpointer) target) +} + +/* + * Class: org_dyncall_DC + * Method: callBoolean + * Signature: (JJ)Z + */ +jboolean JNICALL Java_org_dyncall_DC_callBoolean(JNIEnv *, jclass, jlong in_vm, jlong target) +{ + DCCallVM* vm = (DCCallVM*) in_vm; + dcCallBoolean(vm, (DCpointer) target) +} + +/* + * Class: org_dyncall_DC + * Method: callInt + * Signature: (JJ)I + */ +JNIEXPORT jint JNICALL Java_org_dyncall_DC_callInt + (JNIEnv *, jclass, jlong, jlong); + +/* + * Class: org_dyncall_DC + * Method: callLong + * Signature: (JJ)J + */ +JNIEXPORT jlong JNICALL Java_org_dyncall_DC_callLong + (JNIEnv *, jclass, jlong, jlong); +