21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 * or visit www.oracle.com if you need additional information or have any
23 * questions.
24 */
25
26 #include "jni.h"
27 #include "jni_util.h"
28
29 /*
30 * Macros to use the right data type for file descriptors
31 */
32 #define FD jlong
33
34 /*
35 * Prototypes for functions in io_util_md.c called from io_util.c,
36 * FileDescriptor.c, FileInputStream.c, FileOutputStream.c,
37 * ProcessImpl_md.c
38 */
39 WCHAR* pathToNTPath(JNIEnv *env, jstring path, jboolean throwFNFE);
40 WCHAR* fileToNTPath(JNIEnv *env, jobject file, jfieldID id);
41 WCHAR* getPrefixed(const WCHAR* path, int pathlen);
42 WCHAR* currentDir(int di);
43 int currentDirLength(const WCHAR* path, int pathlen);
44 int handleAvailable(FD fd, jlong *pbytes);
45 int handleSync(FD fd);
46 jint handleSetLength(FD fd, jlong length);
47 jlong handleGetLength(FD fd);
48 JNIEXPORT jint handleRead(FD fd, void *buf, jint len);
49 jint handleWrite(FD fd, const void *buf, jint len);
50 jint handleAppend(FD fd, const void *buf, jint len);
51 void fileDescriptorClose(JNIEnv *env, jobject this);
52 JNIEXPORT jlong JNICALL
53 handleLseek(FD fd, jlong offset, jint whence);
54
55 /*
56 * Returns an opaque handle to file named by "path". If an error occurs,
57 * returns -1 and an exception is pending.
58 */
59 JNIEXPORT FD JNICALL
60 winFileHandleOpen(JNIEnv *env, jstring path, int flags);
61
|
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 * or visit www.oracle.com if you need additional information or have any
23 * questions.
24 */
25
26 #include "jni.h"
27 #include "jni_util.h"
28
29 /*
30 * Macros to use the right data type for file descriptors
31 */
32 #define FD jlong
33
34 /*
35 * Prototypes for functions in io_util_md.c called from io_util.c,
36 * FileDescriptor.c, FileInputStream.c, FileOutputStream.c,
37 * ProcessImpl_md.c
38 */
39 WCHAR* pathToNTPath(JNIEnv *env, jstring path, jboolean throwFNFE);
40 WCHAR* fileToNTPath(JNIEnv *env, jobject file, jfieldID id);
41 __declspec(dllexport) WCHAR* getPrefixed(const WCHAR* path, int pathlen);
42 WCHAR* currentDir(int di);
43 int currentDirLength(const WCHAR* path, int pathlen);
44 int handleAvailable(FD fd, jlong *pbytes);
45 int handleSync(FD fd);
46 jint handleSetLength(FD fd, jlong length);
47 jlong handleGetLength(FD fd);
48 JNIEXPORT jint handleRead(FD fd, void *buf, jint len);
49 jint handleWrite(FD fd, const void *buf, jint len);
50 jint handleAppend(FD fd, const void *buf, jint len);
51 void fileDescriptorClose(JNIEnv *env, jobject this);
52 JNIEXPORT jlong JNICALL
53 handleLseek(FD fd, jlong offset, jint whence);
54
55 /*
56 * Returns an opaque handle to file named by "path". If an error occurs,
57 * returns -1 and an exception is pending.
58 */
59 JNIEXPORT FD JNICALL
60 winFileHandleOpen(JNIEnv *env, jstring path, int flags);
61
|