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
8 * Copy: See Copyright for the status of this software.
10 * Author: Daniel Veillard
16 #include <libxml/tree.h>
22 xmlBufPtr
xmlBufCreate(void);
23 xmlBufPtr
xmlBufCreateSize(size_t size
);
24 xmlBufPtr
xmlBufCreateStatic(void *mem
, size_t size
);
26 int xmlBufSetAllocationScheme(xmlBufPtr buf
,
27 xmlBufferAllocationScheme scheme
);
28 int xmlBufGetAllocationScheme(xmlBufPtr buf
);
30 void xmlBufFree(xmlBufPtr buf
);
31 void xmlBufEmpty(xmlBufPtr buf
);
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
);
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
);
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
);
53 /* const xmlChar * xmlBufContent(const xmlBuf *buf); */
54 /* const xmlChar * xmlBufEnd(xmlBufPtr buf); */
56 xmlChar
* xmlBufDetach(xmlBufPtr buf
);
58 size_t xmlBufDump(FILE *file
, xmlBufPtr buf
);
60 xmlBufPtr
xmlBufFromBuffer(xmlBufferPtr buffer
);
61 xmlBufferPtr
xmlBufBackToBuffer(xmlBufPtr buf
);
62 int xmlBufMergeBuffer(xmlBufPtr buf
, xmlBufferPtr buffer
);
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
);
71 #endif /* __XML_BUF_H__ */