39b2210f001884ac01e39fcaaf98dc09efdf0424
[reactos.git] / sdk / include / reactos / libs / 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 #include "xsltexports.h"
16
17 #ifdef XSLT_LOCALE_XLOCALE
18
19 #include <locale.h>
20 #include <xlocale.h>
21
22 #ifdef __GLIBC__
23 /*locale_t is defined only if _GNU_SOURCE is defined*/
24 typedef __locale_t xsltLocale;
25 #else
26 typedef locale_t xsltLocale;
27 #endif
28 typedef xmlChar xsltLocaleChar;
29
30 #elif defined(XSLT_LOCALE_WINAPI)
31
32 //#include <windows.h>
33
34 #define WIN32_NO_STATUS
35 #include <windef.h>
36 #include <winbase.h>
37 #include <winnls.h>
38
39 typedef LCID xsltLocale;
40 typedef wchar_t xsltLocaleChar;
41
42 #else
43
44 /*
45 * XSLT_LOCALE_NONE:
46 * Macro indicating that locale are not supported
47 */
48 #ifndef XSLT_LOCALE_NONE
49 #define XSLT_LOCALE_NONE
50 #endif
51
52 typedef void *xsltLocale;
53 typedef xmlChar xsltLocaleChar;
54
55 #endif
56
57 XSLTPUBFUN xsltLocale XSLTCALL
58 xsltNewLocale (const xmlChar *langName);
59 XSLTPUBFUN void XSLTCALL
60 xsltFreeLocale (xsltLocale locale);
61 XSLTPUBFUN xsltLocaleChar * XSLTCALL
62 xsltStrxfrm (xsltLocale locale,
63 const xmlChar *string);
64 XSLTPUBFUN int XSLTCALL
65 xsltLocaleStrcmp (xsltLocale locale,
66 const xsltLocaleChar *str1,
67 const xsltLocaleChar *str2);
68 XSLTPUBFUN void XSLTCALL
69 xsltFreeLocales (void);
70
71 #endif /* __XML_XSLTLOCALE_H__ */