* Slap *some* sense into our header inclusions.
[reactos.git] / reactos / dll / 3rdparty / libxslt / xsltlocale.h
1 /*
2 * Summary: Locale handling
3 * Description: Interfaces for locale handling. Needed for language dependent
4 * sorting.
5 *
6 * Copy: See Copyright for the status of this software.
7 *
8 * Author: Nick Wellnhofer
9 */
10
11 #ifndef __XML_XSLTLOCALE_H__
12 #define __XML_XSLTLOCALE_H__
13
14 #include <libxml/xmlstring.h>
15
16 #ifdef XSLT_LOCALE_XLOCALE
17
18 #include <locale.h>
19 #include <xlocale.h>
20
21 #ifdef __GLIBC__
22 /*locale_t is defined only if _GNU_SOURCE is defined*/
23 typedef __locale_t xsltLocale;
24 #else
25 typedef locale_t xsltLocale;
26 #endif
27 typedef xmlChar xsltLocaleChar;
28
29 #elif defined(XSLT_LOCALE_WINAPI)
30
31 //#include <windows.h>
32
33 #define WIN32_NO_STATUS
34 #include <windef.h>
35 #include <winbase.h>
36 #include <winnls.h>
37
38 typedef LCID xsltLocale;
39 typedef wchar_t xsltLocaleChar;
40
41 #else
42
43 /*
44 * XSLT_LOCALE_NONE:
45 * Macro indicating that locale are not supported
46 */
47 #ifndef XSLT_LOCALE_NONE
48 #define XSLT_LOCALE_NONE
49 #endif
50
51 typedef void *xsltLocale;
52 typedef xmlChar xsltLocaleChar;
53
54 #endif
55
56 xsltLocale xsltNewLocale(const xmlChar *langName);
57 void xsltFreeLocale(xsltLocale locale);
58 xsltLocaleChar *xsltStrxfrm(xsltLocale locale, const xmlChar *string);
59 int xsltLocaleStrcmp(xsltLocale locale, const xsltLocaleChar *str1, const xsltLocaleChar *str2);
60
61 #endif /* __XML_XSLTLOCALE_H__ */