version 1.1.2.1, 2000/05/28 22:41:02 |
version 1.2, 2000/12/20 14:53:23 |
|
|
|
/* $NetBSD$ */ |
|
|
/*- |
/*- |
* Copyright (c)1999 Citrus Project, |
* Copyright (c)1999 Citrus Project, |
* All rights reserved. |
* All rights reserved. |
|
|
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY |
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY |
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF |
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF |
* SUCH DAMAGE. |
* SUCH DAMAGE. |
|
*/ |
|
|
|
/*- |
|
* Copyright (c) 1999, 2000 The NetBSD Foundation, Inc. |
|
* All rights reserved. |
|
* |
|
* This code is derived from software contributed to The NetBSD Foundation |
|
* by Julian Coleman. |
* |
* |
* $Id$ |
* Redistribution and use in source and binary forms, with or without |
|
* modification, are permitted provided that the following conditions |
|
* are met: |
|
* 1. Redistributions of source code must retain the above copyright |
|
* notice, this list of conditions and the following disclaimer. |
|
* 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 |
|
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR |
|
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS |
|
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR |
|
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF |
|
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS |
|
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN |
|
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) |
|
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE |
|
* POSSIBILITY OF SUCH DAMAGE. |
*/ |
*/ |
|
|
#ifndef _WCHAR_H_ |
#ifndef _WCHAR_H_ |
#define _WCHAR_H_ |
#define _WCHAR_H_ |
|
|
#undef __IN_WCHAR_H |
|
#define __IN_WCHAR_H |
|
#include <wctype.h> |
|
#undef __IN_WCHAR_H |
|
|
|
#ifdef _BSD_SIZE_T_ |
|
typedef _BSD_SIZE_T_ size_t; |
|
#undef _BSD_SIZE_T_ |
|
#endif |
|
|
|
#ifdef _BSD_WCHAR_T_ |
|
typedef _BSD_WCHAR_T_ wchar_t; |
|
#undef _BSD_WCHAR_T_ |
|
#endif |
|
|
|
#ifdef _BSD_MBSTATE_T_ |
#include <sys/cdefs.h> |
typedef _BSD_MBSTATE_T_ mbstate_t; |
#include <machine/ansi.h> |
#undef _BSD_MBSTATE_T_ |
|
#endif |
|
|
|
#ifndef WCHAR_MAX |
#ifdef _BSD_WCHAR_T_ |
#define WCHAR_MAX (2147483647) |
typedef _BSD_WCHAR_T_ wchar_t; |
|
#undef _BSD_WCHAR_T_ |
#endif |
#endif |
|
|
#ifndef WCHAR_MIN |
#ifdef _BSD_WINT_T_ |
#define WCHAR_MIN (0) |
typedef _BSD_WINT_T_ wint_t; |
|
#undef _BSD_WINT_T_ |
#endif |
#endif |
|
|
#ifndef NULL |
#ifdef _BSD_SIZE_T_ |
#define NULL (0) |
typedef _BSD_SIZE_T_ size_t; |
|
#undef _BSD_SIZE_T_ |
#endif |
#endif |
|
|
__BEGIN_DECLS |
__BEGIN_DECLS |
#if 0 /* XXX: not implemented */ |
wchar_t *wmemchr __P((const wchar_t *, wchar_t, size_t)); |
/* |
int wmemcmp __P((const wchar_t *, const wchar_t *, size_t)); |
wint_t btowc __P((int)); |
wchar_t *wmemcpy __P((wchar_t *, const wchar_t *, size_t)); |
int fwprintf __P((FILE *, const wchar_t *, ...)); |
wchar_t *wmemmove __P((wchar_t *, const wchar_t *, size_t)); |
int fwscanf __P((FILE *, const wchar_t *, ...)); |
wchar_t *wmemset __P((wchar_t *, wchar_t, size_t)); |
*/ |
|
#endif /* XXX: not implemented */ |
|
#if 0 |
|
/* defined in wctype.h commonly */ |
|
/* |
|
int iswalnum __P((wint_t)); |
|
int iswalpha __P((wint_t)); |
|
int iswcntrl __P((wint_t)); |
|
int iswdigit __P((wint_t)); |
|
int iswgraph __P((wint_t)); |
|
int iswlower __P((wint_t)); |
|
int iswprint __P((wint_t)); |
|
int iswpunct __P((wint_t)); |
|
int iswspace __P((wint_t)); |
|
int iswupper __P((wint_t)); |
|
int iswxdigit __P((wint_t)); |
|
*/ |
|
#endif |
|
#if 0 /* XXX: not implemented */ |
|
/* |
|
int iswctype __P((wint_t, wctype_t)); |
|
wint_t fgetwc __P((FILE *)); |
|
wchar_t *fgetws __P((wchar_t *, int, FILE *)); |
|
wint_t fputwc __P((wchar_t, FILE *)); |
|
int fputws __P((const wchar_t *, FILE *)); |
|
int fwide __P((FILE *, int)); |
|
wint_t getwc __P((FILE *)); |
|
wint_t getwchar __P((void)); |
|
*/ |
|
#endif /* XXX: not implemented */ |
|
int mbsinit __P((const mbstate_t *)); |
|
size_t mbrlen __P((const char *, size_t, mbstate_t *)); |
|
size_t mbrtowc __P((wchar_t *, const char *, size_t, |
|
mbstate_t *)); |
|
size_t mbsrtowcs __P((wchar_t *, const char **, size_t, |
|
mbstate_t *)); |
|
#if 0 /* XXX: not implemented */ |
|
/* |
|
wint_t putwc __P((wchar_t, FILE *)); |
|
wint_t putwchar __P((wchar_t)); |
|
int swprintf __P((wchar_t *, size_t, const wchar_t *, ...)); |
|
int swscanf __P((const wchar_t *, const wchar_t *, ...)); |
|
*/ |
|
#endif /* XXX: not implemented */ |
|
#if 0 /* defined in wctype.h commonly */ |
|
/* |
|
wint_t towlower __P((wint_t)); |
|
wint_t towupper __P((wint_t)); |
|
*/ |
|
#endif |
|
#if 0 /* XXX: not implemented */ |
|
/* |
|
wint_t ungetwc __P((wint_t, FILE *)); |
|
int vfwprintf __P((FILE *, const wchar_t *, va_list)); |
|
int vwprintf __P((const wchar_t *, va_list)); |
|
int vswprintf __P((wchar_t *, size_t, const wchar_t *, |
|
va_list)); |
|
*/ |
|
#endif /* XXX: not implemented */ |
|
size_t wcrtomb __P((char *, wchar_t, mbstate_t *)); |
|
wchar_t *wcscat __P((wchar_t *, const wchar_t *)); |
|
wchar_t *wcschr __P((const wchar_t *, wchar_t)); |
|
int wcscmp __P((const wchar_t *, const wchar_t *)); |
|
#if 0 /* XXX: not implemented */ |
|
/* |
|
int wcscoll __P((const wchar_t *, const wchar_t *)); |
|
*/ |
|
#endif /* XXX: not implemented */ |
|
wchar_t *wcscpy __P((wchar_t *, const wchar_t *)); |
|
size_t wcscspn __P((const wchar_t *, const wchar_t *)); |
|
#if 0 /* XXX: not implemented */ |
|
/* |
|
size_t wcsftime __P((wchar_t *, size_t, const wchar_t *, |
|
const struct tm *)); |
|
*/ |
|
#endif /* XXX: not implemented */ |
|
size_t wcslen __P((const wchar_t *)); |
|
wchar_t *wcsncat __P((wchar_t *, const wchar_t *, size_t)); |
|
int wcsncmp __P((const wchar_t *, const wchar_t *, |
|
size_t)); |
|
wchar_t *wcsncpy __P((wchar_t *, const wchar_t *, 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 *, const wchar_t **, size_t, |
|
mbstate_t *)); |
|
size_t wcsspn __P((const wchar_t *, const wchar_t *)); |
|
wchar_t *wcsstr __P((const wchar_t *, const wchar_t *)); |
|
#if 0 /* XXX: not implemented */ |
|
/* |
|
double wcstod __P((const wchar_t *, wchar_t **)); |
|
wchar_t *wcstok __P((wchar_t *, const wchar_t *, wchar_t **)); |
|
long int wcstol __P((const wchar_t *, wchar_t **, int)); |
|
unsigned long int wcstoul __P((const wchar_t *, wchar_t **, int)); |
|
wchar_t *wcswcs __P((const wchar_t *, const wchar_t *)); |
|
*/ |
|
#endif /* XXX: not implemented */ |
|
int wcswidth __P((const wchar_t *, size_t)); |
|
#if 0 /* XXX: not implemented */ |
|
/* |
|
size_t wcsxfrm __P((wchar_t *, const wchar_t *, size_t)); |
|
int wctob __P((wint_t)); |
|
wctype_t wctype __P((const char *)); |
|
*/ |
|
#endif /* XXX: not implemented */ |
|
int wcwidth __P((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 *, const wchar_t *, size_t)); |
|
wchar_t *wmemmove __P((wchar_t *, const wchar_t *, size_t)); |
|
wchar_t *wmemset __P((wchar_t *, wchar_t, size_t)); |
|
#if 0 /* XXX: not implemented */ |
|
/* |
|
int wprintf __P((const wchar_t *, ...)); |
|
int wscanf __P((const wchar_t *, ...)); |
|
*/ |
|
#endif /* XXX: not implemented */ |
|
__END_DECLS |
__END_DECLS |
|
|
#if defined(__FreeBSD__) |
#endif /* !_WCHAR_H_ */ |
#define wcwidth(c) ((unsigned)__maskrune_w((c), _SWM)>>_SWS) |
|
#endif |
|
|
|
#endif |
|