30
31 #include "io_util.h"
32 #include "io_util_md.h"
33 #include "java_io_RandomAccessFile.h"
34
35 #include <fcntl.h>
36
37 /*
38 * static method to store field ID's in initializers
39 */
40
41 jfieldID raf_fd; /* id for jobject 'fd' in java.io.RandomAccessFile */
42
43 JNIEXPORT void JNICALL
44 Java_java_io_RandomAccessFile_initIDs(JNIEnv *env, jclass fdClass) {
45 raf_fd = (*env)->GetFieldID(env, fdClass, "fd", "Ljava/io/FileDescriptor;");
46 }
47
48
49 JNIEXPORT void JNICALL
50 Java_java_io_RandomAccessFile_open(JNIEnv *env,
51 jobject this, jstring path, jint mode)
52 {
53 int flags = 0;
54 if (mode & java_io_RandomAccessFile_O_RDONLY)
55 flags = O_RDONLY;
56 else if (mode & java_io_RandomAccessFile_O_RDWR) {
57 flags = O_RDWR | O_CREAT;
58 if (mode & java_io_RandomAccessFile_O_SYNC)
59 flags |= O_SYNC;
60 else if (mode & java_io_RandomAccessFile_O_DSYNC)
61 flags |= O_DSYNC;
62 }
63 fileOpen(env, this, path, raf_fd, flags);
64 }
65
66 JNIEXPORT jint JNICALL
67 Java_java_io_RandomAccessFile_read0(JNIEnv *env, jobject this) {
68 return readSingle(env, this, raf_fd);
69 }
70
|
30
31 #include "io_util.h"
32 #include "io_util_md.h"
33 #include "java_io_RandomAccessFile.h"
34
35 #include <fcntl.h>
36
37 /*
38 * static method to store field ID's in initializers
39 */
40
41 jfieldID raf_fd; /* id for jobject 'fd' in java.io.RandomAccessFile */
42
43 JNIEXPORT void JNICALL
44 Java_java_io_RandomAccessFile_initIDs(JNIEnv *env, jclass fdClass) {
45 raf_fd = (*env)->GetFieldID(env, fdClass, "fd", "Ljava/io/FileDescriptor;");
46 }
47
48
49 JNIEXPORT void JNICALL
50 Java_java_io_RandomAccessFile_open0(JNIEnv *env,
51 jobject this, jstring path, jint mode)
52 {
53 int flags = 0;
54 if (mode & java_io_RandomAccessFile_O_RDONLY)
55 flags = O_RDONLY;
56 else if (mode & java_io_RandomAccessFile_O_RDWR) {
57 flags = O_RDWR | O_CREAT;
58 if (mode & java_io_RandomAccessFile_O_SYNC)
59 flags |= O_SYNC;
60 else if (mode & java_io_RandomAccessFile_O_DSYNC)
61 flags |= O_DSYNC;
62 }
63 fileOpen(env, this, path, raf_fd, flags);
64 }
65
66 JNIEXPORT jint JNICALL
67 Java_java_io_RandomAccessFile_read0(JNIEnv *env, jobject this) {
68 return readSingle(env, this, raf_fd);
69 }
70
|