annotate java/jdc/src/org/dyncall/DC.java @ 18:3bfef07b0cd9

- cleanup of non-working java binding, restart work, somewhat different interface
author cslag
date Wed, 30 Mar 2016 02:05:06 +0200
parents 0cfcc391201f
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
1 package org.dyncall;
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
2
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
3 public class DC
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
4 {
18
3bfef07b0cd9 - cleanup of non-working java binding, restart work, somewhat different interface
cslag
parents: 0
diff changeset
5 static
0
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
6 {
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
7 System.loadLibrary("jdc");
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
8 }
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
9
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
10 public static final int
18
3bfef07b0cd9 - cleanup of non-working java binding, restart work, somewhat different interface
cslag
parents: 0
diff changeset
11 // calling conventions
3bfef07b0cd9 - cleanup of non-working java binding, restart work, somewhat different interface
cslag
parents: 0
diff changeset
12 C_DEFAULT = 0
3bfef07b0cd9 - cleanup of non-working java binding, restart work, somewhat different interface
cslag
parents: 0
diff changeset
13 , C_ELLIPSIS = 100
3bfef07b0cd9 - cleanup of non-working java binding, restart work, somewhat different interface
cslag
parents: 0
diff changeset
14 , C_ELLIPSIS_VARARGS = 101
3bfef07b0cd9 - cleanup of non-working java binding, restart work, somewhat different interface
cslag
parents: 0
diff changeset
15 , C_X86_CDECL = 1
3bfef07b0cd9 - cleanup of non-working java binding, restart work, somewhat different interface
cslag
parents: 0
diff changeset
16 , C_X86_WIN32_STD = 2
3bfef07b0cd9 - cleanup of non-working java binding, restart work, somewhat different interface
cslag
parents: 0
diff changeset
17 , C_X86_WIN32_FAST_MS = 3
3bfef07b0cd9 - cleanup of non-working java binding, restart work, somewhat different interface
cslag
parents: 0
diff changeset
18 , C_X86_WIN32_FAST_GNU = 4
3bfef07b0cd9 - cleanup of non-working java binding, restart work, somewhat different interface
cslag
parents: 0
diff changeset
19 , C_X86_WIN32_THIS_MS = 5
3bfef07b0cd9 - cleanup of non-working java binding, restart work, somewhat different interface
cslag
parents: 0
diff changeset
20 , C_X86_WIN32_THIS_GNU = 6
3bfef07b0cd9 - cleanup of non-working java binding, restart work, somewhat different interface
cslag
parents: 0
diff changeset
21 , C_X64_WIN64 = 7
3bfef07b0cd9 - cleanup of non-working java binding, restart work, somewhat different interface
cslag
parents: 0
diff changeset
22 , C_X64_SYSV = 8
3bfef07b0cd9 - cleanup of non-working java binding, restart work, somewhat different interface
cslag
parents: 0
diff changeset
23 , C_PPC32_DARWIN = 9
3bfef07b0cd9 - cleanup of non-working java binding, restart work, somewhat different interface
cslag
parents: 0
diff changeset
24 , C_PPC32_OSX = 9 //C_PPC32_DARWIN /* alias */
3bfef07b0cd9 - cleanup of non-working java binding, restart work, somewhat different interface
cslag
parents: 0
diff changeset
25 , C_ARM_ARM_EABI = 10
3bfef07b0cd9 - cleanup of non-working java binding, restart work, somewhat different interface
cslag
parents: 0
diff changeset
26 , C_ARM_THUMB_EABI = 11
3bfef07b0cd9 - cleanup of non-working java binding, restart work, somewhat different interface
cslag
parents: 0
diff changeset
27 , C_ARM_ARMHF = 30
3bfef07b0cd9 - cleanup of non-working java binding, restart work, somewhat different interface
cslag
parents: 0
diff changeset
28 , C_MIPS32_EABI = 12
3bfef07b0cd9 - cleanup of non-working java binding, restart work, somewhat different interface
cslag
parents: 0
diff changeset
29 , C_MIPS32_PSPSDK = 12 //C_MIPS32_EABI /* alias - deprecated. */
3bfef07b0cd9 - cleanup of non-working java binding, restart work, somewhat different interface
cslag
parents: 0
diff changeset
30 , C_PPC32_SYSV = 13
3bfef07b0cd9 - cleanup of non-working java binding, restart work, somewhat different interface
cslag
parents: 0
diff changeset
31 , C_PPC32_LINUX = 13 //C_PPC32_SYSV /* alias */
3bfef07b0cd9 - cleanup of non-working java binding, restart work, somewhat different interface
cslag
parents: 0
diff changeset
32 , C_ARM_ARM = 14
3bfef07b0cd9 - cleanup of non-working java binding, restart work, somewhat different interface
cslag
parents: 0
diff changeset
33 , C_ARM_THUMB = 15
3bfef07b0cd9 - cleanup of non-working java binding, restart work, somewhat different interface
cslag
parents: 0
diff changeset
34 , C_MIPS32_O32 = 16
3bfef07b0cd9 - cleanup of non-working java binding, restart work, somewhat different interface
cslag
parents: 0
diff changeset
35 , C_MIPS64_N32 = 17
3bfef07b0cd9 - cleanup of non-working java binding, restart work, somewhat different interface
cslag
parents: 0
diff changeset
36 , C_MIPS64_N64 = 18
3bfef07b0cd9 - cleanup of non-working java binding, restart work, somewhat different interface
cslag
parents: 0
diff changeset
37 , C_X86_PLAN9 = 19
3bfef07b0cd9 - cleanup of non-working java binding, restart work, somewhat different interface
cslag
parents: 0
diff changeset
38 , C_SPARC32 = 20
3bfef07b0cd9 - cleanup of non-working java binding, restart work, somewhat different interface
cslag
parents: 0
diff changeset
39 , C_SPARC64 = 21
3bfef07b0cd9 - cleanup of non-working java binding, restart work, somewhat different interface
cslag
parents: 0
diff changeset
40 , C_ARM64 = 22
3bfef07b0cd9 - cleanup of non-working java binding, restart work, somewhat different interface
cslag
parents: 0
diff changeset
41 , C_PPC64 = 23
3bfef07b0cd9 - cleanup of non-working java binding, restart work, somewhat different interface
cslag
parents: 0
diff changeset
42 , C_PPC64_LINUX = 23 //C_PPC64 /* alias */
3bfef07b0cd9 - cleanup of non-working java binding, restart work, somewhat different interface
cslag
parents: 0
diff changeset
43 , SYS_DEFAULT = 200
3bfef07b0cd9 - cleanup of non-working java binding, restart work, somewhat different interface
cslag
parents: 0
diff changeset
44 , SYS_X86_INT80H_LINUX = 201
3bfef07b0cd9 - cleanup of non-working java binding, restart work, somewhat different interface
cslag
parents: 0
diff changeset
45 , SYS_X86_INT80H_BSD = 202
3bfef07b0cd9 - cleanup of non-working java binding, restart work, somewhat different interface
cslag
parents: 0
diff changeset
46 , SYS_PPC32 = 210
3bfef07b0cd9 - cleanup of non-working java binding, restart work, somewhat different interface
cslag
parents: 0
diff changeset
47 , SYS_PPC64 = 211
3bfef07b0cd9 - cleanup of non-working java binding, restart work, somewhat different interface
cslag
parents: 0
diff changeset
48 // error codes
3bfef07b0cd9 - cleanup of non-working java binding, restart work, somewhat different interface
cslag
parents: 0
diff changeset
49 , ERROR_NONE = 0
3bfef07b0cd9 - cleanup of non-working java binding, restart work, somewhat different interface
cslag
parents: 0
diff changeset
50 , ERROR_UNSUPPORTED_MODE = -1
0
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
51 ;
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
52
18
3bfef07b0cd9 - cleanup of non-working java binding, restart work, somewhat different interface
cslag
parents: 0
diff changeset
53 public static native long newCallVM(int type, int size);
3bfef07b0cd9 - cleanup of non-working java binding, restart work, somewhat different interface
cslag
parents: 0
diff changeset
54
3bfef07b0cd9 - cleanup of non-working java binding, restart work, somewhat different interface
cslag
parents: 0
diff changeset
55 public static native long load(String libname);
3bfef07b0cd9 - cleanup of non-working java binding, restart work, somewhat different interface
cslag
parents: 0
diff changeset
56 public static native long find(long libhandle, String symbol);
3bfef07b0cd9 - cleanup of non-working java binding, restart work, somewhat different interface
cslag
parents: 0
diff changeset
57 //public static native int symsCount(long libhandle);
3bfef07b0cd9 - cleanup of non-working java binding, restart work, somewhat different interface
cslag
parents: 0
diff changeset
58 //public static native String symsName (long libhandle, int index);
3bfef07b0cd9 - cleanup of non-working java binding, restart work, somewhat different interface
cslag
parents: 0
diff changeset
59
3bfef07b0cd9 - cleanup of non-working java binding, restart work, somewhat different interface
cslag
parents: 0
diff changeset
60 public static native void reset(long vmhandle);
3bfef07b0cd9 - cleanup of non-working java binding, restart work, somewhat different interface
cslag
parents: 0
diff changeset
61 public static native void mode(long vmhandle, int mode);
0
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
62
18
3bfef07b0cd9 - cleanup of non-working java binding, restart work, somewhat different interface
cslag
parents: 0
diff changeset
63 // Note that the function names mimic the C api, as C functions are called,
3bfef07b0cd9 - cleanup of non-working java binding, restart work, somewhat different interface
cslag
parents: 0
diff changeset
64 // meaning argChar takes a java byte (not char, as latter is 16 bit), argLongLong
3bfef07b0cd9 - cleanup of non-working java binding, restart work, somewhat different interface
cslag
parents: 0
diff changeset
65 // takes a java long (which is 64bit), etc..
3bfef07b0cd9 - cleanup of non-working java binding, restart work, somewhat different interface
cslag
parents: 0
diff changeset
66 public static native void argBool (long vmhandle, boolean b);
3bfef07b0cd9 - cleanup of non-working java binding, restart work, somewhat different interface
cslag
parents: 0
diff changeset
67 public static native void argChar (long vmhandle, byte b);
3bfef07b0cd9 - cleanup of non-working java binding, restart work, somewhat different interface
cslag
parents: 0
diff changeset
68 public static native void argShort (long vmhandle, short s);
3bfef07b0cd9 - cleanup of non-working java binding, restart work, somewhat different interface
cslag
parents: 0
diff changeset
69 public static native void argInt (long vmhandle, int i);
3bfef07b0cd9 - cleanup of non-working java binding, restart work, somewhat different interface
cslag
parents: 0
diff changeset
70 public static native void argLong (long vmhandle, long l);
3bfef07b0cd9 - cleanup of non-working java binding, restart work, somewhat different interface
cslag
parents: 0
diff changeset
71 public static native void argLongLong(long vmhandle, long l);
3bfef07b0cd9 - cleanup of non-working java binding, restart work, somewhat different interface
cslag
parents: 0
diff changeset
72 public static native void argFloat (long vmhandle, float f);
3bfef07b0cd9 - cleanup of non-working java binding, restart work, somewhat different interface
cslag
parents: 0
diff changeset
73 public static native void argDouble (long vmhandle, double d);
3bfef07b0cd9 - cleanup of non-working java binding, restart work, somewhat different interface
cslag
parents: 0
diff changeset
74 public static native void argPointer (long vmhandle, long l);
3bfef07b0cd9 - cleanup of non-working java binding, restart work, somewhat different interface
cslag
parents: 0
diff changeset
75 public static native void argPointer (long vmhandle, Object o);
3bfef07b0cd9 - cleanup of non-working java binding, restart work, somewhat different interface
cslag
parents: 0
diff changeset
76 public static native void argString (long vmhandle, String s);
3bfef07b0cd9 - cleanup of non-working java binding, restart work, somewhat different interface
cslag
parents: 0
diff changeset
77
0
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
78 public static native void callVoid (long vmhandle, long funcpointer);
18
3bfef07b0cd9 - cleanup of non-working java binding, restart work, somewhat different interface
cslag
parents: 0
diff changeset
79 public static native boolean callBool (long vmhandle, long funcpointer);
3bfef07b0cd9 - cleanup of non-working java binding, restart work, somewhat different interface
cslag
parents: 0
diff changeset
80 public static native byte callChar (long vmhandle, long funcpointer);
0
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
81 public static native short callShort (long vmhandle, long funcpointer);
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
82 public static native int callInt (long vmhandle, long funcpointer);
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
83 public static native long callLong (long vmhandle, long funcpointer);
18
3bfef07b0cd9 - cleanup of non-working java binding, restart work, somewhat different interface
cslag
parents: 0
diff changeset
84 public static native long callLongLong(long vmhandle, long funcpointer);
0
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
85 public static native float callFloat (long vmhandle, long funcpointer);
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
86 public static native double callDouble (long vmhandle, long funcpointer);
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
87 public static native long callPointer (long vmhandle, long funcpointer);
18
3bfef07b0cd9 - cleanup of non-working java binding, restart work, somewhat different interface
cslag
parents: 0
diff changeset
88 public static native String callString (long vmhandle, long funcpointer);
3bfef07b0cd9 - cleanup of non-working java binding, restart work, somewhat different interface
cslag
parents: 0
diff changeset
89
3bfef07b0cd9 - cleanup of non-working java binding, restart work, somewhat different interface
cslag
parents: 0
diff changeset
90 public static native int getError(long vmhandle);
0
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
91 };
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
92