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 | |
73 | |