glibc (2.38)

(root)/
include/
bits/
wchar2-decl.h
       1  /* Checking macros for wchar functions.  Declarations only.
       2     Copyright (C) 2004-2023 Free Software Foundation, Inc.
       3     This file is part of the GNU C Library.
       4  
       5     The GNU C Library is free software; you can redistribute it and/or
       6     modify it under the terms of the GNU Lesser General Public
       7     License as published by the Free Software Foundation; either
       8     version 2.1 of the License, or (at your option) any later version.
       9  
      10     The GNU C Library is distributed in the hope that it will be useful,
      11     but WITHOUT ANY WARRANTY; without even the implied warranty of
      12     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
      13     Lesser General Public License for more details.
      14  
      15     You should have received a copy of the GNU Lesser General Public
      16     License along with the GNU C Library; if not, see
      17     <https://www.gnu.org/licenses/>.  */
      18  
      19  #ifndef _BITS_WCHAR2_DECL_H
      20  #define _BITS_WCHAR2_DECL_H 1
      21  
      22  #ifndef _WCHAR_H
      23  # error "Never include <bits/wchar2-decl.h> directly; use <wchar.h> instead."
      24  #endif
      25  
      26  
      27  extern wchar_t *__wmemcpy_chk (wchar_t *__restrict __s1,
      28  			       const wchar_t *__restrict __s2, size_t __n,
      29  			       size_t __ns1) __THROW;
      30  extern wchar_t *__REDIRECT_NTH (__wmemcpy_alias,
      31  				(wchar_t *__restrict __s1,
      32  				 const wchar_t *__restrict __s2, size_t __n),
      33  				wmemcpy);
      34  extern wchar_t *__REDIRECT_NTH (__wmemcpy_chk_warn,
      35  				(wchar_t *__restrict __s1,
      36  				 const wchar_t *__restrict __s2, size_t __n,
      37  				 size_t __ns1), __wmemcpy_chk)
      38       __warnattr ("wmemcpy called with length bigger than size of destination "
      39  		 "buffer");
      40  
      41  extern wchar_t *__wmemmove_chk (wchar_t *__s1, const wchar_t *__s2,
      42  				size_t __n, size_t __ns1) __THROW;
      43  extern wchar_t *__REDIRECT_NTH (__wmemmove_alias, (wchar_t *__s1,
      44  						   const wchar_t *__s2,
      45  						   size_t __n), wmemmove);
      46  extern wchar_t *__REDIRECT_NTH (__wmemmove_chk_warn,
      47  				(wchar_t *__s1, const wchar_t *__s2,
      48  				 size_t __n, size_t __ns1), __wmemmove_chk)
      49       __warnattr ("wmemmove called with length bigger than size of destination "
      50  		 "buffer");
      51  
      52  
      53  #ifdef __USE_GNU
      54  
      55  extern wchar_t *__wmempcpy_chk (wchar_t *__restrict __s1,
      56  				const wchar_t *__restrict __s2, size_t __n,
      57  				size_t __ns1) __THROW;
      58  extern wchar_t *__REDIRECT_NTH (__wmempcpy_alias,
      59  				(wchar_t *__restrict __s1,
      60  				 const wchar_t *__restrict __s2,
      61  				 size_t __n), wmempcpy);
      62  extern wchar_t *__REDIRECT_NTH (__wmempcpy_chk_warn,
      63  				(wchar_t *__restrict __s1,
      64  				 const wchar_t *__restrict __s2, size_t __n,
      65  				 size_t __ns1), __wmempcpy_chk)
      66       __warnattr ("wmempcpy called with length bigger than size of destination "
      67  		 "buffer");
      68  
      69  #endif
      70  
      71  
      72  extern wchar_t *__wmemset_chk (wchar_t *__s, wchar_t __c, size_t __n,
      73  			       size_t __ns) __THROW;
      74  extern wchar_t *__REDIRECT_FORTIFY_NTH (__wmemset_alias, (wchar_t *__s, wchar_t __c,
      75  							  size_t __n), wmemset);
      76  extern wchar_t *__REDIRECT_NTH (__wmemset_chk_warn,
      77  				(wchar_t *__s, wchar_t __c, size_t __n,
      78  				 size_t __ns), __wmemset_chk)
      79       __warnattr ("wmemset called with length bigger than size of destination "
      80  		 "buffer");
      81  
      82  extern wchar_t *__wcscpy_chk (wchar_t *__restrict __dest,
      83  			      const wchar_t *__restrict __src,
      84  			      size_t __n) __THROW;
      85  extern wchar_t *__REDIRECT_NTH (__wcscpy_alias,
      86  				(wchar_t *__restrict __dest,
      87  				 const wchar_t *__restrict __src), wcscpy);
      88  
      89  extern wchar_t *__wcpcpy_chk (wchar_t *__restrict __dest,
      90  			      const wchar_t *__restrict __src,
      91  			      size_t __destlen) __THROW;
      92  extern wchar_t *__REDIRECT_NTH (__wcpcpy_alias,
      93  				(wchar_t *__restrict __dest,
      94  				 const wchar_t *__restrict __src), wcpcpy);
      95  
      96  extern wchar_t *__wcsncpy_chk (wchar_t *__restrict __dest,
      97  			       const wchar_t *__restrict __src, size_t __n,
      98  			       size_t __destlen) __THROW;
      99  extern wchar_t *__REDIRECT_NTH (__wcsncpy_alias,
     100  				(wchar_t *__restrict __dest,
     101  				 const wchar_t *__restrict __src,
     102  				 size_t __n), wcsncpy);
     103  extern wchar_t *__REDIRECT_NTH (__wcsncpy_chk_warn,
     104  				(wchar_t *__restrict __dest,
     105  				 const wchar_t *__restrict __src,
     106  				 size_t __n, size_t __destlen), __wcsncpy_chk)
     107       __warnattr ("wcsncpy called with length bigger than size of destination "
     108  		 "buffer");
     109  
     110  extern wchar_t *__wcpncpy_chk (wchar_t *__restrict __dest,
     111  			       const wchar_t *__restrict __src, size_t __n,
     112  			       size_t __destlen) __THROW;
     113  
     114  extern wchar_t *__REDIRECT_NTH (__wcpncpy_alias,
     115  				(wchar_t *__restrict __dest,
     116  				 const wchar_t *__restrict __src,
     117  				 size_t __n), wcpncpy);
     118  extern wchar_t *__REDIRECT_NTH (__wcpncpy_chk_warn,
     119  				(wchar_t *__restrict __dest,
     120  				 const wchar_t *__restrict __src,
     121  				 size_t __n, size_t __destlen), __wcpncpy_chk)
     122       __warnattr ("wcpncpy called with length bigger than size of destination "
     123  		 "buffer");
     124  
     125  extern wchar_t *__wcscat_chk (wchar_t *__restrict __dest,
     126  			      const wchar_t *__restrict __src,
     127  			      size_t __destlen) __THROW;
     128  extern wchar_t *__REDIRECT_NTH (__wcscat_alias,
     129  				(wchar_t *__restrict __dest,
     130  				 const wchar_t *__restrict __src), wcscat);
     131  
     132  extern wchar_t *__wcsncat_chk (wchar_t *__restrict __dest,
     133  			       const wchar_t *__restrict __src,
     134  			       size_t __n, size_t __destlen) __THROW;
     135  extern wchar_t *__REDIRECT_NTH (__wcsncat_alias,
     136  				(wchar_t *__restrict __dest,
     137  				 const wchar_t *__restrict __src,
     138  				 size_t __n), wcsncat);
     139  
     140  extern int __swprintf_chk (wchar_t *__restrict __s, size_t __n,
     141  			   int __flag, size_t __s_len,
     142  			   const wchar_t *__restrict __format, ...)
     143       __THROW /* __attribute__ ((__format__ (__wprintf__, 5, 6))) */;
     144  extern int __REDIRECT_NTH_LDBL (__swprintf_alias,
     145  				(wchar_t *__restrict __s, size_t __n,
     146  				 const wchar_t *__restrict __fmt, ...),
     147  				swprintf);
     148  
     149  extern int __vswprintf_chk (wchar_t *__restrict __s, size_t __n,
     150  			    int __flag, size_t __s_len,
     151  			    const wchar_t *__restrict __format,
     152  			    __gnuc_va_list __arg)
     153       __THROW /* __attribute__ ((__format__ (__wprintf__, 5, 0))) */;
     154  extern int __REDIRECT_NTH_LDBL (__vswprintf_alias,
     155  				(wchar_t *__restrict __s, size_t __n,
     156  				 const wchar_t *__restrict __fmt,
     157  				 __gnuc_va_list __ap), vswprintf);
     158  
     159  
     160  #if __USE_FORTIFY_LEVEL > 1
     161  
     162  extern int __fwprintf_chk (__FILE *__restrict __stream, int __flag,
     163  			   const wchar_t *__restrict __format, ...);
     164  extern int __wprintf_chk (int __flag, const wchar_t *__restrict __format,
     165  			  ...);
     166  extern int __vfwprintf_chk (__FILE *__restrict __stream, int __flag,
     167  			    const wchar_t *__restrict __format,
     168  			    __gnuc_va_list __ap);
     169  extern int __vwprintf_chk (int __flag, const wchar_t *__restrict __format,
     170  			   __gnuc_va_list __ap);
     171  
     172  #endif
     173  
     174  extern wchar_t *__fgetws_chk (wchar_t *__restrict __s, size_t __size, int __n,
     175  			      __FILE *__restrict __stream) __wur;
     176  extern wchar_t *__REDIRECT (__fgetws_alias,
     177  			    (wchar_t *__restrict __s, int __n,
     178  			     __FILE *__restrict __stream), fgetws) __wur;
     179  extern wchar_t *__REDIRECT (__fgetws_chk_warn,
     180  			    (wchar_t *__restrict __s, size_t __size, int __n,
     181  			     __FILE *__restrict __stream), __fgetws_chk)
     182       __wur __warnattr ("fgetws called with bigger size than length "
     183  		       "of destination buffer");
     184  
     185  #ifdef __USE_GNU
     186  
     187  extern wchar_t *__fgetws_unlocked_chk (wchar_t *__restrict __s, size_t __size,
     188  				       int __n, __FILE *__restrict __stream)
     189         __wur;
     190  extern wchar_t *__REDIRECT (__fgetws_unlocked_alias,
     191  			    (wchar_t *__restrict __s, int __n,
     192  			     __FILE *__restrict __stream), fgetws_unlocked)
     193    __wur;
     194  extern wchar_t *__REDIRECT (__fgetws_unlocked_chk_warn,
     195  			    (wchar_t *__restrict __s, size_t __size, int __n,
     196  			     __FILE *__restrict __stream),
     197  			    __fgetws_unlocked_chk)
     198       __wur __warnattr ("fgetws_unlocked called with bigger size than length "
     199  		       "of destination buffer");
     200  
     201  #endif
     202  
     203  extern size_t __wcrtomb_chk (char *__restrict __s, wchar_t __wchar,
     204  			     mbstate_t *__restrict __p,
     205  			     size_t __buflen) __THROW __wur;
     206  extern size_t __REDIRECT_FORTIFY_NTH (__wcrtomb_alias,
     207  				      (char *__restrict __s, wchar_t __wchar,
     208  				      mbstate_t *__restrict __ps), wcrtomb) __wur;
     209  
     210  extern size_t __mbsrtowcs_chk (wchar_t *__restrict __dst,
     211  			       const char **__restrict __src,
     212  			       size_t __len, mbstate_t *__restrict __ps,
     213  			       size_t __dstlen) __THROW;
     214  extern size_t __REDIRECT_NTH (__mbsrtowcs_alias,
     215  			      (wchar_t *__restrict __dst,
     216  			       const char **__restrict __src,
     217  			       size_t __len, mbstate_t *__restrict __ps),
     218  			      mbsrtowcs);
     219  extern size_t __REDIRECT_NTH (__mbsrtowcs_chk_warn,
     220  			      (wchar_t *__restrict __dst,
     221  			       const char **__restrict __src,
     222  			       size_t __len, mbstate_t *__restrict __ps,
     223  			       size_t __dstlen), __mbsrtowcs_chk)
     224       __warnattr ("mbsrtowcs called with dst buffer smaller than len "
     225  		 "* sizeof (wchar_t)");
     226  
     227  extern size_t __wcsrtombs_chk (char *__restrict __dst,
     228  			       const wchar_t **__restrict __src,
     229  			       size_t __len, mbstate_t *__restrict __ps,
     230  			       size_t __dstlen) __THROW;
     231  extern size_t __REDIRECT_NTH (__wcsrtombs_alias,
     232  			      (char *__restrict __dst,
     233  			       const wchar_t **__restrict __src,
     234  			       size_t __len, mbstate_t *__restrict __ps),
     235  			      wcsrtombs);
     236  extern size_t __REDIRECT_NTH (__wcsrtombs_chk_warn,
     237  			      (char *__restrict __dst,
     238  			       const wchar_t **__restrict __src,
     239  			       size_t __len, mbstate_t *__restrict __ps,
     240  			       size_t __dstlen), __wcsrtombs_chk)
     241      __warnattr ("wcsrtombs called with dst buffer smaller than len");
     242  
     243  #ifdef	__USE_XOPEN2K8
     244  
     245  extern size_t __mbsnrtowcs_chk (wchar_t *__restrict __dst,
     246  				const char **__restrict __src, size_t __nmc,
     247  				size_t __len, mbstate_t *__restrict __ps,
     248  				size_t __dstlen) __THROW;
     249  extern size_t __REDIRECT_NTH (__mbsnrtowcs_alias,
     250  			      (wchar_t *__restrict __dst,
     251  			       const char **__restrict __src, size_t __nmc,
     252  			       size_t __len, mbstate_t *__restrict __ps),
     253  			      mbsnrtowcs);
     254  extern size_t __REDIRECT_NTH (__mbsnrtowcs_chk_warn,
     255  			      (wchar_t *__restrict __dst,
     256  			       const char **__restrict __src, size_t __nmc,
     257  			       size_t __len, mbstate_t *__restrict __ps,
     258  			       size_t __dstlen), __mbsnrtowcs_chk)
     259       __warnattr ("mbsnrtowcs called with dst buffer smaller than len "
     260  		 "* sizeof (wchar_t)");
     261  
     262  extern size_t __wcsnrtombs_chk (char *__restrict __dst,
     263  				const wchar_t **__restrict __src,
     264  				size_t __nwc, size_t __len,
     265  				mbstate_t *__restrict __ps, size_t __dstlen)
     266         __THROW;
     267  extern size_t __REDIRECT_NTH (__wcsnrtombs_alias,
     268  			      (char *__restrict __dst,
     269  			       const wchar_t **__restrict __src,
     270  			       size_t __nwc, size_t __len,
     271  			       mbstate_t *__restrict __ps), wcsnrtombs);
     272  extern size_t __REDIRECT_NTH (__wcsnrtombs_chk_warn,
     273  			      (char *__restrict __dst,
     274  			       const wchar_t **__restrict __src,
     275  			       size_t __nwc, size_t __len,
     276  			       mbstate_t *__restrict __ps,
     277  			       size_t __dstlen), __wcsnrtombs_chk)
     278       __warnattr ("wcsnrtombs called with dst buffer smaller than len");
     279  
     280  #endif
     281  
     282  #ifdef __USE_MISC
     283  extern size_t __wcslcpy_chk (wchar_t *__dest, const wchar_t *__src, size_t __n,
     284  			     size_t __destlen) __THROW;
     285  extern size_t __REDIRECT_NTH (__wcslcpy_alias,
     286  			      (wchar_t *__dest, const wchar_t *__src,
     287  			       size_t __n), wcslcpy);
     288  
     289  extern size_t __wcslcat_chk (wchar_t *__dest, const wchar_t *__src, size_t __n,
     290  			     size_t __destlen) __THROW;
     291  extern size_t __REDIRECT_NTH (__wcslcat_alias,
     292  			      (wchar_t *__dest, const wchar_t *__src,
     293  			       size_t __n), wcslcat);
     294  #endif /* __USE_MISC */
     295  
     296  #endif /* bits/wchar2-decl.h.  */