wchar.h revision 1.1.2.1 1 1.1 kleink /*-
2 1.1.2.1 minoura * Copyright (c)1999 Citrus Project,
3 1.1 kleink * All rights reserved.
4 1.1 kleink *
5 1.1 kleink * Redistribution and use in source and binary forms, with or without
6 1.1 kleink * modification, are permitted provided that the following conditions
7 1.1 kleink * are met:
8 1.1 kleink * 1. Redistributions of source code must retain the above copyright
9 1.1 kleink * notice, this list of conditions and the following disclaimer.
10 1.1 kleink * 2. Redistributions in binary form must reproduce the above copyright
11 1.1 kleink * notice, this list of conditions and the following disclaimer in the
12 1.1 kleink * documentation and/or other materials provided with the distribution.
13 1.1 kleink *
14 1.1.2.1 minoura * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
15 1.1.2.1 minoura * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16 1.1.2.1 minoura * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17 1.1.2.1 minoura * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
18 1.1.2.1 minoura * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19 1.1.2.1 minoura * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20 1.1.2.1 minoura * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21 1.1.2.1 minoura * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22 1.1.2.1 minoura * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23 1.1.2.1 minoura * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24 1.1.2.1 minoura * SUCH DAMAGE.
25 1.1.2.1 minoura *
26 1.1.2.1 minoura * $Id: wchar.h,v 1.1.2.1 2000/05/28 22:41:02 minoura Exp $
27 1.1 kleink */
28 1.1 kleink
29 1.1 kleink #ifndef _WCHAR_H_
30 1.1.2.1 minoura #define _WCHAR_H_
31 1.1.2.1 minoura
32 1.1.2.1 minoura #undef __IN_WCHAR_H
33 1.1.2.1 minoura #define __IN_WCHAR_H
34 1.1.2.1 minoura #include <wctype.h>
35 1.1.2.1 minoura #undef __IN_WCHAR_H
36 1.1.2.1 minoura
37 1.1.2.1 minoura #ifdef _BSD_SIZE_T_
38 1.1.2.1 minoura typedef _BSD_SIZE_T_ size_t;
39 1.1.2.1 minoura #undef _BSD_SIZE_T_
40 1.1.2.1 minoura #endif
41 1.1.2.1 minoura
42 1.1.2.1 minoura #ifdef _BSD_WCHAR_T_
43 1.1.2.1 minoura typedef _BSD_WCHAR_T_ wchar_t;
44 1.1.2.1 minoura #undef _BSD_WCHAR_T_
45 1.1.2.1 minoura #endif
46 1.1 kleink
47 1.1.2.1 minoura #ifdef _BSD_MBSTATE_T_
48 1.1.2.1 minoura typedef _BSD_MBSTATE_T_ mbstate_t;
49 1.1.2.1 minoura #undef _BSD_MBSTATE_T_
50 1.1.2.1 minoura #endif
51 1.1.2.1 minoura
52 1.1.2.1 minoura #ifndef WCHAR_MAX
53 1.1.2.1 minoura #define WCHAR_MAX (2147483647)
54 1.1.2.1 minoura #endif
55 1.1 kleink
56 1.1.2.1 minoura #ifndef WCHAR_MIN
57 1.1.2.1 minoura #define WCHAR_MIN (0)
58 1.1 kleink #endif
59 1.1 kleink
60 1.1.2.1 minoura #ifndef NULL
61 1.1.2.1 minoura #define NULL (0)
62 1.1 kleink #endif
63 1.1 kleink
64 1.1.2.1 minoura __BEGIN_DECLS
65 1.1.2.1 minoura #if 0 /* XXX: not implemented */
66 1.1.2.1 minoura /*
67 1.1.2.1 minoura wint_t btowc __P((int));
68 1.1.2.1 minoura int fwprintf __P((FILE *, const wchar_t *, ...));
69 1.1.2.1 minoura int fwscanf __P((FILE *, const wchar_t *, ...));
70 1.1.2.1 minoura */
71 1.1.2.1 minoura #endif /* XXX: not implemented */
72 1.1.2.1 minoura #if 0
73 1.1.2.1 minoura /* defined in wctype.h commonly */
74 1.1.2.1 minoura /*
75 1.1.2.1 minoura int iswalnum __P((wint_t));
76 1.1.2.1 minoura int iswalpha __P((wint_t));
77 1.1.2.1 minoura int iswcntrl __P((wint_t));
78 1.1.2.1 minoura int iswdigit __P((wint_t));
79 1.1.2.1 minoura int iswgraph __P((wint_t));
80 1.1.2.1 minoura int iswlower __P((wint_t));
81 1.1.2.1 minoura int iswprint __P((wint_t));
82 1.1.2.1 minoura int iswpunct __P((wint_t));
83 1.1.2.1 minoura int iswspace __P((wint_t));
84 1.1.2.1 minoura int iswupper __P((wint_t));
85 1.1.2.1 minoura int iswxdigit __P((wint_t));
86 1.1.2.1 minoura */
87 1.1.2.1 minoura #endif
88 1.1.2.1 minoura #if 0 /* XXX: not implemented */
89 1.1.2.1 minoura /*
90 1.1.2.1 minoura int iswctype __P((wint_t, wctype_t));
91 1.1.2.1 minoura wint_t fgetwc __P((FILE *));
92 1.1.2.1 minoura wchar_t *fgetws __P((wchar_t *, int, FILE *));
93 1.1.2.1 minoura wint_t fputwc __P((wchar_t, FILE *));
94 1.1.2.1 minoura int fputws __P((const wchar_t *, FILE *));
95 1.1.2.1 minoura int fwide __P((FILE *, int));
96 1.1.2.1 minoura wint_t getwc __P((FILE *));
97 1.1.2.1 minoura wint_t getwchar __P((void));
98 1.1.2.1 minoura */
99 1.1.2.1 minoura #endif /* XXX: not implemented */
100 1.1.2.1 minoura int mbsinit __P((const mbstate_t *));
101 1.1.2.1 minoura size_t mbrlen __P((const char *, size_t, mbstate_t *));
102 1.1.2.1 minoura size_t mbrtowc __P((wchar_t *, const char *, size_t,
103 1.1.2.1 minoura mbstate_t *));
104 1.1.2.1 minoura size_t mbsrtowcs __P((wchar_t *, const char **, size_t,
105 1.1.2.1 minoura mbstate_t *));
106 1.1.2.1 minoura #if 0 /* XXX: not implemented */
107 1.1.2.1 minoura /*
108 1.1.2.1 minoura wint_t putwc __P((wchar_t, FILE *));
109 1.1.2.1 minoura wint_t putwchar __P((wchar_t));
110 1.1.2.1 minoura int swprintf __P((wchar_t *, size_t, const wchar_t *, ...));
111 1.1.2.1 minoura int swscanf __P((const wchar_t *, const wchar_t *, ...));
112 1.1.2.1 minoura */
113 1.1.2.1 minoura #endif /* XXX: not implemented */
114 1.1.2.1 minoura #if 0 /* defined in wctype.h commonly */
115 1.1.2.1 minoura /*
116 1.1.2.1 minoura wint_t towlower __P((wint_t));
117 1.1.2.1 minoura wint_t towupper __P((wint_t));
118 1.1.2.1 minoura */
119 1.1 kleink #endif
120 1.1.2.1 minoura #if 0 /* XXX: not implemented */
121 1.1.2.1 minoura /*
122 1.1.2.1 minoura wint_t ungetwc __P((wint_t, FILE *));
123 1.1.2.1 minoura int vfwprintf __P((FILE *, const wchar_t *, va_list));
124 1.1.2.1 minoura int vwprintf __P((const wchar_t *, va_list));
125 1.1.2.1 minoura int vswprintf __P((wchar_t *, size_t, const wchar_t *,
126 1.1.2.1 minoura va_list));
127 1.1.2.1 minoura */
128 1.1.2.1 minoura #endif /* XXX: not implemented */
129 1.1.2.1 minoura size_t wcrtomb __P((char *, wchar_t, mbstate_t *));
130 1.1.2.1 minoura wchar_t *wcscat __P((wchar_t *, const wchar_t *));
131 1.1.2.1 minoura wchar_t *wcschr __P((const wchar_t *, wchar_t));
132 1.1.2.1 minoura int wcscmp __P((const wchar_t *, const wchar_t *));
133 1.1.2.1 minoura #if 0 /* XXX: not implemented */
134 1.1.2.1 minoura /*
135 1.1.2.1 minoura int wcscoll __P((const wchar_t *, const wchar_t *));
136 1.1.2.1 minoura */
137 1.1.2.1 minoura #endif /* XXX: not implemented */
138 1.1.2.1 minoura wchar_t *wcscpy __P((wchar_t *, const wchar_t *));
139 1.1.2.1 minoura size_t wcscspn __P((const wchar_t *, const wchar_t *));
140 1.1.2.1 minoura #if 0 /* XXX: not implemented */
141 1.1.2.1 minoura /*
142 1.1.2.1 minoura size_t wcsftime __P((wchar_t *, size_t, const wchar_t *,
143 1.1.2.1 minoura const struct tm *));
144 1.1.2.1 minoura */
145 1.1.2.1 minoura #endif /* XXX: not implemented */
146 1.1.2.1 minoura size_t wcslen __P((const wchar_t *));
147 1.1.2.1 minoura wchar_t *wcsncat __P((wchar_t *, const wchar_t *, size_t));
148 1.1.2.1 minoura int wcsncmp __P((const wchar_t *, const wchar_t *,
149 1.1.2.1 minoura size_t));
150 1.1.2.1 minoura wchar_t *wcsncpy __P((wchar_t *, const wchar_t *, size_t));
151 1.1.2.1 minoura wchar_t *wcspbrk __P((const wchar_t *, const wchar_t *));
152 1.1.2.1 minoura wchar_t *wcsrchr __P((const wchar_t *, wchar_t));
153 1.1.2.1 minoura size_t wcsrtombs __P((char *, const wchar_t **, size_t,
154 1.1.2.1 minoura mbstate_t *));
155 1.1.2.1 minoura size_t wcsspn __P((const wchar_t *, const wchar_t *));
156 1.1.2.1 minoura wchar_t *wcsstr __P((const wchar_t *, const wchar_t *));
157 1.1.2.1 minoura #if 0 /* XXX: not implemented */
158 1.1.2.1 minoura /*
159 1.1.2.1 minoura double wcstod __P((const wchar_t *, wchar_t **));
160 1.1.2.1 minoura wchar_t *wcstok __P((wchar_t *, const wchar_t *, wchar_t **));
161 1.1.2.1 minoura long int wcstol __P((const wchar_t *, wchar_t **, int));
162 1.1.2.1 minoura unsigned long int wcstoul __P((const wchar_t *, wchar_t **, int));
163 1.1.2.1 minoura wchar_t *wcswcs __P((const wchar_t *, const wchar_t *));
164 1.1.2.1 minoura */
165 1.1.2.1 minoura #endif /* XXX: not implemented */
166 1.1.2.1 minoura int wcswidth __P((const wchar_t *, size_t));
167 1.1.2.1 minoura #if 0 /* XXX: not implemented */
168 1.1.2.1 minoura /*
169 1.1.2.1 minoura size_t wcsxfrm __P((wchar_t *, const wchar_t *, size_t));
170 1.1.2.1 minoura int wctob __P((wint_t));
171 1.1.2.1 minoura wctype_t wctype __P((const char *));
172 1.1.2.1 minoura */
173 1.1.2.1 minoura #endif /* XXX: not implemented */
174 1.1.2.1 minoura int wcwidth __P((wchar_t));
175 1.1.2.1 minoura wchar_t *wmemchr __P((const wchar_t *, wchar_t, size_t));
176 1.1.2.1 minoura int wmemcmp __P((const wchar_t *, const wchar_t *,
177 1.1.2.1 minoura size_t));
178 1.1.2.1 minoura wchar_t *wmemcpy __P((wchar_t *, const wchar_t *, size_t));
179 1.1.2.1 minoura wchar_t *wmemmove __P((wchar_t *, const wchar_t *, size_t));
180 1.1.2.1 minoura wchar_t *wmemset __P((wchar_t *, wchar_t, size_t));
181 1.1.2.1 minoura #if 0 /* XXX: not implemented */
182 1.1.2.1 minoura /*
183 1.1.2.1 minoura int wprintf __P((const wchar_t *, ...));
184 1.1.2.1 minoura int wscanf __P((const wchar_t *, ...));
185 1.1.2.1 minoura */
186 1.1.2.1 minoura #endif /* XXX: not implemented */
187 1.1.2.1 minoura __END_DECLS
188 1.1 kleink
189 1.1.2.1 minoura #if defined(__FreeBSD__)
190 1.1.2.1 minoura #define wcwidth(c) ((unsigned)__maskrune_w((c), _SWM)>>_SWS)
191 1.1.2.1 minoura #endif
192 1.1.2.1 minoura
193 1.1.2.1 minoura #endif
194