39 int handleAvailable(jlong fd, jlong *pbytes); |
39 int handleAvailable(jlong fd, jlong *pbytes); |
40 JNIEXPORT int handleSync(jlong fd); |
40 JNIEXPORT int handleSync(jlong fd); |
41 int handleSetLength(jlong fd, jlong length); |
41 int handleSetLength(jlong fd, jlong length); |
42 JNIEXPORT size_t handleRead(jlong fd, void *buf, jint len); |
42 JNIEXPORT size_t handleRead(jlong fd, void *buf, jint len); |
43 JNIEXPORT size_t handleWrite(jlong fd, const void *buf, jint len); |
43 JNIEXPORT size_t handleWrite(jlong fd, const void *buf, jint len); |
|
44 JNIEXPORT size_t handleAppend(jlong fd, const void *buf, jint len); |
44 jint handleClose(JNIEnv *env, jobject this, jfieldID fid); |
45 jint handleClose(JNIEnv *env, jobject this, jfieldID fid); |
45 jlong handleLseek(jlong fd, jlong offset, jint whence); |
46 jlong handleLseek(jlong fd, jlong offset, jint whence); |
46 |
47 |
47 /* |
48 /* |
48 * Returns an opaque handle to file named by "path". If an error occurs, |
49 * Returns an opaque handle to file named by "path". If an error occurs, |
72 * Macros to set/get fd when inside java.io.FileDescriptor |
73 * Macros to set/get fd when inside java.io.FileDescriptor |
73 */ |
74 */ |
74 #define THIS_FD(obj) (*env)->GetLongField(env, obj, IO_handle_fdID) |
75 #define THIS_FD(obj) (*env)->GetLongField(env, obj, IO_handle_fdID) |
75 |
76 |
76 /* |
77 /* |
77 * Route the routines away from HPI layer |
78 * Route the routines away from VM |
78 */ |
79 */ |
|
80 #define IO_Append handleAppend |
79 #define IO_Write handleWrite |
81 #define IO_Write handleWrite |
80 #define IO_Sync handleSync |
82 #define IO_Sync handleSync |
81 #define IO_Read handleRead |
83 #define IO_Read handleRead |
82 #define IO_Lseek handleLseek |
84 #define IO_Lseek handleLseek |
83 #define IO_Available handleAvailable |
85 #define IO_Available handleAvailable |