001/* 002 * BridJ - Dynamic and blazing-fast native interop for Java. 003 * http://bridj.googlecode.com/ 004 * 005 * Copyright (c) 2010-2013, Olivier Chafik (http://ochafik.com/) 006 * All rights reserved. 007 * 008 * Redistribution and use in source and binary forms, with or without 009 * modification, are permitted provided that the following conditions are met: 010 * 011 * * Redistributions of source code must retain the above copyright 012 * notice, this list of conditions and the following disclaimer. 013 * * Redistributions in binary form must reproduce the above copyright 014 * notice, this list of conditions and the following disclaimer in the 015 * documentation and/or other materials provided with the distribution. 016 * * Neither the name of Olivier Chafik nor the 017 * names of its contributors may be used to endorse or promote products 018 * derived from this software without specific prior written permission. 019 * 020 * THIS SOFTWARE IS PROVIDED BY OLIVIER CHAFIK AND CONTRIBUTORS ``AS IS'' AND ANY 021 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 022 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 023 * DISCLAIMED. IN NO EVENT SHALL THE REGENTS AND CONTRIBUTORS BE LIABLE FOR ANY 024 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 025 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 026 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 027 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 028 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 029 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 030 */ 031package org.bridj.dyncall; 032 033import org.bridj.BridJ; 034import org.bridj.CRuntime; 035import org.bridj.Pointer; 036import org.bridj.ann.CLong; 037import org.bridj.ann.Library; 038import org.bridj.ann.Optional; 039import org.bridj.ann.Ptr; 040import org.bridj.ann.Runtime; 041 042/** 043 * Wrapper for library <b>dyncall</b><br> 044 * This file was autogenerated by <a 045 * href="http://jnaerator.googlecode.com/">JNAerator</a>,<br> 046 * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a 047 * href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few 048 * opensource projects.</a>.<br> 049 * For help, please visit <a 050 * href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> or <a 051 * href="http://bridj.googlecode.com/">BridJ</a> . 052 */ 053@Library("bridj") 054@Runtime(CRuntime.class) 055public class DyncallLibrary { 056 057 static { 058 BridJ.register(); 059 } 060 /// <i>native declaration : dyncall_signature.h</i> 061 public static final char DC_SIGCHAR_FLOAT = (char) 'f'; 062 /// <i>native declaration : dyncall.h</i> 063 public static final int DC_CALL_C_DEFAULT = (int) 0; 064 /// <i>native declaration : dyncall.h</i> 065 public static final int DC_CALL_C_PPC32_OSX = (int) 9; 066 /// <i>native declaration : dyncall.h</i> 067 public static final int DC_CALL_C_PPC32_SYSV = (int) 13; 068 /// <i>native declaration : dyncall.h</i> 069 public static final int DC_CALL_C_PPC32_DARWIN = (int) 9; 070 /// <i>native declaration : dyncall.h</i> 071 public static final int DC_ERROR_UNSUPPORTED_MODE = (int) -1; 072 /// <i>native declaration : dyncall.h</i> 073 public static final int DC_CALL_C_ELLIPSIS_VARARGS = (int) 101; 074 /// <i>native declaration : dyncall.h</i> 075 public static final int DC_CALL_C_X86_WIN32_THIS_MS = (int) 5; 076 /// <i>native declaration : dyncall.h</i> 077 public static final int DC_CALL_C_ARM_ARM_EABI = (int) 10; 078 /// <i>native declaration : dyncall.h</i> 079 public static final int DC_CALL_SYS_X86_INT80H_BSD = (int) 202; 080 /// <i>native declaration : dyncall_signature.h</i> 081 public static final char DC_SIGCHAR_CC_ELLIPSIS = (char) 'e'; 082 /// <i>native declaration : dyncall.h</i> 083 public static final int DC_CALL_C_X64_SYSV = (int) 8; 084 /// <i>native declaration : dyncall_signature.h</i> 085 public static final char DC_SIGCHAR_POINTER = (char) 'p'; 086 /// <i>native declaration : dyncall.h</i> 087 public static final int DEFAULT_ALIGNMENT = (int) 0; 088 /// <i>native declaration : dyncall_signature.h</i> 089 public static final char DC_SIGCHAR_CC_FASTCALL_GNU = (char) 'f'; 090 /// <i>native declaration : dyncall_signature.h</i> 091 public static final char DC_SIGCHAR_UINT = (char) 'I'; 092 /// <i>native declaration : dyncall_signature.h</i> 093 public static final char DC_SIGCHAR_ENDARG = (char) ')'; 094 /// <i>native declaration : dyncall_signature.h</i> 095 public static final char DC_SIGCHAR_VOID = (char) 'v'; 096 /// <i>native declaration : dyncall_signature.h</i> 097 public static final char DC_SIGCHAR_UCHAR = (char) 'C'; 098 /// <i>native declaration : dyncall.h</i> 099 public static final int DC_CALL_C_MIPS32_O32 = (int) 16; 100 /// <i>native declaration : dyncall_signature.h</i> 101 public static final char DC_SIGCHAR_INT = (char) 'i'; 102 /// <i>native declaration : dyncall.h</i> 103 public static final int DC_CALL_SYS_X86_INT80H_LINUX = (int) 201; 104 /// <i>native declaration : dyncall_signature.h</i> 105 public static final char DC_SIGCHAR_DOUBLE = (char) 'd'; 106 /// <i>native declaration : dyncall.h</i> 107 public static final int DC_CALL_C_X64_WIN64 = (int) 7; 108 /// <i>native declaration : dyncall.h</i> 109 public static final int DC_CALL_C_SPARC32 = (int) 20; 110 /// <i>native declaration : dyncall.h</i> 111 public static final int DC_CALL_C_ARM_THUMB_EABI = (int) 11; 112 /// <i>native declaration : dyncall_signature.h</i> 113 public static final char DC_SIGCHAR_STRUCT = (char) 'T'; 114 /// <i>native declaration : dyncall.h</i> 115 public static final int DC_CALL_C_X86_WIN32_THIS_GNU = (int) 6; 116 /// <i>native declaration : dyncall.h</i> 117 public static final int DC_CALL_SYS_DEFAULT = (int) 200; 118 /// <i>native declaration : dyncall_signature.h</i> 119 public static final char DC_SIGCHAR_CC_STDCALL = (char) 's'; 120 /// <i>native declaration : dyncall.h</i> 121 public static final int DC_CALL_C_ELLIPSIS = (int) 100; 122 /// <i>native declaration : dyncall.h</i> 123 public static final int DC_CALL_C_X86_PLAN9 = (int) 19; 124 /// <i>native declaration : dyncall.h</i> 125 public static final int DC_CALL_C_ARM_THUMB = (int) 15; 126 /// <i>native declaration : dyncall_signature.h</i> 127 public static final char DC_SIGCHAR_CC_FASTCALL_MS = (char) 'F'; 128 /// <i>native declaration : dyncall_signature.h</i> 129 public static final char DC_SIGCHAR_STRING = (char) 'Z'; 130 /// <i>native declaration : dyncall.h</i> 131 public static final int DC_CALL_C_MIPS32_EABI = (int) 12; 132 /// <i>native declaration : dyncall.h</i> 133 public static final int DC_CALL_C_X86_WIN32_FAST_GNU = (int) 4; 134 /// <i>native declaration : dyncall_signature.h</i> 135 public static final char DC_SIGCHAR_LONGLONG = (char) 'l'; 136 /// <i>native declaration : dyncall_signature.h</i> 137 public static final char DC_SIGCHAR_SHORT = (char) 's'; 138 /// <i>native declaration : dyncall_signature.h</i> 139 public static final char DC_SIGCHAR_ULONGLONG = (char) 'L'; 140 /// <i>native declaration : dyncall.h</i> 141 public static final int DC_ERROR_NONE = (int) 0; 142 /// <i>native declaration : dyncall.h</i> 143 public static final int DC_CALL_C_SPARC64 = (int) 21; 144 /// <i>native declaration : dyncall.h</i> 145 public static final int DC_CALL_C_PPC32_LINUX = (int) 13; 146 /// <i>native declaration : dyncall_signature.h</i> 147 public static final char DC_SIGCHAR_ULONG = (char) 'J'; 148 /// <i>native declaration : dyncall_signature.h</i> 149 public static final char DC_SIGCHAR_CHAR = (char) 'c'; 150 /// <i>native declaration : dyncall_signature.h</i> 151 public static final char DC_SIGCHAR_CC_PREFIX = (char) '_'; 152 /// <i>native declaration : dyncall_signature.h</i> 153 public static final char DC_SIGCHAR_LONG = (char) 'j'; 154 /// <i>native declaration : dyncall.h</i> 155 public static final int DC_CALL_C_MIPS64_N32 = (int) 17; 156 /// <i>native declaration : dyncall.h</i> 157 public static final int DC_CALL_C_X86_WIN32_STD = (int) 2; 158 /// <i>native declaration : dyncall_signature.h</i> 159 public static final char DC_SIGCHAR_CC_THISCALL_MS = (char) '+'; 160 /// <i>native declaration : dyncall.h</i> 161 public static final int DC_CALL_C_X86_CDECL = (int) 1; 162 /// <i>native declaration : dyncall.h</i> 163 public static final int DC_CALL_C_X86_WIN32_FAST_MS = (int) 3; 164 /// <i>native declaration : dyncall.h</i> 165 public static final int DC_CALL_C_ARM_ARM = (int) 14; 166 /// <i>native declaration : dyncall_signature.h</i> 167 public static final char DC_SIGCHAR_USHORT = (char) 'S'; 168 /// <i>native declaration : dyncall_signature.h</i> 169 public static final char DC_SIGCHAR_BOOL = (char) 'B'; 170 /// <i>native declaration : dyncall.h</i> 171 public static final int DC_CALL_C_MIPS64_N64 = (int) 18; 172 173 public static native Pointer<DyncallLibrary.DCCallVM> dcNewCallVM(@Ptr long size); 174 175 public static native void dcFree(Pointer<DyncallLibrary.DCCallVM> vm); 176 177 public static native void dcReset(Pointer<DyncallLibrary.DCCallVM> vm); 178 179 public static native void dcMode(Pointer<DyncallLibrary.DCCallVM> vm, int mode); 180 181 public static native void dcArgBool(Pointer<DyncallLibrary.DCCallVM> vm, int value); 182 183 public static native void dcArgChar(Pointer<DyncallLibrary.DCCallVM> vm, byte value); 184 185 public static native void dcArgShort(Pointer<DyncallLibrary.DCCallVM> vm, short value); 186 187 public static native void dcArgInt(Pointer<DyncallLibrary.DCCallVM> vm, int value); 188 189 public static native void dcArgLong(Pointer<DyncallLibrary.DCCallVM> vm, @CLong long value); 190 191 public static native void dcArgLongLong(Pointer<DyncallLibrary.DCCallVM> vm, long value); 192 193 public static native void dcArgFloat(Pointer<DyncallLibrary.DCCallVM> vm, float value); 194 195 public static native void dcArgDouble(Pointer<DyncallLibrary.DCCallVM> vm, double value); 196 197 public static native void dcArgPointer(Pointer<DyncallLibrary.DCCallVM> vm, Pointer<?> value); 198 199 @Optional 200 public static native void dcArgStruct(Pointer<DyncallLibrary.DCCallVM> vm, Pointer<DyncallLibrary.DCstruct> s, Pointer<?> value); 201 202 public static native void dcCallVoid(Pointer<DyncallLibrary.DCCallVM> vm, Pointer<?> funcptr); 203 204 public static native int dcCallBool(Pointer<DyncallLibrary.DCCallVM> vm, Pointer<?> funcptr); 205 206 public static native byte dcCallChar(Pointer<DyncallLibrary.DCCallVM> vm, Pointer<?> funcptr); 207 208 public static native short dcCallShort(Pointer<DyncallLibrary.DCCallVM> vm, Pointer<?> funcptr); 209 210 public static native int dcCallInt(Pointer<DyncallLibrary.DCCallVM> vm, Pointer<?> funcptr); 211 212 @CLong 213 public static native long dcCallLong(Pointer<DyncallLibrary.DCCallVM> vm, Pointer<?> funcptr); 214 215 public static native long dcCallLongLong(Pointer<DyncallLibrary.DCCallVM> vm, Pointer<?> funcptr); 216 217 public static native float dcCallFloat(Pointer<DyncallLibrary.DCCallVM> vm, Pointer<?> funcptr); 218 219 public static native double dcCallDouble(Pointer<DyncallLibrary.DCCallVM> vm, Pointer<?> funcptr); 220 221 public static native Pointer<?> dcCallPointer(Pointer<DyncallLibrary.DCCallVM> vm, Pointer<?> funcptr); 222 223 @Optional 224 public static native void dcCallStruct(Pointer<DyncallLibrary.DCCallVM> vm, Pointer<?> funcptr, Pointer<DyncallLibrary.DCstruct> s, Pointer<?> returnValue); 225 226 public static native int dcGetError(Pointer<DyncallLibrary.DCCallVM> vm); 227 228 @Optional 229 public static native Pointer<DyncallLibrary.DCstruct> dcNewStruct(@Ptr long fieldCount, int alignment); 230 231 @Optional 232 public static native void dcStructField(Pointer<DyncallLibrary.DCstruct> s, int type, int alignment, @Ptr long arrayLength); 233 234 @Optional 235 public static native void dcSubStruct(Pointer<DyncallLibrary.DCstruct> s, @Ptr long fieldCount, int alignment, @Ptr long arrayLength); 236 237 @Optional 238 public static native void dcCloseStruct(Pointer<DyncallLibrary.DCstruct> s); 239 240 @Optional 241 @Ptr 242 public static native long dcStructSize(Pointer<DyncallLibrary.DCstruct> s); 243 244 @Optional 245 @Ptr 246 public static native long dcStructAlignment(Pointer<DyncallLibrary.DCstruct> s); 247 248 @Optional 249 public static native void dcFreeStruct(Pointer<DyncallLibrary.DCstruct> s); 250 251 @Optional 252 public static native Pointer<DyncallLibrary.DCstruct> dcDefineStruct(Pointer<Byte> signature); 253 254 /// Undefined type 255 public static interface DCstruct { 256 }; 257 /// Undefined type 258 259 public static interface DCCallVM { 260 }; 261}