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

#ifndef __java_io_ObjectStreamConstants__
#define __java_io_ObjectStreamConstants__

#pragma interface

#include <java/lang/Object.h>

class java::io::ObjectStreamConstants : public ::java::lang::Object
{

public:
  static const jint PROTOCOL_VERSION_1 = 1;
  static const jint PROTOCOL_VERSION_2 = 2;
  static const jshort STREAM_MAGIC = -21267;
  static const jshort STREAM_VERSION = 5;
  static const jbyte TC_NULL = 112;
  static const jbyte TC_REFERENCE = 113;
  static const jbyte TC_CLASSDESC = 114;
  static const jbyte TC_OBJECT = 115;
  static const jbyte TC_STRING = 116;
  static const jbyte TC_ARRAY = 117;
  static const jbyte TC_CLASS = 118;
  static const jbyte TC_BLOCKDATA = 119;
  static const jbyte TC_ENDBLOCKDATA = 120;
  static const jbyte TC_RESET = 121;
  static const jbyte TC_BLOCKDATALONG = 122;
  static const jbyte TC_EXCEPTION = 123;
  static const jbyte TC_LONGSTRING = 124;
  static const jbyte TC_PROXYCLASSDESC = 125;
  static const jbyte TC_ENUM = 126;
  static const jbyte TC_BASE = 112;
  static const jbyte TC_MAX = 126;
  static const jint baseWireHandle = 8257536;
  static const jbyte SC_WRITE_METHOD = 1;
  static const jbyte SC_SERIALIZABLE = 2;
  static const jbyte SC_EXTERNALIZABLE = 4;
  static const jbyte SC_BLOCK_DATA = 8;
  static const jbyte SC_ENUM = 16;
  static ::java::io::SerializablePermission * SUBSTITUTION_PERMISSION;
  static ::java::io::SerializablePermission * SUBCLASS_IMPLEMENTATION_PERMISSION;
  static ::java::lang::Class class$;
} __attribute__ ((java_interface));

#endif // __java_io_ObjectStreamConstants__
