#include "file-64.h" /* must come first */ #include #include #include "layout!PLT14FileDescriptor2io4java.h" #include "native-file-utils.h" typedef PT16RandomAccessFile2io4java GP_RandomAccessFile; typedef LT14FileDescriptor2io4java LP_FileDesc; typedef PT14FileDescriptor2io4java GP_FileDesc; typedef PLT14FileDescriptor2io4java GP_LP_FileDesc; #define getFileDescriptor m5getFDmT16RandomAccessFile2io4java void m4openPT6String4lang4javaZmT16RandomAccessFile2io4java( GP_RandomAccessFile me, PT6String4lang4java name, jboolean writeable ) { jopen( getFileDescriptor( me ), name, writeable ? (O_RDWR | O_CREAT) : O_RDONLY ); } jint m4readmT16RandomAccessFile2io4java( GP_RandomAccessFile me ) { return jread( getFileDescriptor( me ) ); } jint m9readBytesPTAjbyteIImT16RandomAccessFile2io4java( GP_RandomAccessFile me, PTAjbyte b, jint off, jint len ) { return jreadBytes( getFileDescriptor( me ), b, off, len ); } void m5writeImT16RandomAccessFile2io4java( GP_RandomAccessFile me, jint b ) { jwrite( getFileDescriptor( me ), b ); } void m10writeBytesPTAjbyteIImT16RandomAccessFile2io4java( GP_RandomAccessFile me, PTAjbyte b, jint off, jint len ) { jwriteBytes( getFileDescriptor( me ), b, off, len ); } jlong m14getFilePointermT16RandomAccessFile2io4java( GP_RandomAccessFile me ) { return jseek( getFileDescriptor( me ), 0, SEEK_CUR ); } void m4seekJmT16RandomAccessFile2io4java( GP_RandomAccessFile me, jlong pos ) { jseek( getFileDescriptor( me ), pos, SEEK_SET ); } jlong m6lengthmT16RandomAccessFile2io4java( GP_RandomAccessFile me ) { struct stat64 stats; if (fstat64( getFd( getFileDescriptor( me ) ), &stats ) == -1) tossIOException(); else return (jlong) CONVERT_OFF64_TO_LONG_LONG(stats.st_size); } void m5closemT16RandomAccessFile2io4java( GP_RandomAccessFile me ) { jclose( getFileDescriptor( me ) ); }