1 2 // DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- 3 4 #ifndef __gnu_java_nio_channels_FileChannelImpl__ 5 #define __gnu_java_nio_channels_FileChannelImpl__ 6 7 #pragma interface 8 9 #include <java/nio/channels/FileChannel.h> 10 #include <gcj/array.h> 11 12 extern "Java" 13 { 14 namespace gnu 15 { 16 namespace java 17 { 18 namespace nio 19 { 20 namespace channels 21 { 22 class FileChannelImpl; 23 } 24 } 25 } 26 } 27 namespace java 28 { 29 namespace nio 30 { 31 class ByteBuffer; 32 class MappedByteBuffer; 33 namespace channels 34 { 35 class FileChannel; 36 class FileChannel$MapMode; 37 class FileLock; 38 class ReadableByteChannel; 39 class WritableByteChannel; 40 } 41 } 42 } 43 } 44 45 class gnu::java::nio::channels::FileChannelImpl : public ::java::nio::channels::FileChannel 46 { 47 48 static void init(); 49 public: 50 FileChannelImpl(); 51 static ::gnu::java::nio::channels::FileChannelImpl * create(::java::io::File *, jint); 52 private: 53 FileChannelImpl(::java::io::File *, jint); 54 public: // actually package-private 55 FileChannelImpl(jint, jint); 56 private: 57 jint open(::java::lang::String *, jint); 58 public: 59 jint available(); 60 private: 61 jlong implPosition(); 62 void seek(jlong); 63 void implTruncate(jlong); 64 public: 65 void unlock(jlong, jlong); 66 jlong size(); 67 public: // actually protected 68 void implCloseChannel(); 69 void finalize(); 70 public: 71 jint read(::java::nio::ByteBuffer *); 72 jint read(::java::nio::ByteBuffer *, jlong); 73 jint read(); 74 jint read(JArray< jbyte > *, jint, jint); 75 jlong read(JArray< ::java::nio::ByteBuffer * > *, jint, jint); 76 jint write(::java::nio::ByteBuffer *); 77 jint write(::java::nio::ByteBuffer *, jlong); 78 void write(JArray< jbyte > *, jint, jint); 79 void write(jint); 80 jlong write(JArray< ::java::nio::ByteBuffer * > *, jint, jint); 81 ::java::nio::MappedByteBuffer * mapImpl(jchar, jlong, jint); 82 ::java::nio::MappedByteBuffer * map(::java::nio::channels::FileChannel$MapMode *, jlong, jlong); 83 void force(jboolean); 84 private: 85 jint smallTransferTo(jlong, jint, ::java::nio::channels::WritableByteChannel *); 86 public: 87 jlong transferTo(jlong, jlong, ::java::nio::channels::WritableByteChannel *); 88 private: 89 jint smallTransferFrom(::java::nio::channels::ReadableByteChannel *, jlong, jint); 90 public: 91 jlong transferFrom(::java::nio::channels::ReadableByteChannel *, jlong, jlong); 92 ::java::nio::channels::FileLock * tryLock(jlong, jlong, jboolean); 93 private: 94 jboolean lock(jlong, jlong, jboolean, jboolean); 95 public: 96 ::java::nio::channels::FileLock * lock(jlong, jlong, jboolean); 97 jlong position(); 98 ::java::nio::channels::FileChannel * position(jlong); 99 ::java::nio::channels::FileChannel * truncate(jlong); 100 jint getNativeFD(); 101 static const jint READ = 1; 102 static const jint WRITE = 2; 103 static const jint APPEND = 4; 104 static const jint EXCL = 8; 105 static const jint SYNC = 16; 106 static const jint DSYNC = 32; 107 private: 108 jint __attribute__((aligned(__alignof__( ::java::nio::channels::FileChannel)))) fd; 109 jlong pos; 110 jint mode; 111 public: 112 static ::gnu::java::nio::channels::FileChannelImpl * in; 113 static ::gnu::java::nio::channels::FileChannelImpl * out; 114 static ::gnu::java::nio::channels::FileChannelImpl * err; 115 static ::java::lang::Class class$; 116 }; 117 118 #endif // __gnu_java_nio_channels_FileChannelImpl__ 119