haiku/headers/posix/wctype.h
Trung Nguyen d338200e2b libs/posix: Implemented new locale functions
Implemented the missing POSIX functions in <locale.h>:
newlocale, duplocale, uselocale, and freelocale, and also
provided missing type definitions for <locale.h>.

Implemented missing POSIX locale-based function variants.

Modified LocaleBackend so that it could support thread-local
locales.

Some glibc-like locale-related variables supporting
ctype and printf family of functions have also been updated
to reflect the thread-local variables present in the latest
glibc sources.

As there have been some modifications to global symbols
in libroot, libroot_stubs.c has been regenerated.

Bug: #17168
Change-Id: Ibf296c58c47d42d1d1dfb2ce64042442f2679431
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5351
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
2022-07-11 16:30:16 +00:00

68 lines
2.0 KiB
C

/*
* Copyright 2005-2012 Haiku, Inc. All Rights Reserved.
* Distributed under the terms of the MIT License.
*/
#ifndef _WCTYPE_H_
#define _WCTYPE_H_
#include <locale.h>
#include <wchar.h>
typedef int wctrans_t;
#ifdef __cplusplus
extern "C" {
#endif
extern int iswalnum(wint_t wc);
extern int iswalpha(wint_t wc);
extern int iswcntrl(wint_t wc);
extern int iswctype(wint_t wc, wctype_t desc);
extern int iswdigit(wint_t wc);
extern int iswgraph(wint_t wc);
extern int iswlower(wint_t wc);
extern int iswprint(wint_t wc);
extern int iswpunct(wint_t wc);
extern int iswspace(wint_t wc);
extern int iswupper(wint_t wc);
extern int iswxdigit(wint_t wc);
extern int iswblank(wint_t wc);
extern wint_t towctrans(wint_t wc, wctrans_t transition);
extern wint_t towlower(wint_t wc);
extern wint_t towupper(wint_t wc);
extern wctrans_t wctrans(const char *charClass);
extern wctype_t wctype(const char *property);
extern int iswalnum_l(wint_t wc, locale_t locale);
extern int iswalpha_l(wint_t wc, locale_t locale);
extern int iswcntrl_l(wint_t wc, locale_t locale);
extern int iswctype_l(wint_t wc, wctype_t desc, locale_t locale);
extern int iswdigit_l(wint_t wc, locale_t locale);
extern int iswgraph_l(wint_t wc, locale_t locale);
extern int iswlower_l(wint_t wc, locale_t locale);
extern int iswprint_l(wint_t wc, locale_t locale);
extern int iswpunct_l(wint_t wc, locale_t locale);
extern int iswspace_l(wint_t wc, locale_t locale);
extern int iswupper_l(wint_t wc, locale_t locale);
extern int iswxdigit_l(wint_t wc, locale_t locale);
extern int iswblank_l(wint_t wc, locale_t locale);
extern wint_t towctrans_l(wint_t wc, wctrans_t transition, locale_t locale);
extern wint_t towlower_l(wint_t wc, locale_t locale);
extern wint_t towupper_l(wint_t wc, locale_t locale);
extern wctrans_t wctrans_l(const char *charClass, locale_t locale);
extern wctype_t wctype_l(const char *property, locale_t locale);
#ifdef __cplusplus
}
#endif
#endif /* _WCTYPE_H_ */