• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /**
2 ***     Transcoding support declarations.
3 ***
4 ***     See Copyright for the status of this software.
5 ***
6 ***     Author: Patrick Monnerat <pm@datasphere.ch>, DATASPHERE S.A.
7 **/
8 
9 #ifndef _TRANSCODE_H_
10 #define _TRANSCODE_H_
11 
12 #include <stdarg.h>
13 #include <libxml/dict.h>
14 
15 
16 XMLPUBFUN void          xmlZapDict(xmlDictPtr * dict);
17 XMLPUBFUN const char *  xmlTranscodeResult(const xmlChar * s,
18         const char * encoding, xmlDictPtr * dict,
19         void (*freeproc)(const void *));
20 XMLPUBFUN const xmlChar * xmlTranscodeString(const char * s,
21         const char * encoding, xmlDictPtr * dict);
22 XMLPUBFUN const xmlChar * xmlTranscodeWString(const char * s,
23         const char * encoding, xmlDictPtr * dict);
24 XMLPUBFUN const xmlChar * xmlTranscodeHString(const char * s,
25         const char * encoding, xmlDictPtr * dict);
26 
27 #ifndef XML_NO_SHORT_NAMES
28 /**
29 ***     Since the above functions are generally called "inline" (i.e.: several
30 ***             times nested in a single expression), define shorthand names
31 ***             to minimize calling statement length.
32 **/
33 
34 #define xmlTR   xmlTranscodeResult
35 #define xmlTS   xmlTranscodeString
36 #define xmlTW   xmlTranscodeWString
37 #define xmlTH   xmlTranscodeHstring
38 #endif
39 
40 XMLPUBFUN const char *  xmlVasprintf(xmlDictPtr * dict, const char * encoding,
41         const xmlChar * fmt, va_list args);
42 
43 #endif
44