File size: 1,747 Bytes
6baed57
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#ifndef XML_IO_H_PRIVATE__
#define XML_IO_H_PRIVATE__

#include <libxml/encoding.h>
#include <libxml/tree.h>
#include <libxml/xmlversion.h>

#ifndef SIZE_MAX
  #define SIZE_MAX ((size_t)(-1))
#endif

/*
 * Initial buffer size should include
 *
 * - MINLEN = 4000 (I/O chunk size)
 * - INPUT_CHUNK = 250 (parser prefetch)
 * - LINE_LEN = 80 (shrink limit for error messages)
 * - some amount for unshrunken content.
 */
#define XML_IO_BUFFER_SIZE 6000

#define XML_ESCAPE_ATTR             (1u << 0)
#define XML_ESCAPE_NON_ASCII        (1u << 1)
#define XML_ESCAPE_HTML             (1u << 2)
#define XML_ESCAPE_QUOT             (1u << 3)

XML_HIDDEN xmlChar *
xmlEscapeText(const xmlChar *text, int flags);
#ifdef LIBXML_OUTPUT_ENABLED
XML_HIDDEN void
xmlSerializeText(xmlOutputBuffer *buf, const xmlChar *string, size_t maxSize,
                 unsigned flags);
#endif

XML_HIDDEN void
xmlInitIOCallbacks(void);

XML_HIDDEN int
xmlNoNetExists(const char *filename);

XML_HIDDEN xmlParserErrors
xmlParserInputBufferCreateUrl(const char *URI, xmlCharEncoding enc,
                              xmlParserInputFlags flags,
                              xmlParserInputBuffer **out);

XML_HIDDEN xmlParserInputBuffer *
xmlNewInputBufferString(const char *str, xmlParserInputFlags flags);
XML_HIDDEN xmlParserInputBuffer *
xmlNewInputBufferMemory(const void *mem, size_t size,
                        xmlParserInputFlags flags, xmlCharEncoding enc);

XML_HIDDEN xmlParserErrors
xmlInputFromFd(xmlParserInputBuffer *buf, int fd, xmlParserInputFlags flags);

#ifdef LIBXML_OUTPUT_ENABLED
XML_HIDDEN void
xmlOutputBufferWriteQuotedString(xmlOutputBuffer *buf,
                                 const xmlChar *string);
#endif

#endif /* XML_IO_H_PRIVATE__ */