14#define XML_DIR_SEP '\\'
16#define XML_DIR_SEP '/'
34#ifdef LIBXML_CATALOG_ENABLED
39#define CUR(ctxt) ctxt->input->cur
40#define END(ctxt) ctxt->input->end
52#define XML_MAX_AMPLIFICATION_DEFAULT 5
71 if ((myversion / 10000) != (
version / 10000)) {
73 "Fatal: program compiled against libxml %d using libxml %d\n",
74 (
version / 10000), (myversion / 10000));
76 "Fatal: program compiled against libxml %d using libxml %d\n",
77 (
version / 10000), (myversion / 10000));
79 if ((myversion / 100) < (
version / 100)) {
81 "Warning: program compiled against libxml %d using older %d\n",
82 (
version / 100), (myversion / 100));
104 if ((ctxt !=
NULL) && (ctxt->disableSAX != 0) &&
110 ctxt->disableSAX = 1;
116 "Memory allocation failed : %s\n",
extra);
120 NULL,
NULL, 0, 0,
"Memory allocation failed\n");
137 if ((ctxt !=
NULL) && (ctxt->disableSAX != 0) &&
141 ctxt->errNo = xmlerr;
147 ctxt->wellFormed = 0;
148 if (ctxt->recovery == 0)
149 ctxt->disableSAX = 1;
164 if ((ctxt !=
NULL) && (ctxt->disableSAX != 0) &&
174 ctxt->wellFormed = 0;
175 if (ctxt->recovery == 0)
176 ctxt->disableSAX = 1;
193 if ((ctxt !=
NULL) && (ctxt->disableSAX != 0) &&
198 errmsg =
"CharRef: invalid hexadecimal value";
201 errmsg =
"CharRef: invalid decimal value";
204 errmsg =
"CharRef: invalid value";
207 errmsg =
"internal error";
210 errmsg =
"PEReference at end of document";
213 errmsg =
"PEReference in prolog";
216 errmsg =
"PEReference in epilog";
219 errmsg =
"PEReference: no name";
222 errmsg =
"PEReference: expecting ';'";
225 errmsg =
"Detected an entity reference loop";
228 errmsg =
"EntityValue: \" or ' expected";
231 errmsg =
"PEReferences forbidden in internal subset";
234 errmsg =
"EntityValue: \" or ' expected";
237 errmsg =
"AttValue: \" or ' expected";
240 errmsg =
"Unescaped '<' not allowed in attributes values";
243 errmsg =
"SystemLiteral \" or ' expected";
246 errmsg =
"Unfinished System or Public ID \" or ' expected";
249 errmsg =
"Sequence ']]>' not allowed in content";
252 errmsg =
"SYSTEM or PUBLIC, the URI is missing";
255 errmsg =
"PUBLIC, the Public Identifier is missing";
258 errmsg =
"Comment must not contain '--' (double-hyphen)";
261 errmsg =
"xmlParsePI : no target name";
264 errmsg =
"Invalid PI name";
267 errmsg =
"NOTATION: Name expected here";
270 errmsg =
"'>' required to close NOTATION declaration";
273 errmsg =
"Entity value required";
276 errmsg =
"Fragment not allowed";
279 errmsg =
"'(' required to start ATTLIST enumeration";
282 errmsg =
"NmToken expected in ATTLIST enumeration";
285 errmsg =
"')' required to finish ATTLIST enumeration";
288 errmsg =
"MixedContentDecl : '|' or ')*' expected";
291 errmsg =
"MixedContentDecl : '#PCDATA' expected";
294 errmsg =
"ContentDecl : Name or '(' expected";
297 errmsg =
"ContentDecl : ',' '|' or ')' expected";
301 "PEReference: forbidden within markup decl in internal subset";
307 errmsg =
"XML conditional section '[' expected";
310 errmsg =
"Content error in the external subset";
314 "conditional section INCLUDE or IGNORE keyword expected";
317 errmsg =
"XML conditional section not closed";
320 errmsg =
"Text declaration '<?xml' required";
323 errmsg =
"parsing XML declaration: '?>' expected";
326 errmsg =
"external parsed entities cannot be standalone";
329 errmsg =
"EntityRef: expecting ';'";
332 errmsg =
"DOCTYPE improperly terminated";
335 errmsg =
"EndTag: '</' not found";
341 errmsg =
"String not closed expecting \" or '";
344 errmsg =
"String not started expecting ' or \"";
347 errmsg =
"Invalid XML encoding name";
350 errmsg =
"standalone accepts only 'yes' or 'no'";
353 errmsg =
"Document is empty";
356 errmsg =
"Extra content at the end of the document";
359 errmsg =
"chunk is not well balanced";
362 errmsg =
"extra content at the end of well balanced chunk";
365 errmsg =
"Malformed declaration expecting version";
371 errmsg =
"Invalid bytes in character encoding";
382 errmsg =
"Unregistered error message";
396 ctxt->wellFormed = 0;
397 if (ctxt->recovery == 0)
398 ctxt->disableSAX = 1;
415 if ((ctxt !=
NULL) && (ctxt->disableSAX != 0) &&
424 ctxt->wellFormed = 0;
425 if (ctxt->recovery == 0)
426 ctxt->disableSAX = 1;
465 ctxt->disableSAX = 1;
466 while (ctxt->inputNr > 1)
468 if (ctxt->input !=
NULL) {
473 if (ctxt->input->free !=
NULL) {
474 ctxt->input->free((
xmlChar *) ctxt->input->base);
475 ctxt->input->free =
NULL;
477 if (ctxt->input->buf !=
NULL) {
479 ctxt->input->buf =
NULL;
482 ctxt->input->length = 0;
483 ctxt->input->base = ctxt->input->cur;
484 ctxt->input->end = ctxt->input->cur;
512 xmlParserInputPtr
in = ctxt->input;
513 xmlParserInputBufferPtr
buf =
in->buf;
521 if ((ctxt->progressive) && (ctxt->inputNr <= 1))
571 if ((
in ==
NULL) || (
len < 0))
return(-1);
572 if (
in->buf ==
NULL)
return(-1);
573 if (
in->base ==
NULL)
return(-1);
574 if (
in->cur ==
NULL)
return(-1);
575 if (
in->buf->buffer ==
NULL)
return(-1);
578 if ((
in->buf->encoder ==
NULL) && (
in->buf->readcallback ==
NULL))
581 indx =
in->cur -
in->base;
594 in->cur =
in->base + indx;
608 xmlParserInputPtr
in = ctxt->input;
609 xmlParserInputBufferPtr
buf =
in->buf;
615 if (((ctxt->progressive == 0) || (ctxt->inputNr > 1)) &&
655 if (
in->buf ==
NULL)
return;
656 if (
in->base ==
NULL)
return;
657 if (
in->cur ==
NULL)
return;
658 if (
in->buf->buffer ==
NULL)
return;
711 const unsigned char *
cur;
716 (ctxt->input ==
NULL))
719 avail = ctxt->input->end - ctxt->input->cur;
724 (ctxt->input->cur >= ctxt->input->end))
726 avail = ctxt->input->end - ctxt->input->cur;
729 cur = ctxt->input->cur;
736 ctxt->input->col = 1;
737 }
else if (
c ==
'\r') {
744 ctxt->input->cur += ((
cur[1] ==
'\n') ? 2 : 1);
746 ctxt->input->col = 1;
755 if ((
avail < 2) || (
cur[1] & 0xc0) != 0x80)
762 ctxt->input->cur += 2;
764 unsigned int val = (
c << 8) |
cur[1];
766 if ((
avail < 3) || (
cur[2] & 0xc0) != 0x80)
771 if ((
val < 0xe0a0) || ((
val >= 0xeda0) && (
val < 0xee00)))
773 ctxt->input->cur += 3;
775 if ((
avail < 4) || ((
cur[3] & 0xc0) != 0x80))
779 if ((
val < 0xf090) || (
val >= 0xf490))
781 ctxt->input->cur += 4;
791 if ((ctxt ==
NULL) || (ctxt->input ==
NULL) ||
792 (ctxt->input->end - ctxt->input->cur < 4)) {
794 "Input is not proper UTF-8, indicate encoding !\n",
800 ctxt->input->cur[0], ctxt->input->cur[1],
801 ctxt->input->cur[2], ctxt->input->cur[3]);
803 "Input is not proper UTF-8, indicate encoding !\n%s",
834 const unsigned char *
cur;
838 if ((ctxt ==
NULL) || (
len ==
NULL) || (ctxt->input ==
NULL))
return(0);
842 avail = ctxt->input->end - ctxt->input->cur;
848 avail = ctxt->input->end - ctxt->input->cur;
851 cur = ctxt->input->cur;
874 if (ctxt->input->cur >= ctxt->input->end) {
883 "Char 0x0 out of allowed range\n",
c);
897 goto incomplete_sequence;
898 if ((
cur[1] & 0xc0) != 0x80)
905 val = (
c & 0x1f) << 6;
910 goto incomplete_sequence;
911 if ((
cur[2] & 0xc0) != 0x80)
916 val = (
c & 0xf) << 12;
917 val |= (
cur[1] & 0x3f) << 6;
919 if ((
val < 0x800) || ((
val >= 0xd800) && (
val < 0xe000)))
924 goto incomplete_sequence;
925 if ((
cur[3] & 0xc0) != 0x80)
929 val = (
c & 0x0f) << 18;
930 val |= (
cur[1] & 0x3f) << 12;
931 val |= (
cur[2] & 0x3f) << 6;
933 if ((
val < 0x10000) || (
val >= 0x110000))
945 if (ctxt->input->end - ctxt->input->cur < 4) {
947 "Input is not proper UTF-8, indicate encoding !\n",
953 ctxt->input->cur[0], ctxt->input->cur[1],
954 ctxt->input->cur[2], ctxt->input->cur[3]);
956 "Input is not proper UTF-8, indicate encoding !\n%s",
1001 return((
c < 0) ? 0 :
c);
1029 else if (
val < 0x10000) { *
out++= (
val >> 12) | 0xE0;
bits= 6;}
1030 else if (
val < 0x110000) { *
out++= (
val >> 18) | 0xF0;
bits= 12; }
1033 "Internal error, xmlCopyCharMultiByte 0x%X out of bound\n",
1039 return (
out - savedout);
1077 int inlen, outlen,
res,
i;
1086 outlen =
sizeof(
out) - 1;
1093 for (
i = 0;
i < outlen;
i++) {
1096 if ((
out[
i] ==
'e') &&
1103 if (
out[
i++] !=
'=')
1112 while (((
cur >=
'a') && (
cur <=
'z')) ||
1113 ((
cur >=
'A') && (
cur <=
'Z')) ||
1114 ((
cur >=
'0') && (
cur <=
'9')) ||
1115 (
cur ==
'.') || (
cur ==
'_') ||
1152 if ((ctxt ==
NULL) || (ctxt->input ==
NULL))
1173 "encoding not supported: %s\n",
1187 ctxt->input->flags &= ~XML_INPUT_HAS_ENCODING;
1210 xmlParserInputBufferPtr
in;
1232 if (
in->encoder !=
NULL) {
1262 in->raw =
in->buffer;
1270 xmlErrInternal(ctxt,
1271 "switching encoding: encoder error\n",
1317 in = ctxt->input->cur;
1318 if (ctxt->input->end -
in < 4)
1326 if ((
in[0] == 0xEF) && (
in[1] == 0xBB) && (
in[2] == 0xBF)) {
1327 ctxt->input->cur += 3;
1338 if ((
in[1] == 0x00) && (
in[2] == 0x00) && (
in[3] == 0x3C)) {
1341 }
else if ((
in[1] == 0x3C) && (
in[2] == 0x00) && (
in[3] == 0x3F)) {
1348 if (
in[1] == 0x00) {
1349 if ((
in[2] == 0x00) && (
in[3] == 0x00)) {
1352 }
else if ((
in[2] == 0x3F) && (
in[3] == 0x00)) {
1360 if ((
in[1] == 0x6F) && (
in[2] == 0xA7) && (
in[3] == 0x94)) {
1367 if ((
in[1] == 0xBB) && (
in[2] == 0xBF)) {
1375 if (
in[1] == 0xFF) {
1383 if (
in[1] == 0xFE) {
1392 ctxt->input->cur += bomSize;
1396 ctxt->input->flags |= autoFlag;
1415 if (ctxt->encoding !=
NULL)
1417 ctxt->encoding = encoding;
1426 "Unsupported encoding: %s\n",
1434 static const char *allowedUTF8[] = {
1435 "UTF-8",
"UTF8",
NULL
1437 static const char *allowedUTF16LE[] = {
1438 "UTF-16",
"UTF-16LE",
"UTF16",
NULL
1440 static const char *allowedUTF16BE[] = {
1441 "UTF-16",
"UTF-16BE",
"UTF16",
NULL
1443 const char **allowed =
NULL;
1444 const char *autoEnc =
NULL;
1448 allowed = allowedUTF8;
1452 allowed = allowedUTF16LE;
1453 autoEnc =
"UTF-16LE";
1456 allowed = allowedUTF16BE;
1457 autoEnc =
"UTF-16BE";
1461 if (allowed !=
NULL) {
1465 for (
p = allowed; *
p !=
NULL;
p++) {
1474 "Encoding '%s' doesn't match "
1475 "auto-detected '%s'\n",
1496 encoding = ctxt->encoding;
1497 }
else if ((ctxt->input->buf) && (ctxt->input->buf->encoder)) {
1542 xmlParserInputPtr
input;
1546 xmlErrMemory(ctxt,
"couldn't allocate a new input stream\n");
1563 input->id = ctxt->input_id++;
1583 xmlParserInputPtr inputStream;
1589 if (inputStream ==
NULL) {
1592 inputStream->filename =
NULL;
1593 inputStream->buf =
input;
1600 return(inputStream);
1616 xmlParserInputPtr
input;
1619 xmlErrInternal(ctxt,
"xmlNewEntityInputStream entity = NULL\n",
1625 "new input from entity: %s\n",
entity->
name);
1629 xmlErrInternal(ctxt,
"Cannot parse entity %s\n",
1635 (
char *)
entity->ExternalID, ctxt);
1640 xmlErrInternal(ctxt,
1641 "Internal entity %s without content !\n",
1645 xmlErrInternal(ctxt,
1646 "Internal parameter entity %s without content !\n",
1650 xmlErrInternal(ctxt,
1651 "Predefined entity %s without content !\n",
1683 xmlParserInputPtr
input;
1684 xmlParserInputBufferPtr
buf;
1687 xmlErrInternal(ctxt,
"xmlNewStringInputStream string = NULL\n",
1693 "new fixed input: %.30s\n",
buffer);
1701 xmlErrMemory(ctxt,
"couldn't allocate a new input stream\n");
1721 xmlParserInputBufferPtr
buf;
1722 xmlParserInputPtr inputStream;
1728 "new input from file: %s\n",
filename);
1734 "failed to load external entity: NULL filename \n",
1743 if (inputStream ==
NULL) {
1748 inputStream->buf =
buf;
1750 if (inputStream ==
NULL)
1753 if (inputStream->filename ==
NULL)
1758 if (inputStream->filename !=
NULL)
xmlFree((
char *)inputStream->filename);
1766 return(inputStream);
1790 xmlParserInputPtr
input;
1793 xmlErrInternal(
NULL,
"Got NULL parser context\n",
NULL);
1799 if (ctxt->dict ==
NULL)
1801 if (ctxt->dict ==
NULL) {
1807 if (ctxt->sax ==
NULL)
1808 ctxt->sax = (xmlSAXHandler *)
xmlMalloc(
sizeof(xmlSAXHandler));
1809 if (ctxt->sax ==
NULL) {
1814 memset(ctxt->sax, 0,
sizeof(xmlSAXHandler));
1816 ctxt->userData = ctxt;
1819 memcpy(ctxt->sax, sax,
sizeof(xmlSAXHandler));
1821 memset(ctxt->sax, 0,
sizeof(xmlSAXHandler));
1824 ctxt->userData = userData ? userData : ctxt;
1830 if (ctxt->inputTab ==
NULL) {
1831 ctxt->inputTab = (xmlParserInputPtr *)
1832 xmlMalloc(5 *
sizeof(xmlParserInputPtr));
1835 if (ctxt->inputTab ==
NULL) {
1848 ctxt->version =
NULL;
1849 ctxt->encoding =
NULL;
1850 ctxt->standalone = -1;
1851 ctxt->hasExternalSubset = 0;
1852 ctxt->hasPErefs = 0;
1857 ctxt->directory =
NULL;
1860 if (ctxt->nodeTab ==
NULL) {
1861 ctxt->nodeTab = (xmlNodePtr *)
xmlMalloc(10 *
sizeof(xmlNodePtr));
1864 if (ctxt->nodeTab ==
NULL) {
1878 if (ctxt->nameTab ==
NULL) {
1882 if (ctxt->nameTab ==
NULL) {
1899 if (ctxt->spaceTab ==
NULL) {
1900 ctxt->spaceTab = (
int *)
xmlMalloc(10 *
sizeof(
int));
1901 ctxt->spaceMax = 10;
1903 if (ctxt->spaceTab ==
NULL) {
1920 ctxt->spaceMax = 10;
1921 ctxt->spaceTab[0] = -1;
1922 ctxt->space = &ctxt->spaceTab[0];
1924 ctxt->wellFormed = 1;
1925 ctxt->nsWellFormed = 1;
1928 if (ctxt->loadsubset) {
1933 if (ctxt->pedantic) {
1938 if (ctxt->keepBlanks == 0) {
1944 ctxt->vctxt.userData = ctxt;
1947 if (ctxt->validate) {
1949 ctxt->vctxt.warning =
NULL;
1952 ctxt->vctxt.nodeMax = 0;
1956 if (ctxt->replaceEntities) {
1959 ctxt->record_info = 0;
1960 ctxt->checkIndex = 0;
1964 ctxt->catalogs =
NULL;
1965 ctxt->sizeentities = 0;
1966 ctxt->sizeentcopy = 0;
1971 if (ctxt->nsdb ==
NULL) {
1973 if (ctxt->nsdb ==
NULL) {
2011 xmlParserInputPtr
input;
2013 if (ctxt ==
NULL)
return;
2018 if (ctxt->spaceTab !=
NULL)
xmlFree(ctxt->spaceTab);
2020 if (ctxt->nodeTab !=
NULL)
xmlFree(ctxt->nodeTab);
2021 if (ctxt->nodeInfoTab !=
NULL)
xmlFree(ctxt->nodeInfoTab);
2022 if (ctxt->inputTab !=
NULL)
xmlFree(ctxt->inputTab);
2023 if (ctxt->version !=
NULL)
xmlFree((
char *) ctxt->version);
2024 if (ctxt->encoding !=
NULL)
xmlFree((
char *) ctxt->encoding);
2025 if (ctxt->extSubURI !=
NULL)
xmlFree((
char *) ctxt->extSubURI);
2026 if (ctxt->extSubSystem !=
NULL)
xmlFree((
char *) ctxt->extSubSystem);
2027#ifdef LIBXML_SAX1_ENABLED
2028 if ((ctxt->sax !=
NULL) &&
2029 (ctxt->sax != (xmlSAXHandlerPtr) &xmlDefaultSAXHandler))
2031 if (ctxt->sax !=
NULL)
2034 if (ctxt->directory !=
NULL)
xmlFree((
char *) ctxt->directory);
2035 if (ctxt->vctxt.nodeTab !=
NULL)
xmlFree(ctxt->vctxt.nodeTab);
2040 if (ctxt->attrHash !=
NULL)
xmlFree(ctxt->attrHash);
2041 if (ctxt->pushTab !=
NULL)
xmlFree(ctxt->pushTab);
2042 if (ctxt->attallocs !=
NULL)
xmlFree(ctxt->attallocs);
2043 if (ctxt->attsDefault !=
NULL)
2045 if (ctxt->attsSpecial !=
NULL)
2047 if (ctxt->freeElems !=
NULL) {
2050 cur = ctxt->freeElems;
2057 if (ctxt->freeAttrs !=
NULL) {
2060 cur = ctxt->freeAttrs;
2070 if (ctxt->lastError.message !=
NULL)
2071 xmlFree(ctxt->lastError.message);
2072 if (ctxt->lastError.file !=
NULL)
2073 xmlFree(ctxt->lastError.file);
2074 if (ctxt->lastError.str1 !=
NULL)
2075 xmlFree(ctxt->lastError.str1);
2076 if (ctxt->lastError.str2 !=
NULL)
2077 xmlFree(ctxt->lastError.str2);
2078 if (ctxt->lastError.str3 !=
NULL)
2079 xmlFree(ctxt->lastError.str3);
2081#ifdef LIBXML_CATALOG_ENABLED
2082 if (ctxt->catalogs !=
NULL)
2083 xmlCatalogFreeLocal(ctxt->catalogs);
2116 xmlParserCtxtPtr ctxt;
2118 ctxt = (xmlParserCtxtPtr)
xmlMalloc(
sizeof(xmlParserCtxt));
2123 memset(ctxt, 0,
sizeof(xmlParserCtxt));
2174 if (pos < ctx->node_seq.length
2176 return &
ctx->node_seq.buffer[
pos];
2233 const xmlNodePtr
node)
2235 unsigned long upper, lower, middle;
2239 return ((
unsigned long) -1);
2245 while (lower <= upper && !found) {
2246 middle = lower + (upper - lower) / 2;
2249 else if (node < seq->
buffer[middle - 1].
node)
2284 if ((pos < ctxt->node_seq.length) &&
2285 (ctxt->node_seq.buffer !=
NULL) &&
2286 (ctxt->node_seq.buffer[
pos].node ==
info->node)) {
2287 ctxt->node_seq.buffer[
pos] = *
info;
2292 if ((ctxt->node_seq.length + 1 > ctxt->node_seq.maximum) ||
2293 (ctxt->node_seq.buffer ==
NULL)) {
2295 unsigned int byte_size;
2297 if (ctxt->node_seq.maximum == 0)
2298 ctxt->node_seq.maximum = 2;
2299 byte_size = (
sizeof(*ctxt->node_seq.buffer) *
2300 (2 * ctxt->node_seq.maximum));
2302 if (ctxt->node_seq.buffer ==
NULL)
2309 if (tmp_buffer ==
NULL) {
2313 ctxt->node_seq.buffer = tmp_buffer;
2314 ctxt->node_seq.maximum *= 2;
2318 if (
pos != ctxt->node_seq.length) {
2321 for (
i = ctxt->node_seq.length;
i >
pos;
i--)
2322 ctxt->node_seq.buffer[
i] = ctxt->node_seq.buffer[
i - 1];
2326 ctxt->node_seq.buffer[
pos] = *
info;
2327 ctxt->node_seq.length++;
2430#ifdef LIBXML_OUTPUT_ENABLED
2432 xmlIndentTreeOutput = 1;
XMLPUBFUN int xmlSAXVersion(xmlSAXHandler *hdlr, int version)
XMLPUBFUN void xmlSAX2IgnorableWhitespace(void *ctx, const xmlChar *ch, int len)
xmlChar * xmlBufEnd(xmlBufPtr buf)
int xmlBufIsEmpty(const xmlBufPtr buf)
int xmlBufResetInput(xmlBufPtr buf, xmlParserInputPtr input)
xmlBufPtr xmlBufCreate(void)
xmlChar * xmlBufContent(const xmlBuf *buf)
size_t xmlBufUse(const xmlBufPtr buf)
int xmlBufUpdateInput(xmlBufPtr buf, xmlParserInputPtr input, size_t pos)
size_t xmlBufShrink(xmlBufPtr buf, size_t len)
EXPORT int errmsg(char *msg, va_alist)
static const WCHAR quote[]
static const WCHAR version[]
UINT(* handler)(MSIPACKAGE *)
int WINAPIV fprintf(FILE *file, const char *format,...)
#define check(expected, result)
XML_HIDDEN int xmlCharEncInput(xmlParserInputBufferPtr input)
XML_HIDDEN int xmlEncInputChunk(xmlCharEncodingHandler *handler, unsigned char *out, int *outlen, const unsigned char *in, int *inlen)
const char * xmlGetCharEncodingName(xmlCharEncoding enc)
xmlCharEncodingHandlerPtr xmlGetCharEncodingHandler(xmlCharEncoding enc)
xmlCharEncodingHandlerPtr xmlFindCharEncodingHandler(const char *name)
@ XML_CHAR_ENCODING_UTF16BE
@ XML_CHAR_ENCODING_EBCDIC
@ XML_CHAR_ENCODING_UCS4LE
@ XML_CHAR_ENCODING_UCS4BE
@ XML_CHAR_ENCODING_UTF16LE
@ XML_CHAR_ENCODING_ASCII
XMLPUBFUN int xmlCharEncCloseFunc(xmlCharEncodingHandler *handler)
GLenum GLuint GLenum GLsizei const GLchar * buf
GLenum GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * bits
GLenum GLenum GLenum input
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
@ XML_EXTERNAL_GENERAL_PARSED_ENTITY
@ XML_INTERNAL_PREDEFINED_ENTITY
@ XML_EXTERNAL_GENERAL_UNPARSED_ENTITY
@ XML_INTERNAL_GENERAL_ENTITY
@ XML_INTERNAL_PARAMETER_ENTITY
@ XML_EXTERNAL_PARAMETER_ENTITY
#define memcpy(s1, s2, n)
unsigned long xmlParserFindNodeInfoIndex(const xmlParserNodeInfoSeqPtr seq, const xmlNodePtr node)
void __xmlErrEncoding(xmlParserCtxtPtr ctxt, xmlParserErrors xmlerr, const char *msg, const xmlChar *str1, const xmlChar *str2)
int xmlCopyCharMultiByte(xmlChar *out, int val)
xmlParserInputPtr xmlNewStringInputStream(xmlParserCtxtPtr ctxt, const xmlChar *buffer)
xmlParserCtxtPtr xmlNewParserCtxt(void)
int xmlParserGrow(xmlParserCtxtPtr ctxt)
void xmlFreeInputStream(xmlParserInputPtr input)
int xmlCopyChar(int len ATTRIBUTE_UNUSED, xmlChar *out, int val)
void xmlParserInputShrink(xmlParserInputPtr in)
int xmlInitParserCtxt(xmlParserCtxtPtr ctxt)
void xmlClearNodeInfoSeq(xmlParserNodeInfoSeqPtr seq)
static int xmlInitSAXParserCtxt(xmlParserCtxtPtr ctxt, const xmlSAXHandler *sax, void *userData)
xmlParserCtxtPtr xmlNewSAXParserCtxt(const xmlSAXHandler *sax, void *userData)
#define XML_MAX_AMPLIFICATION_DEFAULT
void xmlErrMemory(xmlParserCtxtPtr ctxt, const char *extra)
int xmlKeepBlanksDefault(int val)
void xmlNextChar(xmlParserCtxtPtr ctxt)
xmlParserInputPtr xmlNewInputStream(xmlParserCtxtPtr ctxt)
void xmlCheckVersion(int version)
void xmlClearParserCtxt(xmlParserCtxtPtr ctxt)
xmlParserInputPtr xmlNewEntityInputStream(xmlParserCtxtPtr ctxt, xmlEntityPtr entity)
int xmlStringCurrentChar(xmlParserCtxtPtr ctxt ATTRIBUTE_UNUSED, const xmlChar *cur, int *len)
int xmlParserInputGrow(xmlParserInputPtr in, int len)
void xmlFreeParserCtxt(xmlParserCtxtPtr ctxt)
const xmlChar * xmlGetActualEncoding(xmlParserCtxtPtr ctxt)
void xmlSetDeclaredEncoding(xmlParserCtxtPtr ctxt, xmlChar *encoding)
int xmlSwitchInputEncoding(xmlParserCtxtPtr ctxt, xmlParserInputPtr input, xmlCharEncodingHandlerPtr handler)
int xmlPedanticParserDefault(int val)
xmlParserInputPtr xmlNewInputFromFile(xmlParserCtxtPtr ctxt, const char *filename)
int xmlSwitchToEncoding(xmlParserCtxtPtr ctxt, xmlCharEncodingHandlerPtr handler)
const xmlParserNodeInfo * xmlParserFindNodeInfo(const xmlParserCtxtPtr ctx, const xmlNodePtr node)
int xmlSwitchEncoding(xmlParserCtxtPtr ctxt, xmlCharEncoding enc)
static xmlCharEncodingHandlerPtr xmlDetectEBCDIC(xmlParserInputPtr input)
int xmlSubstituteEntitiesDefault(int val)
void xmlInitNodeInfoSeq(xmlParserNodeInfoSeqPtr seq)
void xmlFatalErr(xmlParserCtxtPtr ctxt, xmlParserErrors error, const char *info)
void xmlParserAddNodeInfo(xmlParserCtxtPtr ctxt, const xmlParserNodeInfoPtr info)
void xmlParserShrink(xmlParserCtxtPtr ctxt)
int xmlLineNumbersDefault(int val)
int xmlCurrentChar(xmlParserCtxtPtr ctxt, int *len)
int xmlParserInputRead(xmlParserInputPtr in ATTRIBUTE_UNUSED, int len ATTRIBUTE_UNUSED)
xmlParserInputPtr xmlNewIOInputStream(xmlParserCtxtPtr ctxt, xmlParserInputBufferPtr input, xmlCharEncoding enc)
void xmlDetectEncoding(xmlParserCtxtPtr ctxt)
void xmlHaltParser(xmlParserCtxtPtr ctxt)
#define IS_IDEOGRAPHIC(c)
#define XML_MAX_LOOKUP_LIMIT
#define XML_MAX_DICTIONARY_LIMIT
XMLPUBFUN xmlParserInputPtr inputPop(xmlParserCtxtPtr ctxt)
static unsigned __int64 next
void xmlDictFree(xmlDictPtr dict)
size_t xmlDictSetLimit(xmlDictPtr dict, size_t limit)
xmlDictPtr xmlDictCreate(void)
int xmlSubstituteEntitiesDefaultValue
void * xmlGenericErrorContext
xmlReallocFunc xmlRealloc
xmlGenericErrorFunc xmlGenericError
int xmlParserDebugEntities
int xmlLoadExtDtdDefaultValue
int xmlDoValidityCheckingDefaultValue
int xmlKeepBlanksDefaultValue
int xmlPedanticParserDefaultValue
int xmlGetWarningsDefaultValue
int xmlLineNumbersDefaultValue
void xmlHashFree(xmlHashTablePtr hash, xmlHashDeallocator dealloc)
void xmlHashDefaultDeallocator(void *entry, const xmlChar *key ATTRIBUTE_UNUSED)
XMLPUBFUN xmlParserInputPtr xmlLoadExternalEntity(const char *URL, const char *ID, xmlParserCtxtPtr ctxt)
XML_GLOBALS_PARSER XMLPUBFUN void xmlInitParser(void)
XMLPUBFUN void xmlStopParser(xmlParserCtxtPtr ctxt)
XMLPUBFUN void xmlCtxtReset(xmlParserCtxtPtr ctxt)
XML_HIDDEN void __xmlRaiseError(xmlStructuredErrorFunc schannel, xmlGenericErrorFunc channel, void *data, void *ctx, void *nod, int domain, int code, xmlErrorLevel level, const char *file, int line, const char *str1, const char *str2, const char *str3, int int1, int col, const char *msg,...) LIBXML_ATTR_FORMAT(16
XML_HIDDEN void xmlParserInputBufferPtr xmlParserInputBufferCreateString(const xmlChar *str)
XML_HIDDEN void __xmlLoaderErr(void *ctx, const char *msg, const char *filename) LIBXML_ATTR_FORMAT(2
#define XML_INPUT_ENCODING_ERROR
#define XML_INPUT_AUTO_UTF16LE
#define XML_INPUT_AUTO_UTF8
XML_HIDDEN void xmlParserErrors const char const xmlChar const xmlChar * str2
#define XML_INPUT_USES_ENC_DECL
XML_HIDDEN void xmlParserNsFree(xmlParserNsData *nsdb)
#define XML_INPUT_AUTO_ENCODING
#define XML_INPUT_AUTO_UTF16BE
#define XML_INPUT_HAS_ENCODING
XML_HIDDEN xmlParserNsData * xmlParserNsCreate(void)
XML_HIDDEN void xmlParserErrors const char const xmlChar * str1
#define XML_VCTXT_USE_PCTXT
#define XML_INPUT_AUTO_OTHER
xmlParserNodeInfo * buffer
const struct _xmlNode * node
static int processed(const type_t *type)
XMLPUBFUN xmlChar * xmlCanonicPath(const xmlChar *path)
wchar_t tm const _CrtWcstime_Writes_and_advances_ptr_ count wchar_t ** out
XMLPUBFUN void xmlFreeParserInputBuffer(xmlParserInputBufferPtr in)
XMLPUBFUN char * xmlParserGetDirectory(const char *filename)
XMLPUBFUN xmlParserInputPtr xmlCheckHTTPInput(xmlParserCtxtPtr ctxt, xmlParserInputPtr ret)
XMLPUBFUN int xmlParserInputBufferGrow(xmlParserInputBufferPtr in, int len)
XMLPUBFUN xmlParserInputBufferPtr xmlParserInputBufferCreateFilename(const char *URI, xmlCharEncoding enc)
XMLPUBFUN int xmlParserInputBufferRead(xmlParserInputBufferPtr in, int len)
XMLPUBFUN void XMLPUBFUN void XMLPUBFUN void xmlParserValidityError(void *ctx, const char *msg,...) LIBXML_ATTR_FORMAT(2
@ XML_ERR_NOT_WELL_BALANCED
@ XML_ERR_ENTITY_NOT_FINISHED
@ XML_WAR_ENCODING_MISMATCH
@ XML_ERR_ENTITYREF_SEMICOL_MISSING
@ XML_ERR_PEREF_IN_PROLOG
@ XML_ERR_LT_IN_ATTRIBUTE
@ XML_ERR_ENTITY_PE_INTERNAL
@ XML_ERR_ATTLIST_NOT_STARTED
@ XML_ERR_LITERAL_NOT_FINISHED
@ XML_ERR_XMLDECL_NOT_FINISHED
@ XML_ERR_ELEMCONTENT_NOT_STARTED
@ XML_ERR_LTSLASH_REQUIRED
@ XML_ERR_MIXED_NOT_STARTED
@ XML_ERR_PEREF_IN_EPILOG
@ XML_ERR_DOCTYPE_NOT_FINISHED
@ XML_ERR_CONDSEC_INVALID
@ XML_ERR_EXT_ENTITY_STANDALONE
@ XML_ERR_RESERVED_XML_NAME
@ XML_ERR_HYPHEN_IN_COMMENT
@ XML_ERR_MISPLACED_CDATA_END
@ XML_ERR_CONDSEC_INVALID_KEYWORD
@ XML_ERR_INVALID_ENCODING
@ XML_ERR_INVALID_CHARREF
@ XML_ERR_NMTOKEN_REQUIRED
@ XML_ERR_PEREF_IN_INT_SUBSET
@ XML_ERR_ELEMCONTENT_NOT_FINISHED
@ XML_ERR_PCDATA_REQUIRED
@ XML_ERR_NOTATION_NOT_STARTED
@ XML_ERR_STRING_NOT_CLOSED
@ XML_ERR_ATTRIBUTE_NOT_STARTED
@ XML_ERR_CONDSEC_NOT_FINISHED
@ XML_ERR_INVALID_DEC_CHARREF
@ XML_ERR_LITERAL_NOT_STARTED
@ XML_ERR_STRING_NOT_STARTED
@ XML_ERR_INVALID_HEX_CHARREF
@ XML_ERR_VERSION_MISSING
@ XML_ERR_EXT_SUBSET_NOT_FINISHED
@ XML_ERR_STANDALONE_VALUE
@ XML_ERR_ATTLIST_NOT_FINISHED
@ XML_ERR_XMLDECL_NOT_STARTED
@ XML_ERR_PEREF_SEMICOL_MISSING
@ XML_ERR_NOTATION_NOT_FINISHED
@ XML_ERR_UNSUPPORTED_ENCODING
@ XML_ERR_ENTITY_NOT_STARTED
XMLPUBFUN void XMLPUBFUN void XMLPUBFUN void XMLPUBFUN void xmlParserValidityWarning(void *ctx, const char *msg,...) LIBXML_ATTR_FORMAT(2
XMLPUBFUN int XMLPUBFUN int XMLPUBFUN int xmlGetUTF8Char(const unsigned char *utf, int *len)
XMLPUBFUN int xmlStrlen(const xmlChar *str)
XMLPUBFUN int xmlStrcasecmp(const xmlChar *str1, const xmlChar *str2)
XMLPUBFUN int xmlStrncmp(const xmlChar *str1, const xmlChar *str2, int len)
XMLPUBFUN xmlChar * xmlStrdup(const xmlChar *cur)
#define LIBXML_ATTR_FORMAT(fmt, args)