Add some pure attributes.
[platform/upstream/glibc.git] / include / wchar.h
1 #ifndef _WCHAR_H
2 #include <wcsmbs/wchar.h>
3
4 # ifdef _WCHAR_H
5 /* Now define the internal interfaces.  */
6 extern int __wcscasecmp (__const wchar_t *__s1, __const wchar_t *__s2)
7      __attribute_pure__;
8 extern int __wcsncasecmp (__const wchar_t *__s1, __const wchar_t *__s2,
9                           size_t __n)
10      __attribute_pure__;
11 extern size_t __wcsnlen (__const wchar_t *__s, size_t __maxlen)
12      __attribute_pure__;
13 extern wint_t __btowc (int __c);
14 extern int __mbsinit (__const __mbstate_t *__ps);
15 extern size_t __mbrtowc (wchar_t *__restrict __pwc,
16                          __const char *__restrict __s, size_t __n,
17                          __mbstate_t *__restrict __p);
18 extern size_t __wcrtomb (char *__restrict __s, wchar_t __wc,
19                          __mbstate_t *__restrict __ps);
20 extern size_t __mbsrtowcs (wchar_t *__restrict __dst,
21                            __const char **__restrict __src,
22                            size_t __len, __mbstate_t *__restrict __ps);
23 extern size_t __wcsrtombs (char *__restrict __dst,
24                            __const wchar_t **__restrict __src,
25                            size_t __len, __mbstate_t *__restrict __ps);
26 extern size_t __mbsnrtowcs (wchar_t *__restrict __dst,
27                             __const char **__restrict __src, size_t __nmc,
28                             size_t __len, __mbstate_t *__restrict __ps);
29 extern size_t __wcsnrtombs (char *__restrict __dst,
30                             __const wchar_t **__restrict __src,
31                             size_t __nwc, size_t __len,
32                             __mbstate_t *__restrict __ps);
33 extern wchar_t *__wcpcpy (wchar_t *__dest, __const wchar_t *__src);
34 extern wchar_t *__wcpncpy (wchar_t *__dest, __const wchar_t *__src,
35                            size_t __n);
36 extern wchar_t *__wmemcpy (wchar_t *__s1, __const wchar_t *s2,
37                            size_t __n);
38 extern wchar_t *__wmempcpy (wchar_t *__restrict __s1,
39                             __const wchar_t *__restrict __s2,
40                             size_t __n);
41 extern wchar_t *__wmemmove (wchar_t *__s1, __const wchar_t *__s2,
42                             size_t __n);
43 extern wchar_t *__wcschrnul (__const wchar_t *__s, wchar_t __wc)
44      __attribute_pure__;
45
46 extern int __vfwscanf (FILE *__restrict __s,
47                        __const wchar_t *__restrict __format,
48                        __gnuc_va_list __arg)
49      /* __attribute__ ((__format__ (__wscanf__, 2, 0)) */;
50 extern int __vswprintf (wchar_t *__restrict __s, size_t __n,
51                         __const wchar_t *__restrict __format,
52                         __gnuc_va_list __arg)
53      /* __attribute__ ((__format__ (__wprintf__, 3, 0))) */;
54
55 # endif
56 #endif