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

#ifndef __gnu_java_net_PlainSocketImpl$SocketInputStream__
#define __gnu_java_net_PlainSocketImpl$SocketInputStream__

#pragma interface

#include <java/io/InputStream.h>
#include <gcj/array.h>

extern "Java"
{
  namespace gnu
  {
    namespace java
    {
      namespace net
      {
          class PlainSocketImpl;
          class PlainSocketImpl$SocketInputStream;
      }
    }
  }
}

class gnu::java::net::PlainSocketImpl$SocketInputStream : public ::java::io::InputStream
{

public: // actually package-private
  PlainSocketImpl$SocketInputStream(::gnu::java::net::PlainSocketImpl *);
public:
  jint available();
  void close();
  jint read();
  jint read(JArray< jbyte > *, jint, jint);
public: // actually package-private
  ::gnu::java::net::PlainSocketImpl * __attribute__((aligned(__alignof__( ::java::io::InputStream)))) this$0;
public:
  static ::java::lang::Class class$;
};

#endif // __gnu_java_net_PlainSocketImpl$SocketInputStream__
