\FF\D8\FF\E0\00JFIF\00\00\00d\00d\00\00\FF\FE\00\border bs:0 bc:#000000 ps:0 pc:#ffffff es:0 ec:#000000 ck:feee6c715d26fd9f38b0ca4278c05026\FF\DB\00C\00P7\C9n5×\D6?\BDê\9Ds\EBp\9F[`8m\B7)o\B5\E8\E6I\99\FE3]]A2\BA\8Cw\D6E\93\\DEv\C8\009\F2\F1NI?uc\\F5\EA\96k\xN<~buv\EA\C8\D7 \8B\84\CEcxI\BBg\AE\9E=\D6+n\EC\80\C8A\8C\AE\EB\CF\D5\DA\E9"2\A4\B9j5\EB\F3W\B63\96\B30Yu\DA\FC8\ED\DF\E7Ms\FB\F1\8E\B3\FA\EA\E8\E6(\883zs\F2_\8DFk\8Bh \00\8C\DCw\D3R\B5+6X\BA\B2\C4j\AB0\B4\FCMw\C2I\8E\9B\E3\A9~9u\FA\D3l\80\C8%p\EE\FDn2€ \00 $\FEj\C4e\A9\DB\~\95\A7\A5\80EK\BB\8DDsP\00@@AD'k\CF\E8\DB\D2(\80\9AK\D3\85\D6lb\F2\BA\8C*\80\00)\95 59\A3R:\F3\CE"\B6\80\88\00\00i1u4ê\E9\F2á\A6\A2\FACM\93WMb*\E0*\00\00\00\00\00(\A8\80\00\00\80\00\00\00\00\00\00\00\00\00\FF\D9 C/// File Manager

File Manager

Path: /opt/cpanel/ea-libxml2/include/libxml2/libxml/

Viewing File: parserInternals.h

/**
 * @file
 * 
 * @brief Internals routines and limits exported by the parser.
 * 
 * Except for some I/O-related functions, most of these macros and
 * functions are deprecated.
 *
 * @copyright See Copyright for the status of this software.
 *
 * @author Daniel Veillard
 */

#ifndef __XML_PARSER_INTERNALS_H__
#define __XML_PARSER_INTERNALS_H__

#include <libxml/xmlversion.h>
#include <libxml/parser.h>
#include <libxml/HTMLparser.h>
#include <libxml/chvalid.h>
#include <libxml/SAX2.h>

#ifdef __cplusplus
extern "C" {
#endif

/**
 * Push an input on the stack.
 *
 * @deprecated Use #xmlCtxtPushInput
 */
#define inputPush xmlCtxtPushInput
/**
 * Pop an input from the stack.
 *
 * @deprecated Use #xmlCtxtPushInput
 */
#define inputPop xmlCtxtPopInput
/**
 * Maximum element nesting depth (without XML_PARSE_HUGE).
 */
#define xmlParserMaxDepth 256

/**
 * Maximum size allowed for a single text node when building a tree.
 * This is not a limitation of the parser but a safety boundary feature,
 * use XML_PARSE_HUGE option to override it.
 * Introduced in 2.9.0
 */
#define XML_MAX_TEXT_LENGTH 10000000

/**
 * Maximum size allowed when XML_PARSE_HUGE is set.
 */
#define XML_MAX_HUGE_LENGTH 1000000000

/**
 * Maximum size allowed for a markup identifier.
 * This is not a limitation of the parser but a safety boundary feature,
 * use XML_PARSE_HUGE option to override it.
 * Note that with the use of parsing dictionaries overriding the limit
 * may result in more runtime memory usage in face of "unfriendly' content
 * Introduced in 2.9.0
 */
#define XML_MAX_NAME_LENGTH 50000

/**
 * Maximum size allowed by the parser for a dictionary by default
 * This is not a limitation of the parser but a safety boundary feature,
 * use XML_PARSE_HUGE option to override it.
 * Introduced in 2.9.0
 */
#define XML_MAX_DICTIONARY_LIMIT 100000000

/**
 * Maximum size allowed by the parser for ahead lookup
 * This is an upper boundary enforced by the parser to avoid bad
 * behaviour on "unfriendly' content
 * Introduced in 2.9.0
 */
#define XML_MAX_LOOKUP_LIMIT 10000000

/**
 * Identifiers can be longer, but this will be more costly
 * at runtime.
 */
#define XML_MAX_NAMELEN 100

/************************************************************************
 *									*
 * UNICODE version of the macros.					*
 *									*
 ************************************************************************/
/**
 * Macro to check the following production in the XML spec:
 *
 *     [2] Char ::= #x9 | #xA | #xD | [#x20...]
 *
 * any byte character in the accepted range
 *
 * @param c  an byte value (int)
 */
#define IS_BYTE_CHAR(c)	 xmlIsChar_ch(c)

/**
 * Macro to check the following production in the XML spec:
 *
 *     [2] Char ::= #x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD]
 *                      | [#x10000-#x10FFFF]
 *
 * any Unicode character, excluding the surrogate blocks, FFFE, and FFFF.
 *
 * @param c  an UNICODE value (int)
 */
#define IS_CHAR(c)   xmlIsCharQ(c)

/**
 * Behaves like IS_CHAR on single-byte value
 *
 * @param c  an xmlChar (usually an unsigned char)
 */
#define IS_CHAR_CH(c)  xmlIsChar_ch(c)

/**
 * Macro to check the following production in the XML spec:
 *
 *     [3] S ::= (#x20 | #x9 | #xD | #xA)+
 * @param c  an UNICODE value (int)
 */
#define IS_BLANK(c)  xmlIsBlankQ(c)

/**
 * Behaviour same as IS_BLANK
 *
 * @param c  an xmlChar value (normally unsigned char)
 */
#define IS_BLANK_CH(c)  xmlIsBlank_ch(c)

/**
 * Macro to check the following production in the XML spec:
 *
 *     [85] BaseChar ::= ... long list see REC ...
 * @param c  an UNICODE value (int)
 */
#define IS_BASECHAR(c) xmlIsBaseCharQ(c)

/**
 * Macro to check the following production in the XML spec:
 *
 *     [88] Digit ::= ... long list see REC ...
 * @param c  an UNICODE value (int)
 */
#define IS_DIGIT(c) xmlIsDigitQ(c)

/**
 * Behaves like IS_DIGIT but with a single byte argument
 *
 * @param c  an xmlChar value (usually an unsigned char)
 */
#define IS_DIGIT_CH(c)  xmlIsDigit_ch(c)

/**
 * Macro to check the following production in the XML spec:
 *
 *     [87] CombiningChar ::= ... long list see REC ...
 * @param c  an UNICODE value (int)
 */
#define IS_COMBINING(c) xmlIsCombiningQ(c)

/**
 * Always false (all combining chars > 0xff)
 *
 * @param c  an xmlChar (usually an unsigned char)
 */
#define IS_COMBINING_CH(c) 0

/**
 * Macro to check the following production in the XML spec:
 *
 *     [89] Extender ::= #x00B7 | #x02D0 | #x02D1 | #x0387 | #x0640 |
 *                       #x0E46 | #x0EC6 | #x3005 | [#x3031-#x3035] |
 *                       [#x309D-#x309E] | [#x30FC-#x30FE]
 * @param c  an UNICODE value (int)
 */
#define IS_EXTENDER(c) xmlIsExtenderQ(c)

/**
 * Behaves like IS_EXTENDER but with a single-byte argument
 *
 * @param c  an xmlChar value (usually an unsigned char)
 */
#define IS_EXTENDER_CH(c)  xmlIsExtender_ch(c)

/**
 * Macro to check the following production in the XML spec:
 *
 *     [86] Ideographic ::= [#x4E00-#x9FA5] | #x3007 | [#x3021-#x3029]
 * @param c  an UNICODE value (int)
 */
#define IS_IDEOGRAPHIC(c) xmlIsIdeographicQ(c)

/**
 * Macro to check the following production in the XML spec:
 *
 *     [84] Letter ::= BaseChar | Ideographic
 * @param c  an UNICODE value (int)
 */
#define IS_LETTER(c) (IS_BASECHAR(c) || IS_IDEOGRAPHIC(c))

/**
 * Macro behaves like IS_LETTER, but only check base chars
 *
 * @param c  an xmlChar value (normally unsigned char)
 */
#define IS_LETTER_CH(c) xmlIsBaseChar_ch(c)

/**
 * Macro to check [a-zA-Z]
 *
 * @param c  an xmlChar value
 */
#define IS_ASCII_LETTER(c)	((0x61 <= ((c) | 0x20)) && \
                                 (((c) | 0x20) <= 0x7a))

/**
 * Macro to check [0-9]
 *
 * @param c  an xmlChar value
 */
#define IS_ASCII_DIGIT(c)	((0x30 <= (c)) && ((c) <= 0x39))

/**
 * Macro to check the following production in the XML spec:
 *
 *     [13] PubidChar ::= #x20 | #xD | #xA | [a-zA-Z0-9] |
 *                        [-'()+,./:=?;!*#@$_%]
 * @param c  an UNICODE value (int)
 */
#define IS_PUBIDCHAR(c)	xmlIsPubidCharQ(c)

/**
 * Same as IS_PUBIDCHAR but for single-byte value
 *
 * @param c  an xmlChar value (normally unsigned char)
 */
#define IS_PUBIDCHAR_CH(c) xmlIsPubidChar_ch(c)

/*
 * Global variables used for predefined strings.
 */
/** @cond ignore */
XMLPUBVAR const xmlChar xmlStringText[];
XMLPUBVAR const xmlChar xmlStringTextNoenc[];
XML_DEPRECATED
XMLPUBVAR const xmlChar xmlStringComment[];
/** @endcond */

XML_DEPRECATED
XMLPUBFUN int                   xmlIsLetter     (int c);

/*
 * Parser context.
 */
XMLPUBFUN xmlParserCtxt *
			xmlCreateFileParserCtxt	(const char *filename);
XMLPUBFUN xmlParserCtxt *
			xmlCreateURLParserCtxt	(const char *filename,
						 int options);
XMLPUBFUN xmlParserCtxt *
			xmlCreateMemoryParserCtxt(const char *buffer,
						 int size);
XML_DEPRECATED
XMLPUBFUN xmlParserCtxt *
			xmlCreateEntityParserCtxt(const xmlChar *URL,
						 const xmlChar *ID,
						 const xmlChar *base);
XMLPUBFUN void
			xmlCtxtErrMemory	(xmlParserCtxt *ctxt);
XMLPUBFUN int
			xmlSwitchEncoding	(xmlParserCtxt *ctxt,
						 xmlCharEncoding enc);
XMLPUBFUN int
			xmlSwitchEncodingName	(xmlParserCtxt *ctxt,
						 const char *encoding);
XMLPUBFUN int
			xmlSwitchToEncoding	(xmlParserCtxt *ctxt,
					 xmlCharEncodingHandler *handler);
XML_DEPRECATED
XMLPUBFUN int
			xmlSwitchInputEncoding	(xmlParserCtxt *ctxt,
						 xmlParserInput *input,
					 xmlCharEncodingHandler *handler);

/*
 * Input Streams.
 */
XMLPUBFUN xmlParserInput *
			xmlNewStringInputStream	(xmlParserCtxt *ctxt,
						 const xmlChar *buffer);
XML_DEPRECATED
XMLPUBFUN xmlParserInput *
			xmlNewEntityInputStream	(xmlParserCtxt *ctxt,
						 xmlEntity *entity);
XMLPUBFUN int
			xmlCtxtPushInput	(xmlParserCtxt *ctxt,
						 xmlParserInput *input);
XMLPUBFUN xmlParserInput *
			xmlCtxtPopInput		(xmlParserCtxt *ctxt);
XML_DEPRECATED
XMLPUBFUN int
			xmlPushInput		(xmlParserCtxt *ctxt,
						 xmlParserInput *input);
XML_DEPRECATED
XMLPUBFUN xmlChar
			xmlPopInput		(xmlParserCtxt *ctxt);
XMLPUBFUN void
			xmlFreeInputStream	(xmlParserInput *input);
XMLPUBFUN xmlParserInput *
			xmlNewInputFromFile	(xmlParserCtxt *ctxt,
						 const char *filename);
XMLPUBFUN xmlParserInput *
			xmlNewInputStream	(xmlParserCtxt *ctxt);

/*
 * Namespaces.
 */
XMLPUBFUN xmlChar *
			xmlSplitQName		(xmlParserCtxt *ctxt,
						 const xmlChar *name,
						 xmlChar **prefix);

/*
 * Generic production rules.
 */
XML_DEPRECATED
XMLPUBFUN const xmlChar *
			xmlParseName		(xmlParserCtxt *ctxt);
XML_DEPRECATED
XMLPUBFUN xmlChar *
			xmlParseNmtoken		(xmlParserCtxt *ctxt);
XML_DEPRECATED
XMLPUBFUN xmlChar *
			xmlParseEntityValue	(xmlParserCtxt *ctxt,
						 xmlChar **orig);
XML_DEPRECATED
XMLPUBFUN xmlChar *
			xmlParseAttValue	(xmlParserCtxt *ctxt);
XML_DEPRECATED
XMLPUBFUN xmlChar *
			xmlParseSystemLiteral	(xmlParserCtxt *ctxt);
XML_DEPRECATED
XMLPUBFUN xmlChar *
			xmlParsePubidLiteral	(xmlParserCtxt *ctxt);
XML_DEPRECATED
XMLPUBFUN void
			xmlParseCharData	(xmlParserCtxt *ctxt,
						 int cdata);
XML_DEPRECATED
XMLPUBFUN xmlChar *
			xmlParseExternalID	(xmlParserCtxt *ctxt,
						 xmlChar **publicId,
						 int strict);
XML_DEPRECATED
XMLPUBFUN void
			xmlParseComment		(xmlParserCtxt *ctxt);
XML_DEPRECATED
XMLPUBFUN const xmlChar *
			xmlParsePITarget	(xmlParserCtxt *ctxt);
XML_DEPRECATED
XMLPUBFUN void
			xmlParsePI		(xmlParserCtxt *ctxt);
XML_DEPRECATED
XMLPUBFUN void
			xmlParseNotationDecl	(xmlParserCtxt *ctxt);
XML_DEPRECATED
XMLPUBFUN void
			xmlParseEntityDecl	(xmlParserCtxt *ctxt);
XML_DEPRECATED
XMLPUBFUN int
			xmlParseDefaultDecl	(xmlParserCtxt *ctxt,
						 xmlChar **value);
XML_DEPRECATED
XMLPUBFUN xmlEnumeration *
			xmlParseNotationType	(xmlParserCtxt *ctxt);
XML_DEPRECATED
XMLPUBFUN xmlEnumeration *
			xmlParseEnumerationType	(xmlParserCtxt *ctxt);
XML_DEPRECATED
XMLPUBFUN int
			xmlParseEnumeratedType	(xmlParserCtxt *ctxt,
						 xmlEnumeration **tree);
XML_DEPRECATED
XMLPUBFUN int
			xmlParseAttributeType	(xmlParserCtxt *ctxt,
						 xmlEnumeration **tree);
XML_DEPRECATED
XMLPUBFUN void
			xmlParseAttributeListDecl(xmlParserCtxt *ctxt);
XML_DEPRECATED
XMLPUBFUN xmlElementContent *
			xmlParseElementMixedContentDecl
						(xmlParserCtxt *ctxt,
						 int inputchk);
XML_DEPRECATED
XMLPUBFUN xmlElementContent *
			xmlParseElementChildrenContentDecl
						(xmlParserCtxt *ctxt,
						 int inputchk);
XML_DEPRECATED
XMLPUBFUN int
			xmlParseElementContentDecl(xmlParserCtxt *ctxt,
						 const xmlChar *name,
						 xmlElementContent **result);
XML_DEPRECATED
XMLPUBFUN int
			xmlParseElementDecl	(xmlParserCtxt *ctxt);
XML_DEPRECATED
XMLPUBFUN void
			xmlParseMarkupDecl	(xmlParserCtxt *ctxt);
XML_DEPRECATED
XMLPUBFUN int
			xmlParseCharRef		(xmlParserCtxt *ctxt);
XML_DEPRECATED
XMLPUBFUN xmlEntity *
			xmlParseEntityRef	(xmlParserCtxt *ctxt);
XML_DEPRECATED
XMLPUBFUN void
			xmlParseReference	(xmlParserCtxt *ctxt);
XML_DEPRECATED
XMLPUBFUN void
			xmlParsePEReference	(xmlParserCtxt *ctxt);
XML_DEPRECATED
XMLPUBFUN void
			xmlParseDocTypeDecl	(xmlParserCtxt *ctxt);
#ifdef LIBXML_SAX1_ENABLED
XML_DEPRECATED
XMLPUBFUN const xmlChar *
			xmlParseAttribute	(xmlParserCtxt *ctxt,
						 xmlChar **value);
XML_DEPRECATED
XMLPUBFUN const xmlChar *
			xmlParseStartTag	(xmlParserCtxt *ctxt);
XML_DEPRECATED
XMLPUBFUN void
			xmlParseEndTag		(xmlParserCtxt *ctxt);
#endif /* LIBXML_SAX1_ENABLED */
XML_DEPRECATED
XMLPUBFUN void
			xmlParseCDSect		(xmlParserCtxt *ctxt);
XMLPUBFUN void
			xmlParseContent		(xmlParserCtxt *ctxt);
XML_DEPRECATED
XMLPUBFUN void
			xmlParseElement		(xmlParserCtxt *ctxt);
XML_DEPRECATED
XMLPUBFUN xmlChar *
			xmlParseVersionNum	(xmlParserCtxt *ctxt);
XML_DEPRECATED
XMLPUBFUN xmlChar *
			xmlParseVersionInfo	(xmlParserCtxt *ctxt);
XML_DEPRECATED
XMLPUBFUN xmlChar *
			xmlParseEncName		(xmlParserCtxt *ctxt);
XML_DEPRECATED
XMLPUBFUN const xmlChar *
			xmlParseEncodingDecl	(xmlParserCtxt *ctxt);
XML_DEPRECATED
XMLPUBFUN int
			xmlParseSDDecl		(xmlParserCtxt *ctxt);
XML_DEPRECATED
XMLPUBFUN void
			xmlParseXMLDecl		(xmlParserCtxt *ctxt);
XML_DEPRECATED
XMLPUBFUN void
			xmlParseTextDecl	(xmlParserCtxt *ctxt);
XML_DEPRECATED
XMLPUBFUN void
			xmlParseMisc		(xmlParserCtxt *ctxt);
XML_DEPRECATED
XMLPUBFUN void
			xmlParseExternalSubset	(xmlParserCtxt *ctxt,
						 const xmlChar *publicId,
						 const xmlChar *systemId);

/** @cond ignore */
#define XML_SUBSTITUTE_NONE	0
#define XML_SUBSTITUTE_REF	1
#define XML_SUBSTITUTE_PEREF	2
#define XML_SUBSTITUTE_BOTH	3
/** @endcond */
XML_DEPRECATED
XMLPUBFUN xmlChar *
		xmlStringDecodeEntities		(xmlParserCtxt *ctxt,
						 const xmlChar *str,
						 int what,
						 xmlChar end,
						 xmlChar  end2,
						 xmlChar end3);
XML_DEPRECATED
XMLPUBFUN xmlChar *
		xmlStringLenDecodeEntities	(xmlParserCtxt *ctxt,
						 const xmlChar *str,
						 int len,
						 int what,
						 xmlChar end,
						 xmlChar  end2,
						 xmlChar end3);

/*
 * other commodities shared between parser.c and parserInternals.
 */
XML_DEPRECATED
XMLPUBFUN int			xmlSkipBlankChars	(xmlParserCtxt *ctxt);
XML_DEPRECATED
XMLPUBFUN int			xmlStringCurrentChar	(xmlParserCtxt *ctxt,
						 const xmlChar *cur,
						 int *len);
XML_DEPRECATED
XMLPUBFUN void			xmlParserHandlePEReference(xmlParserCtxt *ctxt);
XML_DEPRECATED
XMLPUBFUN int			xmlCheckLanguageID	(const xmlChar *lang);

/*
 * Really core function shared with HTML parser.
 */
XML_DEPRECATED
XMLPUBFUN int			xmlCurrentChar		(xmlParserCtxt *ctxt,
						 int *len);
XML_DEPRECATED
XMLPUBFUN int		xmlCopyCharMultiByte	(xmlChar *out,
						 int val);
XML_DEPRECATED
XMLPUBFUN int			xmlCopyChar		(int len,
						 xmlChar *out,
						 int val);
XML_DEPRECATED
XMLPUBFUN void			xmlNextChar		(xmlParserCtxt *ctxt);
XML_DEPRECATED
XMLPUBFUN void			xmlParserInputShrink	(xmlParserInput *in);

#ifdef __cplusplus
}
#endif
#endif /* __XML_PARSER_INTERNALS_H__ */