# HG changeset patch # User cslag # Date 1459296376 -7200 # Node ID 5b51738793c65b75b4f27cf760d2ed8165860e1c # Parent 3bfef07b0cd99999e296b1e21848db613aedc482 - layout restructuring diff -r 3bfef07b0cd9 -r 5b51738793c6 java/jdc/org/dyncall/DC.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/java/jdc/org/dyncall/DC.java Wed Mar 30 02:06:16 2016 +0200 @@ -0,0 +1,92 @@ +package org.dyncall; + +public class DC +{ + static + { + System.loadLibrary("jdc"); + } + + public static final int + // calling conventions + C_DEFAULT = 0 + , C_ELLIPSIS = 100 + , C_ELLIPSIS_VARARGS = 101 + , C_X86_CDECL = 1 + , C_X86_WIN32_STD = 2 + , C_X86_WIN32_FAST_MS = 3 + , C_X86_WIN32_FAST_GNU = 4 + , C_X86_WIN32_THIS_MS = 5 + , C_X86_WIN32_THIS_GNU = 6 + , C_X64_WIN64 = 7 + , C_X64_SYSV = 8 + , C_PPC32_DARWIN = 9 + , C_PPC32_OSX = 9 //C_PPC32_DARWIN /* alias */ + , C_ARM_ARM_EABI = 10 + , C_ARM_THUMB_EABI = 11 + , C_ARM_ARMHF = 30 + , C_MIPS32_EABI = 12 + , C_MIPS32_PSPSDK = 12 //C_MIPS32_EABI /* alias - deprecated. */ + , C_PPC32_SYSV = 13 + , C_PPC32_LINUX = 13 //C_PPC32_SYSV /* alias */ + , C_ARM_ARM = 14 + , C_ARM_THUMB = 15 + , C_MIPS32_O32 = 16 + , C_MIPS64_N32 = 17 + , C_MIPS64_N64 = 18 + , C_X86_PLAN9 = 19 + , C_SPARC32 = 20 + , C_SPARC64 = 21 + , C_ARM64 = 22 + , C_PPC64 = 23 + , C_PPC64_LINUX = 23 //C_PPC64 /* alias */ + , SYS_DEFAULT = 200 + , SYS_X86_INT80H_LINUX = 201 + , SYS_X86_INT80H_BSD = 202 + , SYS_PPC32 = 210 + , SYS_PPC64 = 211 + // error codes + , ERROR_NONE = 0 + , ERROR_UNSUPPORTED_MODE = -1 + ; + + public static native long newCallVM(int type, int size); + + public static native long load(String libname); + public static native long find(long libhandle, String symbol); + //public static native int symsCount(long libhandle); + //public static native String symsName (long libhandle, int index); + + public static native void reset(long vmhandle); + public static native void mode(long vmhandle, int mode); + + // Note that the function names mimic the C api, as C functions are called, + // meaning argChar takes a java byte (not char, as latter is 16 bit), argLongLong + // takes a java long (which is 64bit), etc.. + public static native void argBool (long vmhandle, boolean b); + public static native void argChar (long vmhandle, byte b); + public static native void argShort (long vmhandle, short s); + public static native void argInt (long vmhandle, int i); + public static native void argLong (long vmhandle, long l); + public static native void argLongLong(long vmhandle, long l); + public static native void argFloat (long vmhandle, float f); + public static native void argDouble (long vmhandle, double d); + public static native void argPointer (long vmhandle, long l); + public static native void argPointer (long vmhandle, Object o); + public static native void argString (long vmhandle, String s); + + public static native void callVoid (long vmhandle, long funcpointer); + public static native boolean callBool (long vmhandle, long funcpointer); + public static native byte callChar (long vmhandle, long funcpointer); + public static native short callShort (long vmhandle, long funcpointer); + public static native int callInt (long vmhandle, long funcpointer); + public static native long callLong (long vmhandle, long funcpointer); + public static native long callLongLong(long vmhandle, long funcpointer); + public static native float callFloat (long vmhandle, long funcpointer); + public static native double callDouble (long vmhandle, long funcpointer); + public static native long callPointer (long vmhandle, long funcpointer); + public static native String callString (long vmhandle, long funcpointer); + + public static native int getError(long vmhandle); +}; + diff -r 3bfef07b0cd9 -r 5b51738793c6 java/jdc/org_dyncall_DC.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/java/jdc/org_dyncall_DC.c Wed Mar 30 02:06:16 2016 +0200 @@ -0,0 +1,155 @@ +#include "org_dyncall_DC.h" +#include "dyncall.h" + +jlong JNICALL Java_org_dyncall_DC_newCallVM(JNIEnv *pEnv, jclass clazz, jint mode, jint size) +{ + return (jlong)dcNewCallVM(mode, size); +//@@@ free +} + +jlong JNICALL Java_org_dyncall_DC_load(JNIEnv *, jclass, jstring s) +{ + return dlLoadLibrary((const char*)s); +//@@@ free +} + +jlong JNICALL Java_org_dyncall_DC_find(JNIEnv *, jclass, jlong libhandle, jstring s) +{ + return dlFindSymbol((DLLib*)libhandle, (const char*)s); +} + +//jint JNICALL Java_org_dyncall_DC_symsCount(JNIEnv *, jclass, jlong symshandle) +//{ +// return dlSymsCount((DLSyms*)symshandle); +//} + +//jstring JNICALL Java_org_dyncall_DC_symsName(JNIEnv *, jclass, jlong symshandle, jint i) +//{ +// return dlSymsName((DLSyms*)symshandle, i); +//} + +void JNICALL Java_org_dyncall_DC_mode(JNIEnv *, jclass, jlong in_vm, jint i) +{ + dcMode((DCCallVM*)in_vm, i); +} + +void JNICALL Java_org_dyncall_DC_reset(JNIEnv *, jclass, jlong in_vm) +{ + dcReset((DCCallVM*)in_vm); +} + +void JNICALL Java_org_dyncall_DC_argBool(JNIEnv *, jclass, jlong in_vm, jboolean b) +{ + dcPushBool((DCCallVM*)in_vm, b); +} + +void JNICALL Java_org_dyncall_DC_argChar(JNIEnv *, jclass, jlong in_vm, jbyte b) +{ + dcPushChar((DCCallVM*)in_vm, b); +} + +void JNICALL Java_org_dyncall_DC_argShort(JNIEnv *, jclass, jlong in_vm, jshort s) +{ + dcPushShort((DCCallVM*)in_vm, s); +} + +void JNICALL Java_org_dyncall_DC_argInt(JNIEnv *, jclass, jlong in_vm, jint i) +{ + dcPushInt((DCCallVM*)in_vm, i); +} + +void JNICALL Java_org_dyncall_DC_argLong(JNIEnv *, jclass, jlong in_vm, jlong l) +{ + dcPushLong((DCCallVM*)in_vm, l); +} + +void JNICALL Java_org_dyncall_DC_argLongLong(JNIEnv *, jclass, jlong in_vm, jlong l) +{ + dcPushLongLong((DCCallVM*)in_vm, l); +} + +void JNICALL Java_org_dyncall_DC_argFloat(JNIEnv *, jclass, jlong in_vm, jfloat f) +{ + dcPushFloat((DCCallVM*)in_vm, f); +} + +void JNICALL Java_org_dyncall_DC_argDouble(JNIEnv *, jclass, jlong in_vm, jdouble d) +{ + dcPushDouble((DCCallVM*)in_vm, d); +} + +void JNICALL Java_org_dyncall_DC_argPointer__JJ(JNIEnv *, jclass, jlong in_vm, jlong l) +{ + dcPushPointer((DCCallVM*)in_vm, (DCpointer)l); +} + +void JNICALL Java_org_dyncall_DC_argPointer__JLjava_lang_Object_2(JNIEnv *, jclass, jlong in_vm, jobject o) +{ + dcPushPointer((DCCallVM*)in_vm, (DCpointer)o); +} + +void JNICALL Java_org_dyncall_DC_argString(JNIEnv *, jclass, jlong in_vm, jstring s) +{ + dcPushPointer((DCCallVM*)in_vm, (DCpointer)s); +} + +void JNICALL Java_org_dyncall_DC_callVoid (JNIEnv *, jclass, jlong in_vm, jlong in_target) +{ + dcCallVoid((DCCallVM*)in_vm, (DCpointer)target) +} + +jboolean JNICALL Java_org_dyncall_DC_callBool(JNIEnv *, jclass, jlong in_vm, jlong target) +{ + return dcCallBool((DCCallVM*)in_vm, (DCpointer)target) +} + +jbyte JNICALL Java_org_dyncall_DC_callChar(JNIEnv *, jclass, jlong in_vm, jlong target) +{ + return dcCallChar((DCCallVM*)in_vm, (DCpointer)target) +} + +jshort JNICALL Java_org_dyncall_DC_callShort(JNIEnv *, jclass, jlong in_vm, jlong target) +{ + return dcCallShort((DCCallVM*)in_vm, (DCpointer)target) +} + +jint JNICALL Java_org_dyncall_DC_callInt(JNIEnv *, jclass, jlong in_vm, jlong target) +{ + return dcCallInt((DCCallVM*)in_vm, (DCpointer)target) +} + +jlong JNICALL Java_org_dyncall_DC_callLong(JNIEnv *, jclass, jlong in_vm, jlong target) +{ + return dcCallLong((DCCallVM*)in_vm, (DCpointer)target) +} + +jlong JNICALL Java_org_dyncall_DC_callLongLong(JNIEnv *, jclass, jlong in_vm, jlong target) +{ + return dcCallLongLong((DCCallVM*)in_vm, (DCpointer)target) +} + +jfloat JNICALL Java_org_dyncall_DC_callFloat(JNIEnv *, jclass, jlong in_vm, jlong target) +{ + return dcCallFloat((DCCallVM*)in_vm, (DCpointer)target) +} + +jdouble JNICALL Java_org_dyncall_DC_callDouble(JNIEnv *, jclass, jlong in_vm, jlong target) +{ + return dcCallDouble((DCCallVM*)in_vm, (DCpointer)target) +} + +jlong JNICALL Java_org_dyncall_DC_callPointer(JNIEnv *, jclass, jlong in_vm, jlong target) +{ + return dcCallPointer((DCCallVM*)in_vm, (DCpointer)target) +} + +jstring JNICALL Java_org_dyncall_DC_callString(JNIEnv *, jclass, jlong in_vm, jlong target) +{ + return dcCallPointer((DCCallVM*)in_vm, (DCpointer)target) +} + +jint JNICALL Java_org_dyncall_DC_getError(JNIEnv *, jclass, jlong in_vm) +{ + return dcGetError((DCCallVM*)in_vm); +} + diff -r 3bfef07b0cd9 -r 5b51738793c6 java/jdc/src/org/dyncall/DC.java --- a/java/jdc/src/org/dyncall/DC.java Wed Mar 30 02:05:06 2016 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,92 +0,0 @@ -package org.dyncall; - -public class DC -{ - static - { - System.loadLibrary("jdc"); - } - - public static final int - // calling conventions - C_DEFAULT = 0 - , C_ELLIPSIS = 100 - , C_ELLIPSIS_VARARGS = 101 - , C_X86_CDECL = 1 - , C_X86_WIN32_STD = 2 - , C_X86_WIN32_FAST_MS = 3 - , C_X86_WIN32_FAST_GNU = 4 - , C_X86_WIN32_THIS_MS = 5 - , C_X86_WIN32_THIS_GNU = 6 - , C_X64_WIN64 = 7 - , C_X64_SYSV = 8 - , C_PPC32_DARWIN = 9 - , C_PPC32_OSX = 9 //C_PPC32_DARWIN /* alias */ - , C_ARM_ARM_EABI = 10 - , C_ARM_THUMB_EABI = 11 - , C_ARM_ARMHF = 30 - , C_MIPS32_EABI = 12 - , C_MIPS32_PSPSDK = 12 //C_MIPS32_EABI /* alias - deprecated. */ - , C_PPC32_SYSV = 13 - , C_PPC32_LINUX = 13 //C_PPC32_SYSV /* alias */ - , C_ARM_ARM = 14 - , C_ARM_THUMB = 15 - , C_MIPS32_O32 = 16 - , C_MIPS64_N32 = 17 - , C_MIPS64_N64 = 18 - , C_X86_PLAN9 = 19 - , C_SPARC32 = 20 - , C_SPARC64 = 21 - , C_ARM64 = 22 - , C_PPC64 = 23 - , C_PPC64_LINUX = 23 //C_PPC64 /* alias */ - , SYS_DEFAULT = 200 - , SYS_X86_INT80H_LINUX = 201 - , SYS_X86_INT80H_BSD = 202 - , SYS_PPC32 = 210 - , SYS_PPC64 = 211 - // error codes - , ERROR_NONE = 0 - , ERROR_UNSUPPORTED_MODE = -1 - ; - - public static native long newCallVM(int type, int size); - - public static native long load(String libname); - public static native long find(long libhandle, String symbol); - //public static native int symsCount(long libhandle); - //public static native String symsName (long libhandle, int index); - - public static native void reset(long vmhandle); - public static native void mode(long vmhandle, int mode); - - // Note that the function names mimic the C api, as C functions are called, - // meaning argChar takes a java byte (not char, as latter is 16 bit), argLongLong - // takes a java long (which is 64bit), etc.. - public static native void argBool (long vmhandle, boolean b); - public static native void argChar (long vmhandle, byte b); - public static native void argShort (long vmhandle, short s); - public static native void argInt (long vmhandle, int i); - public static native void argLong (long vmhandle, long l); - public static native void argLongLong(long vmhandle, long l); - public static native void argFloat (long vmhandle, float f); - public static native void argDouble (long vmhandle, double d); - public static native void argPointer (long vmhandle, long l); - public static native void argPointer (long vmhandle, Object o); - public static native void argString (long vmhandle, String s); - - public static native void callVoid (long vmhandle, long funcpointer); - public static native boolean callBool (long vmhandle, long funcpointer); - public static native byte callChar (long vmhandle, long funcpointer); - public static native short callShort (long vmhandle, long funcpointer); - public static native int callInt (long vmhandle, long funcpointer); - public static native long callLong (long vmhandle, long funcpointer); - public static native long callLongLong(long vmhandle, long funcpointer); - public static native float callFloat (long vmhandle, long funcpointer); - public static native double callDouble (long vmhandle, long funcpointer); - public static native long callPointer (long vmhandle, long funcpointer); - public static native String callString (long vmhandle, long funcpointer); - - public static native int getError(long vmhandle); -}; - diff -r 3bfef07b0cd9 -r 5b51738793c6 java/jdc/src/org_dyncall_DC.c --- a/java/jdc/src/org_dyncall_DC.c Wed Mar 30 02:05:06 2016 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,155 +0,0 @@ -#include "org_dyncall_DC.h" -#include "dyncall.h" - -jlong JNICALL Java_org_dyncall_DC_newCallVM(JNIEnv *pEnv, jclass clazz, jint mode, jint size) -{ - return (jlong)dcNewCallVM(mode, size); -//@@@ free -} - -jlong JNICALL Java_org_dyncall_DC_load(JNIEnv *, jclass, jstring s) -{ - return dlLoadLibrary((const char*)s); -//@@@ free -} - -jlong JNICALL Java_org_dyncall_DC_find(JNIEnv *, jclass, jlong libhandle, jstring s) -{ - return dlFindSymbol((DLLib*)libhandle, (const char*)s); -} - -//jint JNICALL Java_org_dyncall_DC_symsCount(JNIEnv *, jclass, jlong symshandle) -//{ -// return dlSymsCount((DLSyms*)symshandle); -//} - -//jstring JNICALL Java_org_dyncall_DC_symsName(JNIEnv *, jclass, jlong symshandle, jint i) -//{ -// return dlSymsName((DLSyms*)symshandle, i); -//} - -void JNICALL Java_org_dyncall_DC_mode(JNIEnv *, jclass, jlong in_vm, jint i) -{ - dcMode((DCCallVM*)in_vm, i); -} - -void JNICALL Java_org_dyncall_DC_reset(JNIEnv *, jclass, jlong in_vm) -{ - dcReset((DCCallVM*)in_vm); -} - -void JNICALL Java_org_dyncall_DC_argBool(JNIEnv *, jclass, jlong in_vm, jboolean b) -{ - dcPushBool((DCCallVM*)in_vm, b); -} - -void JNICALL Java_org_dyncall_DC_argChar(JNIEnv *, jclass, jlong in_vm, jbyte b) -{ - dcPushChar((DCCallVM*)in_vm, b); -} - -void JNICALL Java_org_dyncall_DC_argShort(JNIEnv *, jclass, jlong in_vm, jshort s) -{ - dcPushShort((DCCallVM*)in_vm, s); -} - -void JNICALL Java_org_dyncall_DC_argInt(JNIEnv *, jclass, jlong in_vm, jint i) -{ - dcPushInt((DCCallVM*)in_vm, i); -} - -void JNICALL Java_org_dyncall_DC_argLong(JNIEnv *, jclass, jlong in_vm, jlong l) -{ - dcPushLong((DCCallVM*)in_vm, l); -} - -void JNICALL Java_org_dyncall_DC_argLongLong(JNIEnv *, jclass, jlong in_vm, jlong l) -{ - dcPushLongLong((DCCallVM*)in_vm, l); -} - -void JNICALL Java_org_dyncall_DC_argFloat(JNIEnv *, jclass, jlong in_vm, jfloat f) -{ - dcPushFloat((DCCallVM*)in_vm, f); -} - -void JNICALL Java_org_dyncall_DC_argDouble(JNIEnv *, jclass, jlong in_vm, jdouble d) -{ - dcPushDouble((DCCallVM*)in_vm, d); -} - -void JNICALL Java_org_dyncall_DC_argPointer__JJ(JNIEnv *, jclass, jlong in_vm, jlong l) -{ - dcPushPointer((DCCallVM*)in_vm, (DCpointer)l); -} - -void JNICALL Java_org_dyncall_DC_argPointer__JLjava_lang_Object_2(JNIEnv *, jclass, jlong in_vm, jobject o) -{ - dcPushPointer((DCCallVM*)in_vm, (DCpointer)o); -} - -void JNICALL Java_org_dyncall_DC_argString(JNIEnv *, jclass, jlong in_vm, jstring s) -{ - dcPushPointer((DCCallVM*)in_vm, (DCpointer)s); -} - -void JNICALL Java_org_dyncall_DC_callVoid (JNIEnv *, jclass, jlong in_vm, jlong in_target) -{ - dcCallVoid((DCCallVM*)in_vm, (DCpointer)target) -} - -jboolean JNICALL Java_org_dyncall_DC_callBool(JNIEnv *, jclass, jlong in_vm, jlong target) -{ - return dcCallBool((DCCallVM*)in_vm, (DCpointer)target) -} - -jbyte JNICALL Java_org_dyncall_DC_callChar(JNIEnv *, jclass, jlong in_vm, jlong target) -{ - return dcCallChar((DCCallVM*)in_vm, (DCpointer)target) -} - -jshort JNICALL Java_org_dyncall_DC_callShort(JNIEnv *, jclass, jlong in_vm, jlong target) -{ - return dcCallShort((DCCallVM*)in_vm, (DCpointer)target) -} - -jint JNICALL Java_org_dyncall_DC_callInt(JNIEnv *, jclass, jlong in_vm, jlong target) -{ - return dcCallInt((DCCallVM*)in_vm, (DCpointer)target) -} - -jlong JNICALL Java_org_dyncall_DC_callLong(JNIEnv *, jclass, jlong in_vm, jlong target) -{ - return dcCallLong((DCCallVM*)in_vm, (DCpointer)target) -} - -jlong JNICALL Java_org_dyncall_DC_callLongLong(JNIEnv *, jclass, jlong in_vm, jlong target) -{ - return dcCallLongLong((DCCallVM*)in_vm, (DCpointer)target) -} - -jfloat JNICALL Java_org_dyncall_DC_callFloat(JNIEnv *, jclass, jlong in_vm, jlong target) -{ - return dcCallFloat((DCCallVM*)in_vm, (DCpointer)target) -} - -jdouble JNICALL Java_org_dyncall_DC_callDouble(JNIEnv *, jclass, jlong in_vm, jlong target) -{ - return dcCallDouble((DCCallVM*)in_vm, (DCpointer)target) -} - -jlong JNICALL Java_org_dyncall_DC_callPointer(JNIEnv *, jclass, jlong in_vm, jlong target) -{ - return dcCallPointer((DCCallVM*)in_vm, (DCpointer)target) -} - -jstring JNICALL Java_org_dyncall_DC_callString(JNIEnv *, jclass, jlong in_vm, jlong target) -{ - return dcCallPointer((DCCallVM*)in_vm, (DCpointer)target) -} - -jint JNICALL Java_org_dyncall_DC_getError(JNIEnv *, jclass, jlong in_vm) -{ - return dcGetError((DCCallVM*)in_vm); -} -