< prev index next >

src/java.base/windows/native/libjava/RandomAccessFile_md.c

Print this page

        

@@ -37,8 +37,50 @@
 /*********************************************************************
  * Platform specific implementation of input stream native methods
  */
 
 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!");
+}
< prev index next >