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

Print this page
rev 10519 : 8054720: Modifications of I/O methods for instrumentation purposes
Summary: Wrap some native methods in Java methods.
Reviewed-by: TBD


  37 /*  BEGIN JNI ********* BEGIN JNI *********** BEGIN JNI ************/
  38 /*******************************************************************/
  39 
  40 jfieldID fos_fd; /* id for jobject 'fd' in java.io.FileOutputStream */
  41 
  42 /**************************************************************
  43  * static methods to store field ID's in initializers
  44  */
  45 
  46 JNIEXPORT void JNICALL
  47 Java_java_io_FileOutputStream_initIDs(JNIEnv *env, jclass fosClass) {
  48     fos_fd =
  49         (*env)->GetFieldID(env, fosClass, "fd", "Ljava/io/FileDescriptor;");
  50 }
  51 
  52 /**************************************************************
  53  * Output stream
  54  */
  55 
  56 JNIEXPORT void JNICALL
  57 Java_java_io_FileOutputStream_open(JNIEnv *env, jobject this,
  58                                    jstring path, jboolean append) {
  59     fileOpen(env, this, path, fos_fd,
  60              O_WRONLY | O_CREAT | (append ? O_APPEND : O_TRUNC));
  61 }
  62 
  63 JNIEXPORT void JNICALL
  64 Java_java_io_FileOutputStream_write(JNIEnv *env, jobject this, jint byte, jboolean append) {
  65     writeSingle(env, this, byte, append, fos_fd);
  66 }
  67 
  68 JNIEXPORT void JNICALL
  69 Java_java_io_FileOutputStream_writeBytes(JNIEnv *env,
  70     jobject this, jbyteArray bytes, jint off, jint len, jboolean append)
  71 {
  72     writeBytes(env, this, bytes, off, len, append, fos_fd);
  73 }
  74 
  75 JNIEXPORT void JNICALL
  76 Java_java_io_FileOutputStream_close0(JNIEnv *env, jobject this) {
  77         handleClose(env, this, fos_fd);


  37 /*  BEGIN JNI ********* BEGIN JNI *********** BEGIN JNI ************/
  38 /*******************************************************************/
  39 
  40 jfieldID fos_fd; /* id for jobject 'fd' in java.io.FileOutputStream */
  41 
  42 /**************************************************************
  43  * static methods to store field ID's in initializers
  44  */
  45 
  46 JNIEXPORT void JNICALL
  47 Java_java_io_FileOutputStream_initIDs(JNIEnv *env, jclass fosClass) {
  48     fos_fd =
  49         (*env)->GetFieldID(env, fosClass, "fd", "Ljava/io/FileDescriptor;");
  50 }
  51 
  52 /**************************************************************
  53  * Output stream
  54  */
  55 
  56 JNIEXPORT void JNICALL
  57 Java_java_io_FileOutputStream_open0(JNIEnv *env, jobject this,
  58                                     jstring path, jboolean append) {
  59     fileOpen(env, this, path, fos_fd,
  60              O_WRONLY | O_CREAT | (append ? O_APPEND : O_TRUNC));
  61 }
  62 
  63 JNIEXPORT void JNICALL
  64 Java_java_io_FileOutputStream_write(JNIEnv *env, jobject this, jint byte, jboolean append) {
  65     writeSingle(env, this, byte, append, fos_fd);
  66 }
  67 
  68 JNIEXPORT void JNICALL
  69 Java_java_io_FileOutputStream_writeBytes(JNIEnv *env,
  70     jobject this, jbyteArray bytes, jint off, jint len, jboolean append)
  71 {
  72     writeBytes(env, this, bytes, off, len, append, fos_fd);
  73 }
  74 
  75 JNIEXPORT void JNICALL
  76 Java_java_io_FileOutputStream_close0(JNIEnv *env, jobject this) {
  77         handleClose(env, this, fos_fd);