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