version 1.9, 2000/12/29 15:26:33 |
version 1.39, 2013/08/19 08:03:33 |
|
|
* 2. Redistributions in binary form must reproduce the above copyright |
* 2. Redistributions in binary form must reproduce the above copyright |
* notice, this list of conditions and the following disclaimer in the |
* notice, this list of conditions and the following disclaimer in the |
* documentation and/or other materials provided with the distribution. |
* 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 |
* THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS |
* ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED |
* ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED |
|
|
#define _WCHAR_H_ |
#define _WCHAR_H_ |
|
|
#include <sys/cdefs.h> |
#include <sys/cdefs.h> |
#include <machine/ansi.h> |
#include <sys/featuretest.h> |
|
#include <machine/wchar_limits.h> |
|
#include <sys/ansi.h> |
#include <sys/null.h> |
#include <sys/null.h> |
|
|
#ifdef _BSD_WCHAR_T_ |
#include <stdio.h> /* for FILE* */ |
|
|
|
#if defined(_BSD_WCHAR_T_) && !defined(__cplusplus) |
typedef _BSD_WCHAR_T_ wchar_t; |
typedef _BSD_WCHAR_T_ wchar_t; |
#undef _BSD_WCHAR_T_ |
#undef _BSD_WCHAR_T_ |
#endif |
#endif |
Line 89 typedef _BSD_SIZE_T_ size_t; |
|
Line 86 typedef _BSD_SIZE_T_ size_t; |
|
#undef _BSD_SIZE_T_ |
#undef _BSD_SIZE_T_ |
#endif |
#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 |
#ifndef WEOF |
#define WEOF ((wint_t)-1) |
#define WEOF ((wint_t)-1) |
#endif |
#endif |
|
|
|
#define getwc(f) fgetwc(f) |
|
#define getwchar() getwc(stdin) |
|
#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 |
|
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); |
|
|
|
size_t wcsftime_l(wchar_t * __restrict, size_t, const wchar_t * __restrict, |
|
const struct tm * __restrict, 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_l(const wchar_t * __restrict, wchar_t ** __restrict, int, |
|
locale_t); |
|
/* LONGLONG */ |
|
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 */ |
|
|
|
#if defined(_NETBSD_SOURCE) |
__BEGIN_DECLS |
__BEGIN_DECLS |
size_t mbrlen __P((const char * __restrict, size_t, mbstate_t * __restrict)); |
wint_t btowc_l(int, locale_t); |
size_t mbrtowc __P((wchar_t * __restrict, const char * __restrict, size_t, |
size_t mbrlen_l(const char * __restrict, size_t, mbstate_t * __restrict, |
mbstate_t * __restrict)); |
locale_t); |
int mbsinit __P((const mbstate_t *)); |
size_t mbrtowc_l(wchar_t * __restrict, const char * __restrict, size_t, |
size_t mbsrtowcs __P((wchar_t * __restrict, const char ** __restrict, size_t, |
mbstate_t * __restrict, locale_t); |
mbstate_t * __restrict)); |
int mbsinit_l(const mbstate_t *, locale_t); |
size_t wcrtomb __P((char * __restrict, wchar_t, mbstate_t * __restrict)); |
size_t mbsrtowcs_l(wchar_t * __restrict, const char ** __restrict, size_t, |
wchar_t *wcscat __P((wchar_t * __restrict, const wchar_t * __restrict)); |
mbstate_t * __restrict, locale_t); |
wchar_t *wcschr __P((const wchar_t *, wchar_t)); |
size_t mbsnrtowcs_l(wchar_t * __restrict, const char ** __restrict, size_t, |
int wcscmp __P((const wchar_t *, const wchar_t *)); |
size_t, mbstate_t * __restrict, locale_t); |
wchar_t *wcscpy __P((wchar_t * __restrict, const wchar_t * __restrict)); |
size_t wcrtomb_l(char * __restrict, wchar_t, mbstate_t * __restrict, locale_t); |
size_t wcscspn __P((const wchar_t *, const wchar_t *)); |
size_t wcsrtombs_l(char * __restrict, const wchar_t ** __restrict, size_t, |
size_t wcslen __P((const wchar_t *)); |
mbstate_t * __restrict, locale_t); |
wchar_t *wcsncat __P((wchar_t * __restrict, const wchar_t * __restrict, |
size_t wcsnrtombs_l(char * __restrict, const wchar_t ** __restrict, size_t, |
size_t)); |
size_t, mbstate_t * __restrict, locale_t); |
int wcsncmp __P((const wchar_t *, const wchar_t *, size_t)); |
int wctob_l(wint_t, locale_t); |
wchar_t *wcsncpy __P((wchar_t * __restrict , const wchar_t * __restrict, |
|
size_t)); |
int fwprintf_l(FILE * __restrict, locale_t, const wchar_t * __restrict, ...); |
wchar_t *wcspbrk __P((const wchar_t *, const wchar_t *)); |
int swprintf_l(wchar_t * __restrict, size_t n, locale_t, |
wchar_t *wcsrchr __P((const wchar_t *, wchar_t)); |
const wchar_t * __restrict, ...); |
size_t wcsrtombs __P((char * __restrict, const wchar_t ** __restrict, size_t, |
int vfwprintf_l(FILE * __restrict, locale_t, |
mbstate_t * __restrict)); |
const wchar_t * __restrict, __va_list); |
size_t wcsspn __P((const wchar_t *, const wchar_t *)); |
int vswprintf_l(wchar_t * __restrict, size_t, locale_t, |
wchar_t *wcsstr __P((const wchar_t *, const wchar_t *)); |
const wchar_t * __restrict, __va_list); |
wchar_t *wmemchr __P((const wchar_t *, wchar_t, size_t)); |
int vwprintf_l(locale_t, const wchar_t * __restrict, __va_list); |
int wmemcmp __P((const wchar_t *, const wchar_t *, size_t)); |
int wprintf_l(locale_t, const wchar_t * __restrict, ...); |
wchar_t *wmemcpy __P((wchar_t * __restrict, const wchar_t * __restrict, |
|
size_t)); |
int fwscanf_l(FILE * __restrict, locale_t, const wchar_t * __restrict, ...); |
wchar_t *wmemmove __P((wchar_t *, const wchar_t *, size_t)); |
int swscanf_l(const wchar_t * __restrict, locale_t, const wchar_t * |
wchar_t *wmemset __P((wchar_t *, wchar_t, size_t)); |
__restrict, ...); |
|
int wscanf_l(locale_t, const wchar_t * __restrict, ...); |
size_t wcslcat __P((wchar_t *, const wchar_t *, size_t)); |
int vfwscanf_l(FILE * __restrict, locale_t, const wchar_t * __restrict, |
size_t wcslcpy __P((wchar_t *, const wchar_t *, size_t)); |
__va_list); |
int wcswidth __P((const wchar_t *, size_t)); |
int vswscanf_l(const wchar_t * __restrict, locale_t, const wchar_t * __restrict, |
int wcwidth __P((wchar_t)); |
__va_list); |
|
int vwscanf_l(locale_t, const wchar_t * __restrict, __va_list); |
__END_DECLS |
__END_DECLS |
|
#endif /* _NETBSD_SOURCE */ |
|
|
#endif /* !_WCHAR_H_ */ |
#endif /* !_WCHAR_H_ */ |