]> git.saurik.com Git - apple/libc.git/blob - include/xlocale.h
Libc-498.tar.gz
[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 struct _xlocale; /* forward reference */
34 typedef struct _xlocale * locale_t;
35
36 #include <_locale.h>
37 #include <_xlocale.h>
38
39 #define LC_ALL_MASK ( LC_COLLATE_MASK \
40 | LC_CTYPE_MASK \
41 | LC_MESSAGES_MASK \
42 | LC_MONETARY_MASK \
43 | LC_NUMERIC_MASK \
44 | LC_TIME_MASK )
45 #define LC_COLLATE_MASK (1 << 0)
46 #define LC_CTYPE_MASK (1 << 1)
47 #define LC_MESSAGES_MASK (1 << 2)
48 #define LC_MONETARY_MASK (1 << 3)
49 #define LC_NUMERIC_MASK (1 << 4)
50 #define LC_TIME_MASK (1 << 5)
51
52 #define _LC_LAST_MASK (1 << (6 - 1))
53
54 #define LC_GLOBAL_LOCALE ((locale_t)-1)
55
56 #ifdef MB_CUR_MAX
57 #undef MB_CUR_MAX
58 #define MB_CUR_MAX (___mb_cur_max())
59 #ifndef MB_CUR_MAX_L
60 #define MB_CUR_MAX_L(x) (___mb_cur_max_l(x))
61 #endif /* !MB_CUR_MAX_L */
62 #endif /* MB_CUR_MAX */
63
64 __BEGIN_DECLS
65 extern const locale_t _c_locale;
66
67 locale_t duplocale(locale_t);
68 int freelocale(locale_t);
69 struct lconv * localeconv_l(locale_t);
70 locale_t newlocale(int, __const char *, locale_t);
71 __const char * querylocale(int, locale_t);
72 locale_t uselocale(locale_t);
73 __END_DECLS
74
75 //Begin-Libc
76 #ifndef __DARWIN_XLOCALE_PRIVATE
77 //End-Libc
78 #ifdef _CTYPE_H_
79 #include <xlocale/_ctype.h>
80 #endif /* _CTYPE_H_ */
81 #ifdef __WCTYPE_H_
82 #include <xlocale/__wctype.h>
83 #endif /* __WCTYPE_H_ */
84 #ifdef _INTTYPES_H_
85 #include <xlocale/_inttypes.h>
86 #endif /* _INTTYPES_H_ */
87 #ifdef _LANGINFO_H_
88 #include <xlocale/_langinfo.h>
89 #endif /* _LANGINFO_H_ */
90 #ifdef _MONETARY_H_
91 #include <xlocale/_monetary.h>
92 #endif /* _MONETARY_H_ */
93 #ifdef _STDIO_H_
94 #include <xlocale/_stdio.h>
95 #endif /* _STDIO_H_ */
96 #ifdef _STDLIB_H_
97 #include <xlocale/_stdlib.h>
98 #endif /* _STDLIB_H_ */
99 #ifdef _STRING_H_
100 #include <xlocale/_string.h>
101 #endif /*STRING_CTYPE_H_ */
102 #ifdef _TIME_H_
103 #include <xlocale/_time.h>
104 #endif /* _TIME_H_ */
105 #ifdef _WCHAR_H_
106 #include <xlocale/_wchar.h>
107 #endif /*WCHAR_CTYPE_H_ */
108 #ifdef _WCTYPE_H_
109 #include <xlocale/_wctype.h>
110 #endif /* _WCTYPE_H_ */
111 //Begin-Libc
112 #endif /* __DARWIN_XLOCALE_PRIVATE */
113 //End-Libc
114
115 #endif /* _XLOCALE_H_ */