Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. =================================================================== RCS file: /ftp/cvs/cvsroot/src/include/wchar.h,v rcsdiff: /ftp/cvs/cvsroot/src/include/wchar.h,v: warning: Unknown phrases like `commitid ...;' are present. retrieving revision 1.17 retrieving revision 1.30.8.1 diff -u -p -r1.17 -r1.30.8.1 --- src/include/wchar.h 2003/03/11 09:21:22 1.17 +++ src/include/wchar.h 2013/06/23 06:28:49 1.30.8.1 @@ -1,4 +1,4 @@ -/* $NetBSD: wchar.h,v 1.17 2003/03/11 09:21:22 tshiozak Exp $ */ +/* $NetBSD: wchar.h,v 1.30.8.1 2013/06/23 06:28:49 tls Exp $ */ /*- * Copyright (c)1999 Citrus Project, @@ -41,13 +41,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the NetBSD - * Foundation, Inc. and its contributors. - * 4. Neither the name of The NetBSD Foundation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED @@ -66,12 +59,14 @@ #define _WCHAR_H_ #include -#include +#include +#include +#include #include #include /* for FILE* */ -#ifdef _BSD_WCHAR_T_ +#if defined(_BSD_WCHAR_T_) && !defined(__cplusplus) typedef _BSD_WCHAR_T_ wchar_t; #undef _BSD_WCHAR_T_ #endif @@ -91,6 +86,117 @@ typedef _BSD_SIZE_T_ size_t; #undef _BSD_SIZE_T_ #endif +#if defined(_POSIX_C_SOURCE) +#ifndef __VA_LIST_DECLARED +typedef __va_list va_list; +#define __VA_LIST_DECLARED +#endif +#endif + +struct tm; + +__BEGIN_DECLS +wint_t btowc(int); +size_t mbrlen(const char * __restrict, size_t, mbstate_t * __restrict); +size_t mbrtowc(wchar_t * __restrict, const char * __restrict, size_t, + mbstate_t * __restrict); +int mbsinit(const mbstate_t *); +size_t mbsrtowcs(wchar_t * __restrict, const char ** __restrict, size_t, + mbstate_t * __restrict); +size_t wcrtomb(char * __restrict, wchar_t, mbstate_t * __restrict); +wchar_t *wcscat(wchar_t * __restrict, const wchar_t * __restrict); +wchar_t *wcschr(const wchar_t *, wchar_t); +int wcscmp(const wchar_t *, const wchar_t *); +int wcscoll(const wchar_t *, const wchar_t *); +wchar_t *wcscpy(wchar_t * __restrict, const wchar_t * __restrict); +size_t wcscspn(const wchar_t *, const wchar_t *); +size_t wcsftime(wchar_t * __restrict, size_t, const wchar_t * __restrict, + const struct tm * __restrict); +size_t wcslen(const wchar_t *); +wchar_t *wcsncat(wchar_t * __restrict, const wchar_t * __restrict, size_t); +int wcsncmp(const wchar_t *, const wchar_t *, size_t); +wchar_t *wcsncpy(wchar_t * __restrict , const wchar_t * __restrict, size_t); +wchar_t *wcspbrk(const wchar_t *, const wchar_t *); +wchar_t *wcsrchr(const wchar_t *, wchar_t); +size_t wcsrtombs(char * __restrict, const wchar_t ** __restrict, size_t, + mbstate_t * __restrict); +size_t wcsspn(const wchar_t *, const wchar_t *); +wchar_t *wcsstr(const wchar_t *, const wchar_t *); +wchar_t *wcstok(wchar_t * __restrict, const wchar_t * __restrict, + wchar_t ** __restrict); +size_t wcsxfrm(wchar_t *, const wchar_t *, size_t); +wchar_t *wcswcs(const wchar_t *, const wchar_t *); +wchar_t *wmemchr(const wchar_t *, wchar_t, size_t); +int wmemcmp(const wchar_t *, const wchar_t *, size_t); +wchar_t *wmemcpy(wchar_t * __restrict, const wchar_t * __restrict, size_t); +wchar_t *wmemmove(wchar_t *, const wchar_t *, size_t); +wchar_t *wmemset(wchar_t *, wchar_t, size_t); + +size_t wcslcat(wchar_t *, const wchar_t *, size_t); +size_t wcslcpy(wchar_t *, const wchar_t *, size_t); +int wcswidth(const wchar_t *, size_t); +int wctob(wint_t); +int wcwidth(wchar_t); + +unsigned long int wcstoul(const wchar_t * __restrict, + wchar_t ** __restrict, int); +long int wcstol(const wchar_t * __restrict, + wchar_t ** __restrict, int); +double wcstod(const wchar_t * __restrict, wchar_t ** __restrict); + +#if defined(_ISOC99_SOURCE) || (__STDC_VERSION__ - 0) > 199901L || \ + defined(_NETBSD_SOURCE) +float wcstof(const wchar_t * __restrict, wchar_t ** __restrict); +long double wcstold(const wchar_t * __restrict, wchar_t ** __restrict); + +/* LONGLONG */ +long long int wcstoll(const wchar_t * __restrict, + wchar_t ** __restrict, int); +/* LONGLONG */ +unsigned long long int wcstoull(const wchar_t * __restrict, + wchar_t ** __restrict, int); +#endif + +wint_t ungetwc(wint_t, FILE *); +wint_t fgetwc(FILE *); +wchar_t *fgetws(wchar_t * __restrict, int, FILE * __restrict); +wint_t getwc(FILE *); +wint_t getwchar(void); +wint_t fputwc(wchar_t, FILE *); +int fputws(const wchar_t * __restrict, FILE * __restrict); +wint_t putwc(wchar_t, FILE *); +wint_t putwchar(wchar_t); + +int fwide(FILE *, int); + +wchar_t *fgetwln(FILE * __restrict, size_t * __restrict); +int fwprintf(FILE * __restrict, const wchar_t * __restrict, ...); +int fwscanf(FILE * __restrict, const wchar_t * __restrict, ...); +int swprintf(wchar_t * __restrict, size_t n, const wchar_t * __restrict, ...); +int swscanf(const wchar_t * __restrict, const wchar_t * __restrict, ...); +int vfwprintf(FILE * __restrict, const wchar_t * __restrict, __va_list); +int vswprintf(wchar_t * __restrict, size_t, const wchar_t * __restrict, + __va_list); +int vwprintf(const wchar_t * __restrict, __va_list); +int wprintf(const wchar_t * __restrict, ...); +int wscanf(const wchar_t * __restrict, ...); +#if defined(_ISOC99_SOURCE) || (__STDC_VERSION__ - 0) > 199901L || \ + defined(_NETBSD_SOURCE) +int vfwscanf(FILE * __restrict, const wchar_t * __restrict, __va_list); +int vswscanf(const wchar_t * __restrict, const wchar_t * __restrict, + __va_list); +int vwscanf(const wchar_t * __restrict, __va_list); +#endif +#if defined(_NETBSD_SOURCE) +struct tinfo; +int t_putws(struct tinfo *, const wchar_t *, int, void (*)(wchar_t, void *), + void *); +wchar_t *wcsdup (const wchar_t *); +int wcsncasecmp (const wchar_t *, const wchar_t *, size_t); +int wcscasecmp(const wchar_t *, const wchar_t *); +#endif +__END_DECLS + #ifndef WEOF #define WEOF ((wint_t)-1) #endif @@ -100,77 +206,80 @@ typedef _BSD_SIZE_T_ size_t; #define putwc(wc, f) fputwc((wc), (f)) #define putwchar(wc) putwc((wc), stdout) +#if (_POSIX_C_SOURCE - 0) >= 200809L || defined(_NETBSD_SOURCE) +# ifndef __LOCALE_T_DECLARED +typedef struct _locale *locale_t; +# define __LOCALE_T_DECLARED +# endif __BEGIN_DECLS -wint_t btowc __P((int)); -size_t mbrlen __P((const char * __restrict, size_t, mbstate_t * __restrict)); -size_t mbrtowc __P((wchar_t * __restrict, const char * __restrict, size_t, - mbstate_t * __restrict)); -int mbsinit __P((const mbstate_t *)); -size_t mbsrtowcs __P((wchar_t * __restrict, const char ** __restrict, size_t, - mbstate_t * __restrict)); -size_t wcrtomb __P((char * __restrict, wchar_t, mbstate_t * __restrict)); -wchar_t *wcscat __P((wchar_t * __restrict, const wchar_t * __restrict)); -wchar_t *wcschr __P((const wchar_t *, wchar_t)); -int wcscmp __P((const wchar_t *, const wchar_t *)); -int wcscoll __P((const wchar_t *, const wchar_t *)); -wchar_t *wcscpy __P((wchar_t * __restrict, const wchar_t * __restrict)); -size_t wcscspn __P((const wchar_t *, const wchar_t *)); -size_t wcslen __P((const wchar_t *)); -wchar_t *wcsncat __P((wchar_t * __restrict, const wchar_t * __restrict, - size_t)); -int wcsncmp __P((const wchar_t *, const wchar_t *, size_t)); -wchar_t *wcsncpy __P((wchar_t * __restrict , const wchar_t * __restrict, - size_t)); -wchar_t *wcspbrk __P((const wchar_t *, const wchar_t *)); -wchar_t *wcsrchr __P((const wchar_t *, wchar_t)); -size_t wcsrtombs __P((char * __restrict, const wchar_t ** __restrict, size_t, - mbstate_t * __restrict)); -size_t wcsspn __P((const wchar_t *, const wchar_t *)); -wchar_t *wcsstr __P((const wchar_t *, const wchar_t *)); -wchar_t *wcstok __P((wchar_t * __restrict, const wchar_t * __restrict, - wchar_t ** __restrict)); -size_t wcsxfrm __P((wchar_t *, const wchar_t *, size_t)); -wchar_t *wcswcs __P((const wchar_t *, const wchar_t *)); -wchar_t *wmemchr __P((const wchar_t *, wchar_t, size_t)); -int wmemcmp __P((const wchar_t *, const wchar_t *, size_t)); -wchar_t *wmemcpy __P((wchar_t * __restrict, const wchar_t * __restrict, - size_t)); -wchar_t *wmemmove __P((wchar_t *, const wchar_t *, size_t)); -wchar_t *wmemset __P((wchar_t *, wchar_t, size_t)); - -size_t wcslcat __P((wchar_t *, const wchar_t *, size_t)); -size_t wcslcpy __P((wchar_t *, const wchar_t *, size_t)); -int wcswidth __P((const wchar_t *, size_t)); -int wctob __P((wint_t)); -int wcwidth __P((wchar_t)); - -unsigned long int wcstoul __P((const wchar_t * __restrict, - wchar_t ** __restrict, int base)); -long int wcstol __P((const wchar_t * __restrict, - wchar_t ** __restrict, int base)); -double wcstod __P((const wchar_t * __restrict, wchar_t ** __restrict)); - -#if (!defined(_POSIX_C_SOURCE) && !defined(_XOPEN_SOURCE)) || \ - defined(_ISOC99_SOURCE) || (__STDC_VERSION__ - 0) > 199901L +size_t mbsnrtowcs(wchar_t * __restrict, const char ** __restrict, size_t, + size_t, mbstate_t * __restrict); +size_t wcsnrtombs(char * __restrict, const wchar_t ** __restrict, size_t, + size_t, mbstate_t * __restrict); + +int wcscoll_l(const wchar_t *, const wchar_t *, locale_t); +size_t wcsxfrm_l(wchar_t *, const wchar_t *, size_t, locale_t); +int wcsncasecmp_l(const wchar_t *, const wchar_t *, size_t, locale_t); +int wcscasecmp_l(const wchar_t *, const wchar_t *, locale_t); + +float wcstof_l(const wchar_t * __restrict, wchar_t ** __restrict, locale_t); +double wcstod_l(const wchar_t * __restrict, wchar_t ** __restrict, locale_t); +long double wcstold_l(const wchar_t * __restrict, wchar_t ** __restrict, + locale_t); +long int wcstol_l(const wchar_t * __restrict, wchar_t ** __restrict, int, + locale_t); +unsigned long int wcstoul_l(const wchar_t * __restrict, + wchar_t ** __restrict, int, locale_t); /* LONGLONG */ -long long int wcstoll __P((const wchar_t * __restrict, - wchar_t ** __restrict, int base)); +long long int wcstoll_l(const wchar_t * __restrict, wchar_t ** __restrict, int, + locale_t); /* LONGLONG */ -unsigned long long int wcstoull __P((const wchar_t * __restrict, - wchar_t ** __restrict, int base)); -#endif - -wint_t ungetwc __P((wint_t, FILE *)); -wint_t fgetwc __P((FILE *)); -wchar_t *fgetws __P((wchar_t * __restrict, int, FILE * __restrict)); -wint_t getwc __P((FILE *)); -wint_t getwchar __P((void)); -wint_t fputwc __P((wchar_t, FILE *)); -int fputws __P((const wchar_t * __restrict, FILE * __restrict)); -wint_t putwc __P((wchar_t, FILE *)); -wint_t putwchar __P((wchar_t)); +unsigned long long int wcstoull_l(const wchar_t * __restrict, + wchar_t ** __restrict, int, locale_t); +int wcwidth_l(wchar_t, locale_t); +int wcswidth_l(const wchar_t *, size_t, locale_t); +__END_DECLS +#endif /* _POSIX_C_SOURCE || _NETBSD_SOURCE */ -int fwide __P((FILE *, int)); +#if defined(_NETBSD_SOURCE) +__BEGIN_DECLS +wint_t btowc_l(int, locale_t); +size_t mbrlen_l(const char * __restrict, size_t, mbstate_t * __restrict, + locale_t); +size_t mbrtowc_l(wchar_t * __restrict, const char * __restrict, size_t, + mbstate_t * __restrict, locale_t); +int mbsinit_l(const mbstate_t *, locale_t); +size_t mbsrtowcs_l(wchar_t * __restrict, const char ** __restrict, size_t, + mbstate_t * __restrict, locale_t); +size_t mbsnrtowcs_l(wchar_t * __restrict, const char ** __restrict, size_t, + size_t, mbstate_t * __restrict, locale_t); +size_t wcrtomb_l(char * __restrict, wchar_t, mbstate_t * __restrict, locale_t); +size_t wcsrtombs_l(char * __restrict, const wchar_t ** __restrict, size_t, + mbstate_t * __restrict, locale_t); +size_t wcsnrtombs_l(char * __restrict, const wchar_t ** __restrict, size_t, + size_t, mbstate_t * __restrict, locale_t); +int wctob_l(wint_t, locale_t); + +int fwprintf_l(FILE * __restrict, locale_t, const wchar_t * __restrict, ...); +int swprintf_l(wchar_t * __restrict, size_t n, locale_t, + const wchar_t * __restrict, ...); +int vfwprintf_l(FILE * __restrict, locale_t, + const wchar_t * __restrict, __va_list); +int vswprintf_l(wchar_t * __restrict, size_t, locale_t, + const wchar_t * __restrict, __va_list); +int vwprintf_l(locale_t, const wchar_t * __restrict, __va_list); +int wprintf_l(locale_t, const wchar_t * __restrict, ...); + +int fwscanf_l(FILE * __restrict, locale_t, const wchar_t * __restrict, ...); +int swscanf_l(const wchar_t * __restrict, locale_t, const wchar_t * + __restrict, ...); +int wscanf_l(locale_t, const wchar_t * __restrict, ...); +int vfwscanf_l(FILE * __restrict, locale_t, const wchar_t * __restrict, + __va_list); +int vswscanf_l(const wchar_t * __restrict, locale_t, const wchar_t * __restrict, + __va_list); +int vwscanf_l(locale_t, const wchar_t * __restrict, __va_list); __END_DECLS +#endif /* _NETBSD_SOURCE */ #endif /* !_WCHAR_H_ */