1 | /*
|
---|
2 | * Summary: Internal Interfaces for memory buffers in libxml2
|
---|
3 | * Description: this module describes most of the new xmlBuf buffer
|
---|
4 | * entry points, those are private routines, with a
|
---|
5 | * few exceptions exported in tree.h. This was added
|
---|
6 | * in 2.9.0.
|
---|
7 | *
|
---|
8 | * Copy: See Copyright for the status of this software.
|
---|
9 | *
|
---|
10 | * Author: Daniel Veillard
|
---|
11 | */
|
---|
12 |
|
---|
13 | #ifndef __XML_BUF_H__
|
---|
14 | #define __XML_BUF_H__
|
---|
15 |
|
---|
16 | #include <libxml/tree.h>
|
---|
17 |
|
---|
18 | #ifdef __cplusplus
|
---|
19 | extern "C" {
|
---|
20 | #endif
|
---|
21 |
|
---|
22 | xmlBufPtr xmlBufCreate(void);
|
---|
23 | xmlBufPtr xmlBufCreateSize(size_t size);
|
---|
24 | xmlBufPtr xmlBufCreateStatic(void *mem, size_t size);
|
---|
25 |
|
---|
26 | int xmlBufSetAllocationScheme(xmlBufPtr buf,
|
---|
27 | xmlBufferAllocationScheme scheme);
|
---|
28 | int xmlBufGetAllocationScheme(xmlBufPtr buf);
|
---|
29 |
|
---|
30 | void xmlBufFree(xmlBufPtr buf);
|
---|
31 | void xmlBufEmpty(xmlBufPtr buf);
|
---|
32 |
|
---|
33 | /* size_t xmlBufShrink(xmlBufPtr buf, size_t len); */
|
---|
34 | int xmlBufGrow(xmlBufPtr buf, int len);
|
---|
35 | int xmlBufInflate(xmlBufPtr buf, size_t len);
|
---|
36 | int xmlBufResize(xmlBufPtr buf, size_t len);
|
---|
37 |
|
---|
38 | int xmlBufAdd(xmlBufPtr buf, const xmlChar *str, int len);
|
---|
39 | int xmlBufAddHead(xmlBufPtr buf, const xmlChar *str, int len);
|
---|
40 | int xmlBufCat(xmlBufPtr buf, const xmlChar *str);
|
---|
41 | int xmlBufCCat(xmlBufPtr buf, const char *str);
|
---|
42 | int xmlBufWriteCHAR(xmlBufPtr buf, const xmlChar *string);
|
---|
43 | int xmlBufWriteChar(xmlBufPtr buf, const char *string);
|
---|
44 | int xmlBufWriteQuotedString(xmlBufPtr buf, const xmlChar *string);
|
---|
45 |
|
---|
46 | size_t xmlBufAvail(const xmlBufPtr buf);
|
---|
47 | size_t xmlBufLength(const xmlBufPtr buf);
|
---|
48 | /* size_t xmlBufUse(const xmlBufPtr buf); */
|
---|
49 | int xmlBufIsEmpty(const xmlBufPtr buf);
|
---|
50 | int xmlBufAddLen(xmlBufPtr buf, size_t len);
|
---|
51 | int xmlBufErase(xmlBufPtr buf, size_t len);
|
---|
52 |
|
---|
53 | /* const xmlChar * xmlBufContent(const xmlBuf *buf); */
|
---|
54 | /* const xmlChar * xmlBufEnd(xmlBufPtr buf); */
|
---|
55 |
|
---|
56 | xmlChar * xmlBufDetach(xmlBufPtr buf);
|
---|
57 |
|
---|
58 | size_t xmlBufDump(FILE *file, xmlBufPtr buf);
|
---|
59 |
|
---|
60 | xmlBufPtr xmlBufFromBuffer(xmlBufferPtr buffer);
|
---|
61 | xmlBufferPtr xmlBufBackToBuffer(xmlBufPtr buf);
|
---|
62 | int xmlBufMergeBuffer(xmlBufPtr buf, xmlBufferPtr buffer);
|
---|
63 |
|
---|
64 | int xmlBufResetInput(xmlBufPtr buf, xmlParserInputPtr input);
|
---|
65 | size_t xmlBufGetInputBase(xmlBufPtr buf, xmlParserInputPtr input);
|
---|
66 | int xmlBufSetInputBaseCur(xmlBufPtr buf, xmlParserInputPtr input,
|
---|
67 | size_t base, size_t cur);
|
---|
68 | #ifdef __cplusplus
|
---|
69 | }
|
---|
70 | #endif
|
---|
71 | #endif /* __XML_BUF_H__ */
|
---|
72 |
|
---|