/* * Copyright (c) 2011, 2014 Jonas 'Sortie' Termansen. * * Permission to use, copy, modify, and distribute this software for any * purpose with or without fee is hereby granted, provided that the above * copyright notice and this permission notice appear in all copies. * * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. * * wctype.h * Wide-character classification and mapping utilities */ #ifndef _INCLUDE_WCTYPE_H #define _INCLUDE_WCTYPE_H #include #include #include <__/wchar.h> #ifdef __cplusplus extern "C" { #endif #ifndef __wint_t_defined #define __wint_t_defined typedef __wint_t wint_t; #endif #ifndef __locale_t_defined #define __locale_t_defined /* TODO: figure out what this does and typedef it properly. This is just a temporary assignment. */ typedef int __locale_t; typedef __locale_t locale_t; #endif #ifndef WEOF #define WEOF __WEOF #endif /* TODO: Figure out what this does and typedef it properly. This is just a temporary assignment. */ typedef unsigned int wctrans_t; typedef int (*wctype_t)(wint_t); int iswalnum(wint_t); int iswalpha(wint_t); int iswblank(wint_t); int iswcntrl(wint_t); int iswctype(wint_t, wctype_t); int iswdigit(wint_t); int iswgraph(wint_t); int iswlower(wint_t); int iswprint(wint_t); int iswpunct(wint_t); int iswspace(wint_t); int iswupper(wint_t); int iswxdigit(wint_t); wint_t towlower(wint_t); wint_t towupper(wint_t); wctype_t wctype(const char *); /* TODO: These are not implemented in sortix libc yet. */ #if 0 int iswalnum_l(wint_t, locale_t); int iswalpha_l(wint_t, locale_t); int iswblank_l(wint_t, locale_t); int iswcntrl_l(wint_t, locale_t); int iswctype_l(wint_t, wctype_t, locale_t); int iswdigit_l(wint_t, locale_t); int iswgraph_l(wint_t, locale_t); int iswlower_l(wint_t, locale_t); int iswprint_l(wint_t, locale_t); int iswpunct_l(wint_t, locale_t); int iswspace_l(wint_t, locale_t); int iswupper_l(wint_t, locale_t); int iswxdigit_l(wint_t, locale_t); wint_t towctrans(wint_t, wctrans_t); wint_t towctrans_l(wint_t, wctrans_t, locale_t); wint_t towlower_l(wint_t, locale_t); wint_t towupper_l(wint_t, locale_t); wctrans_t wctrans(const char *); wctrans_t wctrans_l(const char *, locale_t); wctype_t wctype_l(const char *, locale_t); #endif #ifdef __cplusplus } /* extern "C" */ #endif #endif