Imported Upstream version 0.19.7
[platform/upstream/gettext.git] / gettext-tools / gnulib-lib / libxml / parserInternals.in.h
index 7ac0ce6..6065320 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Summary: internals routines exported by the parser.
+ * Summary: internals routines and limits exported by the parser.
  * Description: this module exports a number of internal parsing routines
  *              they are not really all intended for applications but
  *              can prove useful doing low level processing.
@@ -24,18 +24,60 @@ extern "C" {
 /**
  * xmlParserMaxDepth:
  *
- * arbitrary depth limit for the XML documents that we allow to 
- * process. This is not a limitation of the parser but a safety 
- * boundary feature.
+ * arbitrary depth limit for the XML documents that we allow to
+ * process. This is not a limitation of the parser but a safety
+ * boundary feature, use XML_PARSE_HUGE option to override it.
  */
 XMLPUBVAR unsigned int xmlParserMaxDepth;
 
- /**
-  * XML_MAX_NAMELEN:
-  *
-  * Identifiers can be longer, but this will be more costly
-  * at runtime.
-  */
+/**
+ * XML_MAX_TEXT_LENGTH:
+ *
+ * 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
+
+/**
+ * XML_MAX_NAME_LENGTH:
+ *
+ * Maximum size allowed for a markup identitier
+ * 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
+
+/**
+ * XML_MAX_DICTIONARY_LIMIT:
+ *
+ * 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 10000000
+
+/**
+ * XML_MAX_LOOKUP_LIMIT:
+ *
+ * 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
+
+/**
+ * XML_MAX_NAMELEN:
+ *
+ * Identifiers can be longer, but this will be more costly
+ * at runtime.
+ */
 #define XML_MAX_NAMELEN 100
 
 /**
@@ -48,7 +90,7 @@ XMLPUBVAR unsigned int xmlParserMaxDepth;
 
 /************************************************************************
  *                                                                     *
- * UNICODE version of the macros.                                              *
+ * UNICODE version of the macros.                                      *
  *                                                                     *
  ************************************************************************/
 /**
@@ -144,7 +186,7 @@ XMLPUBVAR unsigned int xmlParserMaxDepth;
  *
  * Always false (all combining chars > 0xff)
  */
-#define IS_COMBINING_CH(c) 0 
+#define IS_COMBINING_CH(c) 0
 
 /**
  * IS_EXTENDER:
@@ -185,7 +227,7 @@ XMLPUBVAR unsigned int xmlParserMaxDepth;
  * Macro to check the following production in the XML spec:
  *
  *
- * [84] Letter ::= BaseChar | Ideographic 
+ * [84] Letter ::= BaseChar | Ideographic
  */
 #define IS_LETTER(c) (IS_BASECHAR(c) || IS_IDEOGRAPHIC(c))
 
@@ -242,7 +284,7 @@ XMLPUBVAR unsigned int xmlParserMaxDepth;
  *
  * Skips the end of line chars.
  */
-#define SKIP_EOL(p)                                                    \
+#define SKIP_EOL(p)                                                    \
     if (*(p) == 0x13) { p++ ; if (*(p) == 0x10) p++; }                 \
     if (*(p) == 0x10) { p++ ; if (*(p) == 0x13) p++; }
 
@@ -279,25 +321,25 @@ XMLPUBFUN int XMLCALL                   xmlIsLetter     (int c);
 /**
  * Parser context.
  */
-XMLPUBFUN xmlParserCtxtPtr XMLCALL     
+XMLPUBFUN xmlParserCtxtPtr XMLCALL
                        xmlCreateFileParserCtxt (const char *filename);
-XMLPUBFUN xmlParserCtxtPtr XMLCALL     
+XMLPUBFUN xmlParserCtxtPtr XMLCALL
                        xmlCreateURLParserCtxt  (const char *filename,
                                                 int options);
-XMLPUBFUN xmlParserCtxtPtr XMLCALL     
+XMLPUBFUN xmlParserCtxtPtr XMLCALL
                        xmlCreateMemoryParserCtxt(const char *buffer,
                                                 int size);
-XMLPUBFUN xmlParserCtxtPtr XMLCALL     
+XMLPUBFUN xmlParserCtxtPtr XMLCALL
                        xmlCreateEntityParserCtxt(const xmlChar *URL,
                                                 const xmlChar *ID,
                                                 const xmlChar *base);
-XMLPUBFUN int XMLCALL                  
+XMLPUBFUN int XMLCALL
                        xmlSwitchEncoding       (xmlParserCtxtPtr ctxt,
                                                 xmlCharEncoding enc);
-XMLPUBFUN int XMLCALL                  
+XMLPUBFUN int XMLCALL
                        xmlSwitchToEncoding     (xmlParserCtxtPtr ctxt,
                                         xmlCharEncodingHandlerPtr handler);
-XMLPUBFUN int XMLCALL                  
+XMLPUBFUN int XMLCALL
                        xmlSwitchInputEncoding  (xmlParserCtxtPtr ctxt,
                                                 xmlParserInputPtr input,
                                         xmlCharEncodingHandlerPtr handler);
@@ -315,29 +357,29 @@ XMLPUBFUN void XMLCALL
 /**
  * Input Streams.
  */
-XMLPUBFUN xmlParserInputPtr XMLCALL    
+XMLPUBFUN xmlParserInputPtr XMLCALL
                        xmlNewStringInputStream (xmlParserCtxtPtr ctxt,
                                                 const xmlChar *buffer);
-XMLPUBFUN xmlParserInputPtr XMLCALL    
+XMLPUBFUN xmlParserInputPtr XMLCALL
                        xmlNewEntityInputStream (xmlParserCtxtPtr ctxt,
                                                 xmlEntityPtr entity);
-XMLPUBFUN void XMLCALL                 
+XMLPUBFUN int XMLCALL
                        xmlPushInput            (xmlParserCtxtPtr ctxt,
                                                 xmlParserInputPtr input);
-XMLPUBFUN xmlChar XMLCALL                      
+XMLPUBFUN xmlChar XMLCALL
                        xmlPopInput             (xmlParserCtxtPtr ctxt);
-XMLPUBFUN void XMLCALL                 
+XMLPUBFUN void XMLCALL
                        xmlFreeInputStream      (xmlParserInputPtr input);
-XMLPUBFUN xmlParserInputPtr XMLCALL    
+XMLPUBFUN xmlParserInputPtr XMLCALL
                        xmlNewInputFromFile     (xmlParserCtxtPtr ctxt,
                                                 const char *filename);
-XMLPUBFUN xmlParserInputPtr XMLCALL    
+XMLPUBFUN xmlParserInputPtr XMLCALL
                        xmlNewInputStream       (xmlParserCtxtPtr ctxt);
 
 /**
  * Namespaces.
  */
-XMLPUBFUN xmlChar * XMLCALL            
+XMLPUBFUN xmlChar * XMLCALL
                        xmlSplitQName           (xmlParserCtxtPtr ctxt,
                                                 const xmlChar *name,
                                                 xmlChar **prefix);
@@ -345,112 +387,112 @@ XMLPUBFUN xmlChar * XMLCALL
 /**
  * Generic production rules.
  */
-XMLPUBFUN const xmlChar * XMLCALL              
+XMLPUBFUN const xmlChar * XMLCALL
                        xmlParseName            (xmlParserCtxtPtr ctxt);
-XMLPUBFUN xmlChar * XMLCALL            
+XMLPUBFUN xmlChar * XMLCALL
                        xmlParseNmtoken         (xmlParserCtxtPtr ctxt);
-XMLPUBFUN xmlChar * XMLCALL            
+XMLPUBFUN xmlChar * XMLCALL
                        xmlParseEntityValue     (xmlParserCtxtPtr ctxt,
                                                 xmlChar **orig);
-XMLPUBFUN xmlChar * XMLCALL            
+XMLPUBFUN xmlChar * XMLCALL
                        xmlParseAttValue        (xmlParserCtxtPtr ctxt);
-XMLPUBFUN xmlChar * XMLCALL            
+XMLPUBFUN xmlChar * XMLCALL
                        xmlParseSystemLiteral   (xmlParserCtxtPtr ctxt);
-XMLPUBFUN xmlChar * XMLCALL            
+XMLPUBFUN xmlChar * XMLCALL
                        xmlParsePubidLiteral    (xmlParserCtxtPtr ctxt);
-XMLPUBFUN void XMLCALL                 
+XMLPUBFUN void XMLCALL
                        xmlParseCharData        (xmlParserCtxtPtr ctxt,
                                                 int cdata);
-XMLPUBFUN xmlChar * XMLCALL            
+XMLPUBFUN xmlChar * XMLCALL
                        xmlParseExternalID      (xmlParserCtxtPtr ctxt,
                                                 xmlChar **publicID,
                                                 int strict);
-XMLPUBFUN void XMLCALL                 
+XMLPUBFUN void XMLCALL
                        xmlParseComment         (xmlParserCtxtPtr ctxt);
-XMLPUBFUN const xmlChar * XMLCALL              
+XMLPUBFUN const xmlChar * XMLCALL
                        xmlParsePITarget        (xmlParserCtxtPtr ctxt);
-XMLPUBFUN void XMLCALL                 
+XMLPUBFUN void XMLCALL
                        xmlParsePI              (xmlParserCtxtPtr ctxt);
-XMLPUBFUN void XMLCALL                 
+XMLPUBFUN void XMLCALL
                        xmlParseNotationDecl    (xmlParserCtxtPtr ctxt);
-XMLPUBFUN void XMLCALL                 
+XMLPUBFUN void XMLCALL
                        xmlParseEntityDecl      (xmlParserCtxtPtr ctxt);
-XMLPUBFUN int XMLCALL                  
+XMLPUBFUN int XMLCALL
                        xmlParseDefaultDecl     (xmlParserCtxtPtr ctxt,
                                                 xmlChar **value);
-XMLPUBFUN xmlEnumerationPtr XMLCALL    
+XMLPUBFUN xmlEnumerationPtr XMLCALL
                        xmlParseNotationType    (xmlParserCtxtPtr ctxt);
-XMLPUBFUN xmlEnumerationPtr XMLCALL    
+XMLPUBFUN xmlEnumerationPtr XMLCALL
                        xmlParseEnumerationType (xmlParserCtxtPtr ctxt);
-XMLPUBFUN int XMLCALL                  
+XMLPUBFUN int XMLCALL
                        xmlParseEnumeratedType  (xmlParserCtxtPtr ctxt,
                                                 xmlEnumerationPtr *tree);
-XMLPUBFUN int XMLCALL                  
+XMLPUBFUN int XMLCALL
                        xmlParseAttributeType   (xmlParserCtxtPtr ctxt,
                                                 xmlEnumerationPtr *tree);
-XMLPUBFUN void XMLCALL                 
+XMLPUBFUN void XMLCALL
                        xmlParseAttributeListDecl(xmlParserCtxtPtr ctxt);
-XMLPUBFUN xmlElementContentPtr XMLCALL 
+XMLPUBFUN xmlElementContentPtr XMLCALL
                        xmlParseElementMixedContentDecl
                                                (xmlParserCtxtPtr ctxt,
                                                 int inputchk);
-XMLPUBFUN xmlElementContentPtr XMLCALL 
+XMLPUBFUN xmlElementContentPtr XMLCALL
                        xmlParseElementChildrenContentDecl
                                                (xmlParserCtxtPtr ctxt,
                                                 int inputchk);
-XMLPUBFUN int XMLCALL                  
+XMLPUBFUN int XMLCALL
                        xmlParseElementContentDecl(xmlParserCtxtPtr ctxt,
                                                 const xmlChar *name,
                                                 xmlElementContentPtr *result);
-XMLPUBFUN int XMLCALL                  
+XMLPUBFUN int XMLCALL
                        xmlParseElementDecl     (xmlParserCtxtPtr ctxt);
-XMLPUBFUN void XMLCALL                 
+XMLPUBFUN void XMLCALL
                        xmlParseMarkupDecl      (xmlParserCtxtPtr ctxt);
-XMLPUBFUN int XMLCALL                  
+XMLPUBFUN int XMLCALL
                        xmlParseCharRef         (xmlParserCtxtPtr ctxt);
-XMLPUBFUN xmlEntityPtr XMLCALL         
+XMLPUBFUN xmlEntityPtr XMLCALL
                        xmlParseEntityRef       (xmlParserCtxtPtr ctxt);
-XMLPUBFUN void XMLCALL                 
+XMLPUBFUN void XMLCALL
                        xmlParseReference       (xmlParserCtxtPtr ctxt);
-XMLPUBFUN void XMLCALL                 
+XMLPUBFUN void XMLCALL
                        xmlParsePEReference     (xmlParserCtxtPtr ctxt);
-XMLPUBFUN void XMLCALL                 
+XMLPUBFUN void XMLCALL
                        xmlParseDocTypeDecl     (xmlParserCtxtPtr ctxt);
 #ifdef LIBXML_SAX1_ENABLED
-XMLPUBFUN const xmlChar * XMLCALL              
+XMLPUBFUN const xmlChar * XMLCALL
                        xmlParseAttribute       (xmlParserCtxtPtr ctxt,
                                                 xmlChar **value);
-XMLPUBFUN const xmlChar * XMLCALL              
+XMLPUBFUN const xmlChar * XMLCALL
                        xmlParseStartTag        (xmlParserCtxtPtr ctxt);
-XMLPUBFUN void XMLCALL                 
+XMLPUBFUN void XMLCALL
                        xmlParseEndTag          (xmlParserCtxtPtr ctxt);
 #endif /* LIBXML_SAX1_ENABLED */
-XMLPUBFUN void XMLCALL                 
+XMLPUBFUN void XMLCALL
                        xmlParseCDSect          (xmlParserCtxtPtr ctxt);
-XMLPUBFUN void XMLCALL                 
+XMLPUBFUN void XMLCALL
                        xmlParseContent         (xmlParserCtxtPtr ctxt);
-XMLPUBFUN void XMLCALL                 
+XMLPUBFUN void XMLCALL
                        xmlParseElement         (xmlParserCtxtPtr ctxt);
-XMLPUBFUN xmlChar * XMLCALL            
+XMLPUBFUN xmlChar * XMLCALL
                        xmlParseVersionNum      (xmlParserCtxtPtr ctxt);
-XMLPUBFUN xmlChar * XMLCALL            
+XMLPUBFUN xmlChar * XMLCALL
                        xmlParseVersionInfo     (xmlParserCtxtPtr ctxt);
-XMLPUBFUN xmlChar * XMLCALL            
+XMLPUBFUN xmlChar * XMLCALL
                        xmlParseEncName         (xmlParserCtxtPtr ctxt);
-XMLPUBFUN const xmlChar * XMLCALL              
+XMLPUBFUN const xmlChar * XMLCALL
                        xmlParseEncodingDecl    (xmlParserCtxtPtr ctxt);
-XMLPUBFUN int XMLCALL                  
+XMLPUBFUN int XMLCALL
                        xmlParseSDDecl          (xmlParserCtxtPtr ctxt);
-XMLPUBFUN void XMLCALL                 
+XMLPUBFUN void XMLCALL
                        xmlParseXMLDecl         (xmlParserCtxtPtr ctxt);
-XMLPUBFUN void XMLCALL                 
+XMLPUBFUN void XMLCALL
                        xmlParseTextDecl        (xmlParserCtxtPtr ctxt);
-XMLPUBFUN void XMLCALL                 
+XMLPUBFUN void XMLCALL
                        xmlParseMisc            (xmlParserCtxtPtr ctxt);
-XMLPUBFUN void XMLCALL                 
+XMLPUBFUN void XMLCALL
                        xmlParseExternalSubset  (xmlParserCtxtPtr ctxt,
                                                 const xmlChar *ExternalID,
-                                                const xmlChar *SystemID); 
+                                                const xmlChar *SystemID);
 /**
  * XML_SUBSTITUTE_NONE:
  *
@@ -474,7 +516,7 @@ XMLPUBFUN void XMLCALL
  *
  * Both general and parameter entities need to be substituted.
  */
-#define XML_SUBSTITUTE_BOTH    3
+#define XML_SUBSTITUTE_BOTH    3
 
 XMLPUBFUN xmlChar * XMLCALL
                xmlStringDecodeEntities         (xmlParserCtxtPtr ctxt,
@@ -554,21 +596,21 @@ XMLPUBFUN htmlParserCtxtPtr XMLCALL       htmlCreateFileParserCtxt(const char *filenam
 typedef        void    (*xmlEntityReferenceFunc)       (xmlEntityPtr ent,
                                                 xmlNodePtr firstNode,
                                                 xmlNodePtr lastNode);
-  
+
 XMLPUBFUN void XMLCALL         xmlSetEntityReferenceFunc       (xmlEntityReferenceFunc func);
 
-XMLPUBFUN xmlChar * XMLCALL            
+XMLPUBFUN xmlChar * XMLCALL
                        xmlParseQuotedString    (xmlParserCtxtPtr ctxt);
 XMLPUBFUN void XMLCALL
                         xmlParseNamespace       (xmlParserCtxtPtr ctxt);
-XMLPUBFUN xmlChar * XMLCALL            
+XMLPUBFUN xmlChar * XMLCALL
                        xmlNamespaceParseNSDef  (xmlParserCtxtPtr ctxt);
-XMLPUBFUN xmlChar * XMLCALL            
+XMLPUBFUN xmlChar * XMLCALL
                        xmlScanName             (xmlParserCtxtPtr ctxt);
-XMLPUBFUN xmlChar * XMLCALL            
+XMLPUBFUN xmlChar * XMLCALL
                        xmlNamespaceParseNCName (xmlParserCtxtPtr ctxt);
 XMLPUBFUN void XMLCALL xmlParserHandleReference(xmlParserCtxtPtr ctxt);
-XMLPUBFUN xmlChar * XMLCALL            
+XMLPUBFUN xmlChar * XMLCALL
                        xmlNamespaceParseQName  (xmlParserCtxtPtr ctxt,
                                                 xmlChar **prefix);
 /**
@@ -581,7 +623,7 @@ XMLPUBFUN xmlChar * XMLCALL
                                                 xmlChar end,
                                                 xmlChar  end2,
                                                 xmlChar end3);
-XMLPUBFUN void XMLCALL                 
+XMLPUBFUN void XMLCALL
                        xmlHandleEntity         (xmlParserCtxtPtr ctxt,
                                                 xmlEntityPtr entity);