// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-

#ifndef __java_io_FileDescriptor__
#define __java_io_FileDescriptor__

#pragma interface

#include <java/lang/Object.h>
#include <gcj/array.h>

class java::io::FileDescriptor : public ::java::lang::Object
{
private:
  static void init ();
public:
  void sync ();
  jboolean valid ();
  FileDescriptor ();
public: // actually package-private
  FileDescriptor (::java::lang::String *, jint);
  jint open (::java::lang::String *, jint);
  void write (jint);
  void write (jbyteArray, jint, jint);
  void close ();
  void setLength (jlong);
  jint seek (jlong, jint, jboolean);
  jlong getLength ();
  jlong getFilePointer ();
  jint read ();
  jint read (jbyteArray, jint, jint);
  jint available ();
public:  // actually protected
  void finalize ();
public: // actually package-private
  FileDescriptor (jint);
public:
  static ::java::io::FileDescriptor *in;
  static ::java::io::FileDescriptor *out;
  static ::java::io::FileDescriptor *err;
public: // actually package-private
  static const jint READ = 1L;
  static const jint WRITE = 2L;
  static const jint APPEND = 4L;
  static const jint EXCL = 8L;
  static const jint SYNC = 16L;
  static const jint DSYNC = 32L;
  static const jint SET = 0L;
  static const jint CUR = 1L;
private:
  jint __attribute__((aligned(__alignof__( ::java::lang::Object ))))  fd;
  jlong position;
public:

  static ::java::lang::Class class$;
};

#endif /* __java_io_FileDescriptor__ */
