// natFileChannelImpl.cc /* Copyright (C) 2003 Free Software Foundation This file is part of libgcj. This software is copyrighted work licensed under the terms of the Libgcj License. Please consult the file "LIBGCJ_LICENSE" for details. */ #include #include #include #include #include #ifdef HAVE_UNISTD_H #include #endif #ifdef HAVE_FCNTL_H #include #endif #include #include #include #include #include #include jlong java::nio::channels::FileChannelImpl::size () { return fd->getLength (); } jlong java::nio::channels::FileChannelImpl::implPosition () { return fd->getFilePointer (); } java::nio::channels::FileChannel* java::nio::channels::FileChannelImpl::implPosition (jlong newPosition) { fd->seek (newPosition, ::java::io::FileDescriptor::SET, true); return this; } jint java::nio::channels::FileChannelImpl::implRead (JArray* buffer, jint offset, jint len) { return fd->read (buffer, offset, len); } jint java::nio::channels::FileChannelImpl::implWrite (JArray* buffer, jint offset, jint len) { fd->write (buffer, offset, len); return len; } java::nio::channels::FileChannel* java::nio::channels::FileChannelImpl::implTruncate (jlong size) { fd->setLength (size); return this; } gnu::gcj::RawData* java::nio::channels::FileChannelImpl::nio_mmap_file (jlong /*pos*/, jlong /*size*/, jint /*mode*/) { throw new ::java::io::IOException (JvNewStringUTF ("mmap not implemented")); } void java::nio::channels::FileChannelImpl::nio_unmmap_file (gnu::gcj::RawData* /*address*/, jint /*size*/) { throw new ::java::io::IOException (JvNewStringUTF ("munmap not implemented")); } void java::nio::channels::FileChannelImpl::nio_msync (gnu::gcj::RawData* /*map_address*/, jint /*length*/) { throw new ::java::io::IOException (JvNewStringUTF ("msync not implemented")); }