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