// natDirectByteBufferImpl.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 #include gnu::gcj::RawData* java::nio::DirectByteBufferImpl::allocateImpl (jint capacity) { return reinterpret_cast (::malloc (capacity)); } void java::nio::DirectByteBufferImpl::freeImpl (gnu::gcj::RawData* address) { ::free (reinterpret_cast (address)); } jbyte java::nio::DirectByteBufferImpl::getImpl (jint index) { jbyte* pointer = reinterpret_cast (address) + offset + index; return *pointer; } void java::nio::DirectByteBufferImpl::putImpl (jint index, jbyte value) { jbyte* pointer = reinterpret_cast (address) + offset + index; *pointer = value; } void java::nio::DirectByteBufferImpl::shiftDown (jint dst_offset, jint src_offset, jint count) { jbyte* dst = reinterpret_cast (address) + offset + dst_offset; jbyte* src = reinterpret_cast (address) + offset + src_offset; ::memmove(dst, src, count); }