summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorCasey Marshall <csm@gnu.org>2006-09-17 07:31:39 +0000
committerCasey Marshall <csm@gnu.org>2006-09-17 07:31:39 +0000
commit133e014be0604b45f8ccede687acf1ea979d4955 (patch)
tree03bfec201e509081586497b0e4db7944e633cab7 /include
parenta344c95abdd44f1c697d0520bf97ac3c8403a3b6 (diff)
downloadclasspath-133e014be0604b45f8ccede687acf1ea979d4955.tar.gz
2006-09-16 Casey Marshall <csm@gnu.org>
* NEWS: updated. * configure.ac (AC_CHECK_HEADERS): check for `sys/event.h'. (AC_CHECK_FUNCS): add checks for readv, writev, getifaddrs, kqueue, and kevent. (HAVE_INET6): define if IPv6 is supported. * gnu/java/net/PlainDatagramSocketImpl.java (channel): new field. (native_fd): removed. (impl): new field. (<init>): throw IOException; initialize fields. (finalize): removed. (getNativeFD): removed. (bind): use `PlainSocketImpl.bind.' (create): use `PlainSocketImpl.initSocket.' (disconnect): use `PlainSocketImpl.disconnect.' (getLocalPort): new method. (send): use `VMChannel.send.' (receive): use `VMChannel.receive.' (setOption): use `PlainSocketImpl.setOption.' (getOption): use `PlainSocketImpl.getOption.' (close): use `VMChannel.State.close.' (join): use `PlainSocketImpl.join.' (leave): use `PlainSocketImpl.leave.' (joinGroup, leaveGroup): implemented. * gnu/java/net/PlainSocketImpl.java: make non-final. (native_fd): removed. (impl): new field. (channel): new field. (<init>): initialize `impl.' (finalize, getNativeFD): removed. (setOption): use `PlainSocketImpl.setOption.' (getOption): use `PlainSocketImpl.getOption.' (shutdownInput): use `PlainSocketImpl.shutdownInput.' (shutdownOutput): use `PlainSocketImpl.shutdownOutput.' (create): create `channel,' initialize `impl's native state. (connect): use `connect(SocketAddress, int).' (connect): use `SocketChannelImpl.connect;' initialize `address' and `port.' (bind): use `VMPlainSocketImpl.bind.' (listen): use `VMPlainSocketImpl.listen.' (accept): use `SocketChannelImpl.accept.' (available): use `VMChannel.available.' (close): use `PlainSocketImpl.close.' (sendUrgentData): use `PlainSocketImpl.sendUrgentData.' (getVMChannel, getInetAddress, getLocalPort, getLocalAddress, getPort): new methods. (SocketInputStream.read): use `VMChannel.read.' (SocketInputStream.read): use `SocketChannel.read.' (SocketOutputStream.write): use `VMChannel.write.' (SocketOutputStream.write): use `SocketChannel.write.' * gnu/java/nio/DatagramChannelImpl.java: implement VMChannel. (channel): new field. (<init>): initialize `channel.' (implCloseSelectableChannel): use `VMChannel.close.' (implConfigureBlocking): use `VMChannel.setBlocking.' (connect): use `VMChannel.connect.' (disconnect): use `VMChannel.disconnect.' (isConnected): use `VMChannel.getPeerAddress.' (write): use `VMChannel.write.' (write): use `VMChannel.writeGathering.' (read): use `VMChannel.read.' (read): use `VMChannel.readScattering.' (receive): use `VMChannel.receive.' (send): use `VMChannel.send.' (getVMChannel): new method. * gnu/java/nio/DatagramChannelSelectionKey.java (getNativeFD): access native FD through VMChannel.State. * gnu/java/nio/FileChannelImpl.java: moved from gnu/java/nio/channels/FileChannelImpl.java. * gnu/java/nio/FileLockImpl.java: fix imports. * gnu/java/nio/KqueueSelectionKeyImpl.java: new file. * gnu/java/nio/KqueueSelectorImpl.java: new file. * gnu/java/nio/NIOSocket.java (impl): removed. (channel): new field. (<init>): init superclass with a `NIOSocketImpl;' init `channel.' (getPlainSocketImpl, setChannel): removed. (isConnected): new method. * gnu/java/nio/NIOSocketImpl.java: new file. * gnu/java/nio/PipeImpl.java (SourceChannelImpl): implement `VMChannelOwner.' (SourceChannelImpl.native_fd): removed. (SourceChannelImpl.<init>): init with a `VMChannel.' (SourceChannelImpl.getNativeFD): removed. (SourceChannelImpl.getVMChannel): new method. (SourceChannelImpl.implCloseSelectableChannel): implement. (SinkChannelImpl): implement `VMChannelOwner.' (SinkChannelImpl.native_fd): removed. (SinkChannelImpl.<init>): init with a `VMChannel.' (SinkChannelImpl.implCloseSelectableChannel): implement. (SinkChannelImpl.getNativeFD): removed. (SinkChannelImpl.getVMChannel): new method. * gnu/java/nio/SelectionKeyImpl.java (getNativeFD): mark deprecated. * gnu/java/nio/SelectorProviderImpl.java (SELECTOR_IMPL_KQUEUE, SELECTOR_IMPL_EPOLL, SELECTOR_IMPL): new constants. (openSelector): return kqueue selector if available. * gnu/java/nio/ServerSocketChannelImpl.java: implement `VMChannelOwner.' (channel): new field. (<init>): init `channel.' (finalizer): check if the `VMChannel.State' is valid. (implCloseSelectableChannel): use `VMChannel.close.' (implConfigureBlocking): use `VMChannel.setBlocking.' (accept): use `VMChannel.accept.' (getVMChannel): new method. * gnu/java/nio/ServerSocketChannelSelectionKey.java (getNativeFD): access native FD through `VMChannel.State.' * gnu/java/nio/SocketChannelImpl.java: implement `VMChannelOwner.' (impl): removed. (channel, connected, connectAddress): new field. (<init>): new constructors. (getPlainSocketImpl): removed. (implCloseSelectableChannel): use `VMChannel.close.' (implConfigureBlocking): use `VMChannel.setBlocking.' (connect): use `connect(SocketAddress,int).' (connect): use `VMChannel.connect.' (finishConnect): don't use a selector. (isConnected): use `VMChannel.getPeerAddress.' (read): use `VMChannel.read.' (read): use `VMChannel.readScattering.' (write): use `VMChannel.write.' (write): use `VMChannel.writeGathering.' (getVMChannel): new method. * gnu/java/nio/SocketChannelSelectionKey.java (getNativeFD): get native FD from `VMChannel.State.' * gnu/java/nio/SocketChannelSelectionKeyImpl.java (getNativeFD): get native FD from `VMChannel.State.' * gnu/java/nio/VMChannelOwner.java: new file. * gnu/java/nio/channels/FileChannelImpl.java: removed. * include/Makefile.am: generate `gnu_java_nio_FileChannelImpl.h' and `gnu_java_nio_KqueueSelectorImpl.h;' don't generate `gnu_java_nio_channels_FileChannelImpl.h.' * include/gnu_java_net_VMPlainSocketImpl.h: regenerated. * include/gnu_java_nio_FileChannelImpl.h: new file. * include/gnu_java_nio_KqueueSelectorImpl.h: new file. * include/gnu_java_nio_VMChannel.h: regenerated. * include/gnu_java_nio_VMPipe.h: regenerated. * include/java_net_VMNetworkInterface.h: regenerated. * java/io/FileDescriptor.java: fix imports. * java/io/FileInputStream.java (<init>): handle exceptions. (read): wrap the destination arary. * java/io/FileOutputStream.java (<init>): handle exceptions. (write): wrap the source array. * java/io/RandomAccessFile.java (<init>): handle exceptions. * java/net/DatagramSocket.java (<init>): handle exceptions. (receive): handle length/port setting. (connect): bind to any address/port if the argument is null. * java/net/NetworkInterface.java (name, inetAddress): removed. (netif): new field. (<init>): make private. (getName): return `netif.name.' (getInetAddresses): access `netif.addresses.' (getDisplayName): return `netif.name.' (getByName, getByAddress): handle changes to `VMNetworkInterface.' (condense): removed. (getNetworkInterfaces): handle changes to `VMNetworkInterface.' (equals): compare `netif' fields. (hashCode): get hash codes from `netif.' (toString): use a StringBuffer. * java/net/ServerSocket.java (close): don't set `impl' to null. (isClosed): use `VMChannel.State.isClosed.' * java/net/Socket.java (getLocalAddress): don't use `getOption' if the `SocketImpl' is a `PlainSocketImpl.' (close): just close the `impl.' (toString): use `super.toString' in the value we return. (isConnected): just access `impl,' not `getImpl.' (isBound): use `PlainSocketImpl' methods if we can. (isClosed): look at `VMChannel.State.' * native/jni/classpath/jcl.c (JNI_OnLoad): new function. (JCL_NewRawDataObject): don't initialize cached fields here; throw an exception if they were not. (JCL_GetRawData): throw an exception if cached fields weren't created. * native/jni/java-lang/java_lang_VMProcess.c: handle FileChannelImpl move. * native/jni/java-net/gnu_java_net_VMPlainSocketImpl.c (IO_EXCEPTION, SOCKET_EXCEPTION, BIND_EXCEPTION, THROW_NO_NETWORK): new macros. (Java_gnu_java_net_VMPlainSocketImpl_bind): reipmlemented. (Java_gnu_java_net_VMPlainSocketImpl_bind6): new function. (Java_gnu_java_net_VMPlainSocketImpl_listen): reimplemented. (java_sockopt): new enum. (Java_gnu_java_net_VMPlainSocketImpl_setOption): reimplemented. (Java_gnu_java_net_VMPlainSocketImpl_getOption): reimplemented. (Java_gnu_java_net_VMPlainSocketImpl_shutdownInput): reimplemented. (Java_gnu_java_net_VMPlainSocketImpl_shutdownOutput): reimplemented. (Java_gnu_java_net_VMPlainSocketImpl_sendUrgentData): new function. (Java_gnu_java_net_VMPlainSocketImpl_join): new function. (Java_gnu_java_net_VMPlainSocketImpl_join6): new function. (Java_gnu_java_net_VMPlainSocketImpl_read): removed. (Java_gnu_java_net_VMPlainSocketImpl_leave): new function. (Java_gnu_java_net_VMPlainSocketImpl_leave6): new function. (Java_gnu_java_net_VMPlainSocketImpl_joinGroup): new function. (Java_gnu_java_net_VMPlainSocketImpl_write): removed. (Java_gnu_java_net_VMPlainSocketImpl_joinGroup6): new function. (Java_gnu_java_net_VMPlainSocketImpl_leaveGroup): new function. (Java_gnu_java_net_VMPlainSocketImpl_leaveGroup6): new function. (getif_address): new function. (getif_index): new function. * native/jni/java-net/java_net_VMNetworkInterface.c (java_net_VMNetworkInterface_init, java_net_VMNetworkInterface_addAddress): new file-scope globals. (Java_java_net_VMNetworkInterface_initIds): new function. (struct netif_entry): new struct. (free_netif_list): new function. (Java_java_net_VMNetworkInterface_getInterfaces): removed. (Java_java_net_VMNetworkInterface_getVMInterfaces): new function. * native/jni/java-nio/Makefile.am (libjavanio_la_SOURCES): remove gnu_java_nio_channels_FileChannelImpl.c, add gnu_java_nio_KqueueSelectorImpl.c. * native/jni/java-nio/gnu_java_nio_KqueueSelectorImpl.c: new file. * native/jni/java-nio/gnu_java_nio_VMChannel.c (INTERRUPTED_IO_EXCEPTION, SOCKET_TIMEOUT_EXCEPTION, ALIGN_UP, ALIGN_DOWN): new macros. (JCL_init_buffer): get the address through GetDirectBufferAddress if possible. (Java_gnu_java_nio_VMChannel_stdin_1fd, Java_gnu_java_nio_VMChannel_stdout_1fd, Java_gnu_java_nio_VMChannel_stderr_1fd): new functions. (Java_gnu_java_nio_VMChannel_setBlocking): fix setting blocking value. (Java_gnu_java_nio_VMChannel_read): renamed... (Java_gnu_java_nio_VMChannel_read__ILjava_nio_ByteBuffer_2): to this; handle interrupted IO; add HAVE_READ check. (Java_gnu_java_nio_VMChannel_write): renamed... (Java_gnu_java_nio_VMChannel_write__ILjava_nio_ByteBuffer_2): to this; handle zero-length write; add HAVE_WRITE check. (Java_gnu_java_nio_VMChannel_receive): new function. (Java_gnu_java_nio_VMChannel_send): new function. (Java_gnu_java_nio_VMChannel_send6): new function. (Java_gnu_java_nio_VMChannel_read__I): new function. (Java_gnu_java_nio_VMChannel_write__II): new function. (Java_gnu_java_nio_VMChannel_socket): new function. (Java_gnu_java_nio_VMChannel_connect): new function. (Java_gnu_java_nio_VMChannel_connect6): new function. (Java_gnu_java_nio_VMChannel_getsockname): new function. (Java_gnu_java_nio_VMChannel_getpeername): new function. (Java_gnu_java_nio_VMChannel_accept): new function. (Java_gnu_java_nio_VMChannel_disconnect): new function. (Java_gnu_java_nio_VMChannel_close): new function. (Java_gnu_java_nio_VMChannel_available): new function. (FileChannel_mode): new enum. (Java_gnu_java_nio_VMChannel_open): new function. (Java_gnu_java_nio_VMChannel_position): new function. (Java_gnu_java_nio_VMChannel_seek): new function. (Java_gnu_java_nio_VMChannel_truncate): new funciton. (Java_gnu_java_nio_VMChannel_lock): new function. (Java_gnu_java_nio_VMChannel_unlock): new function. (Java_gnu_java_nio_VMChannel_size): new function. (Java_gnu_java_nio_VMChannel_map): new function. (Java_gnu_java_nio_VMChannel_flush): new function. * native/jni/java-nio/gnu_java_nio_VMPipe.c (Java_gnu_java_nio_VMPipe_init): removed. (Java_gnu_java_nio_VMPipe_pipe0): new function. * native/jni/java-nio/javanio.c: new file. * native/jni/java-nio/javanio.h: new file. * native/jni/native-lib/cpnet.c (cpnet_getHostByName): fix for systems without `gethostbyname_r.' * vm/reference/gnu/java/net/VMPlainSocketImpl.java (nfd): new field. (<init>, <init>): new constructors. (setOption, getOption): make instance methods; defer to native implementation. (connect): removed. (bind): make an instance method; defer to native methods. (accept): removed. (available): removed. (listen): make an instance method; defer to native method. (read): removed. (join, leave): new methods. (write): removed. (joinGroup, leaveGroup): new methods. (shutdownInput, shutdownOutput): make instance methods. (sendUrgentData): removed. (State): new class. * vm/reference/gnu/java/nio/VMChannel.java: make final. (fd): removed. (nfd): new field. (<init>): new, public constructors. (getVMChannel): methods removed. (getState, getStdin, getStdout, getStderr, stdin_fd, stdout_fd, stderr_fd): new methods. (setBlocking): make an instance method. (available): new method. (read): get native fd from `nfd.' (read): new single-byte read method. (readScattering): get native fd from `nfd.' (receive): new method. (write, writeGathering): get native fd from `nfd.' (send): new method. (write): new single-byte write method. (initSocket): new method. (connect): new method. (disconnect): new method. (getLocalAddress): new method. (getPeerAddress): new method. (accept): new method. (openFile): new method. (position): new method. (seek): new method. (truncate): new method. (lock): new method. (unlock): new method. (size): new method. (map): new method. (flush): new method. (close): new method. (State): new class. (Kind): new class. * vm/reference/gnu/java/nio/VMPipe.java (init): removed. (pipe, pipe0): new method. * vm/reference/java/net/VMNetworkInterface.java (name, addresses): new fields. (<clinit>): call `initIds.' (initIds): new method. (getInterfaces): removed. (getVMInterfaces): new method. (addAddress): new method. * vm/reference/java/nio/channels/VMChannels.java: fix imports.
Diffstat (limited to 'include')
-rw-r--r--include/Makefile.am13
-rw-r--r--include/gnu_java_net_VMPlainSocketImpl.h161
-rw-r--r--include/gnu_java_nio_FileChannelImpl.h25
-rw-r--r--include/gnu_java_nio_KqueueSelectorImpl.h85
-rw-r--r--include/gnu_java_nio_VMChannel.h293
-rw-r--r--include/gnu_java_nio_VMPipe.h22
-rw-r--r--include/java_net_VMNetworkInterface.h28
7 files changed, 572 insertions, 55 deletions
diff --git a/include/Makefile.am b/include/Makefile.am
index c36ff0687..1d38ae51e 100644
--- a/include/Makefile.am
+++ b/include/Makefile.am
@@ -128,10 +128,11 @@ $(GCONF_PREFS_FILES) \
$(top_srcdir)/include/gnu_java_net_VMPlainDatagramSocketImpl.h \
$(top_srcdir)/include/gnu_java_net_VMPlainSocketImpl.h \
$(top_srcdir)/include/gnu_java_net_local_LocalSocketImpl.h \
+$(top_srcdir)/include/gnu_java_nio_FileChannelImpl.h \
+$(top_srcdir)/include/gnu_java_nio_KqueueSelectorImpl.h \
$(top_srcdir)/include/gnu_java_nio_VMChannel.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 \
@@ -214,12 +215,18 @@ $(top_srcdir)/include/java_net_VMNetworkInterface.h: $(top_srcdir)/vm/reference/
$(JAVAH) -o $@ java.net.VMNetworkInterface
$(top_srcdir)/include/java_net_VMURLConnection.h: $(top_srcdir)/vm/reference/java/net/VMURLConnection.java
$(JAVAH) -o $@ java.net.VMURLConnection
+
$(top_srcdir)/include/java_nio_VMDirectByteBuffer.h: $(top_srcdir)/vm/reference/java/nio/VMDirectByteBuffer.java
$(JAVAH) -o $@ java.nio.VMDirectByteBuffer
$(top_srcdir)/include/java_nio_MappedByteBufferImpl.h: $(top_srcdir)/java/nio/MappedByteBufferImpl.java
$(JAVAH) -o $@ java.nio.MappedByteBufferImpl
-$(top_srcdir)/include/gnu_java_nio_channels_FileChannelImpl.h: $(top_srcdir)/gnu/java/nio/channels/FileChannelImpl.java
- $(JAVAH) -o $@ gnu.java.nio.channels.FileChannelImpl
+
+$(top_srcdir)/include/gnu_java_nio_FileChannelImpl.h: $(top_srcdir)/gnu/java/nio/FileChannelImpl.java
+ $(JAVAH) -o $@ gnu.java.nio.FileChannelImpl
+
+$(top_srcdir)/include/gnu_java_nio_KqueueSelectorImpl.h: $(top_srcdir)/gnu/java/nio/KqueueSelectorImpl.java
+ $(JAVAH) -o $@ gnu.java.nio.KqueueSelectorImpl
+
$(top_srcdir)/include/gnu_java_nio_charset_iconv_IconvDecoder.h: $(top_srcdir)/gnu/java/nio/charset/iconv/IconvDecoder.java
$(JAVAH) -o $@ gnu.java.nio.charset.iconv.IconvDecoder
$(top_srcdir)/include/gnu_java_nio_charset_iconv_IconvEncoder.h: $(top_srcdir)/gnu/java/nio/charset/iconv/IconvEncoder.java
diff --git a/include/gnu_java_net_VMPlainSocketImpl.h b/include/gnu_java_net_VMPlainSocketImpl.h
index f7616c2c3..b274ce0fb 100644
--- a/include/gnu_java_net_VMPlainSocketImpl.h
+++ b/include/gnu_java_net_VMPlainSocketImpl.h
@@ -1,31 +1,152 @@
/* DO NOT EDIT THIS FILE - it is machine generated */
-
-#ifndef __gnu_java_net_VMPlainSocketImpl__
-#define __gnu_java_net_VMPlainSocketImpl__
-
#include <jni.h>
+/* Header for class gnu_java_net_VMPlainSocketImpl */
+#ifndef _Included_gnu_java_net_VMPlainSocketImpl
+#define _Included_gnu_java_net_VMPlainSocketImpl
#ifdef __cplusplus
-extern "C"
-{
+extern "C" {
#endif
+/*
+ * Class: gnu_java_net_VMPlainSocketImpl
+ * Method: setOption
+ * Signature: (III)V
+ */
+JNIEXPORT void JNICALL Java_gnu_java_net_VMPlainSocketImpl_setOption
+ (JNIEnv *, jclass, jint, jint, jint);
+
+/*
+ * Class: gnu_java_net_VMPlainSocketImpl
+ * Method: getOption
+ * Signature: (II)I
+ */
+JNIEXPORT jint JNICALL Java_gnu_java_net_VMPlainSocketImpl_getOption
+ (JNIEnv *, jclass, jint, jint);
+
+/*
+ * Class: gnu_java_net_VMPlainSocketImpl
+ * Method: bind
+ * Signature: (I[BI)V
+ */
+JNIEXPORT void JNICALL Java_gnu_java_net_VMPlainSocketImpl_bind
+ (JNIEnv *, jclass, jint, jbyteArray, jint);
+
+/*
+ * Class: gnu_java_net_VMPlainSocketImpl
+ * Method: bind6
+ * Signature: (I[BI)V
+ */
+JNIEXPORT void JNICALL Java_gnu_java_net_VMPlainSocketImpl_bind6
+ (JNIEnv *, jclass, jint, jbyteArray, jint);
+
+/*
+ * Class: gnu_java_net_VMPlainSocketImpl
+ * Method: listen
+ * Signature: (II)V
+ */
+JNIEXPORT void JNICALL Java_gnu_java_net_VMPlainSocketImpl_listen
+ (JNIEnv *, jclass, jint, jint);
+
+/*
+ * Class: gnu_java_net_VMPlainSocketImpl
+ * Method: join
+ * Signature: (I[B)V
+ */
+JNIEXPORT void JNICALL Java_gnu_java_net_VMPlainSocketImpl_join
+ (JNIEnv *, jclass, jint, jbyteArray);
+
+/*
+ * Class: gnu_java_net_VMPlainSocketImpl
+ * Method: join6
+ * Signature: (I[B)V
+ */
+JNIEXPORT void JNICALL Java_gnu_java_net_VMPlainSocketImpl_join6
+ (JNIEnv *, jclass, jint, jbyteArray);
+
+/*
+ * Class: gnu_java_net_VMPlainSocketImpl
+ * Method: leave
+ * Signature: (I[B)V
+ */
+JNIEXPORT void JNICALL Java_gnu_java_net_VMPlainSocketImpl_leave
+ (JNIEnv *, jclass, jint, jbyteArray);
+
+/*
+ * Class: gnu_java_net_VMPlainSocketImpl
+ * Method: leave6
+ * Signature: (I[B)V
+ */
+JNIEXPORT void JNICALL Java_gnu_java_net_VMPlainSocketImpl_leave6
+ (JNIEnv *, jclass, jint, jbyteArray);
+
+/*
+ * Class: gnu_java_net_VMPlainSocketImpl
+ * Method: joinGroup
+ * Signature: (I[BLjava/lang/String;)V
+ */
+JNIEXPORT void JNICALL Java_gnu_java_net_VMPlainSocketImpl_joinGroup
+ (JNIEnv *, jclass, jint, jbyteArray, jstring);
+
+/*
+ * Class: gnu_java_net_VMPlainSocketImpl
+ * Method: joinGroup6
+ * Signature: (I[BLjava/lang/String;)V
+ */
+JNIEXPORT void JNICALL Java_gnu_java_net_VMPlainSocketImpl_joinGroup6
+ (JNIEnv *, jclass, jint, jbyteArray, jstring);
-JNIEXPORT void JNICALL Java_gnu_java_net_VMPlainSocketImpl_setOption (JNIEnv *env, jclass, jobject, jint, jobject);
-JNIEXPORT jobject JNICALL Java_gnu_java_net_VMPlainSocketImpl_getOption (JNIEnv *env, jclass, jobject, jint);
-JNIEXPORT void JNICALL Java_gnu_java_net_VMPlainSocketImpl_create (JNIEnv *env, jclass, jobject);
-JNIEXPORT void JNICALL Java_gnu_java_net_VMPlainSocketImpl_connect (JNIEnv *env, jclass, jobject, jobject, jint);
-JNIEXPORT void JNICALL Java_gnu_java_net_VMPlainSocketImpl_bind (JNIEnv *env, jclass, jobject, jobject, jint);
-JNIEXPORT void JNICALL Java_gnu_java_net_VMPlainSocketImpl_listen (JNIEnv *env, jclass, jobject, jint);
-JNIEXPORT void JNICALL Java_gnu_java_net_VMPlainSocketImpl_accept (JNIEnv *env, jclass, jobject, jobject);
-JNIEXPORT jint JNICALL Java_gnu_java_net_VMPlainSocketImpl_available (JNIEnv *env, jclass, jobject);
-JNIEXPORT void JNICALL Java_gnu_java_net_VMPlainSocketImpl_close (JNIEnv *env, jclass, jobject);
-JNIEXPORT jint JNICALL Java_gnu_java_net_VMPlainSocketImpl_read (JNIEnv *env, jclass, jobject, jbyteArray, jint, jint);
-JNIEXPORT void JNICALL Java_gnu_java_net_VMPlainSocketImpl_write (JNIEnv *env, jclass, jobject, jbyteArray, jint, jint);
-JNIEXPORT void JNICALL Java_gnu_java_net_VMPlainSocketImpl_shutdownInput (JNIEnv *env, jclass, jobject);
-JNIEXPORT void JNICALL Java_gnu_java_net_VMPlainSocketImpl_shutdownOutput (JNIEnv *env, jclass, jobject);
+/*
+ * Class: gnu_java_net_VMPlainSocketImpl
+ * Method: leaveGroup
+ * Signature: (I[BLjava/lang/String;)V
+ */
+JNIEXPORT void JNICALL Java_gnu_java_net_VMPlainSocketImpl_leaveGroup
+ (JNIEnv *, jclass, jint, jbyteArray, jstring);
+
+/*
+ * Class: gnu_java_net_VMPlainSocketImpl
+ * Method: leaveGroup6
+ * Signature: (I[BLjava/lang/String;)V
+ */
+JNIEXPORT void JNICALL Java_gnu_java_net_VMPlainSocketImpl_leaveGroup6
+ (JNIEnv *, jclass, jint, jbyteArray, jstring);
+
+/*
+ * Class: gnu_java_net_VMPlainSocketImpl
+ * Method: shutdownInput
+ * Signature: (I)V
+ */
+JNIEXPORT void JNICALL Java_gnu_java_net_VMPlainSocketImpl_shutdownInput
+ (JNIEnv *, jclass, jint);
+
+/*
+ * Class: gnu_java_net_VMPlainSocketImpl
+ * Method: shutdownOutput
+ * Signature: (I)V
+ */
+JNIEXPORT void JNICALL Java_gnu_java_net_VMPlainSocketImpl_shutdownOutput
+ (JNIEnv *, jclass, jint);
+
+/*
+ * Class: gnu_java_net_VMPlainSocketImpl
+ * Method: sendUrgentData
+ * Signature: (II)V
+ */
+JNIEXPORT void JNICALL Java_gnu_java_net_VMPlainSocketImpl_sendUrgentData
+ (JNIEnv *, jclass, jint, jint);
#ifdef __cplusplus
}
#endif
+#endif
+/* Header for class gnu_java_net_VMPlainSocketImpl_State */
-#endif /* __gnu_java_net_VMPlainSocketImpl__ */
+#ifndef _Included_gnu_java_net_VMPlainSocketImpl_State
+#define _Included_gnu_java_net_VMPlainSocketImpl_State
+#ifdef __cplusplus
+extern "C" {
+#endif
+#ifdef __cplusplus
+}
+#endif
+#endif
diff --git a/include/gnu_java_nio_FileChannelImpl.h b/include/gnu_java_nio_FileChannelImpl.h
new file mode 100644
index 000000000..ebf466ccc
--- /dev/null
+++ b/include/gnu_java_nio_FileChannelImpl.h
@@ -0,0 +1,25 @@
+/* DO NOT EDIT THIS FILE - it is machine generated */
+#include <jni.h>
+/* Header for class gnu_java_nio_FileChannelImpl */
+
+#ifndef _Included_gnu_java_nio_FileChannelImpl
+#define _Included_gnu_java_nio_FileChannelImpl
+#ifdef __cplusplus
+extern "C" {
+#endif
+#undef gnu_java_nio_FileChannelImpl_READ
+#define gnu_java_nio_FileChannelImpl_READ 1L
+#undef gnu_java_nio_FileChannelImpl_WRITE
+#define gnu_java_nio_FileChannelImpl_WRITE 2L
+#undef gnu_java_nio_FileChannelImpl_APPEND
+#define gnu_java_nio_FileChannelImpl_APPEND 4L
+#undef gnu_java_nio_FileChannelImpl_EXCL
+#define gnu_java_nio_FileChannelImpl_EXCL 8L
+#undef gnu_java_nio_FileChannelImpl_SYNC
+#define gnu_java_nio_FileChannelImpl_SYNC 16L
+#undef gnu_java_nio_FileChannelImpl_DSYNC
+#define gnu_java_nio_FileChannelImpl_DSYNC 32L
+#ifdef __cplusplus
+}
+#endif
+#endif
diff --git a/include/gnu_java_nio_KqueueSelectorImpl.h b/include/gnu_java_nio_KqueueSelectorImpl.h
new file mode 100644
index 000000000..1accd710f
--- /dev/null
+++ b/include/gnu_java_nio_KqueueSelectorImpl.h
@@ -0,0 +1,85 @@
+/* DO NOT EDIT THIS FILE - it is machine generated */
+#include <jni.h>
+/* Header for class gnu_java_nio_KqueueSelectorImpl */
+
+#ifndef _Included_gnu_java_nio_KqueueSelectorImpl
+#define _Included_gnu_java_nio_KqueueSelectorImpl
+#ifdef __cplusplus
+extern "C" {
+#endif
+/*
+ * Class: gnu_java_nio_KqueueSelectorImpl
+ * Method: kqueue_supported
+ * Signature: ()Z
+ */
+JNIEXPORT jboolean JNICALL Java_gnu_java_nio_KqueueSelectorImpl_kqueue_1supported
+ (JNIEnv *, jclass);
+
+/*
+ * Class: gnu_java_nio_KqueueSelectorImpl
+ * Method: sizeof_struct_kevent
+ * Signature: ()I
+ */
+JNIEXPORT jint JNICALL Java_gnu_java_nio_KqueueSelectorImpl_sizeof_1struct_1kevent
+ (JNIEnv *, jclass);
+
+/*
+ * Class: gnu_java_nio_KqueueSelectorImpl
+ * Method: implOpen
+ * Signature: ()I
+ */
+JNIEXPORT jint JNICALL Java_gnu_java_nio_KqueueSelectorImpl_implOpen
+ (JNIEnv *, jclass);
+
+/*
+ * Class: gnu_java_nio_KqueueSelectorImpl
+ * Method: implClose
+ * Signature: (I)V
+ */
+JNIEXPORT void JNICALL Java_gnu_java_nio_KqueueSelectorImpl_implClose
+ (JNIEnv *, jclass, jint);
+
+/*
+ * Class: gnu_java_nio_KqueueSelectorImpl
+ * Method: kevent_set
+ * Signature: (Ljava/nio/ByteBuffer;IIIZ)V
+ */
+JNIEXPORT void JNICALL Java_gnu_java_nio_KqueueSelectorImpl_kevent_1set
+ (JNIEnv *, jclass, jobject, jint, jint, jint, jboolean);
+
+/*
+ * Class: gnu_java_nio_KqueueSelectorImpl
+ * Method: kevent
+ * Signature: (ILjava/nio/ByteBuffer;IJ)I
+ */
+JNIEXPORT jint JNICALL Java_gnu_java_nio_KqueueSelectorImpl_kevent
+ (JNIEnv *, jclass, jint, jobject, jint, jlong);
+
+/*
+ * Class: gnu_java_nio_KqueueSelectorImpl
+ * Method: fetch_key
+ * Signature: (Ljava/nio/ByteBuffer;)I
+ */
+JNIEXPORT jint JNICALL Java_gnu_java_nio_KqueueSelectorImpl_fetch_1key
+ (JNIEnv *, jclass, jobject);
+
+/*
+ * Class: gnu_java_nio_KqueueSelectorImpl
+ * Method: ready_ops
+ * Signature: (Ljava/nio/ByteBuffer;I)I
+ */
+JNIEXPORT jint JNICALL Java_gnu_java_nio_KqueueSelectorImpl_ready_1ops
+ (JNIEnv *, jclass, jobject, jint);
+
+/*
+ * Class: gnu_java_nio_KqueueSelectorImpl
+ * Method: check_eof
+ * Signature: (Ljava/nio/ByteBuffer;)Z
+ */
+JNIEXPORT jboolean JNICALL Java_gnu_java_nio_KqueueSelectorImpl_check_1eof
+ (JNIEnv *, jclass, jobject);
+
+#ifdef __cplusplus
+}
+#endif
+#endif
diff --git a/include/gnu_java_nio_VMChannel.h b/include/gnu_java_nio_VMChannel.h
index 28f9048d2..969e3298a 100644
--- a/include/gnu_java_nio_VMChannel.h
+++ b/include/gnu_java_nio_VMChannel.h
@@ -1,24 +1,291 @@
/* DO NOT EDIT THIS FILE - it is machine generated */
-
-#ifndef __gnu_java_nio_VMChannel__
-#define __gnu_java_nio_VMChannel__
-
#include <jni.h>
+/* Header for class gnu_java_nio_VMChannel */
+#ifndef _Included_gnu_java_nio_VMChannel
+#define _Included_gnu_java_nio_VMChannel
#ifdef __cplusplus
-extern "C"
-{
+extern "C" {
#endif
+/*
+ * Class: gnu_java_nio_VMChannel
+ * Method: stdin_fd
+ * Signature: ()I
+ */
+JNIEXPORT jint JNICALL Java_gnu_java_nio_VMChannel_stdin_1fd
+ (JNIEnv *, jclass);
+
+/*
+ * Class: gnu_java_nio_VMChannel
+ * Method: stdout_fd
+ * Signature: ()I
+ */
+JNIEXPORT jint JNICALL Java_gnu_java_nio_VMChannel_stdout_1fd
+ (JNIEnv *, jclass);
+
+/*
+ * Class: gnu_java_nio_VMChannel
+ * Method: stderr_fd
+ * Signature: ()I
+ */
+JNIEXPORT jint JNICALL Java_gnu_java_nio_VMChannel_stderr_1fd
+ (JNIEnv *, jclass);
+
+/*
+ * Class: gnu_java_nio_VMChannel
+ * Method: setBlocking
+ * Signature: (IZ)V
+ */
+JNIEXPORT void JNICALL Java_gnu_java_nio_VMChannel_setBlocking
+ (JNIEnv *, jclass, jint, jboolean);
+
+/*
+ * Class: gnu_java_nio_VMChannel
+ * Method: available
+ * Signature: (I)I
+ */
+JNIEXPORT jint JNICALL Java_gnu_java_nio_VMChannel_available
+ (JNIEnv *, jclass, jint);
+
+/*
+ * Class: gnu_java_nio_VMChannel
+ * Method: read
+ * Signature: (ILjava/nio/ByteBuffer;)I
+ */
+JNIEXPORT jint JNICALL Java_gnu_java_nio_VMChannel_read__ILjava_nio_ByteBuffer_2
+ (JNIEnv *, jclass, jint, jobject);
+
+/*
+ * Class: gnu_java_nio_VMChannel
+ * Method: read
+ * Signature: (I)I
+ */
+JNIEXPORT jint JNICALL Java_gnu_java_nio_VMChannel_read__I
+ (JNIEnv *, jclass, jint);
+
+/*
+ * Class: gnu_java_nio_VMChannel
+ * Method: readScattering
+ * Signature: (I[Ljava/nio/ByteBuffer;II)J
+ */
+JNIEXPORT jlong JNICALL Java_gnu_java_nio_VMChannel_readScattering
+ (JNIEnv *, jclass, jint, jobjectArray, jint, jint);
+
+/*
+ * Class: gnu_java_nio_VMChannel
+ * Method: receive
+ * Signature: (ILjava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)I
+ */
+JNIEXPORT jint JNICALL Java_gnu_java_nio_VMChannel_receive
+ (JNIEnv *, jclass, jint, jobject, jobject);
+
+/*
+ * Class: gnu_java_nio_VMChannel
+ * Method: write
+ * Signature: (ILjava/nio/ByteBuffer;)I
+ */
+JNIEXPORT jint JNICALL Java_gnu_java_nio_VMChannel_write__ILjava_nio_ByteBuffer_2
+ (JNIEnv *, jobject, jint, jobject);
+
+/*
+ * Class: gnu_java_nio_VMChannel
+ * Method: writeGathering
+ * Signature: (I[Ljava/nio/ByteBuffer;II)J
+ */
+JNIEXPORT jlong JNICALL Java_gnu_java_nio_VMChannel_writeGathering
+ (JNIEnv *, jobject, jint, jobjectArray, jint, jint);
+
+/*
+ * Class: gnu_java_nio_VMChannel
+ * Method: send
+ * Signature: (ILjava/nio/ByteBuffer;[BI)I
+ */
+JNIEXPORT jint JNICALL Java_gnu_java_nio_VMChannel_send
+ (JNIEnv *, jclass, jint, jobject, jbyteArray, jint);
+
+/*
+ * Class: gnu_java_nio_VMChannel
+ * Method: send6
+ * Signature: (ILjava/nio/ByteBuffer;[BI)I
+ */
+JNIEXPORT jint JNICALL Java_gnu_java_nio_VMChannel_send6
+ (JNIEnv *, jclass, jint, jobject, jbyteArray, jint);
+
+/*
+ * Class: gnu_java_nio_VMChannel
+ * Method: write
+ * Signature: (II)V
+ */
+JNIEXPORT void JNICALL Java_gnu_java_nio_VMChannel_write__II
+ (JNIEnv *, jclass, jint, jint);
+
+/*
+ * Class: gnu_java_nio_VMChannel
+ * Method: initIDs
+ * Signature: ()V
+ */
+JNIEXPORT void JNICALL Java_gnu_java_nio_VMChannel_initIDs
+ (JNIEnv *, jclass);
+
+/*
+ * Class: gnu_java_nio_VMChannel
+ * Method: socket
+ * Signature: (Z)I
+ */
+JNIEXPORT jint JNICALL Java_gnu_java_nio_VMChannel_socket
+ (JNIEnv *, jclass, jboolean);
+
+/*
+ * Class: gnu_java_nio_VMChannel
+ * Method: connect
+ * Signature: (I[BII)Z
+ */
+JNIEXPORT jboolean JNICALL Java_gnu_java_nio_VMChannel_connect
+ (JNIEnv *, jclass, jint, jbyteArray, jint, jint);
+
+/*
+ * Class: gnu_java_nio_VMChannel
+ * Method: connect6
+ * Signature: (I[BII)Z
+ */
+JNIEXPORT jboolean JNICALL Java_gnu_java_nio_VMChannel_connect6
+ (JNIEnv *, jclass, jint, jbyteArray, jint, jint);
+
+/*
+ * Class: gnu_java_nio_VMChannel
+ * Method: disconnect
+ * Signature: (I)V
+ */
+JNIEXPORT void JNICALL Java_gnu_java_nio_VMChannel_disconnect
+ (JNIEnv *, jclass, jint);
+
+/*
+ * Class: gnu_java_nio_VMChannel
+ * Method: getsockname
+ * Signature: (ILjava/nio/ByteBuffer;)I
+ */
+JNIEXPORT jint JNICALL Java_gnu_java_nio_VMChannel_getsockname
+ (JNIEnv *, jclass, jint, jobject);
+
+/*
+ * Class: gnu_java_nio_VMChannel
+ * Method: getpeername
+ * Signature: (ILjava/nio/ByteBuffer;)I
+ */
+JNIEXPORT jint JNICALL Java_gnu_java_nio_VMChannel_getpeername
+ (JNIEnv *, jclass, jint, jobject);
+
+/*
+ * Class: gnu_java_nio_VMChannel
+ * Method: accept
+ * Signature: (I)I
+ */
+JNIEXPORT jint JNICALL Java_gnu_java_nio_VMChannel_accept
+ (JNIEnv *, jclass, jint);
-JNIEXPORT void JNICALL Java_gnu_java_nio_VMChannel_setBlocking (JNIEnv *env, jobject, jint, jboolean);
-JNIEXPORT jint JNICALL Java_gnu_java_nio_VMChannel_read (JNIEnv *env, jobject, jint, jobject);
-JNIEXPORT jlong JNICALL Java_gnu_java_nio_VMChannel_readScattering (JNIEnv *env, jobject, jint, jobjectArray, jint, jint);
-JNIEXPORT jint JNICALL Java_gnu_java_nio_VMChannel_write (JNIEnv *env, jobject, jint, jobject);
-JNIEXPORT jlong JNICALL Java_gnu_java_nio_VMChannel_writeGathering (JNIEnv *env, jobject, jint, jobjectArray, jint, jint);
-JNIEXPORT void JNICALL Java_gnu_java_nio_VMChannel_initIDs (JNIEnv *env, jclass);
+/*
+ * Class: gnu_java_nio_VMChannel
+ * Method: open
+ * Signature: (Ljava/lang/String;I)I
+ */
+JNIEXPORT jint JNICALL Java_gnu_java_nio_VMChannel_open
+ (JNIEnv *, jclass, jstring, jint);
+
+/*
+ * Class: gnu_java_nio_VMChannel
+ * Method: position
+ * Signature: (I)J
+ */
+JNIEXPORT jlong JNICALL Java_gnu_java_nio_VMChannel_position
+ (JNIEnv *, jclass, jint);
+
+/*
+ * Class: gnu_java_nio_VMChannel
+ * Method: seek
+ * Signature: (IJ)V
+ */
+JNIEXPORT void JNICALL Java_gnu_java_nio_VMChannel_seek
+ (JNIEnv *, jclass, jint, jlong);
+
+/*
+ * Class: gnu_java_nio_VMChannel
+ * Method: truncate
+ * Signature: (IJ)V
+ */
+JNIEXPORT void JNICALL Java_gnu_java_nio_VMChannel_truncate
+ (JNIEnv *, jclass, jint, jlong);
+
+/*
+ * Class: gnu_java_nio_VMChannel
+ * Method: lock
+ * Signature: (IJJZZ)Z
+ */
+JNIEXPORT jboolean JNICALL Java_gnu_java_nio_VMChannel_lock
+ (JNIEnv *, jclass, jint, jlong, jlong, jboolean, jboolean);
+
+/*
+ * Class: gnu_java_nio_VMChannel
+ * Method: unlock
+ * Signature: (IJJ)V
+ */
+JNIEXPORT void JNICALL Java_gnu_java_nio_VMChannel_unlock
+ (JNIEnv *, jclass, jint, jlong, jlong);
+
+/*
+ * Class: gnu_java_nio_VMChannel
+ * Method: size
+ * Signature: (I)J
+ */
+JNIEXPORT jlong JNICALL Java_gnu_java_nio_VMChannel_size
+ (JNIEnv *, jclass, jint);
+
+/*
+ * Class: gnu_java_nio_VMChannel
+ * Method: map
+ * Signature: (ICJI)Ljava/nio/MappedByteBuffer;
+ */
+JNIEXPORT jobject JNICALL Java_gnu_java_nio_VMChannel_map
+ (JNIEnv *, jclass, jint, jchar, jlong, jint);
+
+/*
+ * Class: gnu_java_nio_VMChannel
+ * Method: flush
+ * Signature: (IZ)Z
+ */
+JNIEXPORT jboolean JNICALL Java_gnu_java_nio_VMChannel_flush
+ (JNIEnv *, jclass, jint, jboolean);
+
+/*
+ * Class: gnu_java_nio_VMChannel
+ * Method: close
+ * Signature: (I)V
+ */
+JNIEXPORT void JNICALL Java_gnu_java_nio_VMChannel_close
+ (JNIEnv *, jclass, jint);
#ifdef __cplusplus
}
#endif
+#endif
+/* Header for class gnu_java_nio_VMChannel_State */
-#endif /* __gnu_java_nio_VMChannel__ */
+#ifndef _Included_gnu_java_nio_VMChannel_State
+#define _Included_gnu_java_nio_VMChannel_State
+#ifdef __cplusplus
+extern "C" {
+#endif
+#ifdef __cplusplus
+}
+#endif
+#endif
+/* Header for class gnu_java_nio_VMChannel_Kind */
+
+#ifndef _Included_gnu_java_nio_VMChannel_Kind
+#define _Included_gnu_java_nio_VMChannel_Kind
+#ifdef __cplusplus
+extern "C" {
+#endif
+#ifdef __cplusplus
+}
+#endif
+#endif
diff --git a/include/gnu_java_nio_VMPipe.h b/include/gnu_java_nio_VMPipe.h
index afa563ac8..06d8001b7 100644
--- a/include/gnu_java_nio_VMPipe.h
+++ b/include/gnu_java_nio_VMPipe.h
@@ -1,19 +1,21 @@
/* DO NOT EDIT THIS FILE - it is machine generated */
-
-#ifndef __gnu_java_nio_VMPipe__
-#define __gnu_java_nio_VMPipe__
-
#include <jni.h>
+/* Header for class gnu_java_nio_VMPipe */
+#ifndef _Included_gnu_java_nio_VMPipe
+#define _Included_gnu_java_nio_VMPipe
#ifdef __cplusplus
-extern "C"
-{
+extern "C" {
#endif
-
-JNIEXPORT void JNICALL Java_gnu_java_nio_VMPipe_init (JNIEnv *env, jclass, jobject, jobject);
+/*
+ * Class: gnu_java_nio_VMPipe
+ * Method: pipe0
+ * Signature: ()[I
+ */
+JNIEXPORT jintArray JNICALL Java_gnu_java_nio_VMPipe_pipe0
+ (JNIEnv *, jclass);
#ifdef __cplusplus
}
#endif
-
-#endif /* __gnu_java_nio_VMPipe__ */
+#endif
diff --git a/include/java_net_VMNetworkInterface.h b/include/java_net_VMNetworkInterface.h
index c309357f3..4d5192d28 100644
--- a/include/java_net_VMNetworkInterface.h
+++ b/include/java_net_VMNetworkInterface.h
@@ -1,19 +1,29 @@
/* DO NOT EDIT THIS FILE - it is machine generated */
-
-#ifndef __java_net_VMNetworkInterface__
-#define __java_net_VMNetworkInterface__
-
#include <jni.h>
+/* Header for class java_net_VMNetworkInterface */
+#ifndef _Included_java_net_VMNetworkInterface
+#define _Included_java_net_VMNetworkInterface
#ifdef __cplusplus
-extern "C"
-{
+extern "C" {
#endif
+/*
+ * Class: java_net_VMNetworkInterface
+ * Method: initIds
+ * Signature: ()V
+ */
+JNIEXPORT void JNICALL Java_java_net_VMNetworkInterface_initIds
+ (JNIEnv *, jclass);
-JNIEXPORT jobject JNICALL Java_java_net_VMNetworkInterface_getInterfaces (JNIEnv *env, jclass);
+/*
+ * Class: java_net_VMNetworkInterface
+ * Method: getVMInterfaces
+ * Signature: ()[Ljava/net/VMNetworkInterface;
+ */
+JNIEXPORT jobjectArray JNICALL Java_java_net_VMNetworkInterface_getVMInterfaces
+ (JNIEnv *, jclass);
#ifdef __cplusplus
}
#endif
-
-#endif /* __java_net_VMNetworkInterface__ */
+#endif