/*
 * tclxmlDecls.h --
 *
 *	Declarations of functions in the platform independent public TCLXML API.
 *
 */

#ifndef _TCLXMLDECLS
#define _TCLXMLDECLS

/*
 * WARNING: The contents of this file is automatically generated by the
 * genStubs.tcl script. Any modifications to the function declarations
 * below should be made in the tclxml.decls script.
 */

/* !BEGIN!: Do not edit below this line. */

/*
 * Exported function declarations:
 */

/* 0 */
EXTERN int		Tclxml_Init _ANSI_ARGS_((Tcl_Interp * interp));
/* 1 */
EXTERN int		Tclxml_SafeInit _ANSI_ARGS_((Tcl_Interp * interp));
/* 2 */
EXTERN int		TclXML_RegisterXMLParser _ANSI_ARGS_((
				Tcl_Interp * interp, 
				TclXML_ParserClassInfo * parser));
/* 3 */
EXTERN int		TclXML_RegisterElementStartProc _ANSI_ARGS_((
				Tcl_Interp * interp, TclXML_Info * parser, 
				ClientData clientData, 
				TclXML_ElementStartProc * callback));
/* 4 */
EXTERN int		TclXML_RegisterElementEndProc _ANSI_ARGS_((
				Tcl_Interp * interp, TclXML_Info * parser, 
				ClientData clientData, 
				TclXML_ElementEndProc * callback));
/* 5 */
EXTERN int		TclXML_RegisterCharacterDataProc _ANSI_ARGS_((
				Tcl_Interp * interp, TclXML_Info * parser, 
				ClientData clientData, 
				TclXML_CharacterDataProc * callback));
/* 6 */
EXTERN int		TclXML_RegisterPIProc _ANSI_ARGS_((
				Tcl_Interp * interp, TclXML_Info * parser, 
				ClientData clientData, 
				TclXML_PIProc * callback));
/* 7 */
EXTERN int		TclXML_RegisterDefaultProc _ANSI_ARGS_((
				Tcl_Interp * interp, TclXML_Info * parser, 
				ClientData clientData, 
				TclXML_DefaultProc * callback));
/* 8 */
EXTERN int		TclXML_RegisterUnparsedProc _ANSI_ARGS_((
				Tcl_Interp * interp, TclXML_Info * parser, 
				ClientData clientData, 
				TclXML_UnparsedProc * callback));
/* 9 */
EXTERN int		TclXML_RegisterNotationDeclProc _ANSI_ARGS_((
				Tcl_Interp * interp, TclXML_Info * parser, 
				ClientData clientData, 
				TclXML_NotationDeclProc * callback));
/* 10 */
EXTERN int		TclXML_RegisterEntityProc _ANSI_ARGS_((
				Tcl_Interp * interp, TclXML_Info * parser, 
				ClientData clientData, 
				TclXML_EntityProc * callback));
/* 11 */
EXTERN int		TclXML_RegisterUnknownEncodingProc _ANSI_ARGS_((
				Tcl_Interp * interp, TclXML_Info * parser, 
				ClientData clientData, 
				TclXML_UnknownEncodingProc * callback));
/* 12 */
EXTERN int		TclXML_RegisterCommentProc _ANSI_ARGS_((
				Tcl_Interp * interp, TclXML_Info * parser, 
				ClientData clientData, 
				TclXML_CommentProc * callback));
/* 13 */
EXTERN int		TclXML_RegisterNotStandaloneProc _ANSI_ARGS_((
				Tcl_Interp * interp, TclXML_Info * parser, 
				ClientData clientData, 
				TclXML_NotStandaloneProc * callback));
/* 14 */
EXTERN int		TclXML_RegisterElementDeclProc _ANSI_ARGS_((
				Tcl_Interp * interp, TclXML_Info * parser, 
				ClientData clientData, 
				TclXML_ElementDeclProc * callback));
/* 15 */
EXTERN int		TclXML_RegisterAttListDeclProc _ANSI_ARGS_((
				Tcl_Interp * interp, TclXML_Info * parser, 
				ClientData clientData, 
				TclXML_AttlistDeclProc * callback));
/* 16 */
EXTERN int		TclXML_RegisterStartDoctypeDeclProc _ANSI_ARGS_((
				Tcl_Interp * interp, TclXML_Info * parser, 
				ClientData clientData, 
				TclXML_StartDoctypeDeclProc * callback));
/* 17 */
EXTERN int		TclXML_RegisterEndDoctypeDeclProc _ANSI_ARGS_((
				Tcl_Interp * interp, TclXML_Info * parser, 
				ClientData clientData, 
				TclXML_EndDoctypeDeclProc * callback));
/* 18 */
EXTERN void		TclXML_ElementStartHandler _ANSI_ARGS_((
				void * userdata, Tcl_Obj * name, 
				Tcl_Obj * nsuri, Tcl_Obj * atts, 
				Tcl_Obj * nsDeclsObj));
/* 19 */
EXTERN void		TclXML_ElementEndHandler _ANSI_ARGS_((
				void * userData, Tcl_Obj * name));
/* 20 */
EXTERN void		TclXML_CharacterDataHandler _ANSI_ARGS_((
				void * userData, Tcl_Obj * s));
/* 21 */
EXTERN void		TclXML_ProcessingInstructionHandler _ANSI_ARGS_((
				void * userData, Tcl_Obj * target, 
				Tcl_Obj * data));
/* 22 */
EXTERN int		TclXML_ExternalEntityRefHandler _ANSI_ARGS_((
				ClientData clientData, 
				Tcl_Obj * openEntityNames, Tcl_Obj * base, 
				Tcl_Obj * systemId, Tcl_Obj * publicId));
/* 23 */
EXTERN void		TclXML_DefaultHandler _ANSI_ARGS_((void * userData, 
				Tcl_Obj * s));
/* 24 */
EXTERN void		TclXML_UnparsedDeclHandler _ANSI_ARGS_((
				void * userData, Tcl_Obj * entityname, 
				Tcl_Obj * base, Tcl_Obj * systemId, 
				Tcl_Obj * publicId, Tcl_Obj * notationName));
/* 25 */
EXTERN void		TclXML_NotationDeclHandler _ANSI_ARGS_((
				void * userData, Tcl_Obj * notationName, 
				Tcl_Obj * base, Tcl_Obj * systemId, 
				Tcl_Obj * publicId));
/* 26 */
EXTERN int		TclXML_UnknownEncodingHandler _ANSI_ARGS_((
				void * encodingHandlerData, Tcl_Obj * name, 
				void * info));
/* 27 */
EXTERN void		TclXML_CommentHandler _ANSI_ARGS_((void * userData, 
				Tcl_Obj * data));
/* 28 */
EXTERN int		TclXML_NotStandaloneHandler _ANSI_ARGS_((
				void * userData));
/* Slot 29 is reserved */
/* Slot 30 is reserved */
/* 31 */
EXTERN void		TclXML_ElementDeclHandler _ANSI_ARGS_((
				void * userData, Tcl_Obj * name, 
				Tcl_Obj * contentspec));
/* 32 */
EXTERN void		TclXML_AttlistDeclHandler _ANSI_ARGS_((
				void * userData, Tcl_Obj * name, 
				Tcl_Obj * attributes));
/* 33 */
EXTERN void		TclXML_StartDoctypeDeclHandler _ANSI_ARGS_((
				void * userData, Tcl_Obj * name));
/* 34 */
EXTERN void		TclXML_EndDoctypeDeclHandler _ANSI_ARGS_((
				void * userData));

typedef struct TclxmlStubs {
    int magic;
    struct TclxmlStubHooks *hooks;

    int (*tclxml_Init) _ANSI_ARGS_((Tcl_Interp * interp)); /* 0 */
    int (*tclxml_SafeInit) _ANSI_ARGS_((Tcl_Interp * interp)); /* 1 */
    int (*tclXML_RegisterXMLParser) _ANSI_ARGS_((Tcl_Interp * interp, TclXML_ParserClassInfo * parser)); /* 2 */
    int (*tclXML_RegisterElementStartProc) _ANSI_ARGS_((Tcl_Interp * interp, TclXML_Info * parser, ClientData clientData, TclXML_ElementStartProc * callback)); /* 3 */
    int (*tclXML_RegisterElementEndProc) _ANSI_ARGS_((Tcl_Interp * interp, TclXML_Info * parser, ClientData clientData, TclXML_ElementEndProc * callback)); /* 4 */
    int (*tclXML_RegisterCharacterDataProc) _ANSI_ARGS_((Tcl_Interp * interp, TclXML_Info * parser, ClientData clientData, TclXML_CharacterDataProc * callback)); /* 5 */
    int (*tclXML_RegisterPIProc) _ANSI_ARGS_((Tcl_Interp * interp, TclXML_Info * parser, ClientData clientData, TclXML_PIProc * callback)); /* 6 */
    int (*tclXML_RegisterDefaultProc) _ANSI_ARGS_((Tcl_Interp * interp, TclXML_Info * parser, ClientData clientData, TclXML_DefaultProc * callback)); /* 7 */
    int (*tclXML_RegisterUnparsedProc) _ANSI_ARGS_((Tcl_Interp * interp, TclXML_Info * parser, ClientData clientData, TclXML_UnparsedProc * callback)); /* 8 */
    int (*tclXML_RegisterNotationDeclProc) _ANSI_ARGS_((Tcl_Interp * interp, TclXML_Info * parser, ClientData clientData, TclXML_NotationDeclProc * callback)); /* 9 */
    int (*tclXML_RegisterEntityProc) _ANSI_ARGS_((Tcl_Interp * interp, TclXML_Info * parser, ClientData clientData, TclXML_EntityProc * callback)); /* 10 */
    int (*tclXML_RegisterUnknownEncodingProc) _ANSI_ARGS_((Tcl_Interp * interp, TclXML_Info * parser, ClientData clientData, TclXML_UnknownEncodingProc * callback)); /* 11 */
    int (*tclXML_RegisterCommentProc) _ANSI_ARGS_((Tcl_Interp * interp, TclXML_Info * parser, ClientData clientData, TclXML_CommentProc * callback)); /* 12 */
    int (*tclXML_RegisterNotStandaloneProc) _ANSI_ARGS_((Tcl_Interp * interp, TclXML_Info * parser, ClientData clientData, TclXML_NotStandaloneProc * callback)); /* 13 */
    int (*tclXML_RegisterElementDeclProc) _ANSI_ARGS_((Tcl_Interp * interp, TclXML_Info * parser, ClientData clientData, TclXML_ElementDeclProc * callback)); /* 14 */
    int (*tclXML_RegisterAttListDeclProc) _ANSI_ARGS_((Tcl_Interp * interp, TclXML_Info * parser, ClientData clientData, TclXML_AttlistDeclProc * callback)); /* 15 */
    int (*tclXML_RegisterStartDoctypeDeclProc) _ANSI_ARGS_((Tcl_Interp * interp, TclXML_Info * parser, ClientData clientData, TclXML_StartDoctypeDeclProc * callback)); /* 16 */
    int (*tclXML_RegisterEndDoctypeDeclProc) _ANSI_ARGS_((Tcl_Interp * interp, TclXML_Info * parser, ClientData clientData, TclXML_EndDoctypeDeclProc * callback)); /* 17 */
    void (*tclXML_ElementStartHandler) _ANSI_ARGS_((void * userdata, Tcl_Obj * name, Tcl_Obj * nsuri, Tcl_Obj * atts, Tcl_Obj * nsDeclsObj)); /* 18 */
    void (*tclXML_ElementEndHandler) _ANSI_ARGS_((void * userData, Tcl_Obj * name)); /* 19 */
    void (*tclXML_CharacterDataHandler) _ANSI_ARGS_((void * userData, Tcl_Obj * s)); /* 20 */
    void (*tclXML_ProcessingInstructionHandler) _ANSI_ARGS_((void * userData, Tcl_Obj * target, Tcl_Obj * data)); /* 21 */
    int (*tclXML_ExternalEntityRefHandler) _ANSI_ARGS_((ClientData clientData, Tcl_Obj * openEntityNames, Tcl_Obj * base, Tcl_Obj * systemId, Tcl_Obj * publicId)); /* 22 */
    void (*tclXML_DefaultHandler) _ANSI_ARGS_((void * userData, Tcl_Obj * s)); /* 23 */
    void (*tclXML_UnparsedDeclHandler) _ANSI_ARGS_((void * userData, Tcl_Obj * entityname, Tcl_Obj * base, Tcl_Obj * systemId, Tcl_Obj * publicId, Tcl_Obj * notationName)); /* 24 */
    void (*tclXML_NotationDeclHandler) _ANSI_ARGS_((void * userData, Tcl_Obj * notationName, Tcl_Obj * base, Tcl_Obj * systemId, Tcl_Obj * publicId)); /* 25 */
    int (*tclXML_UnknownEncodingHandler) _ANSI_ARGS_((void * encodingHandlerData, Tcl_Obj * name, void * info)); /* 26 */
    void (*tclXML_CommentHandler) _ANSI_ARGS_((void * userData, Tcl_Obj * data)); /* 27 */
    int (*tclXML_NotStandaloneHandler) _ANSI_ARGS_((void * userData)); /* 28 */
    void *reserved29;
    void *reserved30;
    void (*tclXML_ElementDeclHandler) _ANSI_ARGS_((void * userData, Tcl_Obj * name, Tcl_Obj * contentspec)); /* 31 */
    void (*tclXML_AttlistDeclHandler) _ANSI_ARGS_((void * userData, Tcl_Obj * name, Tcl_Obj * attributes)); /* 32 */
    void (*tclXML_StartDoctypeDeclHandler) _ANSI_ARGS_((void * userData, Tcl_Obj * name)); /* 33 */
    void (*tclXML_EndDoctypeDeclHandler) _ANSI_ARGS_((void * userData)); /* 34 */
} TclxmlStubs;

#ifdef __cplusplus
extern "C" {
#endif
extern TclxmlStubs *tclxmlStubsPtr;
#ifdef __cplusplus
}
#endif

#if defined(USE_TCLXML_STUBS) && !defined(USE_TCLXML_STUB_PROCS)

/*
 * Inline function declarations:
 */

#ifndef Tclxml_Init
#define Tclxml_Init \
	(tclxmlStubsPtr->tclxml_Init) /* 0 */
#endif
#ifndef Tclxml_SafeInit
#define Tclxml_SafeInit \
	(tclxmlStubsPtr->tclxml_SafeInit) /* 1 */
#endif
#ifndef TclXML_RegisterXMLParser
#define TclXML_RegisterXMLParser \
	(tclxmlStubsPtr->tclXML_RegisterXMLParser) /* 2 */
#endif
#ifndef TclXML_RegisterElementStartProc
#define TclXML_RegisterElementStartProc \
	(tclxmlStubsPtr->tclXML_RegisterElementStartProc) /* 3 */
#endif
#ifndef TclXML_RegisterElementEndProc
#define TclXML_RegisterElementEndProc \
	(tclxmlStubsPtr->tclXML_RegisterElementEndProc) /* 4 */
#endif
#ifndef TclXML_RegisterCharacterDataProc
#define TclXML_RegisterCharacterDataProc \
	(tclxmlStubsPtr->tclXML_RegisterCharacterDataProc) /* 5 */
#endif
#ifndef TclXML_RegisterPIProc
#define TclXML_RegisterPIProc \
	(tclxmlStubsPtr->tclXML_RegisterPIProc) /* 6 */
#endif
#ifndef TclXML_RegisterDefaultProc
#define TclXML_RegisterDefaultProc \
	(tclxmlStubsPtr->tclXML_RegisterDefaultProc) /* 7 */
#endif
#ifndef TclXML_RegisterUnparsedProc
#define TclXML_RegisterUnparsedProc \
	(tclxmlStubsPtr->tclXML_RegisterUnparsedProc) /* 8 */
#endif
#ifndef TclXML_RegisterNotationDeclProc
#define TclXML_RegisterNotationDeclProc \
	(tclxmlStubsPtr->tclXML_RegisterNotationDeclProc) /* 9 */
#endif
#ifndef TclXML_RegisterEntityProc
#define TclXML_RegisterEntityProc \
	(tclxmlStubsPtr->tclXML_RegisterEntityProc) /* 10 */
#endif
#ifndef TclXML_RegisterUnknownEncodingProc
#define TclXML_RegisterUnknownEncodingProc \
	(tclxmlStubsPtr->tclXML_RegisterUnknownEncodingProc) /* 11 */
#endif
#ifndef TclXML_RegisterCommentProc
#define TclXML_RegisterCommentProc \
	(tclxmlStubsPtr->tclXML_RegisterCommentProc) /* 12 */
#endif
#ifndef TclXML_RegisterNotStandaloneProc
#define TclXML_RegisterNotStandaloneProc \
	(tclxmlStubsPtr->tclXML_RegisterNotStandaloneProc) /* 13 */
#endif
#ifndef TclXML_RegisterElementDeclProc
#define TclXML_RegisterElementDeclProc \
	(tclxmlStubsPtr->tclXML_RegisterElementDeclProc) /* 14 */
#endif
#ifndef TclXML_RegisterAttListDeclProc
#define TclXML_RegisterAttListDeclProc \
	(tclxmlStubsPtr->tclXML_RegisterAttListDeclProc) /* 15 */
#endif
#ifndef TclXML_RegisterStartDoctypeDeclProc
#define TclXML_RegisterStartDoctypeDeclProc \
	(tclxmlStubsPtr->tclXML_RegisterStartDoctypeDeclProc) /* 16 */
#endif
#ifndef TclXML_RegisterEndDoctypeDeclProc
#define TclXML_RegisterEndDoctypeDeclProc \
	(tclxmlStubsPtr->tclXML_RegisterEndDoctypeDeclProc) /* 17 */
#endif
#ifndef TclXML_ElementStartHandler
#define TclXML_ElementStartHandler \
	(tclxmlStubsPtr->tclXML_ElementStartHandler) /* 18 */
#endif
#ifndef TclXML_ElementEndHandler
#define TclXML_ElementEndHandler \
	(tclxmlStubsPtr->tclXML_ElementEndHandler) /* 19 */
#endif
#ifndef TclXML_CharacterDataHandler
#define TclXML_CharacterDataHandler \
	(tclxmlStubsPtr->tclXML_CharacterDataHandler) /* 20 */
#endif
#ifndef TclXML_ProcessingInstructionHandler
#define TclXML_ProcessingInstructionHandler \
	(tclxmlStubsPtr->tclXML_ProcessingInstructionHandler) /* 21 */
#endif
#ifndef TclXML_ExternalEntityRefHandler
#define TclXML_ExternalEntityRefHandler \
	(tclxmlStubsPtr->tclXML_ExternalEntityRefHandler) /* 22 */
#endif
#ifndef TclXML_DefaultHandler
#define TclXML_DefaultHandler \
	(tclxmlStubsPtr->tclXML_DefaultHandler) /* 23 */
#endif
#ifndef TclXML_UnparsedDeclHandler
#define TclXML_UnparsedDeclHandler \
	(tclxmlStubsPtr->tclXML_UnparsedDeclHandler) /* 24 */
#endif
#ifndef TclXML_NotationDeclHandler
#define TclXML_NotationDeclHandler \
	(tclxmlStubsPtr->tclXML_NotationDeclHandler) /* 25 */
#endif
#ifndef TclXML_UnknownEncodingHandler
#define TclXML_UnknownEncodingHandler \
	(tclxmlStubsPtr->tclXML_UnknownEncodingHandler) /* 26 */
#endif
#ifndef TclXML_CommentHandler
#define TclXML_CommentHandler \
	(tclxmlStubsPtr->tclXML_CommentHandler) /* 27 */
#endif
#ifndef TclXML_NotStandaloneHandler
#define TclXML_NotStandaloneHandler \
	(tclxmlStubsPtr->tclXML_NotStandaloneHandler) /* 28 */
#endif
/* Slot 29 is reserved */
/* Slot 30 is reserved */
#ifndef TclXML_ElementDeclHandler
#define TclXML_ElementDeclHandler \
	(tclxmlStubsPtr->tclXML_ElementDeclHandler) /* 31 */
#endif
#ifndef TclXML_AttlistDeclHandler
#define TclXML_AttlistDeclHandler \
	(tclxmlStubsPtr->tclXML_AttlistDeclHandler) /* 32 */
#endif
#ifndef TclXML_StartDoctypeDeclHandler
#define TclXML_StartDoctypeDeclHandler \
	(tclxmlStubsPtr->tclXML_StartDoctypeDeclHandler) /* 33 */
#endif
#ifndef TclXML_EndDoctypeDeclHandler
#define TclXML_EndDoctypeDeclHandler \
	(tclxmlStubsPtr->tclXML_EndDoctypeDeclHandler) /* 34 */
#endif

#endif /* defined(USE_TCLXML_STUBS) && !defined(USE_TCLXML_STUB_PROCS) */

/* !END!: Do not edit above this line. */

#endif /* _TCLXMLDECLS */

