/* DO NOT EDIT THIS FILE - it is machine generated */
#include <native.h>

#ifndef _Included_java_io_ObjectOutputStream
#define _Included_java_io_ObjectOutputStream

#ifdef __cplusplus
extern "C" {
#endif

/* Header for class java_io_ObjectOutputStream */

typedef struct Classjava_io_ObjectOutputStream {
  jbool blockDataMode;
  HArrayOfByte* buf;
  jint count;
  struct Hjava_io_OutputStream* out;
  struct Hjava_io_DataOutputStream* dos;
  struct Hjava_io_IOException* abortIOException;
  HArrayOfObject* wireHandle2Object;
  HArrayOfInt* wireNextHandle;
  HArrayOfInt* wireHash2Handle;
  jint nextWireOffset;
  struct Hjava_lang_Object* currentObject;
  struct Hjava_io_ObjectStreamClass* currentClassDesc;
  struct Hjava_util_Stack* classDescStack;
  jbool enableReplace;
  HArrayOfObject* replaceObjects;
  jint nextReplaceOffset;
  jint recursionDepth;
} Classjava_io_ObjectOutputStream;
HandleTo(java_io_ObjectOutputStream);

extern void java_io_ObjectOutputStream_outputClassFields(struct Hjava_io_ObjectOutputStream*, struct Hjava_lang_Object*, struct Hjava_lang_Class*, HArrayOfInt*);
extern jbool java_io_ObjectOutputStream_invokeObjectWriter(struct Hjava_io_ObjectOutputStream*, struct Hjava_lang_Object*, struct Hjava_lang_Class*);

#ifdef __cplusplus
}
#endif

#endif
