aboutsummaryrefslogtreecommitdiff
path: root/libjava/classpath/include
diff options
context:
space:
mode:
authorTom Tromey <tromey@redhat.com>2005-07-16 01:11:24 +0000
committerTom Tromey <tromey@gcc.gnu.org>2005-07-16 01:11:24 +0000
commitea54b29342c8506acb4f858c68340c44b72e3532 (patch)
tree41f3012e0e748121d5962125f0c1ba5825eb444c /libjava/classpath/include
parent37d375fdc5fd13db547fb60bdd40b73355396587 (diff)
downloadgcc-ea54b29342c8506acb4f858c68340c44b72e3532.zip
gcc-ea54b29342c8506acb4f858c68340c44b72e3532.tar.gz
gcc-ea54b29342c8506acb4f858c68340c44b72e3532.tar.bz2
ChangeLog.gcj, [...]: Added.
* ChangeLog.gcj, Makefile.in, aclocal.m4, config.guess, config.sub, configure, ltmain.sh, doc/Makefile.in, doc/api/Makefile.in, examples/Makefile.in, external/Makefile.in, external/sax/Makefile.in, external/w3c_dom/Makefile.in, include/Makefile.in, include/config.h.in, include/jni.h, lib/Makefile.in, native/Makefile.in, native/fdlibm/Makefile.in, native/jni/Makefile.in, native/jni/classpath/Makefile.in, native/jni/gtk-peer/Makefile.in, native/jni/java-io/Makefile.in, native/jni/java-lang/Makefile.in, native/jni/java-net/Makefile.in, native/jni/java-nio/Makefile.in, native/jni/java-util/Makefile.in, native/jni/xmlj/Makefile.in, native/target/Makefile.in, native/target/Linux/Makefile.in, native/target/generic/Makefile.in, resource/Makefile.in, scripts/Makefile.in: Added. * native/fdlibm/.cvsignore, native/jni/xmlj/.cvsignore, native/jni/java-util/.cvsignore, native/jni/classpath/.cvsignore, native/jni/java-net/.cvsignore, native/jni/java-io/.cvsignore, native/jni/.cvsignore, native/jni/java-lang/.cvsignore, native/jni/gtk-peer/.cvsignore, native/jni/java-nio/.cvsignore, native/testsuite/.cvsignore, native/.cvsignore, native/vmi/.cvsignore, native/target/.cvsignore, native/target/generic/.cvsignore, native/target/Linux/.cvsignore, include/.cvsignore, doc/api/.cvsignore, doc/www.gnu.org/faq/.cvsignore, doc/www.gnu.org/downloads/.cvsignore, doc/www.gnu.org/docs/.cvsignore, doc/www.gnu.org/.cvsignore, doc/www.gnu.org/events/.cvsignore, doc/www.gnu.org/announce/.cvsignore, doc/.cvsignore, resource/.cvsignore, external/w3c_dom/.cvsignore, external/sax/.cvsignore, external/.cvsignore, java/util/.cvsignore, .cvsignore, test/java.net/.cvsignore, test/java.io/.cvsignore, test/.cvsignore, test/java.util/.cvsignore, test/gnu.java.lang.reflect/.cvsignore, test/java.lang.reflect/.cvsignore, examples/.cvsignore, lib/.cvsignore, gnu/classpath/.cvsignore, gnu/test/.cvsignore, compat/java.net/.cvsignore, compat/.cvsignore, vm/.cvsignore, vm/reference/.cvsignore, scripts/.cvsignore: Updated. From-SVN: r102079
Diffstat (limited to 'libjava/classpath/include')
-rw-r--r--libjava/classpath/include/.cvsignore3
-rw-r--r--libjava/classpath/include/Makefile.in558
-rw-r--r--libjava/classpath/include/config.h.in251
-rw-r--r--libjava/classpath/include/jni.h1599
4 files changed, 2408 insertions, 3 deletions
diff --git a/libjava/classpath/include/.cvsignore b/libjava/classpath/include/.cvsignore
index d2930d2..5a30b90 100644
--- a/libjava/classpath/include/.cvsignore
+++ b/libjava/classpath/include/.cvsignore
@@ -1,9 +1,6 @@
Makefile
-Makefile.in
stamp-h
config.h
stamp-h.in
-config.h.in
-jni.h
jni_md.h
stamp-h1
diff --git a/libjava/classpath/include/Makefile.in b/libjava/classpath/include/Makefile.in
new file mode 100644
index 0000000..384107c
--- /dev/null
+++ b/libjava/classpath/include/Makefile.in
@@ -0,0 +1,558 @@
+# Makefile.in generated by automake 1.9.5 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ..
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+target_triplet = @target@
+subdir = include
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+ $(srcdir)/config.h.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/../../libtool.m4 \
+ $(top_srcdir)/m4/accross.m4 $(top_srcdir)/m4/acinclude.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_HEADER = config.h
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMDEP_FALSE = @AMDEP_FALSE@
+AMDEP_TRUE = @AMDEP_TRUE@
+AMTAR = @AMTAR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BUILD_CLASS_FILES_FALSE = @BUILD_CLASS_FILES_FALSE@
+BUILD_CLASS_FILES_TRUE = @BUILD_CLASS_FILES_TRUE@
+CAIRO_CFLAGS = @CAIRO_CFLAGS@
+CAIRO_LIBS = @CAIRO_LIBS@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CLASSPATH_INCLUDES = @CLASSPATH_INCLUDES@
+CLASSPATH_MODULE = @CLASSPATH_MODULE@
+CP = @CP@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CREATE_API_DOCS_FALSE = @CREATE_API_DOCS_FALSE@
+CREATE_API_DOCS_TRUE = @CREATE_API_DOCS_TRUE@
+CREATE_CORE_JNI_LIBRARIES_FALSE = @CREATE_CORE_JNI_LIBRARIES_FALSE@
+CREATE_CORE_JNI_LIBRARIES_TRUE = @CREATE_CORE_JNI_LIBRARIES_TRUE@
+CREATE_GTK_PEER_LIBRARIES_FALSE = @CREATE_GTK_PEER_LIBRARIES_FALSE@
+CREATE_GTK_PEER_LIBRARIES_TRUE = @CREATE_GTK_PEER_LIBRARIES_TRUE@
+CREATE_JNI_HEADERS_FALSE = @CREATE_JNI_HEADERS_FALSE@
+CREATE_JNI_HEADERS_TRUE = @CREATE_JNI_HEADERS_TRUE@
+CREATE_JNI_LIBRARIES_FALSE = @CREATE_JNI_LIBRARIES_FALSE@
+CREATE_JNI_LIBRARIES_TRUE = @CREATE_JNI_LIBRARIES_TRUE@
+CREATE_XMLJ_LIBRARY_FALSE = @CREATE_XMLJ_LIBRARY_FALSE@
+CREATE_XMLJ_LIBRARY_TRUE = @CREATE_XMLJ_LIBRARY_TRUE@
+CYGPATH_W = @CYGPATH_W@
+DATE = @DATE@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+ECJ = @ECJ@
+EGREP = @EGREP@
+ERROR_CFLAGS = @ERROR_CFLAGS@
+EXAMPLESDIR = @EXAMPLESDIR@
+EXEEXT = @EXEEXT@
+FIND = @FIND@
+FOUND_ECJ_FALSE = @FOUND_ECJ_FALSE@
+FOUND_ECJ_TRUE = @FOUND_ECJ_TRUE@
+FOUND_GCJX_FALSE = @FOUND_GCJX_FALSE@
+FOUND_GCJX_TRUE = @FOUND_GCJX_TRUE@
+FOUND_GCJ_FALSE = @FOUND_GCJ_FALSE@
+FOUND_GCJ_TRUE = @FOUND_GCJ_TRUE@
+FOUND_JIKES_FALSE = @FOUND_JIKES_FALSE@
+FOUND_JIKES_TRUE = @FOUND_JIKES_TRUE@
+FOUND_KJC_FALSE = @FOUND_KJC_FALSE@
+FOUND_KJC_TRUE = @FOUND_KJC_TRUE@
+GCJ = @GCJ@
+GCJX = @GCJX@
+GJDOC = @GJDOC@
+GTK_CAIRO_ENABLED = @GTK_CAIRO_ENABLED@
+GTK_CAIRO_FALSE = @GTK_CAIRO_FALSE@
+GTK_CAIRO_TRUE = @GTK_CAIRO_TRUE@
+GTK_CFLAGS = @GTK_CFLAGS@
+GTK_LIBS = @GTK_LIBS@
+INIT_LOAD_LIBRARY = @INIT_LOAD_LIBRARY@
+INSTALL_CLASS_FILES_FALSE = @INSTALL_CLASS_FILES_FALSE@
+INSTALL_CLASS_FILES_TRUE = @INSTALL_CLASS_FILES_TRUE@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_GLIBJ_ZIP_FALSE = @INSTALL_GLIBJ_ZIP_FALSE@
+INSTALL_GLIBJ_ZIP_TRUE = @INSTALL_GLIBJ_ZIP_TRUE@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION = @JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION@
+JAY = @JAY@
+JAY_SKELETON = @JAY_SKELETON@
+JIKES = @JIKES@
+JIKESENCODING = @JIKESENCODING@
+KJC = @KJC@
+LDFLAGS = @LDFLAGS@
+LIBDEBUG = @LIBDEBUG@
+LIBICONV = @LIBICONV@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIBVERSION = @LIBVERSION@
+LN_S = @LN_S@
+LTLIBICONV = @LTLIBICONV@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+MAKEINFO = @MAKEINFO@
+MKDIR = @MKDIR@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PANGOFT2_CFLAGS = @PANGOFT2_CFLAGS@
+PANGOFT2_LIBS = @PANGOFT2_LIBS@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+RANLIB = @RANLIB@
+REGEN_PARSERS_FALSE = @REGEN_PARSERS_FALSE@
+REGEN_PARSERS_TRUE = @REGEN_PARSERS_TRUE@
+REMOVE = @REMOVE@
+SET_MAKE = @SET_MAKE@
+SH = @SH@
+SHELL = @SHELL@
+STRICT_WARNING_CFLAGS = @STRICT_WARNING_CFLAGS@
+STRIP = @STRIP@
+USER_CLASSLIB = @USER_CLASSLIB@
+USER_JAVAH = @USER_JAVAH@
+USER_SPECIFIED_CLASSLIB_FALSE = @USER_SPECIFIED_CLASSLIB_FALSE@
+USER_SPECIFIED_CLASSLIB_TRUE = @USER_SPECIFIED_CLASSLIB_TRUE@
+USER_SPECIFIED_JAVAH_FALSE = @USER_SPECIFIED_JAVAH_FALSE@
+USER_SPECIFIED_JAVAH_TRUE = @USER_SPECIFIED_JAVAH_TRUE@
+VERSION = @VERSION@
+WARNING_CFLAGS = @WARNING_CFLAGS@
+XML_CFLAGS = @XML_CFLAGS@
+XML_LIBS = @XML_LIBS@
+XSLT_CFLAGS = @XSLT_CFLAGS@
+XSLT_LIBS = @XSLT_LIBS@
+X_CFLAGS = @X_CFLAGS@
+X_EXTRA_LIBS = @X_EXTRA_LIBS@
+X_LIBS = @X_LIBS@
+X_PRE_LIBS = @X_PRE_LIBS@
+ZIP = @ZIP@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_RANLIB = @ac_ct_RANLIB@
+ac_ct_STRIP = @ac_ct_STRIP@
+am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+datadir = @datadir@
+default_toolkit = @default_toolkit@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target = @target@
+target_alias = @target_alias@
+target_cpu = @target_cpu@
+target_os = @target_os@
+target_vendor = @target_vendor@
+vm_classes = @vm_classes@
+DISTCLEANFILES = jni_md.h
+ARG_JNI_JAVAH = -jni
+ARG_CLASSPATH_JAVAH = -bootclasspath
+JAVAH = $(USER_JAVAH) $(ARG_JNI_JAVAH) $(ARG_CLASSPATH_JAVAH) ../lib:$(USER_CLASSLIB)
+XMLJ_H_FILES = \
+$(top_srcdir)/include/gnu_xml_libxmlj_dom_GnomeDocument.h \
+$(top_srcdir)/include/gnu_xml_libxmlj_dom_GnomeXPathNodeList.h \
+$(top_srcdir)/include/gnu_xml_libxmlj_dom_GnomeDocumentType.h \
+$(top_srcdir)/include/gnu_xml_libxmlj_dom_GnomeProcessingInstruction.h \
+$(top_srcdir)/include/gnu_xml_libxmlj_dom_GnomeXPathNSResolver.h \
+$(top_srcdir)/include/gnu_xml_libxmlj_dom_GnomeTypeInfo.h \
+$(top_srcdir)/include/gnu_xml_libxmlj_dom_GnomeNodeList.h \
+$(top_srcdir)/include/gnu_xml_libxmlj_dom_GnomeNotation.h \
+$(top_srcdir)/include/gnu_xml_libxmlj_dom_GnomeXPathResult.h \
+$(top_srcdir)/include/gnu_xml_libxmlj_dom_GnomeElement.h \
+$(top_srcdir)/include/gnu_xml_libxmlj_dom_GnomeEntity.h \
+$(top_srcdir)/include/gnu_xml_libxmlj_dom_GnomeNode.h \
+$(top_srcdir)/include/gnu_xml_libxmlj_dom_GnomeXPathExpression.h \
+$(top_srcdir)/include/gnu_xml_libxmlj_dom_GnomeNamedNodeMap.h \
+$(top_srcdir)/include/gnu_xml_libxmlj_dom_GnomeDocumentBuilder.h \
+$(top_srcdir)/include/gnu_xml_libxmlj_dom_GnomeAttr.h \
+$(top_srcdir)/include/gnu_xml_libxmlj_sax_GnomeLocator.h \
+$(top_srcdir)/include/gnu_xml_libxmlj_sax_GnomeXMLReader.h \
+$(top_srcdir)/include/gnu_xml_libxmlj_transform_GnomeTransformer.h \
+$(top_srcdir)/include/gnu_xml_libxmlj_transform_GnomeTransformerFactory.h
+
+GTKPEER_H_FILES = \
+$(top_srcdir)/include/gnu_java_awt_peer_gtk_GdkFontPeer.h \
+$(top_srcdir)/include/gnu_java_awt_peer_gtk_GdkGraphics.h \
+$(top_srcdir)/include/gnu_java_awt_peer_gtk_GdkGraphics2D.h \
+$(top_srcdir)/include/gnu_java_awt_peer_gtk_GdkGraphicsEnvironment.h \
+$(top_srcdir)/include/gnu_java_awt_peer_gtk_GdkPixbufDecoder.h \
+$(top_srcdir)/include/gnu_java_awt_peer_gtk_GdkRobotPeer.h \
+$(top_srcdir)/include/gnu_java_awt_peer_gtk_GdkTextLayout.h \
+$(top_srcdir)/include/gnu_java_awt_peer_gtk_GtkButtonPeer.h \
+$(top_srcdir)/include/gnu_java_awt_peer_gtk_GtkCanvasPeer.h \
+$(top_srcdir)/include/gnu_java_awt_peer_gtk_GtkCheckboxGroupPeer.h \
+$(top_srcdir)/include/gnu_java_awt_peer_gtk_GtkCheckboxMenuItemPeer.h \
+$(top_srcdir)/include/gnu_java_awt_peer_gtk_GtkCheckboxPeer.h \
+$(top_srcdir)/include/gnu_java_awt_peer_gtk_GtkChoicePeer.h \
+$(top_srcdir)/include/gnu_java_awt_peer_gtk_GtkClipboard.h \
+$(top_srcdir)/include/gnu_java_awt_peer_gtk_GtkComponentPeer.h \
+$(top_srcdir)/include/gnu_java_awt_peer_gtk_GtkEmbeddedWindowPeer.h \
+$(top_srcdir)/include/gnu_java_awt_peer_gtk_GtkFileDialogPeer.h \
+$(top_srcdir)/include/gnu_java_awt_peer_gtk_GtkFramePeer.h \
+$(top_srcdir)/include/gnu_java_awt_peer_gtk_GtkGenericPeer.h \
+$(top_srcdir)/include/gnu_java_awt_peer_gtk_GtkImage.h \
+$(top_srcdir)/include/gnu_java_awt_peer_gtk_GtkLabelPeer.h \
+$(top_srcdir)/include/gnu_java_awt_peer_gtk_GtkListPeer.h \
+$(top_srcdir)/include/gnu_java_awt_peer_gtk_GtkMenuBarPeer.h \
+$(top_srcdir)/include/gnu_java_awt_peer_gtk_GtkMenuComponentPeer.h \
+$(top_srcdir)/include/gnu_java_awt_peer_gtk_GtkMenuItemPeer.h \
+$(top_srcdir)/include/gnu_java_awt_peer_gtk_GtkMenuPeer.h \
+$(top_srcdir)/include/gnu_java_awt_peer_gtk_GtkPanelPeer.h \
+$(top_srcdir)/include/gnu_java_awt_peer_gtk_GtkPopupMenuPeer.h \
+$(top_srcdir)/include/gnu_java_awt_peer_gtk_GtkScrollPanePeer.h \
+$(top_srcdir)/include/gnu_java_awt_peer_gtk_GtkScrollbarPeer.h \
+$(top_srcdir)/include/gnu_java_awt_peer_gtk_GtkTextAreaPeer.h \
+$(top_srcdir)/include/gnu_java_awt_peer_gtk_GtkTextFieldPeer.h \
+$(top_srcdir)/include/gnu_java_awt_peer_gtk_GtkToolkit.h \
+$(top_srcdir)/include/gnu_java_awt_peer_gtk_GtkWindowPeer.h \
+$(top_srcdir)/include/gnu_java_awt_peer_gtk_GThreadNativeMethodRunner.h
+
+H_FILES = \
+$(XMLJ_H_FILES) \
+$(GTKPEER_H_FILES) \
+$(top_srcdir)/include/gnu_java_net_PlainDatagramSocketImpl.h \
+$(top_srcdir)/include/gnu_java_net_PlainSocketImpl.h \
+$(top_srcdir)/include/gnu_java_nio_VMPipe.h \
+$(top_srcdir)/include/gnu_java_nio_VMSelector.h \
+$(top_srcdir)/include/gnu_java_nio_channels_FileChannelImpl.h \
+$(top_srcdir)/include/gnu_java_nio_charset_iconv_IconvEncoder.h \
+$(top_srcdir)/include/gnu_java_nio_charset_iconv_IconvDecoder.h \
+$(top_srcdir)/include/java_io_VMFile.h \
+$(top_srcdir)/include/java_io_VMObjectInputStream.h \
+$(top_srcdir)/include/java_io_VMObjectStreamClass.h \
+$(top_srcdir)/include/java_lang_Math.h \
+$(top_srcdir)/include/java_lang_VMDouble.h \
+$(top_srcdir)/include/java_lang_VMFloat.h \
+$(top_srcdir)/include/java_lang_VMProcess.h \
+$(top_srcdir)/include/java_lang_VMSystem.h \
+$(top_srcdir)/include/java_lang_reflect_Array.h \
+$(top_srcdir)/include/java_net_VMInetAddress.h \
+$(top_srcdir)/include/java_net_VMNetworkInterface.h \
+$(top_srcdir)/include/java_nio_VMDirectByteBuffer.h \
+$(top_srcdir)/include/java_nio_MappedByteBufferImpl.h \
+$(top_srcdir)/include/java_util_VMTimeZone.h
+
+all: config.h
+ $(MAKE) $(AM_MAKEFLAGS) all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu include/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu include/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+config.h: stamp-h1
+ @if test ! -f $@; then \
+ rm -f stamp-h1; \
+ $(MAKE) stamp-h1; \
+ else :; fi
+
+stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
+ @rm -f stamp-h1
+ cd $(top_builddir) && $(SHELL) ./config.status include/config.h
+$(srcdir)/config.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ cd $(top_srcdir) && $(AUTOHEADER)
+ rm -f stamp-h1
+ touch $@
+
+distclean-hdr:
+ -rm -f config.h stamp-h1
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+distclean-libtool:
+ -rm -f libtool
+uninstall-info-am:
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+ list='$(DISTFILES)'; for file in $$list; do \
+ case $$file in \
+ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+ $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+ esac; \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+ dir="/$$dir"; \
+ $(mkdir_p) "$(distdir)$$dir"; \
+ else \
+ dir=''; \
+ fi; \
+ if test -d $$d/$$file; then \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+@CREATE_JNI_HEADERS_FALSE@all-local:
+all-am: Makefile config.h all-local
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-hdr \
+ distclean-libtool
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-info-am
+
+.PHONY: all all-am all-local check check-am clean clean-generic \
+ clean-libtool distclean distclean-generic distclean-hdr \
+ distclean-libtool distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-exec \
+ install-exec-am install-info install-info-am install-man \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ uninstall uninstall-am uninstall-info-am
+
+
+@CREATE_JNI_HEADERS_TRUE@all-local: $(H_FILES)
+
+@CREATE_JNI_HEADERS_TRUE@$(top_srcdir)/include/gnu_xml_libxmlj_dom_%.h: $(top_builddir)/lib/gnu/xml/libxmlj/dom/%.class
+@CREATE_JNI_HEADERS_TRUE@ $(JAVAH) -o $@ gnu.xml.libxmlj.dom.$*
+
+@CREATE_JNI_HEADERS_TRUE@$(top_srcdir)/include/gnu_xml_libxmlj_sax_%.h: $(top_builddir)/lib/gnu/xml/libxmlj/sax/%.class
+@CREATE_JNI_HEADERS_TRUE@ $(JAVAH) -o $@ gnu.xml.libxmlj.sax.$*
+
+@CREATE_JNI_HEADERS_TRUE@$(top_srcdir)/include/gnu_xml_libxmlj_transform_%.h: $(top_builddir)/lib/gnu/xml/libxmlj/transform/%.class
+@CREATE_JNI_HEADERS_TRUE@ $(JAVAH) -o $@ gnu.xml.libxmlj.transform.$*
+
+@CREATE_JNI_HEADERS_TRUE@$(top_srcdir)/include/gnu_java_awt_peer_gtk_%.h: $(top_builddir)/lib/gnu/java/awt/peer/gtk/%.class
+@CREATE_JNI_HEADERS_TRUE@ $(JAVAH) -o $@ gnu.java.awt.peer.gtk.$*
+
+@CREATE_JNI_HEADERS_TRUE@$(top_srcdir)/include/gnu_java_net_PlainDatagramSocketImpl.h: $(top_srcdir)/gnu/java/net/PlainDatagramSocketImpl.java
+@CREATE_JNI_HEADERS_TRUE@ $(JAVAH) -o $@ gnu.java.net.PlainDatagramSocketImpl
+@CREATE_JNI_HEADERS_TRUE@$(top_srcdir)/include/gnu_java_net_PlainSocketImpl.h: $(top_srcdir)/gnu/java/net/PlainSocketImpl.java
+@CREATE_JNI_HEADERS_TRUE@ $(JAVAH) -o $@ gnu.java.net.PlainSocketImpl
+@CREATE_JNI_HEADERS_TRUE@$(top_srcdir)/include/gnu_java_nio_VMPipe.h: $(top_srcdir)/vm/reference/gnu/java/nio/VMPipe.java
+@CREATE_JNI_HEADERS_TRUE@ $(JAVAH) -o $@ gnu.java.nio.VMPipe
+@CREATE_JNI_HEADERS_TRUE@$(top_srcdir)/include/gnu_java_nio_VMSelector.h: $(top_srcdir)/vm/reference/gnu/java/nio/VMSelector.java
+@CREATE_JNI_HEADERS_TRUE@ $(JAVAH) -o $@ gnu.java.nio.VMSelector
+@CREATE_JNI_HEADERS_TRUE@$(top_srcdir)/include/java_io_VMFile.h: $(top_srcdir)/vm/reference/java/io/VMFile.java
+@CREATE_JNI_HEADERS_TRUE@ $(JAVAH) -o $@ java.io.VMFile
+@CREATE_JNI_HEADERS_TRUE@$(top_srcdir)/include/java_io_VMObjectInputStream.h: $(top_srcdir)/vm/reference/java/io/VMObjectInputStream.java
+@CREATE_JNI_HEADERS_TRUE@ $(JAVAH) -o $@ java.io.VMObjectInputStream
+@CREATE_JNI_HEADERS_TRUE@$(top_srcdir)/include/java_io_VMObjectStreamClass.h: $(top_srcdir)/vm/reference/java/io/VMObjectStreamClass.java
+@CREATE_JNI_HEADERS_TRUE@ $(JAVAH) -o $@ java.io.VMObjectStreamClass
+@CREATE_JNI_HEADERS_TRUE@$(top_srcdir)/include/java_lang_Math.h: $(top_srcdir)/java/lang/Math.java
+@CREATE_JNI_HEADERS_TRUE@ $(JAVAH) -o $@ java.lang.Math
+@CREATE_JNI_HEADERS_TRUE@$(top_srcdir)/include/java_lang_VMDouble.h: $(top_srcdir)/vm/reference/java/lang/VMDouble.java
+@CREATE_JNI_HEADERS_TRUE@ $(JAVAH) -o $@ java.lang.VMDouble
+@CREATE_JNI_HEADERS_TRUE@$(top_srcdir)/include/java_lang_VMFloat.h: $(top_srcdir)/vm/reference/java/lang/VMFloat.java
+@CREATE_JNI_HEADERS_TRUE@ $(JAVAH) -o $@ java.lang.VMFloat
+@CREATE_JNI_HEADERS_TRUE@$(top_srcdir)/include/java_lang_VMProcess.h: $(top_srcdir)/vm/reference/java/lang/VMProcess.java
+@CREATE_JNI_HEADERS_TRUE@ $(JAVAH) -o $@ java.lang.VMProcess
+@CREATE_JNI_HEADERS_TRUE@$(top_srcdir)/include/java_lang_VMSystem.h: $(top_srcdir)/vm/reference/java/lang/VMSystem.java
+@CREATE_JNI_HEADERS_TRUE@ $(JAVAH) -o $@ java.lang.VMSystem
+@CREATE_JNI_HEADERS_TRUE@$(top_srcdir)/include/java_lang_reflect_Array.h: $(top_srcdir)/java/lang/reflect/Array.java
+@CREATE_JNI_HEADERS_TRUE@ $(JAVAH) -o $@ java.lang.reflect.Array
+@CREATE_JNI_HEADERS_TRUE@$(top_srcdir)/include/java_net_VMInetAddress.h: $(top_srcdir)/vm/reference/java/net/VMInetAddress.java
+@CREATE_JNI_HEADERS_TRUE@ $(JAVAH) -o $@ java.net.VMInetAddress
+@CREATE_JNI_HEADERS_TRUE@$(top_srcdir)/include/java_net_VMNetworkInterface.h: $(top_srcdir)/vm/reference/java/net/VMNetworkInterface.java
+@CREATE_JNI_HEADERS_TRUE@ $(JAVAH) -o $@ java.net.VMNetworkInterface
+@CREATE_JNI_HEADERS_TRUE@$(top_srcdir)/include/java_nio_VMDirectByteBuffer.h: $(top_srcdir)/vm/reference/java/nio/VMDirectByteBuffer.java
+@CREATE_JNI_HEADERS_TRUE@ $(JAVAH) -o $@ java.nio.VMDirectByteBuffer
+@CREATE_JNI_HEADERS_TRUE@$(top_srcdir)/include/java_nio_MappedByteBufferImpl.h: $(top_srcdir)/java/nio/MappedByteBufferImpl.java
+@CREATE_JNI_HEADERS_TRUE@ $(JAVAH) -o $@ java.nio.MappedByteBufferImpl
+@CREATE_JNI_HEADERS_TRUE@$(top_srcdir)/include/gnu_java_nio_channels_FileChannelImpl.h: $(top_srcdir)/gnu/java/nio/channels/FileChannelImpl.java
+@CREATE_JNI_HEADERS_TRUE@ $(JAVAH) -o $@ gnu.java.nio.channels.FileChannelImpl
+@CREATE_JNI_HEADERS_TRUE@$(top_srcdir)/include/gnu_java_nio_charset_iconv_IconvDecoder.h: $(top_srcdir)/gnu/java/nio/charset/iconv/IconvDecoder.java
+@CREATE_JNI_HEADERS_TRUE@ $(JAVAH) -o $@ gnu.java.nio.charset.iconv.IconvDecoder
+@CREATE_JNI_HEADERS_TRUE@$(top_srcdir)/include/gnu_java_nio_charset_iconv_IconvEncoder.h: $(top_srcdir)/gnu/java/nio/charset/iconv/IconvEncoder.java
+@CREATE_JNI_HEADERS_TRUE@ $(JAVAH) -o $@ gnu.java.nio.charset.iconv.IconvEncoder
+@CREATE_JNI_HEADERS_TRUE@$(top_srcdir)/include/java_util_VMTimeZone.h: $(top_srcdir)/vm/reference/java/util/VMTimeZone.java
+@CREATE_JNI_HEADERS_TRUE@ $(JAVAH) -o $@ java.util.VMTimeZone
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/libjava/classpath/include/config.h.in b/libjava/classpath/include/config.h.in
new file mode 100644
index 0000000..bebef37
--- /dev/null
+++ b/libjava/classpath/include/config.h.in
@@ -0,0 +1,251 @@
+/* include/config.h.in. Generated from configure.ac by autoheader. */
+
+/* 1234 = LIL_ENDIAN, 4321 = BIGENDIAN */
+#undef BYTEORDER
+
+/* Define to 1 if you want native library runtime debugging code enabled */
+#undef DEBUG
+
+/* defined if cairo support was built in */
+#undef GTK_CAIRO
+
+/* Define to 1 if you have the `accept' function. */
+#undef HAVE_ACCEPT
+
+/* Define to 1 if you have the <asm/ioctls.h> header file. */
+#undef HAVE_ASM_IOCTLS_H
+
+/* Define to 1 if you have the `bind' function. */
+#undef HAVE_BIND
+
+/* Define to 1 if you have BSD u_int32_t */
+#undef HAVE_BSD_INT32_DEFINED
+
+/* Define to 1 if you have the `close' function. */
+#undef HAVE_CLOSE
+
+/* Define to 1 if you have the `connect' function. */
+#undef HAVE_CONNECT
+
+/* Define to 1 if you have the <crt_externs.h> header file. */
+#undef HAVE_CRT_EXTERNS_H
+
+/* Define to 1 if you have the `execve' function. */
+#undef HAVE_EXECVE
+
+/* Define to 1 if you have the `fcntl' function. */
+#undef HAVE_FCNTL
+
+/* Define to 1 if you have the <fcntl.h> header file. */
+#undef HAVE_FCNTL_H
+
+/* Define to 1 if you have the `fork' function. */
+#undef HAVE_FORK
+
+/* Define to 1 if you have the `fstat' function. */
+#undef HAVE_FSTAT
+
+/* Define to 1 if you have the `fsync' function. */
+#undef HAVE_FSYNC
+
+/* Define to 1 if you have the `ftruncate' function. */
+#undef HAVE_FTRUNCATE
+
+/* Define to 1 if you have the `gethostname' function. */
+#undef HAVE_GETHOSTNAME
+
+/* Define to 1 if you have the `getpeername' function. */
+#undef HAVE_GETPEERNAME
+
+/* Define to 1 if you have the `getsockname' function. */
+#undef HAVE_GETSOCKNAME
+
+/* Define to 1 if you have the `getsockopt' function. */
+#undef HAVE_GETSOCKOPT
+
+/* Define to 1 if you have the `htonl' function. */
+#undef HAVE_HTONL
+
+/* Define to 1 if you have the `htons' function. */
+#undef HAVE_HTONS
+
+/* Define if you have the iconv() function. */
+#undef HAVE_ICONV
+
+/* Define to 1 if you have uint32_t */
+#undef HAVE_INT32_DEFINED
+
+/* Define to 1 if you have the <inttypes.h> header file. */
+#undef HAVE_INTTYPES_H
+
+/* Define to 1 if you have the `listen' function. */
+#undef HAVE_LISTEN
+
+/* Define to 1 if you have the `localtime_r' function. */
+#undef HAVE_LOCALTIME_R
+
+/* Define to 1 if you have the `lseek' function. */
+#undef HAVE_LSEEK
+
+/* Define to 1 if you have the <memory.h> header file. */
+#undef HAVE_MEMORY_H
+
+/* Define to 1 if you have the `memset' function. */
+#undef HAVE_MEMSET
+
+/* Define to 1 if you have the `mktime' function. */
+#undef HAVE_MKTIME
+
+/* Define to 1 if you have the `open' function. */
+#undef HAVE_OPEN
+
+/* Define to 1 if you have the `pipe' function. */
+#undef HAVE_PIPE
+
+/* Define to 1 if you have the `read' function. */
+#undef HAVE_READ
+
+/* Define to 1 if you have the `recvfrom' function. */
+#undef HAVE_RECVFROM
+
+/* Define to 1 if you have the `select' function. */
+#undef HAVE_SELECT
+
+/* Define to 1 if you have the `send' function. */
+#undef HAVE_SEND
+
+/* Define to 1 if you have the `sendto' function. */
+#undef HAVE_SENDTO
+
+/* Define to 1 if you have the `setsockopt' function. */
+#undef HAVE_SETSOCKOPT
+
+/* Define to 1 if you have the `socket' function. */
+#undef HAVE_SOCKET
+
+/* Define to 1 if you have the <stdint.h> header file. */
+#undef HAVE_STDINT_H
+
+/* Define to 1 if you have the <stdlib.h> header file. */
+#undef HAVE_STDLIB_H
+
+/* Define to 1 if you have the `strerror' function. */
+#undef HAVE_STRERROR
+
+/* Define to 1 if you have the `strerror_r' function. */
+#undef HAVE_STRERROR_R
+
+/* Define to 1 if you have the <strings.h> header file. */
+#undef HAVE_STRINGS_H
+
+/* Define to 1 if you have the <string.h> header file. */
+#undef HAVE_STRING_H
+
+/* Define to 1 if `tm_zone' is member of `struct tm'. */
+#undef HAVE_STRUCT_TM_TM_ZONE
+
+/* Define to 1 if you have the <sys/config.h> header file. */
+#undef HAVE_SYS_CONFIG_H
+
+/* Define to 1 if you have the <sys/filio.h> header file. */
+#undef HAVE_SYS_FILIO_H
+
+/* Define to 1 if you have the <sys/ioctl.h> header file. */
+#undef HAVE_SYS_IOCTL_H
+
+/* Define to 1 if you have the <sys/select.h> header file. */
+#undef HAVE_SYS_SELECT_H
+
+/* Define to 1 if you have the <sys/stat.h> header file. */
+#undef HAVE_SYS_STAT_H
+
+/* Define to 1 if you have the <sys/time.h> header file. */
+#undef HAVE_SYS_TIME_H
+
+/* Define to 1 if you have the <sys/types.h> header file. */
+#undef HAVE_SYS_TYPES_H
+
+/* Define to 1 if you have the <sys/utime.h> header file. */
+#undef HAVE_SYS_UTIME_H
+
+/* Define to 1 if you have the `time' function. */
+#undef HAVE_TIME
+
+/* Define if global 'timezone' exists. */
+#undef HAVE_TIMEZONE
+
+/* Define to 1 if your `struct tm' has `tm_zone'. Deprecated, use
+ `HAVE_STRUCT_TM_TM_ZONE' instead. */
+#undef HAVE_TM_ZONE
+
+/* Define to 1 if you don't have `tm_zone' but do have the external array
+ `tzname'. */
+#undef HAVE_TZNAME
+
+/* Define if your platform has the global _timezone variable. */
+#undef HAVE_UNDERSCORE_TIMEZONE
+
+/* Define to 1 if you have the <unistd.h> header file. */
+#undef HAVE_UNISTD_H
+
+/* Define to 1 if you have the <utime.h> header file. */
+#undef HAVE_UTIME_H
+
+/* Define to 1 if you have the `write' function. */
+#undef HAVE_WRITE
+
+/* Define if the host machine stores words of multi-word integers in
+ big-endian order. */
+#undef HOST_WORDS_BIG_ENDIAN
+
+/* Define as const if the declaration of iconv() needs const. */
+#undef ICONV_CONST
+
+/* Name of package */
+#undef PACKAGE
+
+/* Define to the address where bug reports for this package should be sent. */
+#undef PACKAGE_BUGREPORT
+
+/* Define to the full name of this package. */
+#undef PACKAGE_NAME
+
+/* Define to the full name and version of this package. */
+#undef PACKAGE_STRING
+
+/* Define to the one symbol short name of this package. */
+#undef PACKAGE_TARNAME
+
+/* Define to the version of this package. */
+#undef PACKAGE_VERSION
+
+/* Define if you want to synchronize VM threads portably by default; undef
+ otherwise */
+#undef PORTABLE_NATIVE_SYNC
+
+/* The number of bytes in type void * */
+#undef SIZEOF_VOID_P
+
+/* Define to 1 if you have the ANSI C header files. */
+#undef STDC_HEADERS
+
+/* Define if struct tm has tm_gmtoff field. */
+#undef STRUCT_TM_HAS_GMTOFF
+
+/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
+#undef TIME_WITH_SYS_TIME
+
+/* Define to 1 if your <sys/time.h> declares `struct tm'. */
+#undef TM_IN_SYS_TIME
+
+/* Version number of package */
+#undef VERSION
+
+/* whether byteorder is bigendian */
+#undef WORDS_BIGENDIAN
+
+/* Define to 1 if the X Window System is missing or not being used. */
+#undef X_DISPLAY_MISSING
+
+/* Define to empty if `const' does not conform to ANSI C. */
+#undef const
diff --git a/libjava/classpath/include/jni.h b/libjava/classpath/include/jni.h
new file mode 100644
index 0000000..8ebf3f7
--- /dev/null
+++ b/libjava/classpath/include/jni.h
@@ -0,0 +1,1599 @@
+/* jni.h
+ Copyright (C) 1998, 1999, 2000, 2001, 2002, 2004, 2005 Free Software Foundation
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+/* Note: this file must be compilable by the C compiler (for now,
+ assuming GNU C is ok). This means you must never use `//'
+ comments, and all C++-specific code must be conditional on
+ __cplusplus. */
+
+#ifndef _CLASSPATH_JNI_H
+#define _CLASSPATH_JNI_H
+
+/* We include <stdio.h> for compatibility with Sun's <jni.h>. */
+#include <stdio.h>
+
+#include <stdarg.h>
+
+#include "jni_md.h"
+
+/* The VM might define jobject and friends. */
+#ifndef _CLASSPATH_VM_JNI_TYPES_DEFINED
+
+# ifdef __cplusplus
+
+/* Define dummy classes and then define the JNI types as pointers. */
+struct __jobject {};
+struct __jclass : __jobject {};
+struct __jstring : __jobject {};
+struct __jthrowable : __jobject {};
+struct __jweak : __jobject {};
+struct __jarray : __jobject {};
+struct __jobjectArray : __jarray {};
+struct __jbyteArray : __jarray {};
+struct __jshortArray : __jarray {};
+struct __jintArray : __jarray {};
+struct __jlongArray : __jarray {};
+struct __jbooleanArray : __jarray {};
+struct __jcharArray : __jarray {};
+struct __jfloatArray : __jarray {};
+struct __jdoubleArray : __jarray {};
+
+typedef __jobject *jobject;
+typedef __jclass *jclass;
+typedef __jstring *jstring;
+typedef __jthrowable *jthrowable;
+typedef __jweak *jweak;
+typedef __jarray *jarray;
+typedef __jobjectArray *jobjectArray;
+typedef __jbyteArray *jbyteArray;
+typedef __jshortArray *jshortArray;
+typedef __jintArray *jintArray;
+typedef __jlongArray *jlongArray;
+typedef __jbooleanArray *jbooleanArray;
+typedef __jcharArray *jcharArray;
+typedef __jfloatArray *jfloatArray;
+typedef __jdoubleArray *jdoubleArray;
+
+#define JNI_TRUE true
+#define JNI_FALSE false
+
+typedef struct _Jv_JNIEnv JNIEnv;
+typedef struct _Jv_JavaVM JavaVM;
+
+# else /* __cplusplus */
+
+/* For C, simply define the class types as generic pointers. */
+typedef void *jobject;
+typedef jobject jclass;
+typedef jobject jstring;
+typedef jobject jthrowable;
+typedef jobject jweak;
+typedef jobject jarray;
+typedef jobject jobjectArray;
+typedef jobject jbyteArray;
+typedef jobject jshortArray;
+typedef jobject jintArray;
+typedef jobject jlongArray;
+typedef jobject jbooleanArray;
+typedef jobject jcharArray;
+typedef jobject jfloatArray;
+typedef jobject jdoubleArray;
+
+#define JNI_TRUE 1
+#define JNI_FALSE 0
+
+typedef const struct JNINativeInterface *JNIEnv;
+typedef const struct JNIInvokeInterface *JavaVM;
+
+# endif /* __cplusplus */
+
+#endif /* _CLASSPATH_VM_JNI_TYPES_DEFINED */
+
+/*
+ * Before jni.h is #included within a typical JVM, the source code should
+ * #define _JNI_VM_INTERNAL_TYPES_DEFINED and provide the real declarations
+ * for 'jobject', 'jfieldID', 'jmethodID' and other implementation types.
+ * If _JNI_VM_INTERNAL_TYPES_DEFINED is not defined, the following
+ * declares the old versions of the types.
+ */
+#ifndef _CLASSPATH_VM_INTERNAL_TYPES_DEFINED
+struct _jfieldID;
+struct _jmethodID;
+typedef struct _jfieldID *jfieldID;
+typedef struct _jmethodID *jmethodID;
+#endif
+
+/* Version numbers. */
+#define JNI_VERSION_1_1 0x00010001
+#define JNI_VERSION_1_2 0x00010002
+#define JNI_VERSION_1_4 0x00010004
+
+/* Used when releasing array elements. */
+#define JNI_COMMIT 1
+#define JNI_ABORT 2
+
+/* Error codes */
+#define JNI_OK 0
+#define JNI_ERR (-1)
+#define JNI_EDETACHED (-2)
+#define JNI_EVERSION (-3)
+
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif /* __cplusplus */
+
+/* These functions might be defined in libraries which we load; the
+ JNI implementation calls them at the appropriate times. */
+extern JNIEXPORT jint JNICALL JNI_OnLoad (JavaVM *, void *);
+extern JNIEXPORT void JNICALL JNI_OnUnload (JavaVM *, void *);
+
+/* This can be defined as JNIIMPORT or JNIEXPORT by the md file,
+ depending on whether this is the implementation or a user. */
+#ifndef _CLASSPATH_JNIIMPEXP
+#define _CLASSPATH_JNIIMPEXP JNIIMPORT
+#endif
+
+/* These functions are called by user code to start using the
+ invocation API. */
+extern _CLASSPATH_JNIIMPEXP jint JNICALL
+JNI_GetDefaultJavaVMInitArgs (void *);
+
+extern _CLASSPATH_JNIIMPEXP jint JNICALL
+JNI_CreateJavaVM (JavaVM **, void **, void *);
+
+extern _CLASSPATH_JNIIMPEXP jint JNICALL
+JNI_GetCreatedJavaVMs (JavaVM **, jsize, jsize *);
+
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
+
+typedef union jvalue
+{
+ jboolean z;
+ jbyte b;
+ jchar c;
+ jshort s;
+ jint i;
+ jlong j;
+ jfloat f;
+ jdouble d;
+ jobject l;
+} jvalue;
+
+/* This structure is used when registering native methods. */
+typedef struct
+{
+ char *name;
+ char *signature;
+ void *fnPtr; /* Sigh. */
+} JNINativeMethod;
+
+struct JNINativeInterface
+{
+ void *reserved0;
+ void *reserved1;
+ void *reserved2;
+ void *reserved3;
+
+ jint (JNICALL *GetVersion) (JNIEnv *);
+ jclass (JNICALL *DefineClass) (JNIEnv *, const char *,
+ jobject, const jbyte *,
+ jsize);
+ jclass (JNICALL *FindClass) (JNIEnv *, const char *);
+
+ jmethodID (JNICALL *FromReflectedMethod) (JNIEnv *, jobject);
+ jfieldID (JNICALL *FromReflectedField) (JNIEnv *, jobject);
+ jobject (JNICALL *ToReflectedMethod) (JNIEnv *, jclass,
+ jmethodID, jboolean);
+
+ jclass (JNICALL *GetSuperclass) (JNIEnv *, jclass);
+ jboolean (JNICALL *IsAssignableFrom) (JNIEnv *, jclass, jclass);
+
+ jobject (JNICALL *ToReflectedField) (JNIEnv *, jclass, jfieldID,
+ jboolean);
+
+ jint (JNICALL *Throw) (JNIEnv *, jthrowable);
+ jint (JNICALL *ThrowNew) (JNIEnv *, jclass,
+ const char *);
+ jthrowable (JNICALL *ExceptionOccurred) (JNIEnv *);
+ void (JNICALL *ExceptionDescribe) (JNIEnv *);
+ void (JNICALL *ExceptionClear) (JNIEnv *);
+ void (JNICALL *FatalError) (JNIEnv *, const char *);
+
+ jint (JNICALL *PushLocalFrame) (JNIEnv *, jint);
+ jobject (JNICALL *PopLocalFrame) (JNIEnv *, jobject);
+
+ jobject (JNICALL *NewGlobalRef) (JNIEnv *, jobject);
+ void (JNICALL *DeleteGlobalRef) (JNIEnv *, jobject);
+ void (JNICALL *DeleteLocalRef) (JNIEnv *, jobject);
+ jboolean (JNICALL *IsSameObject) (JNIEnv *, jobject,
+ jobject);
+
+ jobject (JNICALL *NewLocalRef) (JNIEnv *, jobject);
+ jint (JNICALL *EnsureLocalCapacity) (JNIEnv *, jint);
+
+ jobject (JNICALL *AllocObject) (JNIEnv *, jclass);
+ jobject (JNICALL *NewObject) (JNIEnv *, jclass,
+ jmethodID, ...);
+ jobject (JNICALL *NewObjectV) (JNIEnv *, jclass,
+ jmethodID, va_list);
+ jobject (JNICALL *NewObjectA) (JNIEnv *, jclass,
+ jmethodID, jvalue *);
+
+ jclass (JNICALL *GetObjectClass) (JNIEnv *, jobject);
+ jboolean (JNICALL *IsInstanceOf) (JNIEnv *, jobject, jclass);
+ jmethodID (JNICALL *GetMethodID) (JNIEnv *, jclass,
+ const char *, const char *);
+
+ jobject (JNICALL *CallObjectMethod) (JNIEnv *, jobject, jmethodID, ...);
+ jobject (JNICALL *CallObjectMethodV) (JNIEnv *, jobject, jmethodID,
+ va_list);
+ jobject (JNICALL *CallObjectMethodA) (JNIEnv *, jobject, jmethodID,
+ jvalue *);
+ jboolean (JNICALL *CallBooleanMethod) (JNIEnv *, jobject, jmethodID,
+ ...);
+ jboolean (JNICALL *CallBooleanMethodV) (JNIEnv *, jobject, jmethodID,
+ va_list);
+ jboolean (JNICALL *CallBooleanMethodA) (JNIEnv *, jobject, jmethodID,
+ jvalue *);
+ jbyte (JNICALL *CallByteMethod) (JNIEnv *, jobject, jmethodID, ...);
+ jbyte (JNICALL *CallByteMethodV) (JNIEnv *, jobject, jmethodID,
+ va_list);
+ jbyte (JNICALL *CallByteMethodA) (JNIEnv *, jobject, jmethodID,
+ jvalue *);
+ jchar (JNICALL *CallCharMethod) (JNIEnv *, jobject, jmethodID, ...);
+ jchar (JNICALL *CallCharMethodV) (JNIEnv *, jobject, jmethodID,
+ va_list);
+ jchar (JNICALL *CallCharMethodA) (JNIEnv *, jobject, jmethodID,
+ jvalue *);
+ jshort (JNICALL *CallShortMethod) (JNIEnv *, jobject, jmethodID, ...);
+ jshort (JNICALL *CallShortMethodV) (JNIEnv *, jobject, jmethodID,
+ va_list);
+ jshort (JNICALL *CallShortMethodA) (JNIEnv *, jobject, jmethodID,
+ jvalue *);
+ jint (JNICALL *CallIntMethod) (JNIEnv *, jobject, jmethodID, ...);
+ jint (JNICALL *CallIntMethodV) (JNIEnv *, jobject, jmethodID,
+ va_list);
+ jint (JNICALL *CallIntMethodA) (JNIEnv *, jobject, jmethodID,
+ jvalue *);
+ jlong (JNICALL *CallLongMethod) (JNIEnv *, jobject, jmethodID, ...);
+ jlong (JNICALL *CallLongMethodV) (JNIEnv *, jobject, jmethodID,
+ va_list);
+ jlong (JNICALL *CallLongMethodA) (JNIEnv *, jobject, jmethodID,
+ jvalue *);
+ jfloat (JNICALL *CallFloatMethod) (JNIEnv *, jobject, jmethodID, ...);
+ jfloat (JNICALL *CallFloatMethodV) (JNIEnv *, jobject, jmethodID,
+ va_list);
+ jfloat (JNICALL *CallFloatMethodA) (JNIEnv *, jobject, jmethodID,
+ jvalue *);
+ jdouble (JNICALL *CallDoubleMethod) (JNIEnv *, jobject, jmethodID, ...);
+ jdouble (JNICALL *CallDoubleMethodV) (JNIEnv *, jobject, jmethodID,
+ va_list);
+ jdouble (JNICALL *CallDoubleMethodA) (JNIEnv *, jobject, jmethodID,
+ jvalue *);
+ void (JNICALL *CallVoidMethod) (JNIEnv *, jobject, jmethodID, ...);
+ void (JNICALL *CallVoidMethodV) (JNIEnv *, jobject, jmethodID,
+ va_list);
+ void (JNICALL *CallVoidMethodA) (JNIEnv *, jobject, jmethodID,
+ jvalue *);
+
+ jobject (JNICALL *CallNonvirtualObjectMethod) (JNIEnv *, jobject, jclass,
+ jmethodID, ...);
+ jobject (JNICALL *CallNonvirtualObjectMethodV) (JNIEnv *, jobject, jclass,
+ jmethodID, va_list);
+ jobject (JNICALL *CallNonvirtualObjectMethodA) (JNIEnv *, jobject, jclass,
+ jmethodID, jvalue *);
+ jboolean (JNICALL *CallNonvirtualBooleanMethod) (JNIEnv *, jobject, jclass,
+ jmethodID, ...);
+ jboolean (JNICALL *CallNonvirtualBooleanMethodV) (JNIEnv *, jobject, jclass,
+ jmethodID, va_list);
+ jboolean (JNICALL *CallNonvirtualBooleanMethodA) (JNIEnv *, jobject, jclass,
+ jmethodID, jvalue *);
+ jbyte (JNICALL *CallNonvirtualByteMethod) (JNIEnv *, jobject, jclass,
+ jmethodID, ...);
+ jbyte (JNICALL *CallNonvirtualByteMethodV) (JNIEnv *, jobject, jclass,
+ jmethodID, va_list);
+ jbyte (JNICALL *CallNonvirtualByteMethodA) (JNIEnv *, jobject, jclass,
+ jmethodID, jvalue *);
+ jchar (JNICALL *CallNonvirtualCharMethod) (JNIEnv *, jobject, jclass,
+ jmethodID, ...);
+ jchar (JNICALL *CallNonvirtualCharMethodV) (JNIEnv *, jobject, jclass,
+ jmethodID, va_list);
+ jchar (JNICALL *CallNonvirtualCharMethodA) (JNIEnv *, jobject, jclass,
+ jmethodID, jvalue *);
+ jshort (JNICALL *CallNonvirtualShortMethod) (JNIEnv *, jobject, jclass,
+ jmethodID, ...);
+ jshort (JNICALL *CallNonvirtualShortMethodV) (JNIEnv *, jobject, jclass,
+ jmethodID, va_list);
+ jshort (JNICALL *CallNonvirtualShortMethodA) (JNIEnv *, jobject, jclass,
+ jmethodID, jvalue *);
+ jint (JNICALL *CallNonvirtualIntMethod) (JNIEnv *, jobject, jclass,
+ jmethodID, ...);
+ jint (JNICALL *CallNonvirtualIntMethodV) (JNIEnv *, jobject, jclass,
+ jmethodID, va_list);
+ jint (JNICALL *CallNonvirtualIntMethodA) (JNIEnv *, jobject, jclass,
+ jmethodID, jvalue *);
+ jlong (JNICALL *CallNonvirtualLongMethod) (JNIEnv *, jobject, jclass,
+ jmethodID, ...);
+ jlong (JNICALL *CallNonvirtualLongMethodV) (JNIEnv *, jobject, jclass,
+ jmethodID, va_list);
+ jlong (JNICALL *CallNonvirtualLongMethodA) (JNIEnv *, jobject, jclass,
+ jmethodID, jvalue *);
+ jfloat (JNICALL *CallNonvirtualFloatMethod) (JNIEnv *, jobject, jclass,
+ jmethodID, ...);
+ jfloat (JNICALL *CallNonvirtualFloatMethodV) (JNIEnv *, jobject, jclass,
+ jmethodID, va_list);
+ jfloat (JNICALL *CallNonvirtualFloatMethodA) (JNIEnv *, jobject, jclass,
+ jmethodID, jvalue *);
+ jdouble (JNICALL *CallNonvirtualDoubleMethod) (JNIEnv *, jobject, jclass,
+ jmethodID, ...);
+ jdouble (JNICALL *CallNonvirtualDoubleMethodV) (JNIEnv *, jobject, jclass,
+ jmethodID, va_list);
+ jdouble (JNICALL *CallNonvirtualDoubleMethodA) (JNIEnv *, jobject, jclass,
+ jmethodID, jvalue *);
+ void (JNICALL *CallNonvirtualVoidMethod) (JNIEnv *, jobject, jclass,
+ jmethodID, ...);
+ void (JNICALL *CallNonvirtualVoidMethodV) (JNIEnv *, jobject, jclass,
+ jmethodID, va_list);
+ void (JNICALL *CallNonvirtualVoidMethodA) (JNIEnv *, jobject, jclass,
+ jmethodID, jvalue *);
+
+ jfieldID (JNICALL *GetFieldID) (JNIEnv *, jclass, const char *,
+ const char *);
+
+ jobject (JNICALL *GetObjectField) (JNIEnv *, jobject, jfieldID);
+ jboolean (JNICALL *GetBooleanField) (JNIEnv *, jobject, jfieldID);
+ jbyte (JNICALL *GetByteField) (JNIEnv *, jobject, jfieldID);
+ jchar (JNICALL *GetCharField) (JNIEnv *, jobject, jfieldID);
+ jshort (JNICALL *GetShortField) (JNIEnv *, jobject, jfieldID);
+ jint (JNICALL *GetIntField) (JNIEnv *, jobject, jfieldID);
+ jlong (JNICALL *GetLongField) (JNIEnv *, jobject, jfieldID);
+ jfloat (JNICALL *GetFloatField) (JNIEnv *, jobject, jfieldID);
+ jdouble (JNICALL *GetDoubleField) (JNIEnv *, jobject, jfieldID);
+
+ void (JNICALL *SetObjectField) (JNIEnv *, jobject,
+ jfieldID, jobject);
+ void (JNICALL *SetBooleanField) (JNIEnv *, jobject,
+ jfieldID, jboolean);
+ void (JNICALL *SetByteField) (JNIEnv *, jobject,
+ jfieldID, jbyte);
+ void (JNICALL *SetCharField) (JNIEnv *, jobject,
+ jfieldID, jchar);
+ void (JNICALL *SetShortField) (JNIEnv *, jobject,
+ jfieldID, jshort);
+ void (JNICALL *SetIntField) (JNIEnv *, jobject,
+ jfieldID, jint);
+ void (JNICALL *SetLongField) (JNIEnv *, jobject,
+ jfieldID, jlong);
+ void (JNICALL *SetFloatField) (JNIEnv *, jobject,
+ jfieldID, jfloat);
+ void (JNICALL *SetDoubleField) (JNIEnv *, jobject,
+ jfieldID, jdouble);
+
+ jmethodID (JNICALL *GetStaticMethodID) (JNIEnv *, jclass, const char *,
+ const char *);
+
+ jobject (JNICALL *CallStaticObjectMethod) (JNIEnv *, jclass, jmethodID,
+ ...);
+ jobject (JNICALL *CallStaticObjectMethodV) (JNIEnv *, jclass, jmethodID,
+ va_list);
+ jobject (JNICALL *CallStaticObjectMethodA) (JNIEnv *, jclass, jmethodID,
+ jvalue *);
+ jboolean (JNICALL *CallStaticBooleanMethod) (JNIEnv *, jclass, jmethodID,
+ ...);
+ jboolean (JNICALL *CallStaticBooleanMethodV) (JNIEnv *, jclass, jmethodID,
+ va_list);
+ jboolean (JNICALL *CallStaticBooleanMethodA) (JNIEnv *, jclass, jmethodID,
+ jvalue *);
+ jbyte (JNICALL *CallStaticByteMethod) (JNIEnv *, jclass, jmethodID,
+ ...);
+ jbyte (JNICALL *CallStaticByteMethodV) (JNIEnv *, jclass, jmethodID,
+ va_list);
+ jbyte (JNICALL *CallStaticByteMethodA) (JNIEnv *, jclass, jmethodID,
+ jvalue *);
+ jchar (JNICALL *CallStaticCharMethod) (JNIEnv *, jclass, jmethodID,
+ ...);
+ jchar (JNICALL *CallStaticCharMethodV) (JNIEnv *, jclass, jmethodID,
+ va_list);
+ jchar (JNICALL *CallStaticCharMethodA) (JNIEnv *, jclass, jmethodID,
+ jvalue *);
+ jshort (JNICALL *CallStaticShortMethod) (JNIEnv *, jclass, jmethodID,
+ ...);
+ jshort (JNICALL *CallStaticShortMethodV) (JNIEnv *, jclass, jmethodID,
+ va_list);
+ jshort (JNICALL *CallStaticShortMethodA) (JNIEnv *, jclass, jmethodID,
+ jvalue *);
+ jint (JNICALL *CallStaticIntMethod) (JNIEnv *, jclass, jmethodID,
+ ...);
+ jint (JNICALL *CallStaticIntMethodV) (JNIEnv *, jclass, jmethodID,
+ va_list);
+ jint (JNICALL *CallStaticIntMethodA) (JNIEnv *, jclass, jmethodID,
+ jvalue *);
+ jlong (JNICALL *CallStaticLongMethod) (JNIEnv *, jclass, jmethodID,
+ ...);
+ jlong (JNICALL *CallStaticLongMethodV) (JNIEnv *, jclass, jmethodID,
+ va_list);
+ jlong (JNICALL *CallStaticLongMethodA) (JNIEnv *, jclass, jmethodID,
+ jvalue *);
+ jfloat (JNICALL *CallStaticFloatMethod) (JNIEnv *, jclass, jmethodID,
+ ...);
+ jfloat (JNICALL *CallStaticFloatMethodV) (JNIEnv *, jclass, jmethodID,
+ va_list);
+ jfloat (JNICALL *CallStaticFloatMethodA) (JNIEnv *, jclass, jmethodID,
+ jvalue *);
+ jdouble (JNICALL *CallStaticDoubleMethod) (JNIEnv *, jclass, jmethodID,
+ ...);
+ jdouble (JNICALL *CallStaticDoubleMethodV) (JNIEnv *, jclass, jmethodID,
+ va_list);
+ jdouble (JNICALL *CallStaticDoubleMethodA) (JNIEnv *, jclass, jmethodID,
+ jvalue *);
+ void (JNICALL *CallStaticVoidMethod) (JNIEnv *, jclass, jmethodID,
+ ...);
+ void (JNICALL *CallStaticVoidMethodV) (JNIEnv *, jclass, jmethodID,
+ va_list);
+ void (JNICALL *CallStaticVoidMethodA) (JNIEnv *, jclass, jmethodID,
+ jvalue *);
+
+ jfieldID (JNICALL *GetStaticFieldID) (JNIEnv *, jclass, const char *,
+ const char *);
+
+ jobject (JNICALL *GetStaticObjectField) (JNIEnv *, jclass, jfieldID);
+ jboolean (JNICALL *GetStaticBooleanField) (JNIEnv *, jclass, jfieldID);
+ jbyte (JNICALL *GetStaticByteField) (JNIEnv *, jclass, jfieldID);
+ jchar (JNICALL *GetStaticCharField) (JNIEnv *, jclass, jfieldID);
+ jshort (JNICALL *GetStaticShortField) (JNIEnv *, jclass, jfieldID);
+ jint (JNICALL *GetStaticIntField) (JNIEnv *, jclass, jfieldID);
+ jlong (JNICALL *GetStaticLongField) (JNIEnv *, jclass, jfieldID);
+ jfloat (JNICALL *GetStaticFloatField) (JNIEnv *, jclass, jfieldID);
+ jdouble (JNICALL *GetStaticDoubleField) (JNIEnv *, jclass, jfieldID);
+
+ void (JNICALL *SetStaticObjectField) (JNIEnv *, jclass,
+ jfieldID, jobject);
+ void (JNICALL *SetStaticBooleanField) (JNIEnv *, jclass,
+ jfieldID, jboolean);
+ void (JNICALL *SetStaticByteField) (JNIEnv *, jclass,
+ jfieldID, jbyte);
+ void (JNICALL *SetStaticCharField) (JNIEnv *, jclass,
+ jfieldID, jchar);
+ void (JNICALL *SetStaticShortField) (JNIEnv *, jclass,
+ jfieldID, jshort);
+ void (JNICALL *SetStaticIntField) (JNIEnv *, jclass,
+ jfieldID, jint);
+ void (JNICALL *SetStaticLongField) (JNIEnv *, jclass,
+ jfieldID, jlong);
+ void (JNICALL *SetStaticFloatField) (JNIEnv *, jclass,
+ jfieldID, jfloat);
+ void (JNICALL *SetStaticDoubleField) (JNIEnv *, jclass,
+ jfieldID, jdouble);
+
+ jstring (JNICALL *NewString) (JNIEnv *, const jchar *, jsize);
+ jsize (JNICALL *GetStringLength) (JNIEnv *, jstring);
+ const jchar * (JNICALL *GetStringChars) (JNIEnv *, jstring, jboolean *);
+ void (JNICALL *ReleaseStringChars) (JNIEnv *, jstring, const jchar *);
+ jstring (JNICALL *NewStringUTF) (JNIEnv *, const char *);
+ jsize (JNICALL *GetStringUTFLength) (JNIEnv *, jstring);
+ const char * (JNICALL *GetStringUTFChars) (JNIEnv *, jstring, jboolean *);
+ void (JNICALL *ReleaseStringUTFChars) (JNIEnv *, jstring, const char *);
+ jsize (JNICALL *GetArrayLength) (JNIEnv *, jarray);
+ jobjectArray (JNICALL *NewObjectArray) (JNIEnv *, jsize, jclass, jobject);
+ jobject (JNICALL *GetObjectArrayElement) (JNIEnv *, jobjectArray, jsize);
+ void (JNICALL *SetObjectArrayElement) (JNIEnv *, jobjectArray, jsize,
+ jobject);
+
+ jbooleanArray (JNICALL *NewBooleanArray) (JNIEnv *, jsize);
+ jbyteArray (JNICALL *NewByteArray) (JNIEnv *, jsize);
+ jcharArray (JNICALL *NewCharArray) (JNIEnv *, jsize);
+ jshortArray (JNICALL *NewShortArray) (JNIEnv *, jsize);
+ jintArray (JNICALL *NewIntArray) (JNIEnv *, jsize);
+ jlongArray (JNICALL *NewLongArray) (JNIEnv *, jsize);
+ jfloatArray (JNICALL *NewFloatArray) (JNIEnv *, jsize);
+ jdoubleArray (JNICALL *NewDoubleArray) (JNIEnv *, jsize);
+
+ jboolean * (JNICALL *GetBooleanArrayElements) (JNIEnv *, jbooleanArray,
+ jboolean *);
+ jbyte * (JNICALL *GetByteArrayElements) (JNIEnv *, jbyteArray,
+ jboolean *);
+ jchar * (JNICALL *GetCharArrayElements) (JNIEnv *, jcharArray,
+ jboolean *);
+ jshort * (JNICALL *GetShortArrayElements) (JNIEnv *, jshortArray,
+ jboolean *);
+ jint * (JNICALL *GetIntArrayElements) (JNIEnv *, jintArray,
+ jboolean *);
+ jlong * (JNICALL *GetLongArrayElements) (JNIEnv *, jlongArray,
+ jboolean *);
+ jfloat * (JNICALL *GetFloatArrayElements) (JNIEnv *, jfloatArray,
+ jboolean *);
+ jdouble * (JNICALL *GetDoubleArrayElements) (JNIEnv *, jdoubleArray,
+ jboolean *);
+
+ void (JNICALL *ReleaseBooleanArrayElements) (JNIEnv *, jbooleanArray,
+ jboolean *, jint);
+ void (JNICALL *ReleaseByteArrayElements) (JNIEnv *, jbyteArray,
+ jbyte *, jint);
+ void (JNICALL *ReleaseCharArrayElements) (JNIEnv *, jcharArray,
+ jchar *, jint);
+ void (JNICALL *ReleaseShortArrayElements) (JNIEnv *, jshortArray,
+ jshort *, jint);
+ void (JNICALL *ReleaseIntArrayElements) (JNIEnv *, jintArray,
+ jint *, jint);
+ void (JNICALL *ReleaseLongArrayElements) (JNIEnv *, jlongArray,
+ jlong *, jint);
+ void (JNICALL *ReleaseFloatArrayElements) (JNIEnv *, jfloatArray,
+ jfloat *, jint);
+ void (JNICALL *ReleaseDoubleArrayElements) (JNIEnv *, jdoubleArray,
+ jdouble *, jint);
+
+ void (JNICALL *GetBooleanArrayRegion) (JNIEnv *, jbooleanArray,
+ jsize, jsize, jboolean *);
+ void (JNICALL *GetByteArrayRegion) (JNIEnv *, jbyteArray,
+ jsize, jsize, jbyte *);
+ void (JNICALL *GetCharArrayRegion) (JNIEnv *, jcharArray,
+ jsize, jsize, jchar *);
+ void (JNICALL *GetShortArrayRegion) (JNIEnv *, jshortArray,
+ jsize, jsize, jshort *);
+ void (JNICALL *GetIntArrayRegion) (JNIEnv *, jintArray,
+ jsize, jsize, jint *);
+ void (JNICALL *GetLongArrayRegion) (JNIEnv *, jlongArray,
+ jsize, jsize, jlong *);
+ void (JNICALL *GetFloatArrayRegion) (JNIEnv *, jfloatArray,
+ jsize, jsize, jfloat *);
+ void (JNICALL *GetDoubleArrayRegion) (JNIEnv *, jdoubleArray,
+ jsize, jsize, jdouble *);
+
+ void (JNICALL *SetBooleanArrayRegion) (JNIEnv *, jbooleanArray,
+ jsize, jsize, jboolean *);
+ void (JNICALL *SetByteArrayRegion) (JNIEnv *, jbyteArray,
+ jsize, jsize, jbyte *);
+ void (JNICALL *SetCharArrayRegion) (JNIEnv *, jcharArray,
+ jsize, jsize, jchar *);
+ void (JNICALL *SetShortArrayRegion) (JNIEnv *, jshortArray,
+ jsize, jsize, jshort *);
+ void (JNICALL *SetIntArrayRegion) (JNIEnv *, jintArray,
+ jsize, jsize, jint *);
+ void (JNICALL *SetLongArrayRegion) (JNIEnv *, jlongArray,
+ jsize, jsize, jlong *);
+ void (JNICALL *SetFloatArrayRegion) (JNIEnv *, jfloatArray,
+ jsize, jsize, jfloat *);
+ void (JNICALL *SetDoubleArrayRegion) (JNIEnv *, jdoubleArray,
+ jsize, jsize, jdouble *);
+
+ jint (JNICALL *RegisterNatives) (JNIEnv *, jclass,
+ const JNINativeMethod *,
+ jint);
+ jint (JNICALL *UnregisterNatives) (JNIEnv *, jclass);
+ jint (JNICALL *MonitorEnter) (JNIEnv *, jobject);
+ jint (JNICALL *MonitorExit) (JNIEnv *, jobject);
+ jint (JNICALL *GetJavaVM) (JNIEnv *, JavaVM **);
+
+ /* ---- JNI 1.2 functions ---- */
+ void (JNICALL *GetStringRegion) (JNIEnv *, jstring, jsize,
+ jsize, jchar *);
+ void (JNICALL *GetStringUTFRegion) (JNIEnv *, jstring, jsize,
+ jsize, char *);
+
+ void * (JNICALL *GetPrimitiveArrayCritical) (JNIEnv *, jarray,
+ jboolean *);
+ void (JNICALL *ReleasePrimitiveArrayCritical) (JNIEnv *, jarray, void *,
+ jint);
+
+ const jchar * (JNICALL *GetStringCritical) (JNIEnv *, jstring,
+ jboolean *);
+ void (JNICALL *ReleaseStringCritical) (JNIEnv *, jstring,
+ const jchar *);
+
+ jweak (JNICALL *NewWeakGlobalRef) (JNIEnv *, jobject);
+ void (JNICALL *DeleteWeakGlobalRef) (JNIEnv *, jweak);
+
+ jboolean (JNICALL *ExceptionCheck) (JNIEnv *);
+
+ /* ---- JNI 1.4 functions ---- */
+ jobject (JNICALL *NewDirectByteBuffer) (JNIEnv *, void *, jlong);
+ void * (JNICALL *GetDirectBufferAddress) (JNIEnv *, jobject);
+ jlong (JNICALL *GetDirectBufferCapacity) (JNIEnv *, jobject);
+};
+
+#ifdef __cplusplus
+
+class _Jv_JNIEnv
+{
+public:
+ /* The method table. */
+ struct JNINativeInterface *p;
+
+#ifdef _CLASSPATH_JNIENV_CONTENTS
+ _CLASSPATH_JNIENV_CONTENTS
+#endif
+
+ jint GetVersion ()
+ { return p->GetVersion (this); }
+
+ jclass DefineClass (const char *name, jobject obj0, const jbyte * val1,
+ jsize val2)
+ { return p->DefineClass (this, name, obj0, val1, val2); }
+
+ jclass FindClass (const char * val0)
+ { return p->FindClass (this, val0); }
+
+ jmethodID FromReflectedMethod (jobject obj0)
+ { return p->FromReflectedMethod (this, obj0); }
+
+ jfieldID FromReflectedField (jobject obj0)
+ { return p->FromReflectedField (this, obj0); }
+
+ jobject ToReflectedMethod (jclass cl0, jmethodID meth1, jboolean val2)
+ { return p->ToReflectedMethod (this, cl0, meth1, val2); }
+
+ jclass GetSuperclass (jclass cl0)
+ { return p->GetSuperclass (this, cl0); }
+
+ jboolean IsAssignableFrom (jclass cl0, jclass cl1)
+ { return p->IsAssignableFrom (this, cl0, cl1); }
+
+ jobject ToReflectedField (jclass cl0, jfieldID fld1, jboolean val2)
+ { return p->ToReflectedField (this, cl0, fld1, val2); }
+
+ jint Throw (jthrowable val0)
+ { return p->Throw (this, val0); }
+
+ jint ThrowNew (jclass cl0, const char * val1)
+ { return p->ThrowNew (this, cl0, val1); }
+
+ jthrowable ExceptionOccurred ()
+ { return p->ExceptionOccurred (this); }
+
+ void ExceptionDescribe ()
+ { p->ExceptionDescribe (this); }
+
+ void ExceptionClear ()
+ { p->ExceptionClear (this); }
+
+ void FatalError (const char * val0)
+ { p->FatalError (this, val0); }
+
+ jint PushLocalFrame (jint val0)
+ { return p->PushLocalFrame (this, val0); }
+
+ jobject PopLocalFrame (jobject obj0)
+ { return p->PopLocalFrame (this, obj0); }
+
+ jobject NewGlobalRef (jobject obj0)
+ { return p->NewGlobalRef (this, obj0); }
+
+ void DeleteGlobalRef (jobject obj0)
+ { p->DeleteGlobalRef (this, obj0); }
+
+ void DeleteLocalRef (jobject obj0)
+ { p->DeleteLocalRef (this, obj0); }
+
+ jboolean IsSameObject (jobject obj0, jobject obj1)
+ { return p->IsSameObject (this, obj0, obj1); }
+
+ jobject NewLocalRef (jobject obj0)
+ { return p->NewLocalRef (this, obj0); }
+
+ jint EnsureLocalCapacity (jint val0)
+ { return p->EnsureLocalCapacity (this, val0); }
+
+ jobject AllocObject (jclass cl0)
+ { return p->AllocObject (this, cl0); }
+
+ jobject NewObject (jclass cl0, jmethodID meth1, ...)
+ {
+ va_list args;
+ va_start (args, meth1);
+ jobject result = p->NewObjectV (this, cl0, meth1, args);
+ va_end (args);
+ return result;
+ }
+
+ jobject NewObjectV (jclass cl0, jmethodID meth1, va_list val2)
+ { return p->NewObjectV (this, cl0, meth1, val2); }
+
+ jobject NewObjectA (jclass cl0, jmethodID meth1, jvalue * val2)
+ { return p->NewObjectA (this, cl0, meth1, val2); }
+
+ jclass GetObjectClass (jobject obj0)
+ { return p->GetObjectClass (this, obj0); }
+
+ jboolean IsInstanceOf (jobject obj0, jclass cl1)
+ { return p->IsInstanceOf (this, obj0, cl1); }
+
+ jmethodID GetMethodID (jclass cl0, const char * val1, const char * val2)
+ { return p->GetMethodID (this, cl0, val1, val2); }
+
+ jobject CallObjectMethod (jobject obj0, jmethodID meth1, ...)
+ {
+ va_list args;
+ va_start (args, meth1);
+ jobject result = p->CallObjectMethodV (this, obj0, meth1, args);
+ va_end (args);
+ return result;
+ }
+
+ jobject CallObjectMethodV (jobject obj0, jmethodID meth1, va_list val2)
+ { return p->CallObjectMethodV (this, obj0, meth1, val2); }
+
+ jobject CallObjectMethodA (jobject obj0, jmethodID meth1, jvalue * val2)
+ { return p->CallObjectMethodA (this, obj0, meth1, val2); }
+
+ jboolean CallBooleanMethod (jobject obj0, jmethodID meth1, ...)
+ {
+ va_list args;
+ va_start (args, meth1);
+ jboolean result = p->CallBooleanMethodV (this, obj0, meth1, args);
+ va_end (args);
+ return result;
+ }
+
+ jboolean CallBooleanMethodV (jobject obj0, jmethodID meth1, va_list val2)
+ { return p->CallBooleanMethodV (this, obj0, meth1, val2); }
+
+ jboolean CallBooleanMethodA (jobject obj0, jmethodID meth1, jvalue * val2)
+ { return p->CallBooleanMethodA (this, obj0, meth1, val2); }
+
+ jbyte CallByteMethod (jobject obj0, jmethodID meth1, ...)
+ {
+ va_list args;
+ va_start (args, meth1);
+ jbyte result = p->CallByteMethodV (this, obj0, meth1, args);
+ va_end (args);
+ return result;
+ }
+
+ jbyte CallByteMethodV (jobject obj0, jmethodID meth1, va_list val2)
+ { return p->CallByteMethodV (this, obj0, meth1, val2); }
+
+ jbyte CallByteMethodA (jobject obj0, jmethodID meth1, jvalue * val2)
+ { return p->CallByteMethodA (this, obj0, meth1, val2); }
+
+ jchar CallCharMethod (jobject obj0, jmethodID meth1, ...)
+ {
+ va_list args;
+ va_start (args, meth1);
+ jchar result = p->CallCharMethodV (this, obj0, meth1, args);
+ va_end (args);
+ return result;
+ }
+
+ jchar CallCharMethodV (jobject obj0, jmethodID meth1, va_list val2)
+ { return p->CallCharMethodV (this, obj0, meth1, val2); }
+
+ jchar CallCharMethodA (jobject obj0, jmethodID meth1, jvalue * val2)
+ { return p->CallCharMethodA (this, obj0, meth1, val2); }
+
+ jshort CallShortMethod (jobject obj0, jmethodID meth1, ...)
+ {
+ va_list args;
+ va_start (args, meth1);
+ jshort result = p->CallShortMethodV (this, obj0, meth1, args);
+ va_end (args);
+ return result;
+ }
+
+ jshort CallShortMethodV (jobject obj0, jmethodID meth1, va_list val2)
+ { return p->CallShortMethodV (this, obj0, meth1, val2); }
+
+ jshort CallShortMethodA (jobject obj0, jmethodID meth1, jvalue * val2)
+ { return p->CallShortMethodA (this, obj0, meth1, val2); }
+
+ jint CallIntMethod (jobject obj0, jmethodID meth1, ...)
+ {
+ va_list args;
+ va_start (args, meth1);
+ jint result = p->CallIntMethodV (this, obj0, meth1, args);
+ va_end (args);
+ return result;
+ }
+
+ jint CallIntMethodV (jobject obj0, jmethodID meth1, va_list val2)
+ { return p->CallIntMethodV (this, obj0, meth1, val2); }
+
+ jint CallIntMethodA (jobject obj0, jmethodID meth1, jvalue * val2)
+ { return p->CallIntMethodA (this, obj0, meth1, val2); }
+
+ jlong CallLongMethod (jobject obj0, jmethodID meth1, ...)
+ {
+ va_list args;
+ va_start (args, meth1);
+ jlong result = p->CallLongMethodV (this, obj0, meth1, args);
+ va_end (args);
+ return result;
+ }
+
+ jlong CallLongMethodV (jobject obj0, jmethodID meth1, va_list val2)
+ { return p->CallLongMethodV (this, obj0, meth1, val2); }
+
+ jlong CallLongMethodA (jobject obj0, jmethodID meth1, jvalue * val2)
+ { return p->CallLongMethodA (this, obj0, meth1, val2); }
+
+ jfloat CallFloatMethod (jobject obj0, jmethodID meth1, ...)
+ {
+ va_list args;
+ va_start (args, meth1);
+ jfloat result = p->CallFloatMethodV (this, obj0, meth1, args);
+ va_end (args);
+ return result;
+ }
+
+ jfloat CallFloatMethodV (jobject obj0, jmethodID meth1, va_list val2)
+ { return p->CallFloatMethodV (this, obj0, meth1, val2); }
+
+ jfloat CallFloatMethodA (jobject obj0, jmethodID meth1, jvalue * val2)
+ { return p->CallFloatMethodA (this, obj0, meth1, val2); }
+
+ jdouble CallDoubleMethod (jobject obj0, jmethodID meth1, ...)
+ {
+ va_list args;
+ va_start (args, meth1);
+ jdouble result = p->CallDoubleMethodV (this, obj0, meth1, args);
+ va_end (args);
+ return result;
+ }
+
+ jdouble CallDoubleMethodV (jobject obj0, jmethodID meth1, va_list val2)
+ { return p->CallDoubleMethodV (this, obj0, meth1, val2); }
+
+ jdouble CallDoubleMethodA (jobject obj0, jmethodID meth1, jvalue * val2)
+ { return p->CallDoubleMethodA (this, obj0, meth1, val2); }
+
+ void CallVoidMethod (jobject obj0, jmethodID meth1, ...)
+ {
+ va_list args;
+ va_start (args, meth1);
+ p->CallVoidMethodV (this, obj0, meth1, args);
+ va_end (args);
+ }
+
+ void CallVoidMethodV (jobject obj0, jmethodID meth1, va_list val2)
+ { p->CallVoidMethodV (this, obj0, meth1, val2); }
+
+ void CallVoidMethodA (jobject obj0, jmethodID meth1, jvalue * val2)
+ { p->CallVoidMethodA (this, obj0, meth1, val2); }
+
+ jobject CallNonvirtualObjectMethod (jobject obj0, jclass cl1, jmethodID meth2, ...)
+ {
+ va_list args;
+ va_start (args, meth2);
+ jobject result = p->CallNonvirtualObjectMethodV (this, obj0, cl1, meth2, args);
+ va_end (args);
+ return result;
+ }
+
+ jobject CallNonvirtualObjectMethodV (jobject obj0, jclass cl1, jmethodID meth2, va_list val3)
+ { return p->CallNonvirtualObjectMethodV (this, obj0, cl1, meth2, val3); }
+
+ jobject CallNonvirtualObjectMethodA (jobject obj0, jclass cl1, jmethodID meth2, jvalue * val3)
+ { return p->CallNonvirtualObjectMethodA (this, obj0, cl1, meth2, val3); }
+
+ jboolean CallNonvirtualBooleanMethod (jobject obj0, jclass cl1, jmethodID meth2, ...)
+ {
+ va_list args;
+ va_start (args, meth2);
+ jboolean result = p->CallNonvirtualBooleanMethodV (this, obj0, cl1, meth2, args);
+ va_end (args);
+ return result;
+ }
+
+ jboolean CallNonvirtualBooleanMethodV (jobject obj0, jclass cl1, jmethodID meth2, va_list val3)
+ { return p->CallNonvirtualBooleanMethodV (this, obj0, cl1, meth2, val3); }
+
+ jboolean CallNonvirtualBooleanMethodA (jobject obj0, jclass cl1, jmethodID meth2, jvalue * val3)
+ { return p->CallNonvirtualBooleanMethodA (this, obj0, cl1, meth2, val3); }
+
+ jbyte CallNonvirtualByteMethod (jobject obj0, jclass cl1, jmethodID meth2, ...)
+ {
+ va_list args;
+ va_start (args, meth2);
+ jbyte result = p->CallNonvirtualByteMethodV (this, obj0, cl1, meth2, args);
+ va_end (args);
+ return result;
+ }
+
+ jbyte CallNonvirtualByteMethodV (jobject obj0, jclass cl1, jmethodID meth2, va_list val3)
+ { return p->CallNonvirtualByteMethodV (this, obj0, cl1, meth2, val3); }
+
+ jbyte CallNonvirtualByteMethodA (jobject obj0, jclass cl1, jmethodID meth2, jvalue * val3)
+ { return p->CallNonvirtualByteMethodA (this, obj0, cl1, meth2, val3); }
+
+ jchar CallNonvirtualCharMethod (jobject obj0, jclass cl1, jmethodID meth2, ...)
+ {
+ va_list args;
+ va_start (args, meth2);
+ jchar result = p->CallNonvirtualCharMethodV (this, obj0, cl1, meth2, args);
+ va_end (args);
+ return result;
+ }
+
+ jchar CallNonvirtualCharMethodV (jobject obj0, jclass cl1, jmethodID meth2, va_list val3)
+ { return p->CallNonvirtualCharMethodV (this, obj0, cl1, meth2, val3); }
+
+ jchar CallNonvirtualCharMethodA (jobject obj0, jclass cl1, jmethodID meth2, jvalue * val3)
+ { return p->CallNonvirtualCharMethodA (this, obj0, cl1, meth2, val3); }
+
+ jshort CallNonvirtualShortMethod (jobject obj0, jclass cl1, jmethodID meth2, ...)
+ {
+ va_list args;
+ va_start (args, meth2);
+ jshort result = p->CallNonvirtualShortMethodV (this, obj0, cl1, meth2, args);
+ va_end (args);
+ return result;
+ }
+
+ jshort CallNonvirtualShortMethodV (jobject obj0, jclass cl1, jmethodID meth2, va_list val3)
+ { return p->CallNonvirtualShortMethodV (this, obj0, cl1, meth2, val3); }
+
+ jshort CallNonvirtualShortMethodA (jobject obj0, jclass cl1, jmethodID meth2, jvalue * val3)
+ { return p->CallNonvirtualShortMethodA (this, obj0, cl1, meth2, val3); }
+
+ jint CallNonvirtualIntMethod (jobject obj0, jclass cl1, jmethodID meth2, ...)
+ {
+ va_list args;
+ va_start (args, meth2);
+ jint result = p->CallNonvirtualIntMethodV (this, obj0, cl1, meth2, args);
+ va_end (args);
+ return result;
+ }
+
+ jint CallNonvirtualIntMethodV (jobject obj0, jclass cl1, jmethodID meth2, va_list val3)
+ { return p->CallNonvirtualIntMethodV (this, obj0, cl1, meth2, val3); }
+
+ jint CallNonvirtualIntMethodA (jobject obj0, jclass cl1, jmethodID meth2, jvalue * val3)
+ { return p->CallNonvirtualIntMethodA (this, obj0, cl1, meth2, val3); }
+
+ jlong CallNonvirtualLongMethod (jobject obj0, jclass cl1, jmethodID meth2, ...)
+ {
+ va_list args;
+ va_start (args, meth2);
+ jlong result = p->CallNonvirtualLongMethodV (this, obj0, cl1, meth2, args);
+ va_end (args);
+ return result;
+ }
+
+ jlong CallNonvirtualLongMethodV (jobject obj0, jclass cl1, jmethodID meth2, va_list val3)
+ { return p->CallNonvirtualLongMethodV (this, obj0, cl1, meth2, val3); }
+
+ jlong CallNonvirtualLongMethodA (jobject obj0, jclass cl1, jmethodID meth2, jvalue * val3)
+ { return p->CallNonvirtualLongMethodA (this, obj0, cl1, meth2, val3); }
+
+ jfloat CallNonvirtualFloatMethod (jobject obj0, jclass cl1, jmethodID meth2, ...)
+ {
+ va_list args;
+ va_start (args, meth2);
+ jfloat result = p->CallNonvirtualFloatMethodV (this, obj0, cl1, meth2, args);
+ va_end (args);
+ return result;
+ }
+
+ jfloat CallNonvirtualFloatMethodV (jobject obj0, jclass cl1, jmethodID meth2, va_list val3)
+ { return p->CallNonvirtualFloatMethodV (this, obj0, cl1, meth2, val3); }
+
+ jfloat CallNonvirtualFloatMethodA (jobject obj0, jclass cl1, jmethodID meth2, jvalue * val3)
+ { return p->CallNonvirtualFloatMethodA (this, obj0, cl1, meth2, val3); }
+
+ jdouble CallNonvirtualDoubleMethod (jobject obj0, jclass cl1, jmethodID meth2, ...)
+ {
+ va_list args;
+ va_start (args, meth2);
+ jdouble result = p->CallNonvirtualDoubleMethodV (this, obj0, cl1, meth2, args);
+ va_end (args);
+ return result;
+ }
+
+ jdouble CallNonvirtualDoubleMethodV (jobject obj0, jclass cl1, jmethodID meth2, va_list val3)
+ { return p->CallNonvirtualDoubleMethodV (this, obj0, cl1, meth2, val3); }
+
+ jdouble CallNonvirtualDoubleMethodA (jobject obj0, jclass cl1, jmethodID meth2, jvalue * val3)
+ { return p->CallNonvirtualDoubleMethodA (this, obj0, cl1, meth2, val3); }
+
+ void CallNonvirtualVoidMethod (jobject obj0, jclass cl1, jmethodID meth2, ...)
+ {
+ va_list args;
+ va_start (args, meth2);
+ p->CallNonvirtualVoidMethodV (this, obj0, cl1, meth2, args);
+ va_end (args);
+ }
+
+ void CallNonvirtualVoidMethodV (jobject obj0, jclass cl1, jmethodID meth2, va_list val3)
+ { p->CallNonvirtualVoidMethodV (this, obj0, cl1, meth2, val3); }
+
+ void CallNonvirtualVoidMethodA (jobject obj0, jclass cl1, jmethodID meth2, jvalue * val3)
+ { p->CallNonvirtualVoidMethodA (this, obj0, cl1, meth2, val3); }
+
+ jfieldID GetFieldID (jclass cl0, const char * val1, const char * val2)
+ { return p->GetFieldID (this, cl0, val1, val2); }
+
+ jobject GetObjectField (jobject obj0, jfieldID fld1)
+ { return p->GetObjectField (this, obj0, fld1); }
+
+ jboolean GetBooleanField (jobject obj0, jfieldID fld1)
+ { return p->GetBooleanField (this, obj0, fld1); }
+
+ jbyte GetByteField (jobject obj0, jfieldID fld1)
+ { return p->GetByteField (this, obj0, fld1); }
+
+ jchar GetCharField (jobject obj0, jfieldID fld1)
+ { return p->GetCharField (this, obj0, fld1); }
+
+ jshort GetShortField (jobject obj0, jfieldID fld1)
+ { return p->GetShortField (this, obj0, fld1); }
+
+ jint GetIntField (jobject obj0, jfieldID fld1)
+ { return p->GetIntField (this, obj0, fld1); }
+
+ jlong GetLongField (jobject obj0, jfieldID fld1)
+ { return p->GetLongField (this, obj0, fld1); }
+
+ jfloat GetFloatField (jobject obj0, jfieldID fld1)
+ { return p->GetFloatField (this, obj0, fld1); }
+
+ jdouble GetDoubleField (jobject obj0, jfieldID fld1)
+ { return p->GetDoubleField (this, obj0, fld1); }
+
+ void SetObjectField (jobject obj0, jfieldID fld1, jobject obj2)
+ { p->SetObjectField (this, obj0, fld1, obj2); }
+
+ void SetBooleanField (jobject obj0, jfieldID fld1, jboolean val2)
+ { p->SetBooleanField (this, obj0, fld1, val2); }
+
+ void SetByteField (jobject obj0, jfieldID fld1, jbyte val2)
+ { p->SetByteField (this, obj0, fld1, val2); }
+
+ void SetCharField (jobject obj0, jfieldID fld1, jchar val2)
+ { p->SetCharField (this, obj0, fld1, val2); }
+
+ void SetShortField (jobject obj0, jfieldID fld1, jshort val2)
+ { p->SetShortField (this, obj0, fld1, val2); }
+
+ void SetIntField (jobject obj0, jfieldID fld1, jint val2)
+ { p->SetIntField (this, obj0, fld1, val2); }
+
+ void SetLongField (jobject obj0, jfieldID fld1, jlong val2)
+ { p->SetLongField (this, obj0, fld1, val2); }
+
+ void SetFloatField (jobject obj0, jfieldID fld1, jfloat val2)
+ { p->SetFloatField (this, obj0, fld1, val2); }
+
+ void SetDoubleField (jobject obj0, jfieldID fld1, jdouble val2)
+ { p->SetDoubleField (this, obj0, fld1, val2); }
+
+ jmethodID GetStaticMethodID (jclass cl0, const char * val1, const char * val2)
+ { return p->GetStaticMethodID (this, cl0, val1, val2); }
+
+ jobject CallStaticObjectMethod (jclass cl0, jmethodID meth1, ...)
+ {
+ va_list args;
+ va_start (args, meth1);
+ jobject result = p->CallStaticObjectMethodV (this, cl0, meth1, args);
+ va_end (args);
+ return result;
+ }
+
+ jobject CallStaticObjectMethodV (jclass cl0, jmethodID meth1, va_list val2)
+ { return p->CallStaticObjectMethodV (this, cl0, meth1, val2); }
+
+ jobject CallStaticObjectMethodA (jclass cl0, jmethodID meth1, jvalue * val2)
+ { return p->CallStaticObjectMethodA (this, cl0, meth1, val2); }
+
+ jboolean CallStaticBooleanMethod (jclass cl0, jmethodID meth1, ...)
+ {
+ va_list args;
+ va_start (args, meth1);
+ jboolean result = p->CallStaticBooleanMethodV (this, cl0, meth1, args);
+ va_end (args);
+ return result;
+ }
+
+ jboolean CallStaticBooleanMethodV (jclass cl0, jmethodID meth1, va_list val2)
+ { return p->CallStaticBooleanMethodV (this, cl0, meth1, val2); }
+
+ jboolean CallStaticBooleanMethodA (jclass cl0, jmethodID meth1, jvalue * val2)
+ { return p->CallStaticBooleanMethodA (this, cl0, meth1, val2); }
+
+ jbyte CallStaticByteMethod (jclass cl0, jmethodID meth1, ...)
+ {
+ va_list args;
+ va_start (args, meth1);
+ jbyte result = p->CallStaticByteMethodV (this, cl0, meth1, args);
+ va_end (args);
+ return result;
+ }
+
+ jbyte CallStaticByteMethodV (jclass cl0, jmethodID meth1, va_list val2)
+ { return p->CallStaticByteMethodV (this, cl0, meth1, val2); }
+
+ jbyte CallStaticByteMethodA (jclass cl0, jmethodID meth1, jvalue * val2)
+ { return p->CallStaticByteMethodA (this, cl0, meth1, val2); }
+
+ jchar CallStaticCharMethod (jclass cl0, jmethodID meth1, ...)
+ {
+ va_list args;
+ va_start (args, meth1);
+ jchar result = p->CallStaticCharMethodV (this, cl0, meth1, args);
+ va_end (args);
+ return result;
+ }
+
+ jchar CallStaticCharMethodV (jclass cl0, jmethodID meth1, va_list val2)
+ { return p->CallStaticCharMethodV (this, cl0, meth1, val2); }
+
+ jchar CallStaticCharMethodA (jclass cl0, jmethodID meth1, jvalue * val2)
+ { return p->CallStaticCharMethodA (this, cl0, meth1, val2); }
+
+ jshort CallStaticShortMethod (jclass cl0, jmethodID meth1, ...)
+ {
+ va_list args;
+ va_start (args, meth1);
+ jshort result = p->CallStaticShortMethodV (this, cl0, meth1, args);
+ va_end (args);
+ return result;
+ }
+
+ jshort CallStaticShortMethodV (jclass cl0, jmethodID meth1, va_list val2)
+ { return p->CallStaticShortMethodV (this, cl0, meth1, val2); }
+
+ jshort CallStaticShortMethodA (jclass cl0, jmethodID meth1, jvalue * val2)
+ { return p->CallStaticShortMethodA (this, cl0, meth1, val2); }
+
+ jint CallStaticIntMethod (jclass cl0, jmethodID meth1, ...)
+ {
+ va_list args;
+ va_start (args, meth1);
+ jint result = p->CallStaticIntMethodV (this, cl0, meth1, args);
+ va_end (args);
+ return result;
+ }
+
+ jint CallStaticIntMethodV (jclass cl0, jmethodID meth1, va_list val2)
+ { return p->CallStaticIntMethodV (this, cl0, meth1, val2); }
+
+ jint CallStaticIntMethodA (jclass cl0, jmethodID meth1, jvalue * val2)
+ { return p->CallStaticIntMethodA (this, cl0, meth1, val2); }
+
+ jlong CallStaticLongMethod (jclass cl0, jmethodID meth1, ...)
+ {
+ va_list args;
+ va_start (args, meth1);
+ jlong result = p->CallStaticLongMethodV (this, cl0, meth1, args);
+ va_end (args);
+ return result;
+ }
+
+ jlong CallStaticLongMethodV (jclass cl0, jmethodID meth1, va_list val2)
+ { return p->CallStaticLongMethodV (this, cl0, meth1, val2); }
+
+ jlong CallStaticLongMethodA (jclass cl0, jmethodID meth1, jvalue * val2)
+ { return p->CallStaticLongMethodA (this, cl0, meth1, val2); }
+
+ jfloat CallStaticFloatMethod (jclass cl0, jmethodID meth1, ...)
+ {
+ va_list args;
+ va_start (args, meth1);
+ jfloat result = p->CallStaticFloatMethodV (this, cl0, meth1, args);
+ va_end (args);
+ return result;
+ }
+
+ jfloat CallStaticFloatMethodV (jclass cl0, jmethodID meth1, va_list val2)
+ { return p->CallStaticFloatMethodV (this, cl0, meth1, val2); }
+
+ jfloat CallStaticFloatMethodA (jclass cl0, jmethodID meth1, jvalue * val2)
+ { return p->CallStaticFloatMethodA (this, cl0, meth1, val2); }
+
+ jdouble CallStaticDoubleMethod (jclass cl0, jmethodID meth1, ...)
+ {
+ va_list args;
+ va_start (args, meth1);
+ jdouble result = p->CallStaticDoubleMethodV (this, cl0, meth1, args);
+ va_end (args);
+ return result;
+ }
+
+ jdouble CallStaticDoubleMethodV (jclass cl0, jmethodID meth1, va_list val2)
+ { return p->CallStaticDoubleMethodV (this, cl0, meth1, val2); }
+
+ jdouble CallStaticDoubleMethodA (jclass cl0, jmethodID meth1, jvalue * val2)
+ { return p->CallStaticDoubleMethodA (this, cl0, meth1, val2); }
+
+ void CallStaticVoidMethod (jclass cl0, jmethodID meth1, ...)
+ {
+ va_list args;
+ va_start (args, meth1);
+ p->CallStaticVoidMethodV (this, cl0, meth1, args);
+ va_end (args);
+ }
+
+ void CallStaticVoidMethodV (jclass cl0, jmethodID meth1, va_list val2)
+ { p->CallStaticVoidMethodV (this, cl0, meth1, val2); }
+
+ void CallStaticVoidMethodA (jclass cl0, jmethodID meth1, jvalue * val2)
+ { p->CallStaticVoidMethodA (this, cl0, meth1, val2); }
+
+ jfieldID GetStaticFieldID (jclass cl0, const char * val1, const char * val2)
+ { return p->GetStaticFieldID (this, cl0, val1, val2); }
+
+ jobject GetStaticObjectField (jclass cl0, jfieldID fld1)
+ { return p->GetStaticObjectField (this, cl0, fld1); }
+
+ jboolean GetStaticBooleanField (jclass cl0, jfieldID fld1)
+ { return p->GetStaticBooleanField (this, cl0, fld1); }
+
+ jbyte GetStaticByteField (jclass cl0, jfieldID fld1)
+ { return p->GetStaticByteField (this, cl0, fld1); }
+
+ jchar GetStaticCharField (jclass cl0, jfieldID fld1)
+ { return p->GetStaticCharField (this, cl0, fld1); }
+
+ jshort GetStaticShortField (jclass cl0, jfieldID fld1)
+ { return p->GetStaticShortField (this, cl0, fld1); }
+
+ jint GetStaticIntField (jclass cl0, jfieldID fld1)
+ { return p->GetStaticIntField (this, cl0, fld1); }
+
+ jlong GetStaticLongField (jclass cl0, jfieldID fld1)
+ { return p->GetStaticLongField (this, cl0, fld1); }
+
+ jfloat GetStaticFloatField (jclass cl0, jfieldID fld1)
+ { return p->GetStaticFloatField (this, cl0, fld1); }
+
+ jdouble GetStaticDoubleField (jclass cl0, jfieldID fld1)
+ { return p->GetStaticDoubleField (this, cl0, fld1); }
+
+ void SetStaticObjectField (jclass cl0, jfieldID fld1, jobject obj2)
+ { p->SetStaticObjectField (this, cl0, fld1, obj2); }
+
+ void SetStaticBooleanField (jclass cl0, jfieldID fld1, jboolean val2)
+ { p->SetStaticBooleanField (this, cl0, fld1, val2); }
+
+ void SetStaticByteField (jclass cl0, jfieldID fld1, jbyte val2)
+ { p->SetStaticByteField (this, cl0, fld1, val2); }
+
+ void SetStaticCharField (jclass cl0, jfieldID fld1, jchar val2)
+ { p->SetStaticCharField (this, cl0, fld1, val2); }
+
+ void SetStaticShortField (jclass cl0, jfieldID fld1, jshort val2)
+ { p->SetStaticShortField (this, cl0, fld1, val2); }
+
+ void SetStaticIntField (jclass cl0, jfieldID fld1, jint val2)
+ { p->SetStaticIntField (this, cl0, fld1, val2); }
+
+ void SetStaticLongField (jclass cl0, jfieldID fld1, jlong val2)
+ { p->SetStaticLongField (this, cl0, fld1, val2); }
+
+ void SetStaticFloatField (jclass cl0, jfieldID fld1, jfloat val2)
+ { p->SetStaticFloatField (this, cl0, fld1, val2); }
+
+ void SetStaticDoubleField (jclass cl0, jfieldID fld1, jdouble val2)
+ { p->SetStaticDoubleField (this, cl0, fld1, val2); }
+
+ jstring NewString (const jchar * val0, jsize val1)
+ { return p->NewString (this, val0, val1); }
+
+ jint GetStringLength (jstring val0)
+ { return p->GetStringLength (this, val0); }
+
+ const jchar * GetStringChars (jstring val0, jboolean * val1)
+ { return p->GetStringChars (this, val0, val1); }
+
+ void ReleaseStringChars (jstring val0, const jchar * val1)
+ { p->ReleaseStringChars (this, val0, val1); }
+
+ jstring NewStringUTF (const char * val0)
+ { return p->NewStringUTF (this, val0); }
+
+ jsize GetStringUTFLength (jstring val0)
+ { return p->GetStringUTFLength (this, val0); }
+
+ const char * GetStringUTFChars (jstring val0, jboolean * val1)
+ { return p->GetStringUTFChars (this, val0, val1); }
+
+ void ReleaseStringUTFChars (jstring val0, const char * val1)
+ { p->ReleaseStringUTFChars (this, val0, val1); }
+
+ jsize GetArrayLength (jarray val0)
+ { return p->GetArrayLength (this, val0); }
+
+ jobjectArray NewObjectArray (jsize val0, jclass cl1, jobject obj2)
+ { return p->NewObjectArray (this, val0, cl1, obj2); }
+
+ jobject GetObjectArrayElement (jobjectArray val0, jsize val1)
+ { return p->GetObjectArrayElement (this, val0, val1); }
+
+ void SetObjectArrayElement (jobjectArray val0, jsize val1, jobject obj2)
+ { p->SetObjectArrayElement (this, val0, val1, obj2); }
+
+ jbooleanArray NewBooleanArray (jsize val0)
+ { return p->NewBooleanArray (this, val0); }
+
+ jbyteArray NewByteArray (jsize val0)
+ { return p->NewByteArray (this, val0); }
+
+ jcharArray NewCharArray (jsize val0)
+ { return p->NewCharArray (this, val0); }
+
+ jshortArray NewShortArray (jsize val0)
+ { return p->NewShortArray (this, val0); }
+
+ jintArray NewIntArray (jsize val0)
+ { return p->NewIntArray (this, val0); }
+
+ jlongArray NewLongArray (jsize val0)
+ { return p->NewLongArray (this, val0); }
+
+ jfloatArray NewFloatArray (jsize val0)
+ { return p->NewFloatArray (this, val0); }
+
+ jdoubleArray NewDoubleArray (jsize val0)
+ { return p->NewDoubleArray (this, val0); }
+
+ jboolean * GetBooleanArrayElements (jbooleanArray val0, jboolean * val1)
+ { return p->GetBooleanArrayElements (this, val0, val1); }
+
+ jbyte * GetByteArrayElements (jbyteArray val0, jboolean * val1)
+ { return p->GetByteArrayElements (this, val0, val1); }
+
+ jchar * GetCharArrayElements (jcharArray val0, jboolean * val1)
+ { return p->GetCharArrayElements (this, val0, val1); }
+
+ jshort * GetShortArrayElements (jshortArray val0, jboolean * val1)
+ { return p->GetShortArrayElements (this, val0, val1); }
+
+ jint * GetIntArrayElements (jintArray val0, jboolean * val1)
+ { return p->GetIntArrayElements (this, val0, val1); }
+
+ jlong * GetLongArrayElements (jlongArray val0, jboolean * val1)
+ { return p->GetLongArrayElements (this, val0, val1); }
+
+ jfloat * GetFloatArrayElements (jfloatArray val0, jboolean * val1)
+ { return p->GetFloatArrayElements (this, val0, val1); }
+
+ jdouble * GetDoubleArrayElements (jdoubleArray val0, jboolean * val1)
+ { return p->GetDoubleArrayElements (this, val0, val1); }
+
+ void ReleaseBooleanArrayElements (jbooleanArray val0, jboolean * val1, jint val2)
+ { p->ReleaseBooleanArrayElements (this, val0, val1, val2); }
+
+ void ReleaseByteArrayElements (jbyteArray val0, jbyte * val1, jint val2)
+ { p->ReleaseByteArrayElements (this, val0, val1, val2); }
+
+ void ReleaseCharArrayElements (jcharArray val0, jchar * val1, jint val2)
+ { p->ReleaseCharArrayElements (this, val0, val1, val2); }
+
+ void ReleaseShortArrayElements (jshortArray val0, jshort * val1, jint val2)
+ { p->ReleaseShortArrayElements (this, val0, val1, val2); }
+
+ void ReleaseIntArrayElements (jintArray val0, jint * val1, jint val2)
+ { p->ReleaseIntArrayElements (this, val0, val1, val2); }
+
+ void ReleaseLongArrayElements (jlongArray val0, jlong * val1, jint val2)
+ { p->ReleaseLongArrayElements (this, val0, val1, val2); }
+
+ void ReleaseFloatArrayElements (jfloatArray val0, jfloat * val1, jint val2)
+ { p->ReleaseFloatArrayElements (this, val0, val1, val2); }
+
+ void ReleaseDoubleArrayElements (jdoubleArray val0, jdouble * val1, jint val2)
+ { p->ReleaseDoubleArrayElements (this, val0, val1, val2); }
+
+ void GetBooleanArrayRegion (jbooleanArray val0, jsize val1, jsize val2, jboolean * val3)
+ { p->GetBooleanArrayRegion (this, val0, val1, val2, val3); }
+
+ void GetByteArrayRegion (jbyteArray val0, jsize val1, jsize val2, jbyte * val3)
+ { p->GetByteArrayRegion (this, val0, val1, val2, val3); }
+
+ void GetCharArrayRegion (jcharArray val0, jsize val1, jsize val2, jchar * val3)
+ { p->GetCharArrayRegion (this, val0, val1, val2, val3); }
+
+ void GetShortArrayRegion (jshortArray val0, jsize val1, jsize val2, jshort * val3)
+ { p->GetShortArrayRegion (this, val0, val1, val2, val3); }
+
+ void GetIntArrayRegion (jintArray val0, jsize val1, jsize val2, jint * val3)
+ { p->GetIntArrayRegion (this, val0, val1, val2, val3); }
+
+ void GetLongArrayRegion (jlongArray val0, jsize val1, jsize val2, jlong * val3)
+ { p->GetLongArrayRegion (this, val0, val1, val2, val3); }
+
+ void GetFloatArrayRegion (jfloatArray val0, jsize val1, jsize val2, jfloat * val3)
+ { p->GetFloatArrayRegion (this, val0, val1, val2, val3); }
+
+ void GetDoubleArrayRegion (jdoubleArray val0, jsize val1, jsize val2, jdouble * val3)
+ { p->GetDoubleArrayRegion (this, val0, val1, val2, val3); }
+
+ void SetBooleanArrayRegion (jbooleanArray val0, jsize val1, jsize val2, jboolean * val3)
+ { p->SetBooleanArrayRegion (this, val0, val1, val2, val3); }
+
+ void SetByteArrayRegion (jbyteArray val0, jsize val1, jsize val2, jbyte * val3)
+ { p->SetByteArrayRegion (this, val0, val1, val2, val3); }
+
+ void SetCharArrayRegion (jcharArray val0, jsize val1, jsize val2, jchar * val3)
+ { p->SetCharArrayRegion (this, val0, val1, val2, val3); }
+
+ void SetShortArrayRegion (jshortArray val0, jsize val1, jsize val2, jshort * val3)
+ { p->SetShortArrayRegion (this, val0, val1, val2, val3); }
+
+ void SetIntArrayRegion (jintArray val0, jsize val1, jsize val2, jint * val3)
+ { p->SetIntArrayRegion (this, val0, val1, val2, val3); }
+
+ void SetLongArrayRegion (jlongArray val0, jsize val1, jsize val2, jlong * val3)
+ { p->SetLongArrayRegion (this, val0, val1, val2, val3); }
+
+ void SetFloatArrayRegion (jfloatArray val0, jsize val1, jsize val2, jfloat * val3)
+ { p->SetFloatArrayRegion (this, val0, val1, val2, val3); }
+
+ void SetDoubleArrayRegion (jdoubleArray val0, jsize val1, jsize val2, jdouble * val3)
+ { p->SetDoubleArrayRegion (this, val0, val1, val2, val3); }
+
+ jint RegisterNatives (jclass cl0, const JNINativeMethod * val1, jint val2)
+ { return p->RegisterNatives (this, cl0, val1, val2); }
+
+ jint UnregisterNatives (jclass cl0)
+ { return p->UnregisterNatives (this, cl0); }
+
+ jint MonitorEnter (jobject obj0)
+ { return p->MonitorEnter (this, obj0); }
+
+ jint MonitorExit (jobject obj0)
+ { return p->MonitorExit (this, obj0); }
+
+ jint GetJavaVM (JavaVM ** val0)
+ { return p->GetJavaVM (this, val0); }
+
+ void GetStringRegion (jstring val0, jsize val1, jsize val2, jchar * val3)
+ { p->GetStringRegion (this, val0, val1, val2, val3); }
+
+ void GetStringUTFRegion (jstring val0, jsize val1, jsize val2, char * val3)
+ { p->GetStringUTFRegion (this, val0, val1, val2, val3); }
+
+ void * GetPrimitiveArrayCritical (jarray val0, jboolean * val1)
+ { return p->GetPrimitiveArrayCritical (this, val0, val1); }
+
+ void ReleasePrimitiveArrayCritical (jarray val0, void * val1, jint val2)
+ { p->ReleasePrimitiveArrayCritical (this, val0, val1, val2); }
+
+ const jchar * GetStringCritical (jstring val0, jboolean * val1)
+ { return p->GetStringCritical (this, val0, val1); }
+
+ void ReleaseStringCritical (jstring val0, const jchar * val1)
+ { p->ReleaseStringCritical (this, val0, val1); }
+
+ jweak NewWeakGlobalRef (jobject obj0)
+ { return p->NewWeakGlobalRef (this, obj0); }
+
+ void DeleteWeakGlobalRef (jweak val0)
+ { p->DeleteWeakGlobalRef (this, val0); }
+
+ jboolean ExceptionCheck ()
+ { return p->ExceptionCheck (this); }
+
+ jobject NewDirectByteBuffer (void *addr, jlong capacity)
+ { return p->NewDirectByteBuffer (this, addr, capacity); }
+
+ void *GetDirectBufferAddress (jobject buf)
+ { return p->GetDirectBufferAddress (this, buf); }
+
+ jlong GetDirectBufferCapacity (jobject buf)
+ { return p->GetDirectBufferCapacity (this, buf); }
+};
+
+#endif /* __cplusplus */
+
+/*
+ * Invocation API.
+ */
+
+struct JNIInvokeInterface
+{
+ void *reserved0;
+ void *reserved1;
+ void *reserved2;
+
+ jint (JNICALL *DestroyJavaVM) (JavaVM *);
+ jint (JNICALL *AttachCurrentThread) (JavaVM *, void **, void *);
+ jint (JNICALL *DetachCurrentThread) (JavaVM *);
+ jint (JNICALL *GetEnv) (JavaVM *, void **, jint);
+ jint (JNICALL *AttachCurrentThreadAsDaemon) (JavaVM *, void **, void *);
+};
+
+#ifdef __cplusplus
+
+class _Jv_JavaVM
+{
+public:
+ const struct JNIInvokeInterface *functions;
+
+ jint DestroyJavaVM ()
+ { return functions->DestroyJavaVM (this); }
+
+ jint AttachCurrentThread (void **penv, void *args)
+ { return functions->AttachCurrentThread (this, penv, args); }
+
+ jint DetachCurrentThread ()
+ { return functions->DetachCurrentThread (this); }
+
+ jint GetEnv (void **penv, jint version)
+ { return functions->GetEnv (this, penv, version); }
+
+ jint AttachCurrentThreadAsDaemon (void **penv, void *args)
+ { return functions->AttachCurrentThreadAsDaemon (this, penv, args); }
+};
+
+#endif /* __cplusplus */
+
+typedef struct JavaVMAttachArgs
+{
+ jint version; /* Must be JNI_VERSION_1_2. */
+ char *name; /* The name of the thread (or NULL). */
+ jobject group; /* Global ref of a ThreadGroup object
+ (or NULL). */
+} JavaVMAttachArgs;
+
+typedef struct JavaVMOption
+{
+ char *optionString;
+ void *extraInfo;
+} JavaVMOption;
+
+typedef struct JavaVMInitArgs
+{
+ /* Must be JNI_VERSION_1_2. */
+ jint version;
+
+ /* Number of options. */
+ jint nOptions;
+
+ /* Options to the VM. */
+ JavaVMOption *options;
+
+ /* Whether we should ignore unrecognized options. */
+ jboolean ignoreUnrecognized;
+} JavaVMInitArgs;
+
+
+
+/* Keep c-font-lock-extra-types in alphabetical order. */
+/* Local Variables: */
+/* c-font-lock-extra-types: ("\\sw+_t"
+ "JNIEnv" "JNINativeMethod" "JavaVM" "JavaVMOption" "jarray"
+ "jboolean" "jbooleanArray" "jbyte" "jbyteArray" "jchar" "jcharArray"
+ "jclass" "jdouble" "jdoubleArray" "jfieldID" "jfloat" "jfloatArray"
+ "jint" "jintArray" "jlong" "jlongArray" "jmethodID" "jobject" "jstring" "jthrowable"
+ "jvalue" "jweak") */
+/* End: */
+
+#endif /* _CLASSPATH_JNI_H */