< prev index next >
src/java.base/windows/native/libjava/RandomAccessFile_md.c
Print this page
*** 37,44 ****
--- 37,86 ----
/*********************************************************************
* 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 >