X-Git-Url: https://pd.if.org/git/?p=pdclib;a=blobdiff_plain;f=includes%2Fwctype.h;h=3b3e211eb5fe1d78b9b36dcc1690b09255a243bc;hp=9db569470a90179d8ae7c2d4d89ebcfc7bb739ed;hb=1d9d92ba957a0b8307c9a65c35867fde68e6533b;hpb=1e221deb9ee725a14b3656f94e2763f8faeb18dc diff --git a/includes/wctype.h b/includes/wctype.h index 9db5694..3b3e211 100644 --- a/includes/wctype.h +++ b/includes/wctype.h @@ -1,15 +1,57 @@ -// ---------------------------------------------------------------------------- -// $Id$ -// ---------------------------------------------------------------------------- -// Public Domain C Library - http://pdclib.sourceforge.net -// This code is Public Domain. Use, modify, and redistribute at will. -// ---------------------------------------------------------------------------- -// Provides a wchar_t equivalent to ctype.h. -// ---------------------------------------------------------------------------- +/* ---------------------------------------------------------------------------- + * $Id$ + * ---------------------------------------------------------------------------- + * Public Domain C Library - http://pdclib.sourceforge.net + * This code is Public Domain. Use, modify, and redistribute at will. + * ---------------------------------------------------------------------------- + * Wide character classification and mapping utilities + * --------------------------------------------------------------------------*/ -#ifndef __WCTYPE_H -#define __WCTYPE_H __WCTYPE_H +#ifndef _WCTYPE_H +#define _WCTYPE_H _WCTYPE_H -// TODO +#ifndef _NULL +#define _NULL _NULL +#include "__intern.h" +#endif /* _NULL */ -#endif // __WCTYPE_H +/* TODO: Documentation */ + +/* ---------------------------------------------------------------------------- + * TYPEDEFS + * --------------------------------------------------------------------------*/ + +#ifndef _WINT_T +#define _WINT_T _WINT_T +typedef __wint_t wint_t +#endif /* _WINT_T */ + +typedef wctrans_t; /* TODO - to __intern.h / __personality.h? */ +typedef wctype_t; /* TODO - to __intern.h / __personality.h? */ + +/* ---------------------------------------------------------------------------- + * FUNCTIONS + * --------------------------------------------------------------------------*/ + +int iswalnum( wint_t c ); +int iswalpha( wint_t c ); +int iswblank( wint_t c ); +int iswcntrl( wint_t c ); +int iswctype( wint_t c, wctype_t category ); +int iswdigit( wint_t c ); +int iswgraph( wint_t c ); +int iswlower( wint_t c ); +int iswprint( wint_t c ); +int iswpunct( wint_t c ); +int iswspace( wint_t c ); +int iswupper( wint_t c ); +int iswxdigit( wint_t c ); + +wint_t towctrans( wint_t c, wctrans_t category ); +wint_t towlower( wint_t c ); +wint_t towupper( wint_t c ); + +wctrans_t wctrans( const char * property ); +wctype_t wctype( const char * property ); + +#endif /* _WCTYPE_H */