#ifndef _MODULE_XML_UnicodeCodec_UTF8_
#define _MODULE_XML_UnicodeCodec_UTF8_

#include <__typemap.h>
#include <RT0.oh>
#include <XML/UnicodeCodec.oh>
#include <RT0.oh>
#include <Object.oh>
#include <Exception.oh>
typedef struct XML_UnicodeCodec_UTF8__CodecDesc *XML_UnicodeCodec_UTF8__Codec;
typedef struct XML_UnicodeCodec_UTF8__CodecDesc {
  OOC_INT32 invalidChars;
  OOC_INT8 bom;
} XML_UnicodeCodec_UTF8__CodecDesc;
typedef struct XML_UnicodeCodec_UTF8__FactoryDesc *XML_UnicodeCodec_UTF8__Factory;
typedef struct XML_UnicodeCodec_UTF8__FactoryDesc {
  OOC_INT8 bom;
} XML_UnicodeCodec_UTF8__FactoryDesc;
extern XML_UnicodeCodec_UTF8__Factory XML_UnicodeCodec_UTF8__factory;
extern void XML_UnicodeCodec_UTF8__CodecDesc_Decode(XML_UnicodeCodec_UTF8__Codec codec, OOC_CHAR8 source[], OOC_LEN source_0d, OOC_INT32 sourceStart, OOC_INT32 sourceEnd, OOC_CHAR16 dest[], OOC_LEN dest_0d, OOC_INT32 destStart, OOC_INT32 destEnd, OOC_INT32 *sourceDone, OOC_INT32 *destDone);
#define _TBN_XML_UnicodeCodec_UTF8__CodecDesc_Decode 0
typedef void (*_TBP_XML_UnicodeCodec_UTF8__CodecDesc_Decode)(XML_UnicodeCodec_UTF8__Codec codec, OOC_CHAR8 source[], OOC_LEN source_0d, OOC_INT32 sourceStart, OOC_INT32 sourceEnd, OOC_CHAR16 dest[], OOC_LEN dest_0d, OOC_INT32 destStart, OOC_INT32 destEnd, OOC_INT32 *sourceDone, OOC_INT32 *destDone);
extern void XML_UnicodeCodec_UTF8__CodecDesc_Encode(XML_UnicodeCodec_UTF8__Codec codec, OOC_CHAR16 source[], OOC_LEN source_0d, OOC_INT32 sourceStart, OOC_INT32 sourceEnd, OOC_CHAR8 dest[], OOC_LEN dest_0d, OOC_INT32 destStart, OOC_INT32 destEnd, OOC_INT32 *sourceDone, OOC_INT32 *destDone);
#define _TBN_XML_UnicodeCodec_UTF8__CodecDesc_Encode 1
typedef void (*_TBP_XML_UnicodeCodec_UTF8__CodecDesc_Encode)(XML_UnicodeCodec_UTF8__Codec codec, OOC_CHAR16 source[], OOC_LEN source_0d, OOC_INT32 sourceStart, OOC_INT32 sourceEnd, OOC_CHAR8 dest[], OOC_LEN dest_0d, OOC_INT32 destStart, OOC_INT32 destEnd, OOC_INT32 *sourceDone, OOC_INT32 *destDone);
extern XML_UnicodeCodec__Codec XML_UnicodeCodec_UTF8__FactoryDesc_NewCodec(XML_UnicodeCodec_UTF8__Factory f);
#define _TBN_XML_UnicodeCodec_UTF8__FactoryDesc_NewCodec 1
typedef XML_UnicodeCodec__Codec (*_TBP_XML_UnicodeCodec_UTF8__FactoryDesc_NewCodec)(XML_UnicodeCodec_UTF8__Factory f);
extern XML_UnicodeCodec__Codec XML_UnicodeCodec_UTF8__FactoryDesc_NewCodecBOM(XML_UnicodeCodec_UTF8__Factory f, OOC_CHAR8 source[], OOC_LEN source_0d, OOC_INT32 sourceStart, OOC_INT32 sourceEnd, OOC_INT32 *sourceDone);
#define _TBN_XML_UnicodeCodec_UTF8__FactoryDesc_NewCodecBOM 2
typedef XML_UnicodeCodec__Codec (*_TBP_XML_UnicodeCodec_UTF8__FactoryDesc_NewCodecBOM)(XML_UnicodeCodec_UTF8__Factory f, OOC_CHAR8 source[], OOC_LEN source_0d, OOC_INT32 sourceStart, OOC_INT32 sourceEnd, OOC_INT32 *sourceDone);
extern void XML_UnicodeCodec_UTF8__FactoryDesc_GetEncodingName(XML_UnicodeCodec_UTF8__Factory f, OOC_CHAR8 name[], OOC_LEN name_0d);
#define _TBN_XML_UnicodeCodec_UTF8__FactoryDesc_GetEncodingName 0
typedef void (*_TBP_XML_UnicodeCodec_UTF8__FactoryDesc_GetEncodingName)(XML_UnicodeCodec_UTF8__Factory f, OOC_CHAR8 name[], OOC_LEN name_0d);
extern void OOC_XML_UnicodeCodec_UTF8_init(void);
extern void OOC_XML_UnicodeCodec_UTF8_init0(void);

/* run-time meta data */
extern RT0__StructDesc _td_XML_UnicodeCodec_UTF8__Codec;
extern RT0__StructDesc _td_XML_UnicodeCodec_UTF8__CodecDesc;
extern RT0__StructDesc _td_XML_UnicodeCodec_UTF8__Factory;
extern RT0__StructDesc _td_XML_UnicodeCodec_UTF8__FactoryDesc;
extern RT0__StructDesc _td_XML_UnicodeCodec_UTF8__793;
extern RT0__StructDesc _td_XML_UnicodeCodec_UTF8__919;
extern RT0__StructDesc _td_XML_UnicodeCodec_UTF8__6896;
extern RT0__StructDesc _td_XML_UnicodeCodec_UTF8__7026;
extern RT0__StructDesc _td_XML_UnicodeCodec_UTF8__10992;
extern RT0__StructDesc _td_XML_UnicodeCodec_UTF8__11541;
#endif /* _MODULE_XML_UnicodeCodec_UTF8_ */

/* --- */
