--- old/src/java.base/windows/native/libjava/RandomAccessFile_md.c 2016-08-25 17:51:55.485564712 -0700 +++ new/src/java.base/windows/native/libjava/RandomAccessFile_md.c 2016-08-25 17:51:55.382564711 -0700 @@ -39,6 +39,48 @@ */ JNIEXPORT void JNICALL +Java_java_io_RandomAccessFile_open0(JNIEnv *env, + jobject this, jstring path, jint mode) +{ + int flags = 0; + if (mode & java_io_RandomAccessFile_O_DIRECT) + JNU_ThrowIOException (env, "DirectIO is not available on Windows platform!"); + + if (mode & java_io_RandomAccessFile_O_RDONLY) { + flags = O_RDONLY; + } + else if (mode & java_io_RandomAccessFile_O_RDWR) { + flags = O_RDWR | O_CREAT; + if (mode & java_io_RandomAccessFile_O_SYNC) + flags |= O_SYNC; + else if (mode & java_io_RandomAccessFile_O_DSYNC) + flags |= O_DSYNC; + } + else if (mode & java_io_RandomAccessFile_O_TEMPORARY) + flags |= O_TEMPORARY; + fileOpen(env, this, path, raf_fd, flags); +} + +JNIEXPORT void JNICALL Java_java_io_RandomAccessFile_close0(JNIEnv *env, jobject this) { handleClose(env, this, raf_fd); } + +JNIEXPORT jint JNICALL +Java_java_io_RandomAccessFile_getPageSize0(JNIEnv *env, jobject this) { + JNU_ThrowIOException (env, "DirectIO is not available on Windows platform!"); + return 0; +} + +JNIEXPORT jint JNICALL +Java_java_io_RandomAccessFile_readBytesD(JNIEnv *env, + jobject this, jbyteArray bytes, jint off, jint len) { + JNU_ThrowIOException (env, "DirectIO is not available on Windows platform!"); + return 0; +} + +JNIEXPORT void JNICALL +Java_java_io_RandomAccessFile_writeBytesD(JNIEnv *env, + jobject this, jbyteArray bytes, jint off, jint len) { + JNU_ThrowIOException (env, "DirectIO is not available on Windows platform!"); +}