Back to index

glibc  2.9
wchar.h
Go to the documentation of this file.
00001 #ifndef _WCHAR_H
00002 #include <wcsmbs/wchar.h>
00003 
00004 # ifdef _WCHAR_H
00005 
00006 extern __typeof (wcscasecmp_l) __wcscasecmp_l;
00007 extern __typeof (wcsncasecmp_l) __wcsncasecmp_l;
00008 extern __typeof (wcscoll_l) __wcscoll_l;
00009 extern __typeof (wcsxfrm_l) __wcsxfrm_l;
00010 extern __typeof (wcstol_l) __wcstol_l;
00011 extern __typeof (wcstoul_l) __wcstoul_l;
00012 extern __typeof (wcstoll_l) __wcstoll_l;
00013 extern __typeof (wcstoull_l) __wcstoull_l;
00014 extern __typeof (wcstod_l) __wcstod_l;
00015 extern __typeof (wcstof_l) __wcstof_l;
00016 extern __typeof (wcstold_l) __wcstold_l;
00017 extern __typeof (wcsftime_l) __wcsftime_l;
00018 libc_hidden_proto (__wcstol_l)
00019 libc_hidden_proto (__wcstoul_l)
00020 libc_hidden_proto (__wcstoll_l)
00021 libc_hidden_proto (__wcstoull_l)
00022 libc_hidden_proto (__wcstod_l)
00023 libc_hidden_proto (__wcstof_l)
00024 libc_hidden_proto (__wcstold_l)
00025 libc_hidden_proto (__wcsftime_l)
00026 
00027 
00028 extern double __wcstod_internal (__const wchar_t *__restrict __nptr,
00029                              wchar_t **__restrict __endptr, int __group)
00030      __THROW;
00031 extern float __wcstof_internal (__const wchar_t *__restrict __nptr,
00032                             wchar_t **__restrict __endptr, int __group)
00033      __THROW;
00034 extern long double __wcstold_internal (__const wchar_t *__restrict __nptr,
00035                                    wchar_t **__restrict __endptr,
00036                                    int __group) __THROW;
00037 extern long int __wcstol_internal (__const wchar_t *__restrict __nptr,
00038                                wchar_t **__restrict __endptr,
00039                                int __base, int __group) __THROW;
00040 extern unsigned long int __wcstoul_internal (__const wchar_t *__restrict __npt,
00041                                         wchar_t **__restrict __endptr,
00042                                         int __base, int __group) __THROW;
00043 __extension__
00044 extern long long int __wcstoll_internal (__const wchar_t *__restrict __nptr,
00045                                     wchar_t **__restrict __endptr,
00046                                     int __base, int __group) __THROW;
00047 __extension__
00048 extern unsigned long long int __wcstoull_internal (__const wchar_t *
00049                                              __restrict __nptr,
00050                                              wchar_t **
00051                                              __restrict __endptr,
00052                                              int __base,
00053                                              int __group) __THROW;
00054 libc_hidden_proto (__wcstof_internal)
00055 libc_hidden_proto (__wcstod_internal)
00056 libc_hidden_proto (__wcstold_internal)
00057 libc_hidden_proto (__wcstol_internal)
00058 libc_hidden_proto (__wcstoll_internal)
00059 libc_hidden_proto (__wcstoul_internal)
00060 libc_hidden_proto (__wcstoull_internal)
00061 libc_hidden_proto (wcstof)
00062 libc_hidden_proto (wcstod)
00063 libc_hidden_proto (wcstold)
00064 libc_hidden_proto (wcstol)
00065 libc_hidden_proto (wcstoll)
00066 libc_hidden_proto (wcstoul)
00067 libc_hidden_proto (wcstoull)
00068 
00069 libc_hidden_proto (__wcscasecmp_l)
00070 libc_hidden_proto (__wcsncasecmp_l)
00071 
00072 libc_hidden_proto (__wcscoll_l)
00073 libc_hidden_proto (__wcsxfrm_l)
00074 
00075 libc_hidden_proto (fputws_unlocked)
00076 libc_hidden_proto (putwc_unlocked)
00077 libc_hidden_proto (putwc)
00078 
00079 libc_hidden_proto (vswscanf)
00080 
00081 libc_hidden_proto (mbrtowc)
00082 libc_hidden_proto (wcrtomb)
00083 libc_hidden_proto (wcscmp)
00084 libc_hidden_proto (wcsftime)
00085 libc_hidden_proto (wcsspn)
00086 libc_hidden_proto (wcschr)
00087 libc_hidden_proto (wcscoll)
00088 libc_hidden_proto (wcspbrk)
00089 
00090 libc_hidden_proto (wmemchr)
00091 libc_hidden_proto (wmemset)
00092 
00093 /* Now define the internal interfaces.  */
00094 extern int __wcscasecmp (__const wchar_t *__s1, __const wchar_t *__s2)
00095      __attribute_pure__;
00096 extern int __wcsncasecmp (__const wchar_t *__s1, __const wchar_t *__s2,
00097                        size_t __n)
00098      __attribute_pure__;
00099 extern size_t __wcslen (__const wchar_t *__s) __attribute_pure__;
00100 extern size_t __wcsnlen (__const wchar_t *__s, size_t __maxlen)
00101      __attribute_pure__;
00102 extern wchar_t *__wcscat (wchar_t *dest, const wchar_t *src);
00103 extern wint_t __btowc (int __c);
00104 extern int __mbsinit (__const __mbstate_t *__ps);
00105 extern size_t __mbrtowc (wchar_t *__restrict __pwc,
00106                       __const char *__restrict __s, size_t __n,
00107                       __mbstate_t *__restrict __p);
00108 libc_hidden_proto (__mbrtowc)
00109 libc_hidden_proto (__mbrlen)
00110 extern size_t __wcrtomb (char *__restrict __s, wchar_t __wc,
00111                       __mbstate_t *__restrict __ps);
00112 extern size_t __mbsrtowcs (wchar_t *__restrict __dst,
00113                         __const char **__restrict __src,
00114                         size_t __len, __mbstate_t *__restrict __ps);
00115 extern size_t __wcsrtombs (char *__restrict __dst,
00116                         __const wchar_t **__restrict __src,
00117                         size_t __len, __mbstate_t *__restrict __ps);
00118 extern size_t __mbsnrtowcs (wchar_t *__restrict __dst,
00119                          __const char **__restrict __src, size_t __nmc,
00120                          size_t __len, __mbstate_t *__restrict __ps);
00121 extern size_t __wcsnrtombs (char *__restrict __dst,
00122                          __const wchar_t **__restrict __src,
00123                          size_t __nwc, size_t __len,
00124                          __mbstate_t *__restrict __ps);
00125 extern wchar_t *__wcsncpy (wchar_t *__restrict __dest,
00126                       __const wchar_t *__restrict __src, size_t __n);
00127 extern wchar_t *__wcpcpy (wchar_t *__dest, __const wchar_t *__src);
00128 extern wchar_t *__wcpncpy (wchar_t *__dest, __const wchar_t *__src,
00129                         size_t __n);
00130 extern wchar_t *__wmemcpy (wchar_t *__s1, __const wchar_t *s2,
00131                         size_t __n);
00132 extern wchar_t *__wmempcpy (wchar_t *__restrict __s1,
00133                          __const wchar_t *__restrict __s2,
00134                          size_t __n);
00135 extern wchar_t *__wmemmove (wchar_t *__s1, __const wchar_t *__s2,
00136                          size_t __n);
00137 extern wchar_t *__wcschrnul (__const wchar_t *__s, wchar_t __wc)
00138      __attribute_pure__;
00139 
00140 extern int __vfwscanf (__FILE *__restrict __s,
00141                      __const wchar_t *__restrict __format,
00142                      __gnuc_va_list __arg)
00143      /* __attribute__ ((__format__ (__wscanf__, 2, 0)) */;
00144 extern int __vswprintf (wchar_t *__restrict __s, size_t __n,
00145                      __const wchar_t *__restrict __format,
00146                      __gnuc_va_list __arg)
00147      /* __attribute__ ((__format__ (__wprintf__, 3, 0))) */;
00148 extern int __fwprintf (__FILE *__restrict __s,
00149                      __const wchar_t *__restrict __format, ...)
00150      /* __attribute__ ((__format__ (__wprintf__, 2, 3))) */;
00151 extern int __vfwprintf (__FILE *__restrict __s,
00152                      __const wchar_t *__restrict __format,
00153                      __gnuc_va_list __arg)
00154      /* __attribute__ ((__format__ (__wprintf__, 2, 0))) */;
00155 #ifndef __cplusplus
00156 extern int __vfwprintf_chk (FILE *__restrict __s, int __flag,
00157                          const wchar_t *__restrict __format,
00158                          __gnuc_va_list __arg)
00159      /* __attribute__ ((__format__ (__wprintf__, 3, 0))) */;
00160 extern int __vswprintf_chk (wchar_t *__restrict __s, size_t __n,
00161                          int __flag, size_t __s_len,
00162                          __const wchar_t *__restrict __format,
00163                          __gnuc_va_list __arg)
00164      /* __attribute__ ((__format__ (__wprintf__, 5, 0))) */;
00165 libc_hidden_proto (__vfwprintf_chk)
00166 libc_hidden_proto (__vswprintf_chk)
00167 #endif
00168 
00169 extern int __isoc99_fwscanf (__FILE *__restrict __stream,
00170                           __const wchar_t *__restrict __format, ...);
00171 extern int __isoc99_wscanf (__const wchar_t *__restrict __format, ...);
00172 extern int __isoc99_swscanf (__const wchar_t *__restrict __s,
00173                           __const wchar_t *__restrict __format, ...)
00174      __THROW;
00175 extern int __isoc99_vfwscanf (__FILE *__restrict __s,
00176                            __const wchar_t *__restrict __format,
00177                            __gnuc_va_list __arg);
00178 extern int __isoc99_vwscanf (__const wchar_t *__restrict __format,
00179                           __gnuc_va_list __arg);
00180 extern int __isoc99_vswscanf (__const wchar_t *__restrict __s,
00181                            __const wchar_t *__restrict __format,
00182                            __gnuc_va_list __arg) __THROW;
00183 libc_hidden_proto (__isoc99_vswscanf)
00184 libc_hidden_proto (__isoc99_vfwscanf)
00185 
00186 /* Internal functions.  */
00187 extern size_t __mbsrtowcs_l (wchar_t *dst, const char **src, size_t len,
00188                           mbstate_t *ps, __locale_t l) attribute_hidden;
00189 
00190 /* Special version.  We know that all uses of mbsinit inside the libc
00191    have a non-NULL parameter.  And certainly we can access the
00192    internals of the data structure directly.  */
00193 #  define mbsinit(state) ((state)->__count == 0)
00194 #  define __mbsinit(state) ((state)->__count == 0)
00195 
00196 # endif
00197 #endif