xref: /haiku/src/system/libroot/posix/glibc/include/wchar.h (revision 5af32e752606778be5dd7379f319fe43cb3f6b8c)
1*5af32e75SAxel Dörfler #ifndef _WCHAR_H
2*5af32e75SAxel Dörfler #include <wcsmbs/wchar.h>
3*5af32e75SAxel Dörfler 
4*5af32e75SAxel Dörfler # ifdef _WCHAR_H
5*5af32e75SAxel Dörfler /* Now define the internal interfaces.  */
6*5af32e75SAxel Dörfler extern int __wcscasecmp (__const wchar_t *__s1, __const wchar_t *__s2)
7*5af32e75SAxel Dörfler      __attribute_pure__;
8*5af32e75SAxel Dörfler extern int __wcsncasecmp (__const wchar_t *__s1, __const wchar_t *__s2,
9*5af32e75SAxel Dörfler 			  size_t __n)
10*5af32e75SAxel Dörfler      __attribute_pure__;
11*5af32e75SAxel Dörfler extern int __wcscoll (__const wchar_t *__s1, __const wchar_t *__s2);
12*5af32e75SAxel Dörfler extern size_t __wcslen (__const wchar_t *__s) __attribute_pure__;
13*5af32e75SAxel Dörfler extern size_t __wcsnlen (__const wchar_t *__s, size_t __maxlen)
14*5af32e75SAxel Dörfler      __attribute_pure__;
15*5af32e75SAxel Dörfler extern wchar_t *__wcscat (wchar_t *dest, const wchar_t *src);
16*5af32e75SAxel Dörfler extern wint_t __btowc (int __c);
17*5af32e75SAxel Dörfler extern int __mbsinit (__const __mbstate_t *__ps);
18*5af32e75SAxel Dörfler extern size_t __mbrtowc (wchar_t *__restrict __pwc,
19*5af32e75SAxel Dörfler 			 __const char *__restrict __s, size_t __n,
20*5af32e75SAxel Dörfler 			 __mbstate_t *__restrict __p);
21*5af32e75SAxel Dörfler extern size_t __wcrtomb (char *__restrict __s, wchar_t __wc,
22*5af32e75SAxel Dörfler 			 __mbstate_t *__restrict __ps);
23*5af32e75SAxel Dörfler extern size_t __mbsrtowcs (wchar_t *__restrict __dst,
24*5af32e75SAxel Dörfler 			   __const char **__restrict __src,
25*5af32e75SAxel Dörfler 			   size_t __len, __mbstate_t *__restrict __ps);
26*5af32e75SAxel Dörfler extern size_t __wcsrtombs (char *__restrict __dst,
27*5af32e75SAxel Dörfler 			   __const wchar_t **__restrict __src,
28*5af32e75SAxel Dörfler 			   size_t __len, __mbstate_t *__restrict __ps);
29*5af32e75SAxel Dörfler extern size_t __mbsnrtowcs (wchar_t *__restrict __dst,
30*5af32e75SAxel Dörfler 			    __const char **__restrict __src, size_t __nmc,
31*5af32e75SAxel Dörfler 			    size_t __len, __mbstate_t *__restrict __ps);
32*5af32e75SAxel Dörfler extern size_t __wcsnrtombs (char *__restrict __dst,
33*5af32e75SAxel Dörfler 			    __const wchar_t **__restrict __src,
34*5af32e75SAxel Dörfler 			    size_t __nwc, size_t __len,
35*5af32e75SAxel Dörfler 			    __mbstate_t *__restrict __ps);
36*5af32e75SAxel Dörfler extern wchar_t *__wcpcpy (wchar_t *__dest, __const wchar_t *__src);
37*5af32e75SAxel Dörfler extern wchar_t *__wcpncpy (wchar_t *__dest, __const wchar_t *__src,
38*5af32e75SAxel Dörfler 			   size_t __n);
39*5af32e75SAxel Dörfler extern wchar_t *__wmemcpy (wchar_t *__s1, __const wchar_t *s2,
40*5af32e75SAxel Dörfler 			   size_t __n);
41*5af32e75SAxel Dörfler extern wchar_t *__wmempcpy (wchar_t *__restrict __s1,
42*5af32e75SAxel Dörfler 			    __const wchar_t *__restrict __s2,
43*5af32e75SAxel Dörfler 			    size_t __n);
44*5af32e75SAxel Dörfler extern wchar_t *__wmemmove (wchar_t *__s1, __const wchar_t *__s2,
45*5af32e75SAxel Dörfler 			    size_t __n);
46*5af32e75SAxel Dörfler extern wchar_t *__wcschrnul (__const wchar_t *__s, wchar_t __wc)
47*5af32e75SAxel Dörfler      __attribute_pure__;
48*5af32e75SAxel Dörfler 
49*5af32e75SAxel Dörfler extern int __vfwscanf (__FILE *__restrict __s,
50*5af32e75SAxel Dörfler 		       __const wchar_t *__restrict __format,
51*5af32e75SAxel Dörfler 		       __gnuc_va_list __arg)
52*5af32e75SAxel Dörfler      /* __attribute__ ((__format__ (__wscanf__, 2, 0)) */;
53*5af32e75SAxel Dörfler extern int __vswprintf (wchar_t *__restrict __s, size_t __n,
54*5af32e75SAxel Dörfler 			__const wchar_t *__restrict __format,
55*5af32e75SAxel Dörfler 			__gnuc_va_list __arg)
56*5af32e75SAxel Dörfler      /* __attribute__ ((__format__ (__wprintf__, 3, 0))) */;
57*5af32e75SAxel Dörfler extern int __fwprintf (__FILE *__restrict __s,
58*5af32e75SAxel Dörfler 		       __const wchar_t *__restrict __format, ...)
59*5af32e75SAxel Dörfler      /* __attribute__ ((__format__ (__wprintf__, 3, 0))) */;
60*5af32e75SAxel Dörfler extern int __vfwprintf (__FILE *__restrict __s,
61*5af32e75SAxel Dörfler 			__const wchar_t *__restrict __format,
62*5af32e75SAxel Dörfler 			__gnuc_va_list __arg)
63*5af32e75SAxel Dörfler      /* __attribute__ ((__format__ (__wprintf__, 3, 0))) */;
64*5af32e75SAxel Dörfler 
65*5af32e75SAxel Dörfler # endif
66*5af32e75SAxel Dörfler #endif
67