aboutsummaryrefslogtreecommitdiff
path: root/libjava/gnu/java/nio
diff options
context:
space:
mode:
authorTom Tromey <tromey@gcc.gnu.org>2007-01-09 19:58:05 +0000
committerTom Tromey <tromey@gcc.gnu.org>2007-01-09 19:58:05 +0000
commit97b8365cafc3a344a22d3980b8ed885f5c6d8357 (patch)
tree996a5f57d4a68c53473382e45cb22f574cb3e4db /libjava/gnu/java/nio
parentc648dedbde727ca3f883bb5fd773aa4af70d3369 (diff)
downloadgcc-97b8365cafc3a344a22d3980b8ed885f5c6d8357.zip
gcc-97b8365cafc3a344a22d3980b8ed885f5c6d8357.tar.gz
gcc-97b8365cafc3a344a22d3980b8ed885f5c6d8357.tar.bz2
Merged gcj-eclipse branch to trunk.
From-SVN: r120621
Diffstat (limited to 'libjava/gnu/java/nio')
-rw-r--r--libjava/gnu/java/nio/ChannelInputStream.h46
-rw-r--r--libjava/gnu/java/nio/ChannelOutputStream.h46
-rw-r--r--libjava/gnu/java/nio/ChannelReader.h59
-rw-r--r--libjava/gnu/java/nio/ChannelWriter.h61
-rw-r--r--libjava/gnu/java/nio/DatagramChannelImpl.h78
-rw-r--r--libjava/gnu/java/nio/DatagramChannelSelectionKey.h47
-rw-r--r--libjava/gnu/java/nio/EpollSelectionKeyImpl.h63
-rw-r--r--libjava/gnu/java/nio/FileLockImpl.h44
-rw-r--r--libjava/gnu/java/nio/FileLockImpl.java104
-rw-r--r--libjava/gnu/java/nio/InputStreamChannel.h46
-rw-r--r--libjava/gnu/java/nio/KqueueSelectionKeyImpl.h71
-rw-r--r--libjava/gnu/java/nio/NIOConstants.h33
-rw-r--r--libjava/gnu/java/nio/NIODatagramSocket.h53
-rw-r--r--libjava/gnu/java/nio/NIOServerSocket.h58
-rw-r--r--libjava/gnu/java/nio/NIOSocket.h57
-rw-r--r--libjava/gnu/java/nio/NIOSocket.java77
-rw-r--r--libjava/gnu/java/nio/OutputStreamChannel.h46
-rw-r--r--libjava/gnu/java/nio/PipeImpl$SinkChannelImpl.h61
-rw-r--r--libjava/gnu/java/nio/PipeImpl$SourceChannelImpl.h61
-rw-r--r--libjava/gnu/java/nio/PipeImpl.h55
-rw-r--r--libjava/gnu/java/nio/PipeImpl.java178
-rw-r--r--libjava/gnu/java/nio/SelectionKeyImpl.h59
-rw-r--r--libjava/gnu/java/nio/SelectorImpl.h76
-rw-r--r--libjava/gnu/java/nio/SelectorProviderImpl.h54
-rw-r--r--libjava/gnu/java/nio/SelectorProviderImpl.java83
-rw-r--r--libjava/gnu/java/nio/ServerSocketChannelImpl.h64
-rw-r--r--libjava/gnu/java/nio/ServerSocketChannelSelectionKey.h47
-rw-r--r--libjava/gnu/java/nio/SocketChannelImpl.h82
-rw-r--r--libjava/gnu/java/nio/SocketChannelSelectionKey.h47
-rw-r--r--libjava/gnu/java/nio/SocketChannelSelectionKey.java4
-rw-r--r--libjava/gnu/java/nio/SocketChannelSelectionKeyImpl.h38
-rw-r--r--libjava/gnu/java/nio/SocketChannelSelectionKeyImpl.java69
-rw-r--r--libjava/gnu/java/nio/VMChannel.h77
-rw-r--r--libjava/gnu/java/nio/VMChannel.java50
-rw-r--r--libjava/gnu/java/nio/VMChannelOwner.h33
-rw-r--r--libjava/gnu/java/nio/VMPipe.h48
-rw-r--r--libjava/gnu/java/nio/VMSelector.h37
-rw-r--r--libjava/gnu/java/nio/channels/FileChannelImpl.h118
-rw-r--r--libjava/gnu/java/nio/channels/FileChannelImpl.java8
-rw-r--r--libjava/gnu/java/nio/charset/ByteCharset$Decoder.h55
-rw-r--r--libjava/gnu/java/nio/charset/ByteCharset$Encoder.h58
-rw-r--r--libjava/gnu/java/nio/charset/ByteCharset.h60
-rw-r--r--libjava/gnu/java/nio/charset/Cp424.h40
-rw-r--r--libjava/gnu/java/nio/charset/Cp437.h40
-rw-r--r--libjava/gnu/java/nio/charset/Cp737.h40
-rw-r--r--libjava/gnu/java/nio/charset/Cp775.h40
-rw-r--r--libjava/gnu/java/nio/charset/Cp850.h40
-rw-r--r--libjava/gnu/java/nio/charset/Cp852.h40
-rw-r--r--libjava/gnu/java/nio/charset/Cp855.h40
-rw-r--r--libjava/gnu/java/nio/charset/Cp857.h40
-rw-r--r--libjava/gnu/java/nio/charset/Cp860.h40
-rw-r--r--libjava/gnu/java/nio/charset/Cp861.h40
-rw-r--r--libjava/gnu/java/nio/charset/Cp862.h40
-rw-r--r--libjava/gnu/java/nio/charset/Cp863.h40
-rw-r--r--libjava/gnu/java/nio/charset/Cp864.h40
-rw-r--r--libjava/gnu/java/nio/charset/Cp865.h40
-rw-r--r--libjava/gnu/java/nio/charset/Cp866.h40
-rw-r--r--libjava/gnu/java/nio/charset/Cp869.h40
-rw-r--r--libjava/gnu/java/nio/charset/Cp874.h40
-rw-r--r--libjava/gnu/java/nio/charset/EncodingHelper.h52
-rw-r--r--libjava/gnu/java/nio/charset/ISO_8859_1$Decoder.h51
-rw-r--r--libjava/gnu/java/nio/charset/ISO_8859_1$Encoder.h54
-rw-r--r--libjava/gnu/java/nio/charset/ISO_8859_1.h51
-rw-r--r--libjava/gnu/java/nio/charset/ISO_8859_13.h40
-rw-r--r--libjava/gnu/java/nio/charset/ISO_8859_15.h40
-rw-r--r--libjava/gnu/java/nio/charset/ISO_8859_2.h40
-rw-r--r--libjava/gnu/java/nio/charset/ISO_8859_3.h40
-rw-r--r--libjava/gnu/java/nio/charset/ISO_8859_4.h40
-rw-r--r--libjava/gnu/java/nio/charset/ISO_8859_5.h40
-rw-r--r--libjava/gnu/java/nio/charset/ISO_8859_6.h40
-rw-r--r--libjava/gnu/java/nio/charset/ISO_8859_7.h40
-rw-r--r--libjava/gnu/java/nio/charset/ISO_8859_8.h40
-rw-r--r--libjava/gnu/java/nio/charset/ISO_8859_9.h40
-rw-r--r--libjava/gnu/java/nio/charset/KOI_8.h40
-rw-r--r--libjava/gnu/java/nio/charset/MS874.h40
-rw-r--r--libjava/gnu/java/nio/charset/MacCentralEurope.h40
-rw-r--r--libjava/gnu/java/nio/charset/MacCroatian.h40
-rw-r--r--libjava/gnu/java/nio/charset/MacCyrillic.h40
-rw-r--r--libjava/gnu/java/nio/charset/MacDingbat.h40
-rw-r--r--libjava/gnu/java/nio/charset/MacGreek.h40
-rw-r--r--libjava/gnu/java/nio/charset/MacIceland.h40
-rw-r--r--libjava/gnu/java/nio/charset/MacRoman.h40
-rw-r--r--libjava/gnu/java/nio/charset/MacRomania.h40
-rw-r--r--libjava/gnu/java/nio/charset/MacSymbol.h40
-rw-r--r--libjava/gnu/java/nio/charset/MacThai.h40
-rw-r--r--libjava/gnu/java/nio/charset/MacTurkish.h40
-rw-r--r--libjava/gnu/java/nio/charset/Provider$1.h37
-rw-r--r--libjava/gnu/java/nio/charset/Provider.h60
-rw-r--r--libjava/gnu/java/nio/charset/US_ASCII$Decoder.h51
-rw-r--r--libjava/gnu/java/nio/charset/US_ASCII$Encoder.h54
-rw-r--r--libjava/gnu/java/nio/charset/US_ASCII.h51
-rw-r--r--libjava/gnu/java/nio/charset/UTF_16.h51
-rw-r--r--libjava/gnu/java/nio/charset/UTF_16BE.h51
-rw-r--r--libjava/gnu/java/nio/charset/UTF_16Decoder.h63
-rw-r--r--libjava/gnu/java/nio/charset/UTF_16Encoder.h61
-rw-r--r--libjava/gnu/java/nio/charset/UTF_16LE.h51
-rw-r--r--libjava/gnu/java/nio/charset/UTF_8$Decoder.h53
-rw-r--r--libjava/gnu/java/nio/charset/UTF_8$Encoder.h51
-rw-r--r--libjava/gnu/java/nio/charset/UTF_8.h51
-rw-r--r--libjava/gnu/java/nio/charset/UnicodeLittle.h51
-rw-r--r--libjava/gnu/java/nio/charset/Windows1250.h40
-rw-r--r--libjava/gnu/java/nio/charset/Windows1251.h40
-rw-r--r--libjava/gnu/java/nio/charset/Windows1252.h40
-rw-r--r--libjava/gnu/java/nio/charset/Windows1253.h40
-rw-r--r--libjava/gnu/java/nio/charset/Windows1254.h40
-rw-r--r--libjava/gnu/java/nio/charset/Windows1255.h40
-rw-r--r--libjava/gnu/java/nio/charset/Windows1256.h40
-rw-r--r--libjava/gnu/java/nio/charset/Windows1257.h40
-rw-r--r--libjava/gnu/java/nio/charset/Windows1258.h40
-rw-r--r--libjava/gnu/java/nio/natVMChannel.cc46
110 files changed, 5434 insertions, 27 deletions
diff --git a/libjava/gnu/java/nio/ChannelInputStream.h b/libjava/gnu/java/nio/ChannelInputStream.h
new file mode 100644
index 0000000..bc43e23
--- /dev/null
+++ b/libjava/gnu/java/nio/ChannelInputStream.h
@@ -0,0 +1,46 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_ChannelInputStream__
+#define __gnu_java_nio_ChannelInputStream__
+
+#pragma interface
+
+#include <java/io/InputStream.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ class ChannelInputStream;
+ }
+ }
+ }
+ namespace java
+ {
+ namespace nio
+ {
+ namespace channels
+ {
+ class ReadableByteChannel;
+ }
+ }
+ }
+}
+
+class gnu::java::nio::ChannelInputStream : public ::java::io::InputStream
+{
+
+public:
+ ChannelInputStream(::java::nio::channels::ReadableByteChannel *);
+ jint read();
+private:
+ ::java::nio::channels::ReadableByteChannel * __attribute__((aligned(__alignof__( ::java::io::InputStream)))) ch;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_ChannelInputStream__
diff --git a/libjava/gnu/java/nio/ChannelOutputStream.h b/libjava/gnu/java/nio/ChannelOutputStream.h
new file mode 100644
index 0000000..7ff1b8d
--- /dev/null
+++ b/libjava/gnu/java/nio/ChannelOutputStream.h
@@ -0,0 +1,46 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_ChannelOutputStream__
+#define __gnu_java_nio_ChannelOutputStream__
+
+#pragma interface
+
+#include <java/io/OutputStream.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ class ChannelOutputStream;
+ }
+ }
+ }
+ namespace java
+ {
+ namespace nio
+ {
+ namespace channels
+ {
+ class WritableByteChannel;
+ }
+ }
+ }
+}
+
+class gnu::java::nio::ChannelOutputStream : public ::java::io::OutputStream
+{
+
+public:
+ ChannelOutputStream(::java::nio::channels::WritableByteChannel *);
+ void write(jint);
+private:
+ ::java::nio::channels::WritableByteChannel * __attribute__((aligned(__alignof__( ::java::io::OutputStream)))) ch;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_ChannelOutputStream__
diff --git a/libjava/gnu/java/nio/ChannelReader.h b/libjava/gnu/java/nio/ChannelReader.h
new file mode 100644
index 0000000..337473f
--- /dev/null
+++ b/libjava/gnu/java/nio/ChannelReader.h
@@ -0,0 +1,59 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_ChannelReader__
+#define __gnu_java_nio_ChannelReader__
+
+#pragma interface
+
+#include <java/io/Reader.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ class ChannelReader;
+ }
+ }
+ }
+ namespace java
+ {
+ namespace nio
+ {
+ class ByteBuffer;
+ class CharBuffer;
+ namespace channels
+ {
+ class ReadableByteChannel;
+ }
+ namespace charset
+ {
+ class CharsetDecoder;
+ }
+ }
+ }
+}
+
+class gnu::java::nio::ChannelReader : public ::java::io::Reader
+{
+
+public:
+ ChannelReader(::java::nio::channels::ReadableByteChannel *, ::java::nio::charset::CharsetDecoder *, jint);
+ virtual jint read(JArray< jchar > *, jint, jint);
+ virtual void close();
+private:
+ static const jint DEFAULT_BUFFER_CAP = 8192;
+ ::java::nio::channels::ReadableByteChannel * __attribute__((aligned(__alignof__( ::java::io::Reader)))) channel;
+ ::java::nio::charset::CharsetDecoder * decoder;
+ ::java::nio::ByteBuffer * byteBuffer;
+ ::java::nio::CharBuffer * charBuffer;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_ChannelReader__
diff --git a/libjava/gnu/java/nio/ChannelWriter.h b/libjava/gnu/java/nio/ChannelWriter.h
new file mode 100644
index 0000000..f78d294
--- /dev/null
+++ b/libjava/gnu/java/nio/ChannelWriter.h
@@ -0,0 +1,61 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_ChannelWriter__
+#define __gnu_java_nio_ChannelWriter__
+
+#pragma interface
+
+#include <java/io/Writer.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ class ChannelWriter;
+ }
+ }
+ }
+ namespace java
+ {
+ namespace nio
+ {
+ class ByteBuffer;
+ class CharBuffer;
+ namespace channels
+ {
+ class WritableByteChannel;
+ }
+ namespace charset
+ {
+ class CharsetEncoder;
+ }
+ }
+ }
+}
+
+class gnu::java::nio::ChannelWriter : public ::java::io::Writer
+{
+
+ void writeBuffer();
+public:
+ ChannelWriter(::java::nio::channels::WritableByteChannel *, ::java::nio::charset::CharsetEncoder *, jint);
+ virtual void flush();
+ virtual void close();
+ virtual void write(JArray< jchar > *, jint, jint);
+private:
+ static const jint DEFAULT_BUFFER_CAP = 8192;
+ ::java::nio::channels::WritableByteChannel * __attribute__((aligned(__alignof__( ::java::io::Writer)))) byteChannel;
+ ::java::nio::charset::CharsetEncoder * enc;
+ ::java::nio::ByteBuffer * byteBuffer;
+ ::java::nio::CharBuffer * charBuffer;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_ChannelWriter__
diff --git a/libjava/gnu/java/nio/DatagramChannelImpl.h b/libjava/gnu/java/nio/DatagramChannelImpl.h
new file mode 100644
index 0000000..26595ca
--- /dev/null
+++ b/libjava/gnu/java/nio/DatagramChannelImpl.h
@@ -0,0 +1,78 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_DatagramChannelImpl__
+#define __gnu_java_nio_DatagramChannelImpl__
+
+#pragma interface
+
+#include <java/nio/channels/DatagramChannel.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ class DatagramChannelImpl;
+ class NIODatagramSocket;
+ }
+ }
+ }
+ namespace java
+ {
+ namespace net
+ {
+ class DatagramSocket;
+ class SocketAddress;
+ }
+ namespace nio
+ {
+ class ByteBuffer;
+ namespace channels
+ {
+ class DatagramChannel;
+ namespace spi
+ {
+ class SelectorProvider;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::DatagramChannelImpl : public ::java::nio::channels::DatagramChannel
+{
+
+public:
+ jboolean isInChannelOperation();
+ void setInChannelOperation(jboolean);
+public: // actually protected
+ DatagramChannelImpl(::java::nio::channels::spi::SelectorProvider *);
+public:
+ jint getNativeFD();
+ ::java::net::DatagramSocket * socket();
+public: // actually protected
+ void implCloseSelectableChannel();
+ void implConfigureBlocking(jboolean);
+public:
+ ::java::nio::channels::DatagramChannel * connect(::java::net::SocketAddress *);
+ ::java::nio::channels::DatagramChannel * disconnect();
+ jboolean isConnected();
+ jint write(::java::nio::ByteBuffer *);
+ jlong write(JArray< ::java::nio::ByteBuffer * > *, jint, jint);
+ jint read(::java::nio::ByteBuffer *);
+ jlong read(JArray< ::java::nio::ByteBuffer * > *, jint, jint);
+ ::java::net::SocketAddress * receive(::java::nio::ByteBuffer *);
+ jint send(::java::nio::ByteBuffer *, ::java::net::SocketAddress *);
+private:
+ ::gnu::java::nio::NIODatagramSocket * __attribute__((aligned(__alignof__( ::java::nio::channels::DatagramChannel)))) socket__;
+ jboolean inChannelOperation;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_DatagramChannelImpl__
diff --git a/libjava/gnu/java/nio/DatagramChannelSelectionKey.h b/libjava/gnu/java/nio/DatagramChannelSelectionKey.h
new file mode 100644
index 0000000..629eed3
--- /dev/null
+++ b/libjava/gnu/java/nio/DatagramChannelSelectionKey.h
@@ -0,0 +1,47 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_DatagramChannelSelectionKey__
+#define __gnu_java_nio_DatagramChannelSelectionKey__
+
+#pragma interface
+
+#include <gnu/java/nio/SelectionKeyImpl.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ class DatagramChannelSelectionKey;
+ class SelectorImpl;
+ }
+ }
+ }
+ namespace java
+ {
+ namespace nio
+ {
+ namespace channels
+ {
+ namespace spi
+ {
+ class AbstractSelectableChannel;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::DatagramChannelSelectionKey : public ::gnu::java::nio::SelectionKeyImpl
+{
+
+public:
+ DatagramChannelSelectionKey(::java::nio::channels::spi::AbstractSelectableChannel *, ::gnu::java::nio::SelectorImpl *);
+ jint getNativeFD();
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_DatagramChannelSelectionKey__
diff --git a/libjava/gnu/java/nio/EpollSelectionKeyImpl.h b/libjava/gnu/java/nio/EpollSelectionKeyImpl.h
new file mode 100644
index 0000000..1674815
--- /dev/null
+++ b/libjava/gnu/java/nio/EpollSelectionKeyImpl.h
@@ -0,0 +1,63 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_EpollSelectionKeyImpl__
+#define __gnu_java_nio_EpollSelectionKeyImpl__
+
+#pragma interface
+
+#include <java/nio/channels/spi/AbstractSelectionKey.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ class EpollSelectionKeyImpl;
+ class EpollSelectorImpl;
+ }
+ }
+ }
+ namespace java
+ {
+ namespace nio
+ {
+ namespace channels
+ {
+ class SelectableChannel;
+ class SelectionKey;
+ class Selector;
+ }
+ }
+ }
+}
+
+class gnu::java::nio::EpollSelectionKeyImpl : public ::java::nio::channels::spi::AbstractSelectionKey
+{
+
+public: // actually package-private
+ EpollSelectionKeyImpl(::gnu::java::nio::EpollSelectorImpl *, ::java::nio::channels::SelectableChannel *, jint);
+public:
+ virtual ::java::nio::channels::SelectableChannel * channel();
+ virtual jint interestOps();
+ virtual ::java::nio::channels::SelectionKey * interestOps(jint);
+ virtual jint readyOps();
+ virtual ::java::nio::channels::Selector * selector();
+public: // actually package-private
+ jint __attribute__((aligned(__alignof__( ::java::nio::channels::spi::AbstractSelectionKey)))) fd;
+private:
+ ::gnu::java::nio::EpollSelectorImpl * selector__;
+ ::java::nio::channels::SelectableChannel * channel__;
+public: // actually package-private
+ jint interestOps__;
+ jint selectedOps;
+ jint key;
+ jboolean valid;
+ jboolean cancelled;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_EpollSelectionKeyImpl__
diff --git a/libjava/gnu/java/nio/FileLockImpl.h b/libjava/gnu/java/nio/FileLockImpl.h
new file mode 100644
index 0000000..ba1668b
--- /dev/null
+++ b/libjava/gnu/java/nio/FileLockImpl.h
@@ -0,0 +1,44 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_FileLockImpl__
+#define __gnu_java_nio_FileLockImpl__
+
+#pragma interface
+
+#include <java/nio/channels/FileLock.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ class FileLockImpl;
+ namespace channels
+ {
+ class FileChannelImpl;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::FileLockImpl : public ::java::nio::channels::FileLock
+{
+
+public:
+ FileLockImpl(::gnu::java::nio::channels::FileChannelImpl *, jlong, jlong, jboolean);
+public: // actually protected
+ void finalize();
+public:
+ jboolean isValid();
+ void release();
+private:
+ jboolean __attribute__((aligned(__alignof__( ::java::nio::channels::FileLock)))) valid;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_FileLockImpl__
diff --git a/libjava/gnu/java/nio/FileLockImpl.java b/libjava/gnu/java/nio/FileLockImpl.java
new file mode 100644
index 0000000..673ca25
--- /dev/null
+++ b/libjava/gnu/java/nio/FileLockImpl.java
@@ -0,0 +1,104 @@
+/* FileLockImpl.java -- FileLock associated with a FileChannelImpl.
+ Copyright (C) 2002, 2004, 2005 Free Software Foundation, Inc.
+
+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. */
+
+
+package gnu.java.nio;
+
+import gnu.java.nio.channels.FileChannelImpl;
+
+import java.io.IOException;
+import java.nio.channels.FileLock;
+
+/**
+ * A FileLock associated with a FileChannelImpl.
+ *
+ * @author Michael Koch
+ * @since 1.4
+ */
+public final class FileLockImpl extends FileLock
+{
+ /**
+ * Whether or not this lock is valid, false when channel is closed or
+ * release has been explicitly called.
+ */
+ private boolean valid;
+
+ public FileLockImpl (FileChannelImpl channel, long position,
+ long size, boolean shared)
+ {
+ super (channel, position, size, shared);
+ valid = true;
+ }
+
+ /**
+ * Releases this lock.
+ */
+ protected void finalize()
+ {
+ try
+ {
+ release();
+ }
+ catch (IOException e)
+ {
+ // Ignore this.
+ }
+ }
+
+ /**
+ * Whether or not this lock is valid, false when channel is closed or
+ * release has been explicitly called.
+ */
+ public boolean isValid()
+ {
+ if (valid)
+ valid = channel().isOpen();
+ return valid;
+ }
+
+ /**
+ * Releases the lock if it is still valid. Marks this lock as invalid.
+ */
+ public void release() throws IOException
+ {
+ if (isValid())
+ {
+ valid = false;
+ ((FileChannelImpl) channel()).unlock(position(), size());
+ }
+ }
+}
diff --git a/libjava/gnu/java/nio/InputStreamChannel.h b/libjava/gnu/java/nio/InputStreamChannel.h
new file mode 100644
index 0000000..b663169
--- /dev/null
+++ b/libjava/gnu/java/nio/InputStreamChannel.h
@@ -0,0 +1,46 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_InputStreamChannel__
+#define __gnu_java_nio_InputStreamChannel__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ class InputStreamChannel;
+ }
+ }
+ }
+ namespace java
+ {
+ namespace nio
+ {
+ class ByteBuffer;
+ }
+ }
+}
+
+class gnu::java::nio::InputStreamChannel : public ::java::lang::Object
+{
+
+public:
+ InputStreamChannel(::java::io::InputStream *);
+ void close();
+ jboolean isOpen();
+ jint read(::java::nio::ByteBuffer *);
+private:
+ jboolean __attribute__((aligned(__alignof__( ::java::lang::Object)))) closed;
+ ::java::io::InputStream * in;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_InputStreamChannel__
diff --git a/libjava/gnu/java/nio/KqueueSelectionKeyImpl.h b/libjava/gnu/java/nio/KqueueSelectionKeyImpl.h
new file mode 100644
index 0000000..8a501b5
--- /dev/null
+++ b/libjava/gnu/java/nio/KqueueSelectionKeyImpl.h
@@ -0,0 +1,71 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_KqueueSelectionKeyImpl__
+#define __gnu_java_nio_KqueueSelectionKeyImpl__
+
+#pragma interface
+
+#include <java/nio/channels/spi/AbstractSelectionKey.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ class KqueueSelectionKeyImpl;
+ class KqueueSelectorImpl;
+ class VMChannelOwner;
+ }
+ }
+ }
+ namespace java
+ {
+ namespace nio
+ {
+ namespace channels
+ {
+ class SelectableChannel;
+ class SelectionKey;
+ class Selector;
+ }
+ }
+ }
+}
+
+class gnu::java::nio::KqueueSelectionKeyImpl : public ::java::nio::channels::spi::AbstractSelectionKey
+{
+
+public:
+ KqueueSelectionKeyImpl(::gnu::java::nio::KqueueSelectorImpl *, ::java::nio::channels::SelectableChannel *);
+ virtual ::java::nio::channels::SelectableChannel * channel();
+ virtual jint interestOps();
+ virtual ::java::nio::channels::SelectionKey * interestOps(jint);
+ virtual jint readyOps();
+ virtual ::java::nio::channels::Selector * selector();
+ virtual ::java::lang::String * toString();
+ virtual jint hashCode();
+ virtual jboolean equals(::java::lang::Object *);
+public: // actually package-private
+ virtual jboolean isReadActive();
+ virtual jboolean isReadInterested();
+ virtual jboolean isWriteActive();
+ virtual jboolean isWriteInterested();
+ virtual jboolean needCommitRead();
+ virtual jboolean needCommitWrite();
+ jint __attribute__((aligned(__alignof__( ::java::nio::channels::spi::AbstractSelectionKey)))) interestOps__;
+ jint readyOps__;
+ jint activeOps;
+ jint key;
+ jint fd;
+private:
+ ::gnu::java::nio::KqueueSelectorImpl * selector__;
+ ::java::nio::channels::SelectableChannel * channel__;
+ ::gnu::java::nio::VMChannelOwner * natChannel;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_KqueueSelectionKeyImpl__
diff --git a/libjava/gnu/java/nio/NIOConstants.h b/libjava/gnu/java/nio/NIOConstants.h
new file mode 100644
index 0000000..a27e428
--- /dev/null
+++ b/libjava/gnu/java/nio/NIOConstants.h
@@ -0,0 +1,33 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_NIOConstants__
+#define __gnu_java_nio_NIOConstants__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ class NIOConstants;
+ }
+ }
+ }
+}
+
+class gnu::java::nio::NIOConstants : public ::java::lang::Object
+{
+
+public:
+ NIOConstants();
+ static const jint DEFAULT_TIMEOUT = 50;
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_NIOConstants__
diff --git a/libjava/gnu/java/nio/NIODatagramSocket.h b/libjava/gnu/java/nio/NIODatagramSocket.h
new file mode 100644
index 0000000..3e76ec9
--- /dev/null
+++ b/libjava/gnu/java/nio/NIODatagramSocket.h
@@ -0,0 +1,53 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_NIODatagramSocket__
+#define __gnu_java_nio_NIODatagramSocket__
+
+#pragma interface
+
+#include <java/net/DatagramSocket.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace net
+ {
+ class PlainDatagramSocketImpl;
+ }
+ namespace nio
+ {
+ class DatagramChannelImpl;
+ class NIODatagramSocket;
+ }
+ }
+ }
+ namespace java
+ {
+ namespace nio
+ {
+ namespace channels
+ {
+ class DatagramChannel;
+ }
+ }
+ }
+}
+
+class gnu::java::nio::NIODatagramSocket : public ::java::net::DatagramSocket
+{
+
+public:
+ NIODatagramSocket(::gnu::java::net::PlainDatagramSocketImpl *, ::gnu::java::nio::DatagramChannelImpl *);
+ ::gnu::java::net::PlainDatagramSocketImpl * getPlainDatagramSocketImpl();
+ ::java::nio::channels::DatagramChannel * getChannel();
+private:
+ ::gnu::java::net::PlainDatagramSocketImpl * __attribute__((aligned(__alignof__( ::java::net::DatagramSocket)))) impl;
+ ::gnu::java::nio::DatagramChannelImpl * channel;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_NIODatagramSocket__
diff --git a/libjava/gnu/java/nio/NIOServerSocket.h b/libjava/gnu/java/nio/NIOServerSocket.h
new file mode 100644
index 0000000..908a664
--- /dev/null
+++ b/libjava/gnu/java/nio/NIOServerSocket.h
@@ -0,0 +1,58 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_NIOServerSocket__
+#define __gnu_java_nio_NIOServerSocket__
+
+#pragma interface
+
+#include <java/net/ServerSocket.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace net
+ {
+ class PlainSocketImpl;
+ }
+ namespace nio
+ {
+ class NIOServerSocket;
+ class ServerSocketChannelImpl;
+ }
+ }
+ }
+ namespace java
+ {
+ namespace net
+ {
+ class Socket;
+ }
+ namespace nio
+ {
+ namespace channels
+ {
+ class ServerSocketChannel;
+ }
+ }
+ }
+}
+
+class gnu::java::nio::NIOServerSocket : public ::java::net::ServerSocket
+{
+
+public: // actually protected
+ NIOServerSocket(::gnu::java::nio::ServerSocketChannelImpl *);
+public:
+ ::gnu::java::net::PlainSocketImpl * getPlainSocketImpl();
+ ::java::nio::channels::ServerSocketChannel * getChannel();
+ ::java::net::Socket * accept();
+private:
+ ::gnu::java::nio::ServerSocketChannelImpl * __attribute__((aligned(__alignof__( ::java::net::ServerSocket)))) channel;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_NIOServerSocket__
diff --git a/libjava/gnu/java/nio/NIOSocket.h b/libjava/gnu/java/nio/NIOSocket.h
new file mode 100644
index 0000000..b987a6c
--- /dev/null
+++ b/libjava/gnu/java/nio/NIOSocket.h
@@ -0,0 +1,57 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_NIOSocket__
+#define __gnu_java_nio_NIOSocket__
+
+#pragma interface
+
+#include <java/net/Socket.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace net
+ {
+ class PlainSocketImpl;
+ }
+ namespace nio
+ {
+ class NIOSocket;
+ class SocketChannelImpl;
+ }
+ }
+ }
+ namespace java
+ {
+ namespace nio
+ {
+ namespace channels
+ {
+ class SocketChannel;
+ }
+ }
+ }
+}
+
+class gnu::java::nio::NIOSocket : public ::java::net::Socket
+{
+
+public: // actually protected
+ NIOSocket(::gnu::java::net::PlainSocketImpl *, ::gnu::java::nio::SocketChannelImpl *);
+public:
+ ::gnu::java::net::PlainSocketImpl * getPlainSocketImpl();
+public: // actually package-private
+ void setChannel(::gnu::java::nio::SocketChannelImpl *);
+public:
+ ::java::nio::channels::SocketChannel * getChannel();
+private:
+ ::gnu::java::net::PlainSocketImpl * __attribute__((aligned(__alignof__( ::java::net::Socket)))) impl;
+ ::gnu::java::nio::SocketChannelImpl * channel;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_NIOSocket__
diff --git a/libjava/gnu/java/nio/NIOSocket.java b/libjava/gnu/java/nio/NIOSocket.java
new file mode 100644
index 0000000..4d812bf
--- /dev/null
+++ b/libjava/gnu/java/nio/NIOSocket.java
@@ -0,0 +1,77 @@
+/* NIOSocket.java --
+ Copyright (C) 2003 Free Software Foundation, Inc.
+
+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. */
+
+
+package gnu.java.nio;
+
+import gnu.java.net.PlainSocketImpl;
+import java.io.IOException;
+import java.net.Socket;
+import java.nio.channels.SocketChannel;
+
+/**
+ * @author Michael Koch
+ */
+public final class NIOSocket extends Socket
+{
+ private PlainSocketImpl impl;
+ private SocketChannelImpl channel;
+
+ protected NIOSocket (PlainSocketImpl impl, SocketChannelImpl channel)
+ throws IOException
+ {
+ super (impl);
+ this.impl = impl;
+ this.channel = channel;
+ }
+
+ public final PlainSocketImpl getPlainSocketImpl()
+ {
+ return impl;
+ }
+
+ final void setChannel (SocketChannelImpl channel)
+ {
+ this.impl = channel.getPlainSocketImpl();
+ this.channel = channel;
+ }
+
+ public final SocketChannel getChannel()
+ {
+ return channel;
+ }
+}
diff --git a/libjava/gnu/java/nio/OutputStreamChannel.h b/libjava/gnu/java/nio/OutputStreamChannel.h
new file mode 100644
index 0000000..3a47ab9
--- /dev/null
+++ b/libjava/gnu/java/nio/OutputStreamChannel.h
@@ -0,0 +1,46 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_OutputStreamChannel__
+#define __gnu_java_nio_OutputStreamChannel__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ class OutputStreamChannel;
+ }
+ }
+ }
+ namespace java
+ {
+ namespace nio
+ {
+ class ByteBuffer;
+ }
+ }
+}
+
+class gnu::java::nio::OutputStreamChannel : public ::java::lang::Object
+{
+
+public:
+ OutputStreamChannel(::java::io::OutputStream *);
+ void close();
+ jboolean isOpen();
+ jint write(::java::nio::ByteBuffer *);
+private:
+ jboolean __attribute__((aligned(__alignof__( ::java::lang::Object)))) closed;
+ ::java::io::OutputStream * out;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_OutputStreamChannel__
diff --git a/libjava/gnu/java/nio/PipeImpl$SinkChannelImpl.h b/libjava/gnu/java/nio/PipeImpl$SinkChannelImpl.h
new file mode 100644
index 0000000..648de59
--- /dev/null
+++ b/libjava/gnu/java/nio/PipeImpl$SinkChannelImpl.h
@@ -0,0 +1,61 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_PipeImpl$SinkChannelImpl__
+#define __gnu_java_nio_PipeImpl$SinkChannelImpl__
+
+#pragma interface
+
+#include <java/nio/channels/Pipe$SinkChannel.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ class PipeImpl$SinkChannelImpl;
+ class VMChannel;
+ }
+ }
+ }
+ namespace java
+ {
+ namespace nio
+ {
+ class ByteBuffer;
+ namespace channels
+ {
+ namespace spi
+ {
+ class SelectorProvider;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::PipeImpl$SinkChannelImpl : public ::java::nio::channels::Pipe$SinkChannel
+{
+
+public:
+ PipeImpl$SinkChannelImpl(::java::nio::channels::spi::SelectorProvider *, jint);
+public: // actually protected
+ void implCloseSelectableChannel();
+ void implConfigureBlocking(jboolean);
+public:
+ jint write(::java::nio::ByteBuffer *);
+ jlong write(JArray< ::java::nio::ByteBuffer * > *);
+ jlong write(JArray< ::java::nio::ByteBuffer * > *, jint, jint);
+ jint getNativeFD();
+private:
+ jint __attribute__((aligned(__alignof__( ::java::nio::channels::Pipe$SinkChannel)))) native_fd;
+ ::gnu::java::nio::VMChannel * vmch;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_PipeImpl$SinkChannelImpl__
diff --git a/libjava/gnu/java/nio/PipeImpl$SourceChannelImpl.h b/libjava/gnu/java/nio/PipeImpl$SourceChannelImpl.h
new file mode 100644
index 0000000..fdc744b
--- /dev/null
+++ b/libjava/gnu/java/nio/PipeImpl$SourceChannelImpl.h
@@ -0,0 +1,61 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_PipeImpl$SourceChannelImpl__
+#define __gnu_java_nio_PipeImpl$SourceChannelImpl__
+
+#pragma interface
+
+#include <java/nio/channels/Pipe$SourceChannel.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ class PipeImpl$SourceChannelImpl;
+ class VMChannel;
+ }
+ }
+ }
+ namespace java
+ {
+ namespace nio
+ {
+ class ByteBuffer;
+ namespace channels
+ {
+ namespace spi
+ {
+ class SelectorProvider;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::PipeImpl$SourceChannelImpl : public ::java::nio::channels::Pipe$SourceChannel
+{
+
+public:
+ PipeImpl$SourceChannelImpl(::java::nio::channels::spi::SelectorProvider *, jint);
+public: // actually protected
+ void implCloseSelectableChannel();
+ void implConfigureBlocking(jboolean);
+public:
+ jint read(::java::nio::ByteBuffer *);
+ jlong read(JArray< ::java::nio::ByteBuffer * > *);
+ jlong read(JArray< ::java::nio::ByteBuffer * > *, jint, jint);
+ jint getNativeFD();
+private:
+ jint __attribute__((aligned(__alignof__( ::java::nio::channels::Pipe$SourceChannel)))) native_fd;
+ ::gnu::java::nio::VMChannel * vmch;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_PipeImpl$SourceChannelImpl__
diff --git a/libjava/gnu/java/nio/PipeImpl.h b/libjava/gnu/java/nio/PipeImpl.h
new file mode 100644
index 0000000..63bfafb
--- /dev/null
+++ b/libjava/gnu/java/nio/PipeImpl.h
@@ -0,0 +1,55 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_PipeImpl__
+#define __gnu_java_nio_PipeImpl__
+
+#pragma interface
+
+#include <java/nio/channels/Pipe.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ class PipeImpl;
+ class PipeImpl$SinkChannelImpl;
+ class PipeImpl$SourceChannelImpl;
+ }
+ }
+ }
+ namespace java
+ {
+ namespace nio
+ {
+ namespace channels
+ {
+ class Pipe$SinkChannel;
+ class Pipe$SourceChannel;
+ namespace spi
+ {
+ class SelectorProvider;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::PipeImpl : public ::java::nio::channels::Pipe
+{
+
+public:
+ PipeImpl(::java::nio::channels::spi::SelectorProvider *);
+ virtual ::java::nio::channels::Pipe$SinkChannel * sink();
+ virtual ::java::nio::channels::Pipe$SourceChannel * source();
+private:
+ ::gnu::java::nio::PipeImpl$SinkChannelImpl * __attribute__((aligned(__alignof__( ::java::nio::channels::Pipe)))) sink__;
+ ::gnu::java::nio::PipeImpl$SourceChannelImpl * source__;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_PipeImpl__
diff --git a/libjava/gnu/java/nio/PipeImpl.java b/libjava/gnu/java/nio/PipeImpl.java
new file mode 100644
index 0000000..cccaa39
--- /dev/null
+++ b/libjava/gnu/java/nio/PipeImpl.java
@@ -0,0 +1,178 @@
+/* PipeImpl.java --
+ Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
+
+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. */
+
+package gnu.java.nio;
+
+
+import java.io.IOException;
+import java.nio.ByteBuffer;
+import java.nio.channels.Pipe;
+import java.nio.channels.spi.SelectorProvider;
+
+class PipeImpl extends Pipe
+{
+ public static final class SourceChannelImpl extends Pipe.SourceChannel
+ {
+ private int native_fd;
+ private VMChannel vmch;
+
+ public SourceChannelImpl (SelectorProvider selectorProvider,
+ int native_fd)
+ {
+ super (selectorProvider);
+ this.native_fd = native_fd;
+ vmch = VMChannel.getVMChannel(this);
+ }
+
+ protected final void implCloseSelectableChannel()
+ throws IOException
+ {
+ throw new Error ("Not implemented");
+ }
+
+ protected void implConfigureBlocking (boolean blocking)
+ throws IOException
+ {
+ vmch.setBlocking(blocking);
+ }
+
+ public final int read (ByteBuffer src)
+ throws IOException
+ {
+ return vmch.read(src);
+ }
+
+ public final long read (ByteBuffer[] srcs)
+ throws IOException
+ {
+ return vmch.readScattering(srcs, 0, srcs.length);
+ }
+
+ public final synchronized long read (ByteBuffer[] srcs, int offset,
+ int len)
+ throws IOException
+ {
+ if (offset < 0
+ || offset > srcs.length
+ || len < 0
+ || len > srcs.length - offset)
+ throw new IndexOutOfBoundsException();
+
+ return vmch.readScattering(srcs, offset, len);
+ }
+
+ public final int getNativeFD()
+ {
+ return native_fd;
+ }
+ }
+
+ public static final class SinkChannelImpl extends Pipe.SinkChannel
+ {
+ private int native_fd;
+ private VMChannel vmch;
+
+ public SinkChannelImpl (SelectorProvider selectorProvider,
+ int native_fd)
+ {
+ super (selectorProvider);
+ this.native_fd = native_fd;
+ vmch = VMChannel.getVMChannel(this);
+ }
+
+ protected final void implCloseSelectableChannel()
+ throws IOException
+ {
+ throw new Error ("Not implemented");
+ }
+
+ protected final void implConfigureBlocking (boolean blocking)
+ throws IOException
+ {
+ vmch.setBlocking(blocking);
+ }
+
+ public final int write (ByteBuffer dst)
+ throws IOException
+ {
+ return vmch.write(dst);
+ }
+
+ public final long write (ByteBuffer[] srcs)
+ throws IOException
+ {
+ return vmch.writeGathering(srcs, 0, srcs.length);
+ }
+
+ public final synchronized long write (ByteBuffer[] srcs, int offset, int len)
+ throws IOException
+ {
+ if (offset < 0
+ || offset > srcs.length
+ || len < 0
+ || len > srcs.length - offset)
+ throw new IndexOutOfBoundsException();
+
+ return vmch.writeGathering(srcs, offset, len);
+ }
+
+ public final int getNativeFD()
+ {
+ return native_fd;
+ }
+ }
+
+ private SinkChannelImpl sink;
+ private SourceChannelImpl source;
+
+ public PipeImpl (SelectorProvider provider)
+ throws IOException
+ {
+ super();
+ VMPipe.init (this, provider);
+ }
+
+ public Pipe.SinkChannel sink()
+ {
+ return sink;
+ }
+
+ public Pipe.SourceChannel source()
+ {
+ return source;
+ }
+}
diff --git a/libjava/gnu/java/nio/SelectionKeyImpl.h b/libjava/gnu/java/nio/SelectionKeyImpl.h
new file mode 100644
index 0000000..29e0dca
--- /dev/null
+++ b/libjava/gnu/java/nio/SelectionKeyImpl.h
@@ -0,0 +1,59 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_SelectionKeyImpl__
+#define __gnu_java_nio_SelectionKeyImpl__
+
+#pragma interface
+
+#include <java/nio/channels/spi/AbstractSelectionKey.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ class SelectionKeyImpl;
+ class SelectorImpl;
+ }
+ }
+ }
+ namespace java
+ {
+ namespace nio
+ {
+ namespace channels
+ {
+ class SelectableChannel;
+ class SelectionKey;
+ class Selector;
+ }
+ }
+ }
+}
+
+class gnu::java::nio::SelectionKeyImpl : public ::java::nio::channels::spi::AbstractSelectionKey
+{
+
+public:
+ SelectionKeyImpl(::java::nio::channels::SelectableChannel *, ::gnu::java::nio::SelectorImpl *);
+ virtual ::java::nio::channels::SelectableChannel * channel();
+ virtual jint readyOps();
+ virtual ::java::nio::channels::SelectionKey * readyOps(jint);
+ virtual jint interestOps();
+ virtual ::java::nio::channels::SelectionKey * interestOps(jint);
+ virtual ::java::nio::channels::Selector * selector();
+ virtual jint getNativeFD() = 0;
+private:
+ jint __attribute__((aligned(__alignof__( ::java::nio::channels::spi::AbstractSelectionKey)))) readyOps__;
+ jint interestOps__;
+ ::gnu::java::nio::SelectorImpl * impl;
+public: // actually package-private
+ ::java::nio::channels::SelectableChannel * ch;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_SelectionKeyImpl__
diff --git a/libjava/gnu/java/nio/SelectorImpl.h b/libjava/gnu/java/nio/SelectorImpl.h
new file mode 100644
index 0000000..5db33c8
--- /dev/null
+++ b/libjava/gnu/java/nio/SelectorImpl.h
@@ -0,0 +1,76 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_SelectorImpl__
+#define __gnu_java_nio_SelectorImpl__
+
+#pragma interface
+
+#include <java/nio/channels/spi/AbstractSelector.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ class SelectorImpl;
+ }
+ }
+ }
+ namespace java
+ {
+ namespace nio
+ {
+ namespace channels
+ {
+ class SelectableChannel;
+ class SelectionKey;
+ class Selector;
+ namespace spi
+ {
+ class AbstractSelectableChannel;
+ class SelectorProvider;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::SelectorImpl : public ::java::nio::channels::spi::AbstractSelector
+{
+
+public:
+ SelectorImpl(::java::nio::channels::spi::SelectorProvider *);
+public: // actually protected
+ virtual void finalize();
+ virtual void implCloseSelector();
+public:
+ virtual ::java::util::Set * keys();
+ virtual jint selectNow();
+ virtual jint select();
+private:
+ JArray< jint > * getFDsAsArray(jint);
+public:
+ virtual jint select(jlong);
+ virtual ::java::util::Set * selectedKeys();
+ virtual ::java::nio::channels::Selector * wakeup();
+private:
+ void deregisterCancelledKeys();
+public: // actually protected
+ virtual ::java::nio::channels::SelectionKey * register$(::java::nio::channels::SelectableChannel *, jint, ::java::lang::Object *);
+ virtual ::java::nio::channels::SelectionKey * register$(::java::nio::channels::spi::AbstractSelectableChannel *, jint, ::java::lang::Object *);
+private:
+ ::java::util::Set * __attribute__((aligned(__alignof__( ::java::nio::channels::spi::AbstractSelector)))) keys__;
+ ::java::util::Set * selected;
+ ::java::lang::Object * selectThreadMutex;
+ ::java::lang::Thread * selectThread;
+ jboolean unhandledWakeup;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_SelectorImpl__
diff --git a/libjava/gnu/java/nio/SelectorProviderImpl.h b/libjava/gnu/java/nio/SelectorProviderImpl.h
new file mode 100644
index 0000000..e2ad8e4
--- /dev/null
+++ b/libjava/gnu/java/nio/SelectorProviderImpl.h
@@ -0,0 +1,54 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_SelectorProviderImpl__
+#define __gnu_java_nio_SelectorProviderImpl__
+
+#pragma interface
+
+#include <java/nio/channels/spi/SelectorProvider.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ class SelectorProviderImpl;
+ }
+ }
+ }
+ namespace java
+ {
+ namespace nio
+ {
+ namespace channels
+ {
+ class DatagramChannel;
+ class Pipe;
+ class ServerSocketChannel;
+ class SocketChannel;
+ namespace spi
+ {
+ class AbstractSelector;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::SelectorProviderImpl : public ::java::nio::channels::spi::SelectorProvider
+{
+
+public:
+ SelectorProviderImpl();
+ virtual ::java::nio::channels::DatagramChannel * openDatagramChannel();
+ virtual ::java::nio::channels::Pipe * openPipe();
+ virtual ::java::nio::channels::spi::AbstractSelector * openSelector();
+ virtual ::java::nio::channels::ServerSocketChannel * openServerSocketChannel();
+ virtual ::java::nio::channels::SocketChannel * openSocketChannel();
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_SelectorProviderImpl__
diff --git a/libjava/gnu/java/nio/SelectorProviderImpl.java b/libjava/gnu/java/nio/SelectorProviderImpl.java
new file mode 100644
index 0000000..4752110
--- /dev/null
+++ b/libjava/gnu/java/nio/SelectorProviderImpl.java
@@ -0,0 +1,83 @@
+/* SelectorProviderImpl.java --
+ Copyright (C) 2002, 2003 Free Software Foundation, Inc.
+
+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. */
+
+package gnu.java.nio;
+
+import java.io.IOException;
+import java.nio.channels.DatagramChannel;
+import java.nio.channels.Pipe;
+import java.nio.channels.ServerSocketChannel;
+import java.nio.channels.SocketChannel;
+import java.nio.channels.spi.AbstractSelector;
+import java.nio.channels.spi.SelectorProvider;
+
+public class SelectorProviderImpl extends SelectorProvider
+{
+ public SelectorProviderImpl ()
+ {
+ }
+
+ public DatagramChannel openDatagramChannel ()
+ throws IOException
+ {
+ return new DatagramChannelImpl (this);
+ }
+
+ public Pipe openPipe ()
+ throws IOException
+ {
+ return new PipeImpl (this);
+ }
+
+ public AbstractSelector openSelector ()
+ throws IOException
+ {
+ return new SelectorImpl (this);
+ }
+
+ public ServerSocketChannel openServerSocketChannel ()
+ throws IOException
+ {
+ return new ServerSocketChannelImpl (this);
+ }
+
+ public SocketChannel openSocketChannel ()
+ throws IOException
+ {
+ return new SocketChannelImpl (this);
+ }
+}
diff --git a/libjava/gnu/java/nio/ServerSocketChannelImpl.h b/libjava/gnu/java/nio/ServerSocketChannelImpl.h
new file mode 100644
index 0000000..28f6d98
--- /dev/null
+++ b/libjava/gnu/java/nio/ServerSocketChannelImpl.h
@@ -0,0 +1,64 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_ServerSocketChannelImpl__
+#define __gnu_java_nio_ServerSocketChannelImpl__
+
+#pragma interface
+
+#include <java/nio/channels/ServerSocketChannel.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ class NIOServerSocket;
+ class ServerSocketChannelImpl;
+ }
+ }
+ }
+ namespace java
+ {
+ namespace net
+ {
+ class ServerSocket;
+ }
+ namespace nio
+ {
+ namespace channels
+ {
+ class SocketChannel;
+ namespace spi
+ {
+ class SelectorProvider;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::ServerSocketChannelImpl : public ::java::nio::channels::ServerSocketChannel
+{
+
+public: // actually protected
+ ServerSocketChannelImpl(::java::nio::channels::spi::SelectorProvider *);
+public:
+ jint getNativeFD();
+ void finalizer();
+public: // actually protected
+ void implCloseSelectableChannel();
+ void implConfigureBlocking(jboolean);
+public:
+ ::java::nio::channels::SocketChannel * accept();
+ ::java::net::ServerSocket * socket();
+private:
+ ::gnu::java::nio::NIOServerSocket * __attribute__((aligned(__alignof__( ::java::nio::channels::ServerSocketChannel)))) serverSocket;
+ jboolean connected;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_ServerSocketChannelImpl__
diff --git a/libjava/gnu/java/nio/ServerSocketChannelSelectionKey.h b/libjava/gnu/java/nio/ServerSocketChannelSelectionKey.h
new file mode 100644
index 0000000..43e3593
--- /dev/null
+++ b/libjava/gnu/java/nio/ServerSocketChannelSelectionKey.h
@@ -0,0 +1,47 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_ServerSocketChannelSelectionKey__
+#define __gnu_java_nio_ServerSocketChannelSelectionKey__
+
+#pragma interface
+
+#include <gnu/java/nio/SelectionKeyImpl.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ class SelectorImpl;
+ class ServerSocketChannelSelectionKey;
+ }
+ }
+ }
+ namespace java
+ {
+ namespace nio
+ {
+ namespace channels
+ {
+ namespace spi
+ {
+ class AbstractSelectableChannel;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::ServerSocketChannelSelectionKey : public ::gnu::java::nio::SelectionKeyImpl
+{
+
+public:
+ ServerSocketChannelSelectionKey(::java::nio::channels::spi::AbstractSelectableChannel *, ::gnu::java::nio::SelectorImpl *);
+ jint getNativeFD();
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_ServerSocketChannelSelectionKey__
diff --git a/libjava/gnu/java/nio/SocketChannelImpl.h b/libjava/gnu/java/nio/SocketChannelImpl.h
new file mode 100644
index 0000000..b180918
--- /dev/null
+++ b/libjava/gnu/java/nio/SocketChannelImpl.h
@@ -0,0 +1,82 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_SocketChannelImpl__
+#define __gnu_java_nio_SocketChannelImpl__
+
+#pragma interface
+
+#include <java/nio/channels/SocketChannel.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace net
+ {
+ class PlainSocketImpl;
+ }
+ namespace nio
+ {
+ class NIOSocket;
+ class SocketChannelImpl;
+ }
+ }
+ }
+ namespace java
+ {
+ namespace net
+ {
+ class Socket;
+ class SocketAddress;
+ }
+ namespace nio
+ {
+ class ByteBuffer;
+ namespace channels
+ {
+ namespace spi
+ {
+ class SelectorProvider;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::SocketChannelImpl : public ::java::nio::channels::SocketChannel
+{
+
+public: // actually package-private
+ SocketChannelImpl(::java::nio::channels::spi::SelectorProvider *);
+ SocketChannelImpl(::java::nio::channels::spi::SelectorProvider *, ::gnu::java::nio::NIOSocket *);
+public:
+ void finalizer();
+public: // actually package-private
+ ::gnu::java::net::PlainSocketImpl * getPlainSocketImpl();
+ jint getNativeFD();
+public: // actually protected
+ void implCloseSelectableChannel();
+ void implConfigureBlocking(jboolean);
+public:
+ jboolean connect(::java::net::SocketAddress *);
+ jboolean finishConnect();
+ jboolean isConnected();
+ jboolean isConnectionPending();
+ ::java::net::Socket * socket();
+ jint read(::java::nio::ByteBuffer *);
+ jlong read(JArray< ::java::nio::ByteBuffer * > *, jint, jint);
+ jint write(::java::nio::ByteBuffer *);
+ jlong write(JArray< ::java::nio::ByteBuffer * > *, jint, jint);
+private:
+ ::gnu::java::net::PlainSocketImpl * __attribute__((aligned(__alignof__( ::java::nio::channels::SocketChannel)))) impl;
+ ::gnu::java::nio::NIOSocket * socket__;
+ jboolean connectionPending;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_SocketChannelImpl__
diff --git a/libjava/gnu/java/nio/SocketChannelSelectionKey.h b/libjava/gnu/java/nio/SocketChannelSelectionKey.h
new file mode 100644
index 0000000..f9d5f29
--- /dev/null
+++ b/libjava/gnu/java/nio/SocketChannelSelectionKey.h
@@ -0,0 +1,47 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_SocketChannelSelectionKey__
+#define __gnu_java_nio_SocketChannelSelectionKey__
+
+#pragma interface
+
+#include <gnu/java/nio/SelectionKeyImpl.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ class SelectorImpl;
+ class SocketChannelSelectionKey;
+ }
+ }
+ }
+ namespace java
+ {
+ namespace nio
+ {
+ namespace channels
+ {
+ namespace spi
+ {
+ class AbstractSelectableChannel;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::SocketChannelSelectionKey : public ::gnu::java::nio::SelectionKeyImpl
+{
+
+public:
+ SocketChannelSelectionKey(::java::nio::channels::spi::AbstractSelectableChannel *, ::gnu::java::nio::SelectorImpl *);
+ jint getNativeFD();
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_SocketChannelSelectionKey__
diff --git a/libjava/gnu/java/nio/SocketChannelSelectionKey.java b/libjava/gnu/java/nio/SocketChannelSelectionKey.java
index 13affef2..75b4dfd 100644
--- a/libjava/gnu/java/nio/SocketChannelSelectionKey.java
+++ b/libjava/gnu/java/nio/SocketChannelSelectionKey.java
@@ -51,6 +51,8 @@ public final class SocketChannelSelectionKey
public int getNativeFD()
{
- return ((SocketChannelImpl) ch).getNativeFD();
+ NIOSocket socket =
+ (NIOSocket) ((SocketChannelImpl) ch).socket();
+ return socket.getPlainSocketImpl().getNativeFD();
}
}
diff --git a/libjava/gnu/java/nio/SocketChannelSelectionKeyImpl.h b/libjava/gnu/java/nio/SocketChannelSelectionKeyImpl.h
new file mode 100644
index 0000000..b3ab490
--- /dev/null
+++ b/libjava/gnu/java/nio/SocketChannelSelectionKeyImpl.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_SocketChannelSelectionKeyImpl__
+#define __gnu_java_nio_SocketChannelSelectionKeyImpl__
+
+#pragma interface
+
+#include <gnu/java/nio/SelectionKeyImpl.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ class SelectorImpl;
+ class SocketChannelImpl;
+ class SocketChannelSelectionKeyImpl;
+ }
+ }
+ }
+}
+
+class gnu::java::nio::SocketChannelSelectionKeyImpl : public ::gnu::java::nio::SelectionKeyImpl
+{
+
+public:
+ SocketChannelSelectionKeyImpl(::gnu::java::nio::SocketChannelImpl *, ::gnu::java::nio::SelectorImpl *);
+ virtual jint getNativeFD();
+public: // actually package-private
+ ::gnu::java::nio::SocketChannelImpl * __attribute__((aligned(__alignof__( ::gnu::java::nio::SelectionKeyImpl)))) ch;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_SocketChannelSelectionKeyImpl__
diff --git a/libjava/gnu/java/nio/SocketChannelSelectionKeyImpl.java b/libjava/gnu/java/nio/SocketChannelSelectionKeyImpl.java
new file mode 100644
index 0000000..30fb2df
--- /dev/null
+++ b/libjava/gnu/java/nio/SocketChannelSelectionKeyImpl.java
@@ -0,0 +1,69 @@
+/* SocketChannelSelectionKey.java -- Selection key for Socket Channel
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+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. */
+
+
+package gnu.java.nio;
+
+
+/**
+ * @author Michael Barker <mike@middlesoft.co.uk>
+ *
+ */
+public class SocketChannelSelectionKeyImpl extends SelectionKeyImpl
+{
+
+ SocketChannelImpl ch;
+
+ /**
+ * @param ch
+ * @param impl
+ */
+ public SocketChannelSelectionKeyImpl(SocketChannelImpl ch, SelectorImpl impl)
+ {
+ super(ch, impl);
+ this.ch = (SocketChannelImpl) ch;
+ }
+
+ /**
+ * Returns the native file/socket descriptor as an int.
+ */
+ public int getNativeFD()
+ {
+ return ch.getPlainSocketImpl().getNativeFD();
+ }
+
+}
diff --git a/libjava/gnu/java/nio/VMChannel.h b/libjava/gnu/java/nio/VMChannel.h
new file mode 100644
index 0000000..2888051
--- /dev/null
+++ b/libjava/gnu/java/nio/VMChannel.h
@@ -0,0 +1,77 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_VMChannel__
+#define __gnu_java_nio_VMChannel__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace net
+ {
+ class PlainSocketImpl;
+ }
+ namespace nio
+ {
+ class PipeImpl$SinkChannelImpl;
+ class PipeImpl$SourceChannelImpl;
+ class VMChannel;
+ namespace channels
+ {
+ class FileChannelImpl;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace nio
+ {
+ class ByteBuffer;
+ }
+ }
+}
+
+class gnu::java::nio::VMChannel : public ::java::lang::Object
+{
+
+ VMChannel(jint);
+public:
+ static ::gnu::java::nio::VMChannel * getVMChannel(::gnu::java::net::PlainSocketImpl *);
+ static ::gnu::java::nio::VMChannel * getVMChannel(::gnu::java::nio::PipeImpl$SourceChannelImpl *);
+ static ::gnu::java::nio::VMChannel * getVMChannel(::gnu::java::nio::PipeImpl$SinkChannelImpl *);
+ static ::gnu::java::nio::VMChannel * getVMChannel(::gnu::java::nio::channels::FileChannelImpl *);
+ virtual void setBlocking(jint, jboolean);
+ virtual void setBlocking(jboolean);
+public: // actually package-private
+ virtual jint read(jint, ::java::nio::ByteBuffer *);
+public:
+ virtual jint read(::java::nio::ByteBuffer *);
+public: // actually package-private
+ virtual jlong readScattering(jint, JArray< ::java::nio::ByteBuffer * > *, jint, jint);
+public:
+ virtual jlong readScattering(JArray< ::java::nio::ByteBuffer * > *, jint, jint);
+public: // actually package-private
+ virtual jint write(jint, ::java::nio::ByteBuffer *);
+public:
+ virtual jint write(::java::nio::ByteBuffer *);
+public: // actually package-private
+ virtual jlong writeGathering(jint, JArray< ::java::nio::ByteBuffer * > *, jint, jint);
+public:
+ virtual jlong writeGathering(JArray< ::java::nio::ByteBuffer * > *, jint, jint);
+private:
+ static void initIDs();
+ jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) fd;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_VMChannel__
diff --git a/libjava/gnu/java/nio/VMChannel.java b/libjava/gnu/java/nio/VMChannel.java
index 23f44bb..fdea8ff 100644
--- a/libjava/gnu/java/nio/VMChannel.java
+++ b/libjava/gnu/java/nio/VMChannel.java
@@ -80,9 +80,19 @@ public class VMChannel
public static VMChannel getVMChannel(FileChannelImpl file)
{
- return null; // XXX - return new VMChannel(file.getNativeFD());
+ return new VMChannel(file.getNativeFD());
}
+ static
+ {
+ // load the shared library needed for native methods.
+ if (Configuration.INIT_LOAD_LIBRARY)
+ {
+ System.loadLibrary ("javanio");
+ }
+ initIDs();
+ }
+
/**
* Set the file descriptor to have the required blocking
* setting.
@@ -90,10 +100,7 @@ public class VMChannel
* @param fd
* @param blocking
*/
- public void setBlocking(int fd, boolean blocking)
- {
- throw new RuntimeException("XXX - Implement me!");
- }
+ public native void setBlocking(int fd, boolean blocking);
public void setBlocking(boolean blocking)
{
@@ -110,11 +117,8 @@ public class VMChannel
* @return Number of bytes read.
* @throws IOException If an error occurs or dst is not a direct buffers.
*/
- int read(int fd, ByteBuffer dst)
- throws IOException
- {
- throw new IOException("XXX - Implement me!");
- }
+ native int read(int fd, ByteBuffer dst)
+ throws IOException;
public int read(ByteBuffer dst)
throws IOException
@@ -134,11 +138,8 @@ public class VMChannel
* @return Number of bytes read.
* @throws IOException If an error occurs or the dsts are not direct buffers.
*/
- long readScattering(int fd, ByteBuffer[] dsts, int offset, int length)
- throws IOException
- {
- throw new IOException("XXX - Implement me!");
- }
+ native long readScattering(int fd, ByteBuffer[] dsts, int offset, int length)
+ throws IOException;
public long readScattering(ByteBuffer[] dsts, int offset, int length)
throws IOException
@@ -158,11 +159,8 @@ public class VMChannel
* @return Number of bytes written.
* @throws IOException
*/
- int write(int fd, ByteBuffer src)
- throws IOException
- {
- throw new IOException("XXX - Implement me!");
- }
+ native int write(int fd, ByteBuffer src)
+ throws IOException;
public int write(ByteBuffer src)
throws IOException
@@ -182,12 +180,9 @@ public class VMChannel
* @return Number of bytes written.
* @throws IOException
*/
- long writeGathering(int fd, ByteBuffer[] srcs, int offset, int length)
- throws IOException
- {
- throw new IOException("XXX - Implement me!");
- }
-
+ native long writeGathering(int fd, ByteBuffer[] srcs, int offset, int length)
+ throws IOException;
+
public long writeGathering(ByteBuffer[] srcs, int offset, int length)
throws IOException
{
@@ -196,4 +191,7 @@ public class VMChannel
return writeGathering(fd, srcs, offset, length);
}
+
+ private native static void initIDs();
+
}
diff --git a/libjava/gnu/java/nio/VMChannelOwner.h b/libjava/gnu/java/nio/VMChannelOwner.h
new file mode 100644
index 0000000..eca43b5
--- /dev/null
+++ b/libjava/gnu/java/nio/VMChannelOwner.h
@@ -0,0 +1,33 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_VMChannelOwner__
+#define __gnu_java_nio_VMChannelOwner__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ class VMChannel;
+ class VMChannelOwner;
+ }
+ }
+ }
+}
+
+class gnu::java::nio::VMChannelOwner : public ::java::lang::Object
+{
+
+public:
+ virtual ::gnu::java::nio::VMChannel * getVMChannel() = 0;
+ static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __gnu_java_nio_VMChannelOwner__
diff --git a/libjava/gnu/java/nio/VMPipe.h b/libjava/gnu/java/nio/VMPipe.h
new file mode 100644
index 0000000..3a94c1e
--- /dev/null
+++ b/libjava/gnu/java/nio/VMPipe.h
@@ -0,0 +1,48 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_VMPipe__
+#define __gnu_java_nio_VMPipe__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ class PipeImpl;
+ class VMPipe;
+ }
+ }
+ }
+ namespace java
+ {
+ namespace nio
+ {
+ namespace channels
+ {
+ namespace spi
+ {
+ class SelectorProvider;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::VMPipe : public ::java::lang::Object
+{
+
+public: // actually package-private
+ VMPipe();
+ static void init(::gnu::java::nio::PipeImpl *, ::java::nio::channels::spi::SelectorProvider *);
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_VMPipe__
diff --git a/libjava/gnu/java/nio/VMSelector.h b/libjava/gnu/java/nio/VMSelector.h
new file mode 100644
index 0000000..cc177ff
--- /dev/null
+++ b/libjava/gnu/java/nio/VMSelector.h
@@ -0,0 +1,37 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_VMSelector__
+#define __gnu_java_nio_VMSelector__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ class VMSelector;
+ }
+ }
+ }
+}
+
+class gnu::java::nio::VMSelector : public ::java::lang::Object
+{
+
+public:
+ VMSelector();
+public: // actually package-private
+ static jint select(JArray< jint > *, JArray< jint > *, JArray< jint > *, jlong);
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_VMSelector__
diff --git a/libjava/gnu/java/nio/channels/FileChannelImpl.h b/libjava/gnu/java/nio/channels/FileChannelImpl.h
new file mode 100644
index 0000000..34099c5
--- /dev/null
+++ b/libjava/gnu/java/nio/channels/FileChannelImpl.h
@@ -0,0 +1,118 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_channels_FileChannelImpl__
+#define __gnu_java_nio_channels_FileChannelImpl__
+
+#pragma interface
+
+#include <java/nio/channels/FileChannel.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace channels
+ {
+ class FileChannelImpl;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace nio
+ {
+ class ByteBuffer;
+ class MappedByteBuffer;
+ namespace channels
+ {
+ class FileChannel;
+ class FileChannel$MapMode;
+ class FileLock;
+ class ReadableByteChannel;
+ class WritableByteChannel;
+ }
+ }
+ }
+}
+
+class gnu::java::nio::channels::FileChannelImpl : public ::java::nio::channels::FileChannel
+{
+
+ static void init();
+public:
+ FileChannelImpl();
+ static ::gnu::java::nio::channels::FileChannelImpl * create(::java::io::File *, jint);
+private:
+ FileChannelImpl(::java::io::File *, jint);
+public: // actually package-private
+ FileChannelImpl(jint, jint);
+private:
+ jint open(::java::lang::String *, jint);
+public:
+ jint available();
+private:
+ jlong implPosition();
+ void seek(jlong);
+ void implTruncate(jlong);
+public:
+ void unlock(jlong, jlong);
+ jlong size();
+public: // actually protected
+ void implCloseChannel();
+ void finalize();
+public:
+ jint read(::java::nio::ByteBuffer *);
+ jint read(::java::nio::ByteBuffer *, jlong);
+ jint read();
+ jint read(JArray< jbyte > *, jint, jint);
+ jlong read(JArray< ::java::nio::ByteBuffer * > *, jint, jint);
+ jint write(::java::nio::ByteBuffer *);
+ jint write(::java::nio::ByteBuffer *, jlong);
+ void write(JArray< jbyte > *, jint, jint);
+ void write(jint);
+ jlong write(JArray< ::java::nio::ByteBuffer * > *, jint, jint);
+ ::java::nio::MappedByteBuffer * mapImpl(jchar, jlong, jint);
+ ::java::nio::MappedByteBuffer * map(::java::nio::channels::FileChannel$MapMode *, jlong, jlong);
+ void force(jboolean);
+private:
+ jint smallTransferTo(jlong, jint, ::java::nio::channels::WritableByteChannel *);
+public:
+ jlong transferTo(jlong, jlong, ::java::nio::channels::WritableByteChannel *);
+private:
+ jint smallTransferFrom(::java::nio::channels::ReadableByteChannel *, jlong, jint);
+public:
+ jlong transferFrom(::java::nio::channels::ReadableByteChannel *, jlong, jlong);
+ ::java::nio::channels::FileLock * tryLock(jlong, jlong, jboolean);
+private:
+ jboolean lock(jlong, jlong, jboolean, jboolean);
+public:
+ ::java::nio::channels::FileLock * lock(jlong, jlong, jboolean);
+ jlong position();
+ ::java::nio::channels::FileChannel * position(jlong);
+ ::java::nio::channels::FileChannel * truncate(jlong);
+ jint getNativeFD();
+ static const jint READ = 1;
+ static const jint WRITE = 2;
+ static const jint APPEND = 4;
+ static const jint EXCL = 8;
+ static const jint SYNC = 16;
+ static const jint DSYNC = 32;
+private:
+ jint __attribute__((aligned(__alignof__( ::java::nio::channels::FileChannel)))) fd;
+ jlong pos;
+ jint mode;
+public:
+ static ::gnu::java::nio::channels::FileChannelImpl * in;
+ static ::gnu::java::nio::channels::FileChannelImpl * out;
+ static ::gnu::java::nio::channels::FileChannelImpl * err;
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_channels_FileChannelImpl__
diff --git a/libjava/gnu/java/nio/channels/FileChannelImpl.java b/libjava/gnu/java/nio/channels/FileChannelImpl.java
index db68b59..c1f79a4 100644
--- a/libjava/gnu/java/nio/channels/FileChannelImpl.java
+++ b/libjava/gnu/java/nio/channels/FileChannelImpl.java
@@ -533,4 +533,12 @@ public final class FileChannelImpl extends FileChannel
return this;
}
+
+ /**
+ * @return The native file descriptor.
+ */
+ public int getNativeFD()
+ {
+ return fd;
+ }
}
diff --git a/libjava/gnu/java/nio/charset/ByteCharset$Decoder.h b/libjava/gnu/java/nio/charset/ByteCharset$Decoder.h
new file mode 100644
index 0000000..584b15f
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/ByteCharset$Decoder.h
@@ -0,0 +1,55 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_ByteCharset$Decoder__
+#define __gnu_java_nio_charset_ByteCharset$Decoder__
+
+#pragma interface
+
+#include <java/nio/charset/CharsetDecoder.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class ByteCharset;
+ class ByteCharset$Decoder;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace nio
+ {
+ class ByteBuffer;
+ class CharBuffer;
+ namespace charset
+ {
+ class CoderResult;
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::ByteCharset$Decoder : public ::java::nio::charset::CharsetDecoder
+{
+
+public: // actually package-private
+ ByteCharset$Decoder(::gnu::java::nio::charset::ByteCharset *);
+public: // actually protected
+ ::java::nio::charset::CoderResult * decodeLoop(::java::nio::ByteBuffer *, ::java::nio::CharBuffer *);
+private:
+ JArray< jchar > * __attribute__((aligned(__alignof__( ::java::nio::charset::CharsetDecoder)))) lookup;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_ByteCharset$Decoder__
diff --git a/libjava/gnu/java/nio/charset/ByteCharset$Encoder.h b/libjava/gnu/java/nio/charset/ByteCharset$Encoder.h
new file mode 100644
index 0000000..cc31ae4
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/ByteCharset$Encoder.h
@@ -0,0 +1,58 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_ByteCharset$Encoder__
+#define __gnu_java_nio_charset_ByteCharset$Encoder__
+
+#pragma interface
+
+#include <java/nio/charset/CharsetEncoder.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class ByteCharset;
+ class ByteCharset$Encoder;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace nio
+ {
+ class ByteBuffer;
+ class CharBuffer;
+ namespace charset
+ {
+ class CoderResult;
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::ByteCharset$Encoder : public ::java::nio::charset::CharsetEncoder
+{
+
+public: // actually package-private
+ ByteCharset$Encoder(::gnu::java::nio::charset::ByteCharset *);
+public:
+ jboolean canEncode(jchar);
+ jboolean canEncode(::java::lang::CharSequence *);
+public: // actually protected
+ ::java::nio::charset::CoderResult * encodeLoop(::java::nio::CharBuffer *, ::java::nio::ByteBuffer *);
+private:
+ JArray< jbyte > * __attribute__((aligned(__alignof__( ::java::nio::charset::CharsetEncoder)))) lookup;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_ByteCharset$Encoder__
diff --git a/libjava/gnu/java/nio/charset/ByteCharset.h b/libjava/gnu/java/nio/charset/ByteCharset.h
new file mode 100644
index 0000000..045e03f
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/ByteCharset.h
@@ -0,0 +1,60 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_ByteCharset__
+#define __gnu_java_nio_charset_ByteCharset__
+
+#pragma interface
+
+#include <java/nio/charset/Charset.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class ByteCharset;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class Charset;
+ class CharsetDecoder;
+ class CharsetEncoder;
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::ByteCharset : public ::java::nio::charset::Charset
+{
+
+public: // actually package-private
+ ByteCharset(::java::lang::String *, JArray< ::java::lang::String * > *);
+public:
+ virtual jboolean contains(::java::nio::charset::Charset *);
+public: // actually package-private
+ virtual JArray< jchar > * getLookupTable();
+public:
+ virtual ::java::nio::charset::CharsetDecoder * newDecoder();
+ virtual ::java::nio::charset::CharsetEncoder * newEncoder();
+public: // actually protected
+ JArray< jchar > * __attribute__((aligned(__alignof__( ::java::nio::charset::Charset)))) lookupTable;
+ static const jchar NONE = 65533;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_ByteCharset__
diff --git a/libjava/gnu/java/nio/charset/Cp424.h b/libjava/gnu/java/nio/charset/Cp424.h
new file mode 100644
index 0000000..29ea29f
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/Cp424.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_Cp424__
+#define __gnu_java_nio_charset_Cp424__
+
+#pragma interface
+
+#include <gnu/java/nio/charset/ByteCharset.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class Cp424;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::Cp424 : public ::gnu::java::nio::charset::ByteCharset
+{
+
+public:
+ Cp424();
+private:
+ static JArray< jchar > * lookup;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_Cp424__
diff --git a/libjava/gnu/java/nio/charset/Cp437.h b/libjava/gnu/java/nio/charset/Cp437.h
new file mode 100644
index 0000000..5593ff0
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/Cp437.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_Cp437__
+#define __gnu_java_nio_charset_Cp437__
+
+#pragma interface
+
+#include <gnu/java/nio/charset/ByteCharset.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class Cp437;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::Cp437 : public ::gnu::java::nio::charset::ByteCharset
+{
+
+public:
+ Cp437();
+private:
+ static JArray< jchar > * lookup;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_Cp437__
diff --git a/libjava/gnu/java/nio/charset/Cp737.h b/libjava/gnu/java/nio/charset/Cp737.h
new file mode 100644
index 0000000..583075b
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/Cp737.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_Cp737__
+#define __gnu_java_nio_charset_Cp737__
+
+#pragma interface
+
+#include <gnu/java/nio/charset/ByteCharset.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class Cp737;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::Cp737 : public ::gnu::java::nio::charset::ByteCharset
+{
+
+public:
+ Cp737();
+private:
+ static JArray< jchar > * lookup;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_Cp737__
diff --git a/libjava/gnu/java/nio/charset/Cp775.h b/libjava/gnu/java/nio/charset/Cp775.h
new file mode 100644
index 0000000..995b7f6
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/Cp775.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_Cp775__
+#define __gnu_java_nio_charset_Cp775__
+
+#pragma interface
+
+#include <gnu/java/nio/charset/ByteCharset.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class Cp775;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::Cp775 : public ::gnu::java::nio::charset::ByteCharset
+{
+
+public:
+ Cp775();
+private:
+ static JArray< jchar > * lookup;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_Cp775__
diff --git a/libjava/gnu/java/nio/charset/Cp850.h b/libjava/gnu/java/nio/charset/Cp850.h
new file mode 100644
index 0000000..e1a17de
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/Cp850.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_Cp850__
+#define __gnu_java_nio_charset_Cp850__
+
+#pragma interface
+
+#include <gnu/java/nio/charset/ByteCharset.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class Cp850;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::Cp850 : public ::gnu::java::nio::charset::ByteCharset
+{
+
+public:
+ Cp850();
+private:
+ static JArray< jchar > * lookup;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_Cp850__
diff --git a/libjava/gnu/java/nio/charset/Cp852.h b/libjava/gnu/java/nio/charset/Cp852.h
new file mode 100644
index 0000000..e5ff829
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/Cp852.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_Cp852__
+#define __gnu_java_nio_charset_Cp852__
+
+#pragma interface
+
+#include <gnu/java/nio/charset/ByteCharset.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class Cp852;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::Cp852 : public ::gnu::java::nio::charset::ByteCharset
+{
+
+public:
+ Cp852();
+private:
+ static JArray< jchar > * lookup;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_Cp852__
diff --git a/libjava/gnu/java/nio/charset/Cp855.h b/libjava/gnu/java/nio/charset/Cp855.h
new file mode 100644
index 0000000..2ff372c
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/Cp855.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_Cp855__
+#define __gnu_java_nio_charset_Cp855__
+
+#pragma interface
+
+#include <gnu/java/nio/charset/ByteCharset.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class Cp855;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::Cp855 : public ::gnu::java::nio::charset::ByteCharset
+{
+
+public:
+ Cp855();
+private:
+ static JArray< jchar > * lookup;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_Cp855__
diff --git a/libjava/gnu/java/nio/charset/Cp857.h b/libjava/gnu/java/nio/charset/Cp857.h
new file mode 100644
index 0000000..eba0a48
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/Cp857.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_Cp857__
+#define __gnu_java_nio_charset_Cp857__
+
+#pragma interface
+
+#include <gnu/java/nio/charset/ByteCharset.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class Cp857;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::Cp857 : public ::gnu::java::nio::charset::ByteCharset
+{
+
+public:
+ Cp857();
+private:
+ static JArray< jchar > * lookup;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_Cp857__
diff --git a/libjava/gnu/java/nio/charset/Cp860.h b/libjava/gnu/java/nio/charset/Cp860.h
new file mode 100644
index 0000000..a930983
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/Cp860.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_Cp860__
+#define __gnu_java_nio_charset_Cp860__
+
+#pragma interface
+
+#include <gnu/java/nio/charset/ByteCharset.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class Cp860;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::Cp860 : public ::gnu::java::nio::charset::ByteCharset
+{
+
+public:
+ Cp860();
+private:
+ static JArray< jchar > * lookup;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_Cp860__
diff --git a/libjava/gnu/java/nio/charset/Cp861.h b/libjava/gnu/java/nio/charset/Cp861.h
new file mode 100644
index 0000000..04d202c
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/Cp861.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_Cp861__
+#define __gnu_java_nio_charset_Cp861__
+
+#pragma interface
+
+#include <gnu/java/nio/charset/ByteCharset.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class Cp861;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::Cp861 : public ::gnu::java::nio::charset::ByteCharset
+{
+
+public:
+ Cp861();
+private:
+ static JArray< jchar > * lookup;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_Cp861__
diff --git a/libjava/gnu/java/nio/charset/Cp862.h b/libjava/gnu/java/nio/charset/Cp862.h
new file mode 100644
index 0000000..8ddc349
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/Cp862.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_Cp862__
+#define __gnu_java_nio_charset_Cp862__
+
+#pragma interface
+
+#include <gnu/java/nio/charset/ByteCharset.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class Cp862;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::Cp862 : public ::gnu::java::nio::charset::ByteCharset
+{
+
+public:
+ Cp862();
+private:
+ static JArray< jchar > * lookup;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_Cp862__
diff --git a/libjava/gnu/java/nio/charset/Cp863.h b/libjava/gnu/java/nio/charset/Cp863.h
new file mode 100644
index 0000000..76902574
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/Cp863.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_Cp863__
+#define __gnu_java_nio_charset_Cp863__
+
+#pragma interface
+
+#include <gnu/java/nio/charset/ByteCharset.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class Cp863;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::Cp863 : public ::gnu::java::nio::charset::ByteCharset
+{
+
+public:
+ Cp863();
+private:
+ static JArray< jchar > * lookup;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_Cp863__
diff --git a/libjava/gnu/java/nio/charset/Cp864.h b/libjava/gnu/java/nio/charset/Cp864.h
new file mode 100644
index 0000000..3f245f7
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/Cp864.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_Cp864__
+#define __gnu_java_nio_charset_Cp864__
+
+#pragma interface
+
+#include <gnu/java/nio/charset/ByteCharset.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class Cp864;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::Cp864 : public ::gnu::java::nio::charset::ByteCharset
+{
+
+public:
+ Cp864();
+private:
+ static JArray< jchar > * lookup;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_Cp864__
diff --git a/libjava/gnu/java/nio/charset/Cp865.h b/libjava/gnu/java/nio/charset/Cp865.h
new file mode 100644
index 0000000..78c4372
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/Cp865.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_Cp865__
+#define __gnu_java_nio_charset_Cp865__
+
+#pragma interface
+
+#include <gnu/java/nio/charset/ByteCharset.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class Cp865;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::Cp865 : public ::gnu::java::nio::charset::ByteCharset
+{
+
+public:
+ Cp865();
+private:
+ static JArray< jchar > * lookup;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_Cp865__
diff --git a/libjava/gnu/java/nio/charset/Cp866.h b/libjava/gnu/java/nio/charset/Cp866.h
new file mode 100644
index 0000000..2c6375a
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/Cp866.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_Cp866__
+#define __gnu_java_nio_charset_Cp866__
+
+#pragma interface
+
+#include <gnu/java/nio/charset/ByteCharset.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class Cp866;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::Cp866 : public ::gnu::java::nio::charset::ByteCharset
+{
+
+public:
+ Cp866();
+private:
+ static JArray< jchar > * lookup;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_Cp866__
diff --git a/libjava/gnu/java/nio/charset/Cp869.h b/libjava/gnu/java/nio/charset/Cp869.h
new file mode 100644
index 0000000..bc67408
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/Cp869.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_Cp869__
+#define __gnu_java_nio_charset_Cp869__
+
+#pragma interface
+
+#include <gnu/java/nio/charset/ByteCharset.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class Cp869;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::Cp869 : public ::gnu::java::nio::charset::ByteCharset
+{
+
+public:
+ Cp869();
+private:
+ static JArray< jchar > * lookup;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_Cp869__
diff --git a/libjava/gnu/java/nio/charset/Cp874.h b/libjava/gnu/java/nio/charset/Cp874.h
new file mode 100644
index 0000000..590f84d
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/Cp874.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_Cp874__
+#define __gnu_java_nio_charset_Cp874__
+
+#pragma interface
+
+#include <gnu/java/nio/charset/ByteCharset.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class Cp874;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::Cp874 : public ::gnu::java::nio::charset::ByteCharset
+{
+
+public:
+ Cp874();
+private:
+ static JArray< jchar > * lookup;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_Cp874__
diff --git a/libjava/gnu/java/nio/charset/EncodingHelper.h b/libjava/gnu/java/nio/charset/EncodingHelper.h
new file mode 100644
index 0000000..89cf7f1
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/EncodingHelper.h
@@ -0,0 +1,52 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_EncodingHelper__
+#define __gnu_java_nio_charset_EncodingHelper__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class EncodingHelper;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class Charset;
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::EncodingHelper : public ::java::lang::Object
+{
+
+public:
+ EncodingHelper();
+ static ::java::lang::String * getDefaultEncoding();
+ static ::java::lang::String * getOldCanonical(::java::lang::String *);
+ static jboolean isISOLatin1(::java::lang::String *);
+ static ::java::nio::charset::Charset * getCharset(::java::lang::String *);
+private:
+ static ::java::util::HashMap * canonicalNames;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_EncodingHelper__
diff --git a/libjava/gnu/java/nio/charset/ISO_8859_1$Decoder.h b/libjava/gnu/java/nio/charset/ISO_8859_1$Decoder.h
new file mode 100644
index 0000000..8adb8b8
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/ISO_8859_1$Decoder.h
@@ -0,0 +1,51 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_ISO_8859_1$Decoder__
+#define __gnu_java_nio_charset_ISO_8859_1$Decoder__
+
+#pragma interface
+
+#include <java/nio/charset/CharsetDecoder.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class ISO_8859_1$Decoder;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace nio
+ {
+ class ByteBuffer;
+ class CharBuffer;
+ namespace charset
+ {
+ class Charset;
+ class CoderResult;
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::ISO_8859_1$Decoder : public ::java::nio::charset::CharsetDecoder
+{
+
+public: // actually package-private
+ ISO_8859_1$Decoder(::java::nio::charset::Charset *);
+public: // actually protected
+ ::java::nio::charset::CoderResult * decodeLoop(::java::nio::ByteBuffer *, ::java::nio::CharBuffer *);
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_ISO_8859_1$Decoder__
diff --git a/libjava/gnu/java/nio/charset/ISO_8859_1$Encoder.h b/libjava/gnu/java/nio/charset/ISO_8859_1$Encoder.h
new file mode 100644
index 0000000..47d2280
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/ISO_8859_1$Encoder.h
@@ -0,0 +1,54 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_ISO_8859_1$Encoder__
+#define __gnu_java_nio_charset_ISO_8859_1$Encoder__
+
+#pragma interface
+
+#include <java/nio/charset/CharsetEncoder.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class ISO_8859_1$Encoder;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace nio
+ {
+ class ByteBuffer;
+ class CharBuffer;
+ namespace charset
+ {
+ class Charset;
+ class CoderResult;
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::ISO_8859_1$Encoder : public ::java::nio::charset::CharsetEncoder
+{
+
+public: // actually package-private
+ ISO_8859_1$Encoder(::java::nio::charset::Charset *);
+public:
+ jboolean canEncode(jchar);
+ jboolean canEncode(::java::lang::CharSequence *);
+public: // actually protected
+ ::java::nio::charset::CoderResult * encodeLoop(::java::nio::CharBuffer *, ::java::nio::ByteBuffer *);
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_ISO_8859_1$Encoder__
diff --git a/libjava/gnu/java/nio/charset/ISO_8859_1.h b/libjava/gnu/java/nio/charset/ISO_8859_1.h
new file mode 100644
index 0000000..dc03558
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/ISO_8859_1.h
@@ -0,0 +1,51 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_ISO_8859_1__
+#define __gnu_java_nio_charset_ISO_8859_1__
+
+#pragma interface
+
+#include <java/nio/charset/Charset.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class ISO_8859_1;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class Charset;
+ class CharsetDecoder;
+ class CharsetEncoder;
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::ISO_8859_1 : public ::java::nio::charset::Charset
+{
+
+public: // actually package-private
+ ISO_8859_1();
+public:
+ jboolean contains(::java::nio::charset::Charset *);
+ ::java::nio::charset::CharsetDecoder * newDecoder();
+ ::java::nio::charset::CharsetEncoder * newEncoder();
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_ISO_8859_1__
diff --git a/libjava/gnu/java/nio/charset/ISO_8859_13.h b/libjava/gnu/java/nio/charset/ISO_8859_13.h
new file mode 100644
index 0000000..dfe4240
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/ISO_8859_13.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_ISO_8859_13__
+#define __gnu_java_nio_charset_ISO_8859_13__
+
+#pragma interface
+
+#include <gnu/java/nio/charset/ByteCharset.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class ISO_8859_13;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::ISO_8859_13 : public ::gnu::java::nio::charset::ByteCharset
+{
+
+public:
+ ISO_8859_13();
+private:
+ static JArray< jchar > * lookup;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_ISO_8859_13__
diff --git a/libjava/gnu/java/nio/charset/ISO_8859_15.h b/libjava/gnu/java/nio/charset/ISO_8859_15.h
new file mode 100644
index 0000000..617e227
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/ISO_8859_15.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_ISO_8859_15__
+#define __gnu_java_nio_charset_ISO_8859_15__
+
+#pragma interface
+
+#include <gnu/java/nio/charset/ByteCharset.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class ISO_8859_15;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::ISO_8859_15 : public ::gnu::java::nio::charset::ByteCharset
+{
+
+public:
+ ISO_8859_15();
+private:
+ static JArray< jchar > * lookup;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_ISO_8859_15__
diff --git a/libjava/gnu/java/nio/charset/ISO_8859_2.h b/libjava/gnu/java/nio/charset/ISO_8859_2.h
new file mode 100644
index 0000000..e201ddc
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/ISO_8859_2.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_ISO_8859_2__
+#define __gnu_java_nio_charset_ISO_8859_2__
+
+#pragma interface
+
+#include <gnu/java/nio/charset/ByteCharset.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class ISO_8859_2;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::ISO_8859_2 : public ::gnu::java::nio::charset::ByteCharset
+{
+
+public:
+ ISO_8859_2();
+private:
+ static JArray< jchar > * lookup;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_ISO_8859_2__
diff --git a/libjava/gnu/java/nio/charset/ISO_8859_3.h b/libjava/gnu/java/nio/charset/ISO_8859_3.h
new file mode 100644
index 0000000..3c468fd
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/ISO_8859_3.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_ISO_8859_3__
+#define __gnu_java_nio_charset_ISO_8859_3__
+
+#pragma interface
+
+#include <gnu/java/nio/charset/ByteCharset.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class ISO_8859_3;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::ISO_8859_3 : public ::gnu::java::nio::charset::ByteCharset
+{
+
+public:
+ ISO_8859_3();
+private:
+ static JArray< jchar > * lookup;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_ISO_8859_3__
diff --git a/libjava/gnu/java/nio/charset/ISO_8859_4.h b/libjava/gnu/java/nio/charset/ISO_8859_4.h
new file mode 100644
index 0000000..f338bf0
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/ISO_8859_4.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_ISO_8859_4__
+#define __gnu_java_nio_charset_ISO_8859_4__
+
+#pragma interface
+
+#include <gnu/java/nio/charset/ByteCharset.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class ISO_8859_4;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::ISO_8859_4 : public ::gnu::java::nio::charset::ByteCharset
+{
+
+public:
+ ISO_8859_4();
+private:
+ static JArray< jchar > * lookup;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_ISO_8859_4__
diff --git a/libjava/gnu/java/nio/charset/ISO_8859_5.h b/libjava/gnu/java/nio/charset/ISO_8859_5.h
new file mode 100644
index 0000000..4d626d0
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/ISO_8859_5.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_ISO_8859_5__
+#define __gnu_java_nio_charset_ISO_8859_5__
+
+#pragma interface
+
+#include <gnu/java/nio/charset/ByteCharset.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class ISO_8859_5;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::ISO_8859_5 : public ::gnu::java::nio::charset::ByteCharset
+{
+
+public:
+ ISO_8859_5();
+private:
+ static JArray< jchar > * lookup;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_ISO_8859_5__
diff --git a/libjava/gnu/java/nio/charset/ISO_8859_6.h b/libjava/gnu/java/nio/charset/ISO_8859_6.h
new file mode 100644
index 0000000..0ce45f2
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/ISO_8859_6.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_ISO_8859_6__
+#define __gnu_java_nio_charset_ISO_8859_6__
+
+#pragma interface
+
+#include <gnu/java/nio/charset/ByteCharset.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class ISO_8859_6;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::ISO_8859_6 : public ::gnu::java::nio::charset::ByteCharset
+{
+
+public:
+ ISO_8859_6();
+private:
+ static JArray< jchar > * lookup;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_ISO_8859_6__
diff --git a/libjava/gnu/java/nio/charset/ISO_8859_7.h b/libjava/gnu/java/nio/charset/ISO_8859_7.h
new file mode 100644
index 0000000..0c661fa
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/ISO_8859_7.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_ISO_8859_7__
+#define __gnu_java_nio_charset_ISO_8859_7__
+
+#pragma interface
+
+#include <gnu/java/nio/charset/ByteCharset.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class ISO_8859_7;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::ISO_8859_7 : public ::gnu::java::nio::charset::ByteCharset
+{
+
+public:
+ ISO_8859_7();
+private:
+ static JArray< jchar > * lookup;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_ISO_8859_7__
diff --git a/libjava/gnu/java/nio/charset/ISO_8859_8.h b/libjava/gnu/java/nio/charset/ISO_8859_8.h
new file mode 100644
index 0000000..96a255e
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/ISO_8859_8.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_ISO_8859_8__
+#define __gnu_java_nio_charset_ISO_8859_8__
+
+#pragma interface
+
+#include <gnu/java/nio/charset/ByteCharset.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class ISO_8859_8;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::ISO_8859_8 : public ::gnu::java::nio::charset::ByteCharset
+{
+
+public:
+ ISO_8859_8();
+private:
+ static JArray< jchar > * lookup;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_ISO_8859_8__
diff --git a/libjava/gnu/java/nio/charset/ISO_8859_9.h b/libjava/gnu/java/nio/charset/ISO_8859_9.h
new file mode 100644
index 0000000..a5030b7
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/ISO_8859_9.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_ISO_8859_9__
+#define __gnu_java_nio_charset_ISO_8859_9__
+
+#pragma interface
+
+#include <gnu/java/nio/charset/ByteCharset.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class ISO_8859_9;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::ISO_8859_9 : public ::gnu::java::nio::charset::ByteCharset
+{
+
+public:
+ ISO_8859_9();
+private:
+ static JArray< jchar > * lookup;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_ISO_8859_9__
diff --git a/libjava/gnu/java/nio/charset/KOI_8.h b/libjava/gnu/java/nio/charset/KOI_8.h
new file mode 100644
index 0000000..db07f14
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/KOI_8.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_KOI_8__
+#define __gnu_java_nio_charset_KOI_8__
+
+#pragma interface
+
+#include <gnu/java/nio/charset/ByteCharset.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class KOI_8;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::KOI_8 : public ::gnu::java::nio::charset::ByteCharset
+{
+
+public:
+ KOI_8();
+private:
+ static JArray< jchar > * lookup;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_KOI_8__
diff --git a/libjava/gnu/java/nio/charset/MS874.h b/libjava/gnu/java/nio/charset/MS874.h
new file mode 100644
index 0000000..c22c860
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/MS874.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_MS874__
+#define __gnu_java_nio_charset_MS874__
+
+#pragma interface
+
+#include <gnu/java/nio/charset/ByteCharset.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class MS874;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::MS874 : public ::gnu::java::nio::charset::ByteCharset
+{
+
+public:
+ MS874();
+private:
+ static JArray< jchar > * lookup;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_MS874__
diff --git a/libjava/gnu/java/nio/charset/MacCentralEurope.h b/libjava/gnu/java/nio/charset/MacCentralEurope.h
new file mode 100644
index 0000000..c91c915
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/MacCentralEurope.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_MacCentralEurope__
+#define __gnu_java_nio_charset_MacCentralEurope__
+
+#pragma interface
+
+#include <gnu/java/nio/charset/ByteCharset.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class MacCentralEurope;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::MacCentralEurope : public ::gnu::java::nio::charset::ByteCharset
+{
+
+public:
+ MacCentralEurope();
+private:
+ static JArray< jchar > * lookup;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_MacCentralEurope__
diff --git a/libjava/gnu/java/nio/charset/MacCroatian.h b/libjava/gnu/java/nio/charset/MacCroatian.h
new file mode 100644
index 0000000..8c03767
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/MacCroatian.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_MacCroatian__
+#define __gnu_java_nio_charset_MacCroatian__
+
+#pragma interface
+
+#include <gnu/java/nio/charset/ByteCharset.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class MacCroatian;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::MacCroatian : public ::gnu::java::nio::charset::ByteCharset
+{
+
+public:
+ MacCroatian();
+private:
+ static JArray< jchar > * lookup;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_MacCroatian__
diff --git a/libjava/gnu/java/nio/charset/MacCyrillic.h b/libjava/gnu/java/nio/charset/MacCyrillic.h
new file mode 100644
index 0000000..4190da5
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/MacCyrillic.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_MacCyrillic__
+#define __gnu_java_nio_charset_MacCyrillic__
+
+#pragma interface
+
+#include <gnu/java/nio/charset/ByteCharset.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class MacCyrillic;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::MacCyrillic : public ::gnu::java::nio::charset::ByteCharset
+{
+
+public:
+ MacCyrillic();
+private:
+ static JArray< jchar > * lookup;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_MacCyrillic__
diff --git a/libjava/gnu/java/nio/charset/MacDingbat.h b/libjava/gnu/java/nio/charset/MacDingbat.h
new file mode 100644
index 0000000..0599539
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/MacDingbat.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_MacDingbat__
+#define __gnu_java_nio_charset_MacDingbat__
+
+#pragma interface
+
+#include <gnu/java/nio/charset/ByteCharset.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class MacDingbat;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::MacDingbat : public ::gnu::java::nio::charset::ByteCharset
+{
+
+public:
+ MacDingbat();
+private:
+ static JArray< jchar > * lookup;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_MacDingbat__
diff --git a/libjava/gnu/java/nio/charset/MacGreek.h b/libjava/gnu/java/nio/charset/MacGreek.h
new file mode 100644
index 0000000..df1f52f
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/MacGreek.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_MacGreek__
+#define __gnu_java_nio_charset_MacGreek__
+
+#pragma interface
+
+#include <gnu/java/nio/charset/ByteCharset.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class MacGreek;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::MacGreek : public ::gnu::java::nio::charset::ByteCharset
+{
+
+public:
+ MacGreek();
+private:
+ static JArray< jchar > * lookup;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_MacGreek__
diff --git a/libjava/gnu/java/nio/charset/MacIceland.h b/libjava/gnu/java/nio/charset/MacIceland.h
new file mode 100644
index 0000000..e8878e8
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/MacIceland.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_MacIceland__
+#define __gnu_java_nio_charset_MacIceland__
+
+#pragma interface
+
+#include <gnu/java/nio/charset/ByteCharset.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class MacIceland;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::MacIceland : public ::gnu::java::nio::charset::ByteCharset
+{
+
+public:
+ MacIceland();
+private:
+ static JArray< jchar > * lookup;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_MacIceland__
diff --git a/libjava/gnu/java/nio/charset/MacRoman.h b/libjava/gnu/java/nio/charset/MacRoman.h
new file mode 100644
index 0000000..a648b80
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/MacRoman.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_MacRoman__
+#define __gnu_java_nio_charset_MacRoman__
+
+#pragma interface
+
+#include <gnu/java/nio/charset/ByteCharset.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class MacRoman;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::MacRoman : public ::gnu::java::nio::charset::ByteCharset
+{
+
+public:
+ MacRoman();
+private:
+ static JArray< jchar > * lookup;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_MacRoman__
diff --git a/libjava/gnu/java/nio/charset/MacRomania.h b/libjava/gnu/java/nio/charset/MacRomania.h
new file mode 100644
index 0000000..ecc89ed
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/MacRomania.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_MacRomania__
+#define __gnu_java_nio_charset_MacRomania__
+
+#pragma interface
+
+#include <gnu/java/nio/charset/ByteCharset.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class MacRomania;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::MacRomania : public ::gnu::java::nio::charset::ByteCharset
+{
+
+public:
+ MacRomania();
+private:
+ static JArray< jchar > * lookup;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_MacRomania__
diff --git a/libjava/gnu/java/nio/charset/MacSymbol.h b/libjava/gnu/java/nio/charset/MacSymbol.h
new file mode 100644
index 0000000..e9ca0b1
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/MacSymbol.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_MacSymbol__
+#define __gnu_java_nio_charset_MacSymbol__
+
+#pragma interface
+
+#include <gnu/java/nio/charset/ByteCharset.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class MacSymbol;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::MacSymbol : public ::gnu::java::nio::charset::ByteCharset
+{
+
+public:
+ MacSymbol();
+private:
+ static JArray< jchar > * lookup;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_MacSymbol__
diff --git a/libjava/gnu/java/nio/charset/MacThai.h b/libjava/gnu/java/nio/charset/MacThai.h
new file mode 100644
index 0000000..dbf9166
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/MacThai.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_MacThai__
+#define __gnu_java_nio_charset_MacThai__
+
+#pragma interface
+
+#include <gnu/java/nio/charset/ByteCharset.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class MacThai;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::MacThai : public ::gnu::java::nio::charset::ByteCharset
+{
+
+public:
+ MacThai();
+private:
+ static JArray< jchar > * lookup;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_MacThai__
diff --git a/libjava/gnu/java/nio/charset/MacTurkish.h b/libjava/gnu/java/nio/charset/MacTurkish.h
new file mode 100644
index 0000000..077c35d
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/MacTurkish.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_MacTurkish__
+#define __gnu_java_nio_charset_MacTurkish__
+
+#pragma interface
+
+#include <gnu/java/nio/charset/ByteCharset.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class MacTurkish;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::MacTurkish : public ::gnu::java::nio::charset::ByteCharset
+{
+
+public:
+ MacTurkish();
+private:
+ static JArray< jchar > * lookup;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_MacTurkish__
diff --git a/libjava/gnu/java/nio/charset/Provider$1.h b/libjava/gnu/java/nio/charset/Provider$1.h
new file mode 100644
index 0000000..880facc
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/Provider$1.h
@@ -0,0 +1,37 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_Provider$1__
+#define __gnu_java_nio_charset_Provider$1__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class Provider$1;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::Provider$1 : public ::java::lang::Object
+{
+
+public: // actually package-private
+ Provider$1();
+public:
+ ::java::lang::Object * run();
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_Provider$1__
diff --git a/libjava/gnu/java/nio/charset/Provider.h b/libjava/gnu/java/nio/charset/Provider.h
new file mode 100644
index 0000000..04495ed
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/Provider.h
@@ -0,0 +1,60 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_Provider__
+#define __gnu_java_nio_charset_Provider__
+
+#pragma interface
+
+#include <java/nio/charset/spi/CharsetProvider.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class Provider;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class Charset;
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::Provider : public ::java::nio::charset::spi::CharsetProvider
+{
+
+public: // actually package-private
+ Provider();
+private:
+ void loadExtended();
+public:
+ ::java::util::Iterator * charsets();
+ ::java::nio::charset::Charset * charsetForName(::java::lang::String *);
+private:
+ void addCharset(::java::nio::charset::Charset *);
+public:
+ static ::gnu::java::nio::charset::Provider * provider();
+private:
+ static ::gnu::java::nio::charset::Provider * singleton;
+ ::java::util::HashMap * __attribute__((aligned(__alignof__( ::java::nio::charset::spi::CharsetProvider)))) canonicalNames;
+ ::java::util::HashMap * charsets__;
+ jboolean extendedLoaded;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_Provider__
diff --git a/libjava/gnu/java/nio/charset/US_ASCII$Decoder.h b/libjava/gnu/java/nio/charset/US_ASCII$Decoder.h
new file mode 100644
index 0000000..c0c09bc
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/US_ASCII$Decoder.h
@@ -0,0 +1,51 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_US_ASCII$Decoder__
+#define __gnu_java_nio_charset_US_ASCII$Decoder__
+
+#pragma interface
+
+#include <java/nio/charset/CharsetDecoder.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class US_ASCII$Decoder;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace nio
+ {
+ class ByteBuffer;
+ class CharBuffer;
+ namespace charset
+ {
+ class Charset;
+ class CoderResult;
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::US_ASCII$Decoder : public ::java::nio::charset::CharsetDecoder
+{
+
+public: // actually package-private
+ US_ASCII$Decoder(::java::nio::charset::Charset *);
+public: // actually protected
+ ::java::nio::charset::CoderResult * decodeLoop(::java::nio::ByteBuffer *, ::java::nio::CharBuffer *);
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_US_ASCII$Decoder__
diff --git a/libjava/gnu/java/nio/charset/US_ASCII$Encoder.h b/libjava/gnu/java/nio/charset/US_ASCII$Encoder.h
new file mode 100644
index 0000000..7a30c34
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/US_ASCII$Encoder.h
@@ -0,0 +1,54 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_US_ASCII$Encoder__
+#define __gnu_java_nio_charset_US_ASCII$Encoder__
+
+#pragma interface
+
+#include <java/nio/charset/CharsetEncoder.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class US_ASCII$Encoder;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace nio
+ {
+ class ByteBuffer;
+ class CharBuffer;
+ namespace charset
+ {
+ class Charset;
+ class CoderResult;
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::US_ASCII$Encoder : public ::java::nio::charset::CharsetEncoder
+{
+
+public: // actually package-private
+ US_ASCII$Encoder(::java::nio::charset::Charset *);
+public:
+ jboolean canEncode(jchar);
+ jboolean canEncode(::java::lang::CharSequence *);
+public: // actually protected
+ ::java::nio::charset::CoderResult * encodeLoop(::java::nio::CharBuffer *, ::java::nio::ByteBuffer *);
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_US_ASCII$Encoder__
diff --git a/libjava/gnu/java/nio/charset/US_ASCII.h b/libjava/gnu/java/nio/charset/US_ASCII.h
new file mode 100644
index 0000000..297cf11
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/US_ASCII.h
@@ -0,0 +1,51 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_US_ASCII__
+#define __gnu_java_nio_charset_US_ASCII__
+
+#pragma interface
+
+#include <java/nio/charset/Charset.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class US_ASCII;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class Charset;
+ class CharsetDecoder;
+ class CharsetEncoder;
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::US_ASCII : public ::java::nio::charset::Charset
+{
+
+public: // actually package-private
+ US_ASCII();
+public:
+ jboolean contains(::java::nio::charset::Charset *);
+ ::java::nio::charset::CharsetDecoder * newDecoder();
+ ::java::nio::charset::CharsetEncoder * newEncoder();
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_US_ASCII__
diff --git a/libjava/gnu/java/nio/charset/UTF_16.h b/libjava/gnu/java/nio/charset/UTF_16.h
new file mode 100644
index 0000000..afb0fd8
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/UTF_16.h
@@ -0,0 +1,51 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_UTF_16__
+#define __gnu_java_nio_charset_UTF_16__
+
+#pragma interface
+
+#include <java/nio/charset/Charset.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class UTF_16;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class Charset;
+ class CharsetDecoder;
+ class CharsetEncoder;
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::UTF_16 : public ::java::nio::charset::Charset
+{
+
+public: // actually package-private
+ UTF_16();
+public:
+ jboolean contains(::java::nio::charset::Charset *);
+ ::java::nio::charset::CharsetDecoder * newDecoder();
+ ::java::nio::charset::CharsetEncoder * newEncoder();
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_UTF_16__
diff --git a/libjava/gnu/java/nio/charset/UTF_16BE.h b/libjava/gnu/java/nio/charset/UTF_16BE.h
new file mode 100644
index 0000000..8b2bccf
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/UTF_16BE.h
@@ -0,0 +1,51 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_UTF_16BE__
+#define __gnu_java_nio_charset_UTF_16BE__
+
+#pragma interface
+
+#include <java/nio/charset/Charset.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class UTF_16BE;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class Charset;
+ class CharsetDecoder;
+ class CharsetEncoder;
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::UTF_16BE : public ::java::nio::charset::Charset
+{
+
+public: // actually package-private
+ UTF_16BE();
+public:
+ jboolean contains(::java::nio::charset::Charset *);
+ ::java::nio::charset::CharsetDecoder * newDecoder();
+ ::java::nio::charset::CharsetEncoder * newEncoder();
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_UTF_16BE__
diff --git a/libjava/gnu/java/nio/charset/UTF_16Decoder.h b/libjava/gnu/java/nio/charset/UTF_16Decoder.h
new file mode 100644
index 0000000..b23c3e7
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/UTF_16Decoder.h
@@ -0,0 +1,63 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_UTF_16Decoder__
+#define __gnu_java_nio_charset_UTF_16Decoder__
+
+#pragma interface
+
+#include <java/nio/charset/CharsetDecoder.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class UTF_16Decoder;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace nio
+ {
+ class ByteBuffer;
+ class CharBuffer;
+ namespace charset
+ {
+ class Charset;
+ class CoderResult;
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::UTF_16Decoder : public ::java::nio::charset::CharsetDecoder
+{
+
+public: // actually package-private
+ UTF_16Decoder(::java::nio::charset::Charset *, jint);
+public: // actually protected
+ ::java::nio::charset::CoderResult * decodeLoop(::java::nio::ByteBuffer *, ::java::nio::CharBuffer *);
+ void implReset();
+public: // actually package-private
+ static const jint BIG_ENDIAN = 0;
+ static const jint LITTLE_ENDIAN = 1;
+ static const jint UNKNOWN_ENDIAN = 2;
+ static const jint MAYBE_BIG_ENDIAN = 3;
+ static const jint MAYBE_LITTLE_ENDIAN = 4;
+private:
+ static const jchar BYTE_ORDER_MARK = 65279;
+ static const jchar REVERSED_BYTE_ORDER_MARK = 65534;
+ jint __attribute__((aligned(__alignof__( ::java::nio::charset::CharsetDecoder)))) originalByteOrder;
+ jint byteOrder;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_UTF_16Decoder__
diff --git a/libjava/gnu/java/nio/charset/UTF_16Encoder.h b/libjava/gnu/java/nio/charset/UTF_16Encoder.h
new file mode 100644
index 0000000..9dc4994
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/UTF_16Encoder.h
@@ -0,0 +1,61 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_UTF_16Encoder__
+#define __gnu_java_nio_charset_UTF_16Encoder__
+
+#pragma interface
+
+#include <java/nio/charset/CharsetEncoder.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class UTF_16Encoder;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace nio
+ {
+ class ByteBuffer;
+ class ByteOrder;
+ class CharBuffer;
+ namespace charset
+ {
+ class Charset;
+ class CoderResult;
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::UTF_16Encoder : public ::java::nio::charset::CharsetEncoder
+{
+
+public: // actually package-private
+ UTF_16Encoder(::java::nio::charset::Charset *, jint, jboolean);
+public: // actually protected
+ ::java::nio::charset::CoderResult * encodeLoop(::java::nio::CharBuffer *, ::java::nio::ByteBuffer *);
+ void implReset();
+public: // actually package-private
+ static const jint BIG_ENDIAN = 0;
+ static const jint LITTLE_ENDIAN = 1;
+private:
+ static const jchar BYTE_ORDER_MARK = 65279;
+ ::java::nio::ByteOrder * __attribute__((aligned(__alignof__( ::java::nio::charset::CharsetEncoder)))) byteOrder;
+ jboolean useByteOrderMark;
+ jboolean needsByteOrderMark;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_UTF_16Encoder__
diff --git a/libjava/gnu/java/nio/charset/UTF_16LE.h b/libjava/gnu/java/nio/charset/UTF_16LE.h
new file mode 100644
index 0000000..8b5ee1b
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/UTF_16LE.h
@@ -0,0 +1,51 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_UTF_16LE__
+#define __gnu_java_nio_charset_UTF_16LE__
+
+#pragma interface
+
+#include <java/nio/charset/Charset.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class UTF_16LE;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class Charset;
+ class CharsetDecoder;
+ class CharsetEncoder;
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::UTF_16LE : public ::java::nio::charset::Charset
+{
+
+public: // actually package-private
+ UTF_16LE();
+public:
+ jboolean contains(::java::nio::charset::Charset *);
+ ::java::nio::charset::CharsetDecoder * newDecoder();
+ ::java::nio::charset::CharsetEncoder * newEncoder();
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_UTF_16LE__
diff --git a/libjava/gnu/java/nio/charset/UTF_8$Decoder.h b/libjava/gnu/java/nio/charset/UTF_8$Decoder.h
new file mode 100644
index 0000000..89ec732
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/UTF_8$Decoder.h
@@ -0,0 +1,53 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_UTF_8$Decoder__
+#define __gnu_java_nio_charset_UTF_8$Decoder__
+
+#pragma interface
+
+#include <java/nio/charset/CharsetDecoder.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class UTF_8$Decoder;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace nio
+ {
+ class ByteBuffer;
+ class CharBuffer;
+ namespace charset
+ {
+ class Charset;
+ class CoderResult;
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::UTF_8$Decoder : public ::java::nio::charset::CharsetDecoder
+{
+
+public: // actually package-private
+ UTF_8$Decoder(::java::nio::charset::Charset *);
+public: // actually protected
+ ::java::nio::charset::CoderResult * decodeLoop(::java::nio::ByteBuffer *, ::java::nio::CharBuffer *);
+private:
+ static jboolean isContinuation(jbyte);
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_UTF_8$Decoder__
diff --git a/libjava/gnu/java/nio/charset/UTF_8$Encoder.h b/libjava/gnu/java/nio/charset/UTF_8$Encoder.h
new file mode 100644
index 0000000..13745f2
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/UTF_8$Encoder.h
@@ -0,0 +1,51 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_UTF_8$Encoder__
+#define __gnu_java_nio_charset_UTF_8$Encoder__
+
+#pragma interface
+
+#include <java/nio/charset/CharsetEncoder.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class UTF_8$Encoder;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace nio
+ {
+ class ByteBuffer;
+ class CharBuffer;
+ namespace charset
+ {
+ class Charset;
+ class CoderResult;
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::UTF_8$Encoder : public ::java::nio::charset::CharsetEncoder
+{
+
+public: // actually package-private
+ UTF_8$Encoder(::java::nio::charset::Charset *);
+public: // actually protected
+ ::java::nio::charset::CoderResult * encodeLoop(::java::nio::CharBuffer *, ::java::nio::ByteBuffer *);
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_UTF_8$Encoder__
diff --git a/libjava/gnu/java/nio/charset/UTF_8.h b/libjava/gnu/java/nio/charset/UTF_8.h
new file mode 100644
index 0000000..0be5e40
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/UTF_8.h
@@ -0,0 +1,51 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_UTF_8__
+#define __gnu_java_nio_charset_UTF_8__
+
+#pragma interface
+
+#include <java/nio/charset/Charset.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class UTF_8;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class Charset;
+ class CharsetDecoder;
+ class CharsetEncoder;
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::UTF_8 : public ::java::nio::charset::Charset
+{
+
+public: // actually package-private
+ UTF_8();
+public:
+ jboolean contains(::java::nio::charset::Charset *);
+ ::java::nio::charset::CharsetDecoder * newDecoder();
+ ::java::nio::charset::CharsetEncoder * newEncoder();
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_UTF_8__
diff --git a/libjava/gnu/java/nio/charset/UnicodeLittle.h b/libjava/gnu/java/nio/charset/UnicodeLittle.h
new file mode 100644
index 0000000..8086fd8
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/UnicodeLittle.h
@@ -0,0 +1,51 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_UnicodeLittle__
+#define __gnu_java_nio_charset_UnicodeLittle__
+
+#pragma interface
+
+#include <java/nio/charset/Charset.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class UnicodeLittle;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class Charset;
+ class CharsetDecoder;
+ class CharsetEncoder;
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::UnicodeLittle : public ::java::nio::charset::Charset
+{
+
+public: // actually package-private
+ UnicodeLittle();
+public:
+ jboolean contains(::java::nio::charset::Charset *);
+ ::java::nio::charset::CharsetDecoder * newDecoder();
+ ::java::nio::charset::CharsetEncoder * newEncoder();
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_UnicodeLittle__
diff --git a/libjava/gnu/java/nio/charset/Windows1250.h b/libjava/gnu/java/nio/charset/Windows1250.h
new file mode 100644
index 0000000..3e0bdae
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/Windows1250.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_Windows1250__
+#define __gnu_java_nio_charset_Windows1250__
+
+#pragma interface
+
+#include <gnu/java/nio/charset/ByteCharset.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class Windows1250;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::Windows1250 : public ::gnu::java::nio::charset::ByteCharset
+{
+
+public:
+ Windows1250();
+private:
+ static JArray< jchar > * lookup;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_Windows1250__
diff --git a/libjava/gnu/java/nio/charset/Windows1251.h b/libjava/gnu/java/nio/charset/Windows1251.h
new file mode 100644
index 0000000..5671f5a
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/Windows1251.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_Windows1251__
+#define __gnu_java_nio_charset_Windows1251__
+
+#pragma interface
+
+#include <gnu/java/nio/charset/ByteCharset.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class Windows1251;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::Windows1251 : public ::gnu::java::nio::charset::ByteCharset
+{
+
+public:
+ Windows1251();
+private:
+ static JArray< jchar > * lookup;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_Windows1251__
diff --git a/libjava/gnu/java/nio/charset/Windows1252.h b/libjava/gnu/java/nio/charset/Windows1252.h
new file mode 100644
index 0000000..f1e18a5
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/Windows1252.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_Windows1252__
+#define __gnu_java_nio_charset_Windows1252__
+
+#pragma interface
+
+#include <gnu/java/nio/charset/ByteCharset.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class Windows1252;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::Windows1252 : public ::gnu::java::nio::charset::ByteCharset
+{
+
+public:
+ Windows1252();
+private:
+ static JArray< jchar > * lookup;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_Windows1252__
diff --git a/libjava/gnu/java/nio/charset/Windows1253.h b/libjava/gnu/java/nio/charset/Windows1253.h
new file mode 100644
index 0000000..4c9199d
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/Windows1253.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_Windows1253__
+#define __gnu_java_nio_charset_Windows1253__
+
+#pragma interface
+
+#include <gnu/java/nio/charset/ByteCharset.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class Windows1253;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::Windows1253 : public ::gnu::java::nio::charset::ByteCharset
+{
+
+public:
+ Windows1253();
+private:
+ static JArray< jchar > * lookup;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_Windows1253__
diff --git a/libjava/gnu/java/nio/charset/Windows1254.h b/libjava/gnu/java/nio/charset/Windows1254.h
new file mode 100644
index 0000000..d14346d
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/Windows1254.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_Windows1254__
+#define __gnu_java_nio_charset_Windows1254__
+
+#pragma interface
+
+#include <gnu/java/nio/charset/ByteCharset.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class Windows1254;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::Windows1254 : public ::gnu::java::nio::charset::ByteCharset
+{
+
+public:
+ Windows1254();
+private:
+ static JArray< jchar > * lookup;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_Windows1254__
diff --git a/libjava/gnu/java/nio/charset/Windows1255.h b/libjava/gnu/java/nio/charset/Windows1255.h
new file mode 100644
index 0000000..e8367b4
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/Windows1255.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_Windows1255__
+#define __gnu_java_nio_charset_Windows1255__
+
+#pragma interface
+
+#include <gnu/java/nio/charset/ByteCharset.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class Windows1255;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::Windows1255 : public ::gnu::java::nio::charset::ByteCharset
+{
+
+public:
+ Windows1255();
+private:
+ static JArray< jchar > * lookup;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_Windows1255__
diff --git a/libjava/gnu/java/nio/charset/Windows1256.h b/libjava/gnu/java/nio/charset/Windows1256.h
new file mode 100644
index 0000000..c29502b
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/Windows1256.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_Windows1256__
+#define __gnu_java_nio_charset_Windows1256__
+
+#pragma interface
+
+#include <gnu/java/nio/charset/ByteCharset.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class Windows1256;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::Windows1256 : public ::gnu::java::nio::charset::ByteCharset
+{
+
+public:
+ Windows1256();
+private:
+ static JArray< jchar > * lookup;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_Windows1256__
diff --git a/libjava/gnu/java/nio/charset/Windows1257.h b/libjava/gnu/java/nio/charset/Windows1257.h
new file mode 100644
index 0000000..6f9c0ec
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/Windows1257.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_Windows1257__
+#define __gnu_java_nio_charset_Windows1257__
+
+#pragma interface
+
+#include <gnu/java/nio/charset/ByteCharset.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class Windows1257;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::Windows1257 : public ::gnu::java::nio::charset::ByteCharset
+{
+
+public:
+ Windows1257();
+private:
+ static JArray< jchar > * lookup;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_Windows1257__
diff --git a/libjava/gnu/java/nio/charset/Windows1258.h b/libjava/gnu/java/nio/charset/Windows1258.h
new file mode 100644
index 0000000..2c7ea31
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/Windows1258.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_Windows1258__
+#define __gnu_java_nio_charset_Windows1258__
+
+#pragma interface
+
+#include <gnu/java/nio/charset/ByteCharset.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class Windows1258;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::Windows1258 : public ::gnu::java::nio::charset::ByteCharset
+{
+
+public:
+ Windows1258();
+private:
+ static JArray< jchar > * lookup;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_Windows1258__
diff --git a/libjava/gnu/java/nio/natVMChannel.cc b/libjava/gnu/java/nio/natVMChannel.cc
new file mode 100644
index 0000000..4b4da78
--- /dev/null
+++ b/libjava/gnu/java/nio/natVMChannel.cc
@@ -0,0 +1,46 @@
+#include <config.h>
+
+#include <gnu/java/nio/VMChannel.h>
+#include <gcj/cni.h>
+#include <java/lang/UnsupportedOperationException.h>
+
+void
+gnu::java::nio::VMChannel::setBlocking (jint, jboolean)
+{
+ throw new ::java::lang::UnsupportedOperationException (JvNewStringLatin1 ("gnu::java::nio::VMChannel::setBlocking (jint, jboolean) not implemented"));
+}
+
+
+jint
+gnu::java::nio::VMChannel::read (jint, ::java::nio::ByteBuffer *)
+{
+ throw new ::java::lang::UnsupportedOperationException (JvNewStringLatin1 ("gnu::java::nio::VMChannel::read (jint, ::java::nio::ByteBuffer *) not implemented"));
+}
+
+
+jlong
+gnu::java::nio::VMChannel::readScattering (jint, JArray< ::java::nio::ByteBuffer *> *, jint, jint)
+{
+ throw new ::java::lang::UnsupportedOperationException (JvNewStringLatin1 ("gnu::java::nio::VMChannel::readScattering (jint, JArray< ::java::nio::ByteBuffer *> *, jint, jint) not implemented"));
+}
+
+
+jint
+gnu::java::nio::VMChannel::write (jint, ::java::nio::ByteBuffer *)
+{
+ throw new ::java::lang::UnsupportedOperationException (JvNewStringLatin1 ("gnu::java::nio::VMChannel::write (jint, ::java::nio::ByteBuffer *) not implemented"));
+}
+
+
+jlong
+gnu::java::nio::VMChannel::writeGathering (jint, JArray< ::java::nio::ByteBuffer *> *, jint, jint)
+{
+ throw new ::java::lang::UnsupportedOperationException (JvNewStringLatin1 ("gnu::java::nio::VMChannel::writeGathering (jint, JArray< ::java::nio::ByteBuffer *> *, jint, jint) not implemented"));
+}
+
+
+void
+gnu::java::nio::VMChannel::initIDs ()
+{
+ throw new ::java::lang::UnsupportedOperationException (JvNewStringLatin1 ("gnu::java::nio::VMChannel::initIDs () not implemented"));
+}