2 * Copyright (c) 2005 Apple Computer, Inc. All rights reserved.
4 * @APPLE_LICENSE_HEADER_START@
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
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.
21 * @APPLE_LICENSE_HEADER_END@
24 #ifndef _XLOCALE___WCTYPE_H_
25 #define _XLOCALE___WCTYPE_H_
28 #include <xlocale/_ctype.h>
30 #if !defined(_DONT_USE_CTYPE_INLINE_) && \
31 (defined(_USE_CTYPE_INLINE_) || defined(__GNUC__) || defined(__cplusplus))
33 __DARWIN_WCTYPE_TOP_inline
int
34 iswalnum_l(wint_t _wc
, locale_t _l
)
36 return (__istype_l(_wc
, _CTYPE_A
|_CTYPE_D
, _l
));
39 __DARWIN_WCTYPE_TOP_inline
int
40 iswalpha_l(wint_t _wc
, locale_t _l
)
42 return (__istype_l(_wc
, _CTYPE_A
, _l
));
45 __DARWIN_WCTYPE_TOP_inline
int
46 iswcntrl_l(wint_t _wc
, locale_t _l
)
48 return (__istype_l(_wc
, _CTYPE_C
, _l
));
51 __DARWIN_WCTYPE_TOP_inline
int
52 iswctype_l(wint_t _wc
, wctype_t _charclass
, locale_t _l
)
54 return (__istype_l(_wc
, _charclass
, _l
));
57 __DARWIN_WCTYPE_TOP_inline
int
58 iswdigit_l(wint_t _wc
, locale_t _l
)
60 return (__istype_l(_wc
, _CTYPE_D
, _l
));
63 __DARWIN_WCTYPE_TOP_inline
int
64 iswgraph_l(wint_t _wc
, locale_t _l
)
66 return (__istype_l(_wc
, _CTYPE_G
, _l
));
69 __DARWIN_WCTYPE_TOP_inline
int
70 iswlower_l(wint_t _wc
, locale_t _l
)
72 return (__istype_l(_wc
, _CTYPE_L
, _l
));
75 __DARWIN_WCTYPE_TOP_inline
int
76 iswprint_l(wint_t _wc
, locale_t _l
)
78 return (__istype_l(_wc
, _CTYPE_R
, _l
));
81 __DARWIN_WCTYPE_TOP_inline
int
82 iswpunct_l(wint_t _wc
, locale_t _l
)
84 return (__istype_l(_wc
, _CTYPE_P
, _l
));
87 __DARWIN_WCTYPE_TOP_inline
int
88 iswspace_l(wint_t _wc
, locale_t _l
)
90 return (__istype_l(_wc
, _CTYPE_S
, _l
));
93 __DARWIN_WCTYPE_TOP_inline
int
94 iswupper_l(wint_t _wc
, locale_t _l
)
96 return (__istype_l(_wc
, _CTYPE_U
, _l
));
99 __DARWIN_WCTYPE_TOP_inline
int
100 iswxdigit_l(wint_t _wc
, locale_t _l
)
102 return (__istype_l(_wc
, _CTYPE_X
, _l
));
105 __DARWIN_WCTYPE_TOP_inline
wint_t
106 towlower_l(wint_t _wc
, locale_t _l
)
108 return (__tolower_l(_wc
, _l
));
111 __DARWIN_WCTYPE_TOP_inline
wint_t
112 towupper_l(wint_t _wc
, locale_t _l
)
114 return (__toupper_l(_wc
, _l
));
117 #else /* not using inlines */
120 int iswalnum_l(wint_t, locale_t
);
121 int iswalpha_l(wint_t, locale_t
);
122 int iswcntrl_l(wint_t, locale_t
);
123 int iswctype_l(wint_t, wctype_t, locale_t
);
124 int iswdigit_l(wint_t, locale_t
);
125 int iswgraph_l(wint_t, locale_t
);
126 int iswlower_l(wint_t, locale_t
);
127 int iswprint_l(wint_t, locale_t
);
128 int iswpunct_l(wint_t, locale_t
);
129 int iswspace_l(wint_t, locale_t
);
130 int iswupper_l(wint_t, locale_t
);
131 int iswxdigit_l(wint_t, locale_t
);
132 wint_t towlower_l(wint_t, locale_t
);
133 wint_t towupper_l(wint_t, locale_t
);
136 #endif /* using inlines */
140 wctype_l(const char *, locale_t
);
143 #endif /* _XLOCALE___WCTYPE_H_ */