]> git.saurik.com Git - apple/libc.git/blob - include/xlocale.h
856954041cecdc6943a9100e164dea7b40167e3d
[apple/libc.git] / include / xlocale.h
1 /*
2 * Copyright (c) 2005 Apple Computer, Inc. All rights reserved.
3 *
4 * @APPLE_LICENSE_HEADER_START@
5 *
6 * This file contains Original Code and/or Modifications of Original Code
7 * as defined in and that are subject to the Apple Public Source License
8 * Version 2.0 (the 'License'). You may not use this file except in
9 * compliance with the License. Please obtain a copy of the License at
10 * http://www.opensource.apple.com/apsl/ and read it before using this
11 * file.
12 *
13 * The Original Code and all software distributed under the License are
14 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
15 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
16 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
17 * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
18 * Please see the License for the specific language governing rights and
19 * limitations under the License.
20 *
21 * @APPLE_LICENSE_HEADER_END@
22 */
23
24 #ifndef _XLOCALE_H_
25 #define _XLOCALE_H_
26
27 #include <sys/cdefs.h>
28
29 #ifndef _USE_EXTENDED_LOCALES_
30 #define _USE_EXTENDED_LOCALES_
31 #endif /* _USE_EXTENDED_LOCALES_ */
32
33 #include <_locale.h>
34 #include <_xlocale.h>
35
36 #define LC_ALL_MASK ( LC_COLLATE_MASK \
37 | LC_CTYPE_MASK \
38 | LC_MESSAGES_MASK \
39 | LC_MONETARY_MASK \
40 | LC_NUMERIC_MASK \
41 | LC_TIME_MASK )
42 #define LC_COLLATE_MASK (1 << 0)
43 #define LC_CTYPE_MASK (1 << 1)
44 #define LC_MESSAGES_MASK (1 << 2)
45 #define LC_MONETARY_MASK (1 << 3)
46 #define LC_NUMERIC_MASK (1 << 4)
47 #define LC_TIME_MASK (1 << 5)
48
49 #define _LC_NUM_MASK 6
50 #define _LC_LAST_MASK (1 << (_LC_NUM_MASK - 1))
51
52 #define LC_GLOBAL_LOCALE ((locale_t)-1)
53
54 #ifdef MB_CUR_MAX
55 #undef MB_CUR_MAX
56 #define MB_CUR_MAX (___mb_cur_max())
57 #ifndef MB_CUR_MAX_L
58 #define MB_CUR_MAX_L(x) (___mb_cur_max_l(x))
59 #endif /* !MB_CUR_MAX_L */
60 #endif /* MB_CUR_MAX */
61
62 __BEGIN_DECLS
63 extern const locale_t _c_locale;
64
65 locale_t duplocale(locale_t);
66 int freelocale(locale_t);
67 struct lconv * localeconv_l(locale_t);
68 locale_t newlocale(int, __const char *, locale_t);
69 __const char * querylocale(int, locale_t);
70 locale_t uselocale(locale_t);
71 __END_DECLS
72
73 //Begin-Libc
74 #ifndef __DARWIN_XLOCALE_PRIVATE
75 //End-Libc
76 #ifdef _CTYPE_H_
77 #include <xlocale/_ctype.h>
78 #endif /* _CTYPE_H_ */
79 #ifdef __WCTYPE_H_
80 #include <xlocale/__wctype.h>
81 #endif /* __WCTYPE_H_ */
82 #ifdef _INTTYPES_H_
83 #include <xlocale/_inttypes.h>
84 #endif /* _INTTYPES_H_ */
85 #ifdef _LANGINFO_H_
86 #include <xlocale/_langinfo.h>
87 #endif /* _LANGINFO_H_ */
88 #ifdef _MONETARY_H_
89 #include <xlocale/_monetary.h>
90 #endif /* _MONETARY_H_ */
91 #ifdef _REGEX_H_
92 #include <xlocale/_regex.h>
93 #endif /* _REGEX_H_ */
94 #ifdef _STDIO_H_
95 #include <xlocale/_stdio.h>
96 #endif /* _STDIO_H_ */
97 #ifdef _STDLIB_H_
98 #include <xlocale/_stdlib.h>
99 #endif /* _STDLIB_H_ */
100 #ifdef _STRING_H_
101 #include <xlocale/_string.h>
102 #endif /*STRING_CTYPE_H_ */
103 #ifdef _TIME_H_
104 #include <xlocale/_time.h>
105 #endif /* _TIME_H_ */
106 #ifdef _WCHAR_H_
107 #include <xlocale/_wchar.h>
108 #endif /*WCHAR_CTYPE_H_ */
109 #ifdef _WCTYPE_H_
110 #include <xlocale/_wctype.h>
111 #endif /* _WCTYPE_H_ */
112 //Begin-Libc
113 #endif /* __DARWIN_XLOCALE_PRIVATE */
114 //End-Libc
115
116 #endif /* _XLOCALE_H_ */