diff options
Diffstat (limited to 'usr/src/head/wchar.h')
-rw-r--r-- | usr/src/head/wchar.h | 34 |
1 files changed, 25 insertions, 9 deletions
diff --git a/usr/src/head/wchar.h b/usr/src/head/wchar.h index b80469846a..47fb64342a 100644 --- a/usr/src/head/wchar.h +++ b/usr/src/head/wchar.h @@ -20,6 +20,7 @@ */ /* + * Copyright 2014 Garrett D'Amore <garrett@damore.org> * Copyright (c) 1993, 2010, Oracle and/or its affiliates. All rights reserved. */ @@ -167,17 +168,29 @@ using std::wctype; #endif #endif /* !defined(_STRICT_STDC) || defined(_XOPEN_SOURCE)... */ -#if defined(__EXTENSIONS__) || \ - (!defined(_STRICT_STDC) && !defined(__XOPEN_OR_POSIX)) - /* || defined(_XPG7) */ -extern wchar_t *wcsdup(const wchar_t *); +#if defined(_XPG7) || !defined(_STRICT_SYMBOLS) + +#ifndef _LOCALE_T +#define _LOCALE_T +typedef struct locale *locale_t; +#endif + extern size_t wcsnlen(const wchar_t *, size_t); extern wchar_t *wcpcpy(wchar_t *_RESTRICT_KYWD, const wchar_t *_RESTRICT_KYWD); extern wchar_t *wcpncpy(wchar_t *_RESTRICT_KYWD, const wchar_t *_RESTRICT_KYWD, size_t); +extern size_t wcsxfrm_l(wchar_t *_RESTRICT_KYWD, const wchar_t *_RESTRICT_KYWD, + size_t, locale_t); +extern int wcscoll_l(const wchar_t *, const wchar_t *, locale_t); +extern wchar_t *wcsdup(const wchar_t *); extern int wcscasecmp(const wchar_t *, const wchar_t *); +extern int wcscasecmp_l(const wchar_t *, const wchar_t *, locale_t); extern int wcsncasecmp(const wchar_t *, const wchar_t *, size_t); -#endif +extern int wcsncasecmp_l(const wchar_t *, const wchar_t *, size_t, locale_t); +extern size_t mbsnrtowcs(wchar_t *_RESTRICT_KYWD, const char **_RESTRICT_KYWD, + size_t, size_t, mbstate_t *_RESTRICT_KYWD); + +#endif /* defined(_XPG7) || !defined(_STRICT_SYMBOLS) */ #else /* __STDC__ */ @@ -202,15 +215,18 @@ extern int wcwidth(); extern wctype_t wctype(); #endif /* !defined(_STRICT_STDC) || defined(_XOPEN_SOURCE)... */ -#if defined(__EXTENSIONS__) || \ - (!defined(_STRICT_STDC) && !defined(__XOPEN_OR_POSIX)) - /* || defined(_XPG7) */ -extern wchar_t *wcsdup(); +#if defined(_XGP7) || !defined(_STRICT_SYMBOLS) extern size_t wcsnlen(); extern wchar_t *wcpcpy(); extern wchar_t *wcpncpy(); +extern size_t wcsxfrm_l(); +extern int wcscoll_l(); +extern wchar_t *wcsdup(); extern int wcscasecmp(); +extern int wcscasecmp_l(); extern int wcsncasecmp(); +extern int wcsncasecmp_l(); +extern size_t mbsnrtowcs(); #endif #endif /* __STDC__ */ |