xref: /minix3/include/wctype.h (revision 84d9c625bfea59e274550651111ae9edfdc40fbd)
1*84d9c625SLionel Sambuc /*	$NetBSD: wctype.h,v 1.9 2013/04/27 21:35:25 joerg Exp $	*/
22fe8fb19SBen Gras 
38a304627SKees van Reeuwijk /*-
48a304627SKees van Reeuwijk  * Copyright (c)1999 Citrus Project,
58a304627SKees van Reeuwijk  * All rights reserved.
68a304627SKees van Reeuwijk  *
78a304627SKees van Reeuwijk  * Redistribution and use in source and binary forms, with or without
88a304627SKees van Reeuwijk  * modification, are permitted provided that the following conditions
98a304627SKees van Reeuwijk  * are met:
108a304627SKees van Reeuwijk  * 1. Redistributions of source code must retain the above copyright
118a304627SKees van Reeuwijk  *    notice, this list of conditions and the following disclaimer.
128a304627SKees van Reeuwijk  * 2. Redistributions in binary form must reproduce the above copyright
138a304627SKees van Reeuwijk  *    notice, this list of conditions and the following disclaimer in the
148a304627SKees van Reeuwijk  *    documentation and/or other materials provided with the distribution.
158a304627SKees van Reeuwijk  *
168a304627SKees van Reeuwijk  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
178a304627SKees van Reeuwijk  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
188a304627SKees van Reeuwijk  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
198a304627SKees van Reeuwijk  * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
208a304627SKees van Reeuwijk  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
218a304627SKees van Reeuwijk  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
228a304627SKees van Reeuwijk  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
238a304627SKees van Reeuwijk  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
248a304627SKees van Reeuwijk  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
258a304627SKees van Reeuwijk  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
268a304627SKees van Reeuwijk  * SUCH DAMAGE.
278a304627SKees van Reeuwijk  *
288a304627SKees van Reeuwijk  *	citrus Id: wctype.h,v 1.4 2000/12/21 01:50:21 itojun Exp
298a304627SKees van Reeuwijk  */
308a304627SKees van Reeuwijk 
318a304627SKees van Reeuwijk #ifndef _WCTYPE_H_
328a304627SKees van Reeuwijk #define	_WCTYPE_H_
338a304627SKees van Reeuwijk 
342fe8fb19SBen Gras #include <sys/cdefs.h>
35*84d9c625SLionel Sambuc #include <sys/featuretest.h>
362fe8fb19SBen Gras #include <sys/ansi.h>
378a304627SKees van Reeuwijk 
382fe8fb19SBen Gras #ifdef	_BSD_WINT_T_
392fe8fb19SBen Gras typedef	_BSD_WINT_T_    wint_t;
402fe8fb19SBen Gras #undef	_BSD_WINT_T_
418a304627SKees van Reeuwijk #endif
428a304627SKees van Reeuwijk 
432fe8fb19SBen Gras #ifdef	_BSD_WCTRANS_T_
442fe8fb19SBen Gras typedef	_BSD_WCTRANS_T_	wctrans_t;
452fe8fb19SBen Gras #undef	_BSD_WCTRANS_T_
462fe8fb19SBen Gras #endif
472fe8fb19SBen Gras 
482fe8fb19SBen Gras #ifdef	_BSD_WCTYPE_T_
492fe8fb19SBen Gras typedef	_BSD_WCTYPE_T_	wctype_t;
502fe8fb19SBen Gras #undef	_BSD_WCTYPE_T_
518a304627SKees van Reeuwijk #endif
528a304627SKees van Reeuwijk 
538a304627SKees van Reeuwijk #ifndef WEOF
548a304627SKees van Reeuwijk #define	WEOF	((wint_t)-1)
558a304627SKees van Reeuwijk #endif
568a304627SKees van Reeuwijk 
572fe8fb19SBen Gras __BEGIN_DECLS
582fe8fb19SBen Gras int	iswalnum(wint_t);
592fe8fb19SBen Gras int	iswalpha(wint_t);
602fe8fb19SBen Gras int	iswblank(wint_t);
612fe8fb19SBen Gras int	iswcntrl(wint_t);
622fe8fb19SBen Gras int	iswdigit(wint_t);
632fe8fb19SBen Gras int	iswgraph(wint_t);
642fe8fb19SBen Gras int	iswlower(wint_t);
652fe8fb19SBen Gras int	iswprint(wint_t);
662fe8fb19SBen Gras int	iswpunct(wint_t);
672fe8fb19SBen Gras int	iswspace(wint_t);
682fe8fb19SBen Gras int	iswupper(wint_t);
692fe8fb19SBen Gras int	iswxdigit(wint_t);
708a304627SKees van Reeuwijk int	iswctype(wint_t, wctype_t);
718a304627SKees van Reeuwijk wint_t	towctrans(wint_t, wctrans_t);
7253b6f99fSBen Gras wint_t	towlower(wint_t);
7353b6f99fSBen Gras wint_t	towupper(wint_t);
742fe8fb19SBen Gras wctrans_t wctrans(const char *);
752fe8fb19SBen Gras wctype_t wctype(const char *);
76*84d9c625SLionel Sambuc 
77*84d9c625SLionel Sambuc #if (_POSIX_C_SOURCE - 0) >= 200809L || defined(_NETBSD_SOURCE)
78*84d9c625SLionel Sambuc #  ifndef __LOCALE_T_DECLARED
79*84d9c625SLionel Sambuc typedef struct _locale		*locale_t;
80*84d9c625SLionel Sambuc #  define __LOCALE_T_DECLARED
81*84d9c625SLionel Sambuc #  endif
82*84d9c625SLionel Sambuc int	iswalnum_l(wint_t, locale_t);
83*84d9c625SLionel Sambuc int	iswalpha_l(wint_t, locale_t);
84*84d9c625SLionel Sambuc int	iswblank_l(wint_t, locale_t);
85*84d9c625SLionel Sambuc int	iswcntrl_l(wint_t, locale_t);
86*84d9c625SLionel Sambuc int	iswdigit_l(wint_t, locale_t);
87*84d9c625SLionel Sambuc int	iswgraph_l(wint_t, locale_t);
88*84d9c625SLionel Sambuc int	iswlower_l(wint_t, locale_t);
89*84d9c625SLionel Sambuc int	iswprint_l(wint_t, locale_t);
90*84d9c625SLionel Sambuc int	iswpunct_l(wint_t, locale_t);
91*84d9c625SLionel Sambuc int	iswspace_l(wint_t, locale_t);
92*84d9c625SLionel Sambuc int	iswupper_l(wint_t, locale_t);
93*84d9c625SLionel Sambuc int	iswxdigit_l(wint_t, locale_t);
94*84d9c625SLionel Sambuc int	iswctype_l(wint_t, wctype_t, locale_t);
95*84d9c625SLionel Sambuc wint_t	towctrans_l(wint_t, wctrans_t, locale_t);
96*84d9c625SLionel Sambuc wint_t	towlower_l(wint_t, locale_t);
97*84d9c625SLionel Sambuc wint_t	towupper_l(wint_t, locale_t);
98*84d9c625SLionel Sambuc wctrans_t wctrans_l(const char *, locale_t);
99*84d9c625SLionel Sambuc wctype_t wctype_l(const char *, locale_t);
100*84d9c625SLionel Sambuc #endif
1012fe8fb19SBen Gras __END_DECLS
1028a304627SKees van Reeuwijk 
1038a304627SKees van Reeuwijk #endif		/* _WCTYPE_H_ */
104