Where Online Learning is simpler!
The C and C++ Include Header Files
/usr/include/x86_64-linux-gnu/bits/wchar2.h
$ cat -n /usr/include/x86_64-linux-gnu/bits/wchar2.h 1 /* Checking macros for wchar functions. 2 Copyright (C) 2005-2024 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
. */ 18 19 #ifndef _WCHAR_H 20 # error "Never include
directly; use
instead." 21 #endif 22 23 __fortify_function wchar_t * 24 __NTH (wmemcpy (wchar_t *__restrict __s1, const wchar_t *__restrict __s2, 25 size_t __n)) 26 { 27 return __glibc_fortify_n (wmemcpy, __n, sizeof (wchar_t), 28 __glibc_objsize0 (__s1), 29 __s1, __s2, __n); 30 } 31 32 __fortify_function wchar_t * 33 __NTH (wmemmove (wchar_t *__s1, const wchar_t *__s2, size_t __n)) 34 { 35 return __glibc_fortify_n (wmemmove, __n, sizeof (wchar_t), 36 __glibc_objsize0 (__s1), 37 __s1, __s2, __n); 38 } 39 40 #ifdef __USE_GNU 41 __fortify_function wchar_t * 42 __NTH (wmempcpy (wchar_t *__restrict __s1, const wchar_t *__restrict __s2, 43 size_t __n)) 44 { 45 return __glibc_fortify_n (wmempcpy, __n, sizeof (wchar_t), 46 __glibc_objsize0 (__s1), 47 __s1, __s2, __n); 48 } 49 #endif 50 51 __fortify_function wchar_t * 52 __NTH (wmemset (wchar_t *__s, wchar_t __c, size_t __n)) 53 { 54 return __glibc_fortify_n (wmemset, __n, sizeof (wchar_t), 55 __glibc_objsize0 (__s), 56 __s, __c, __n); 57 } 58 59 __fortify_function wchar_t * 60 __NTH (wcscpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src)) 61 { 62 size_t sz = __glibc_objsize (__dest); 63 if (sz != (size_t) -1) 64 return __wcscpy_chk (__dest, __src, sz / sizeof (wchar_t)); 65 return __wcscpy_alias (__dest, __src); 66 } 67 68 __fortify_function wchar_t * 69 __NTH (wcpcpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src)) 70 { 71 size_t sz = __glibc_objsize (__dest); 72 if (sz != (size_t) -1) 73 return __wcpcpy_chk (__dest, __src, sz / sizeof (wchar_t)); 74 return __wcpcpy_alias (__dest, __src); 75 } 76 77 __fortify_function wchar_t * 78 __NTH (wcsncpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src, 79 size_t __n)) 80 { 81 return __glibc_fortify_n (wcsncpy, __n, sizeof (wchar_t), 82 __glibc_objsize (__dest), 83 __dest, __src, __n); 84 } 85 86 __fortify_function wchar_t * 87 __NTH (wcpncpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src, 88 size_t __n)) 89 { 90 return __glibc_fortify_n (wcpncpy, __n, sizeof (wchar_t), 91 __glibc_objsize (__dest), 92 __dest, __src, __n); 93 } 94 95 __fortify_function wchar_t * 96 __NTH (wcscat (wchar_t *__restrict __dest, const wchar_t *__restrict __src)) 97 { 98 size_t sz = __glibc_objsize (__dest); 99 if (sz != (size_t) -1) 100 return __wcscat_chk (__dest, __src, sz / sizeof (wchar_t)); 101 return __wcscat_alias (__dest, __src); 102 } 103 104 __fortify_function wchar_t * 105 __NTH (wcsncat (wchar_t *__restrict __dest, const wchar_t *__restrict __src, 106 size_t __n)) 107 { 108 size_t sz = __glibc_objsize (__dest); 109 if (sz != (size_t) -1) 110 return __wcsncat_chk (__dest, __src, __n, sz / sizeof (wchar_t)); 111 return __wcsncat_alias (__dest, __src, __n); 112 } 113 114 #ifdef __USE_MISC 115 __fortify_function size_t 116 __NTH (wcslcpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src, 117 size_t __n)) 118 { 119 if (__glibc_objsize (__dest) != (size_t) -1 120 && (!__builtin_constant_p (__n 121 > __glibc_objsize (__dest) / sizeof (wchar_t)) 122 || __n > __glibc_objsize (__dest) / sizeof (wchar_t))) 123 return __wcslcpy_chk (__dest, __src, __n, 124 __glibc_objsize (__dest) / sizeof (wchar_t)); 125 return __wcslcpy_alias (__dest, __src, __n); 126 } 127 128 __fortify_function size_t 129 __NTH (wcslcat (wchar_t *__restrict __dest, const wchar_t *__restrict __src, 130 size_t __n)) 131 { 132 if (__glibc_objsize (__dest) != (size_t) -1 133 && (!__builtin_constant_p (__n > __glibc_objsize (__dest) 134 / sizeof (wchar_t)) 135 || __n > __glibc_objsize (__dest) / sizeof (wchar_t))) 136 return __wcslcat_chk (__dest, __src, __n, 137 __glibc_objsize (__dest) / sizeof (wchar_t)); 138 return __wcslcat_alias (__dest, __src, __n); 139 } 140 #endif /* __USE_MISC */ 141 142 #ifdef __va_arg_pack 143 __fortify_function int 144 __NTH (swprintf (wchar_t *__restrict __s, size_t __n, 145 const wchar_t *__restrict __fmt, ...)) 146 { 147 size_t sz = __glibc_objsize (__s); 148 if (sz != (size_t) -1 || __USE_FORTIFY_LEVEL > 1) 149 return __swprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1, 150 sz / sizeof (wchar_t), __fmt, __va_arg_pack ()); 151 return __swprintf_alias (__s, __n, __fmt, __va_arg_pack ()); 152 } 153 #elif !defined __cplusplus 154 /* XXX We might want to have support in gcc for swprintf. */ 155 # define swprintf(s, n, ...) \ 156 (__glibc_objsize (s) != (size_t) -1 || __USE_FORTIFY_LEVEL > 1 \ 157 ? __swprintf_chk (s, n, __USE_FORTIFY_LEVEL - 1, \ 158 __glibc_objsize (s) / sizeof (wchar_t), __VA_ARGS__) \ 159 : swprintf (s, n, __VA_ARGS__)) 160 #endif 161 162 __fortify_function int 163 __NTH (vswprintf (wchar_t *__restrict __s, size_t __n, 164 const wchar_t *__restrict __fmt, __gnuc_va_list __ap)) 165 { 166 size_t sz = __glibc_objsize (__s); 167 if (sz != (size_t) -1 || __USE_FORTIFY_LEVEL > 1) 168 return __vswprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1, 169 sz / sizeof (wchar_t), __fmt, __ap); 170 return __vswprintf_alias (__s, __n, __fmt, __ap); 171 } 172 173 174 #if __USE_FORTIFY_LEVEL > 1 175 176 # ifdef __va_arg_pack 177 __fortify_function int 178 wprintf (const wchar_t *__restrict __fmt, ...) 179 { 180 return __wprintf_chk (__USE_FORTIFY_LEVEL - 1, __fmt, __va_arg_pack ()); 181 } 182 183 __fortify_function int 184 fwprintf (__FILE *__restrict __stream, const wchar_t *__restrict __fmt, ...) 185 { 186 return __fwprintf_chk (__stream, __USE_FORTIFY_LEVEL - 1, __fmt, 187 __va_arg_pack ()); 188 } 189 # elif !defined __cplusplus 190 # define wprintf(...) \ 191 __wprintf_chk (__USE_FORTIFY_LEVEL - 1, __VA_ARGS__) 192 # define fwprintf(stream, ...) \ 193 __fwprintf_chk (stream, __USE_FORTIFY_LEVEL - 1, __VA_ARGS__) 194 # endif 195 196 __fortify_function int 197 vwprintf (const wchar_t *__restrict __fmt, __gnuc_va_list __ap) 198 { 199 return __vwprintf_chk (__USE_FORTIFY_LEVEL - 1, __fmt, __ap); 200 } 201 202 __fortify_function int 203 vfwprintf (__FILE *__restrict __stream, 204 const wchar_t *__restrict __fmt, __gnuc_va_list __ap) 205 { 206 return __vfwprintf_chk (__stream, __USE_FORTIFY_LEVEL - 1, __fmt, __ap); 207 } 208 209 #endif 210 __fortify_function __wur wchar_t * 211 fgetws (wchar_t *__restrict __s, int __n, __FILE *__restrict __stream) 212 { 213 size_t sz = __glibc_objsize (__s); 214 if (__glibc_safe_or_unknown_len (__n, sizeof (wchar_t), sz)) 215 return __fgetws_alias (__s, __n, __stream); 216 if (__glibc_unsafe_len (__n, sizeof (wchar_t), sz)) 217 return __fgetws_chk_warn (__s, sz / sizeof (wchar_t), __n, __stream); 218 return __fgetws_chk (__s, sz / sizeof (wchar_t), __n, __stream); 219 } 220 221 #ifdef __USE_GNU 222 __fortify_function __wur wchar_t * 223 fgetws_unlocked (wchar_t *__restrict __s, int __n, __FILE *__restrict __stream) 224 { 225 size_t sz = __glibc_objsize (__s); 226 if (__glibc_safe_or_unknown_len (__n, sizeof (wchar_t), sz)) 227 return __fgetws_unlocked_alias (__s, __n, __stream); 228 if (__glibc_unsafe_len (__n, sizeof (wchar_t), sz)) 229 return __fgetws_unlocked_chk_warn (__s, sz / sizeof (wchar_t), __n, 230 __stream); 231 return __fgetws_unlocked_chk (__s, sz / sizeof (wchar_t), __n, __stream); 232 } 233 #endif 234 235 __fortify_function __wur size_t 236 __NTH (wcrtomb (char *__restrict __s, wchar_t __wchar, 237 mbstate_t *__restrict __ps)) 238 { 239 /* We would have to include
to get a definition of MB_LEN_MAX. 240 But this would only disturb the namespace. So we define our own 241 version here. */ 242 #define __WCHAR_MB_LEN_MAX 16 243 #if defined MB_LEN_MAX && MB_LEN_MAX != __WCHAR_MB_LEN_MAX 244 # error "Assumed value of MB_LEN_MAX wrong" 245 #endif 246 if (__glibc_objsize (__s) != (size_t) -1 247 && __WCHAR_MB_LEN_MAX > __glibc_objsize (__s)) 248 return __wcrtomb_chk (__s, __wchar, __ps, __glibc_objsize (__s)); 249 return __wcrtomb_alias (__s, __wchar, __ps); 250 } 251 252 __fortify_function size_t 253 __NTH (mbsrtowcs (wchar_t *__restrict __dst, const char **__restrict __src, 254 size_t __len, mbstate_t *__restrict __ps)) 255 { 256 return __glibc_fortify_n (mbsrtowcs, __len, sizeof (wchar_t), 257 __glibc_objsize (__dst), 258 __dst, __src, __len, __ps); 259 } 260 261 __fortify_function size_t 262 __NTH (wcsrtombs (char *__restrict __dst, const wchar_t **__restrict __src, 263 size_t __len, mbstate_t *__restrict __ps)) 264 { 265 return __glibc_fortify (wcsrtombs, __len, sizeof (char), 266 __glibc_objsize (__dst), 267 __dst, __src, __len, __ps); 268 } 269 270 271 #ifdef __USE_XOPEN2K8 272 __fortify_function size_t 273 __NTH (mbsnrtowcs (wchar_t *__restrict __dst, const char **__restrict __src, 274 size_t __nmc, size_t __len, mbstate_t *__restrict __ps)) 275 { 276 return __glibc_fortify_n (mbsnrtowcs, __len, sizeof (wchar_t), 277 __glibc_objsize (__dst), 278 __dst, __src, __nmc, __len, __ps); 279 } 280 281 __fortify_function size_t 282 __NTH (wcsnrtombs (char *__restrict __dst, const wchar_t **__restrict __src, 283 size_t __nwc, size_t __len, mbstate_t *__restrict __ps)) 284 { 285 return __glibc_fortify (wcsnrtombs, __len, sizeof (char), 286 __glibc_objsize (__dst), 287 __dst, __src, __nwc, __len, __ps); 288 } 289 #endif
Contact us
|
About us
|
Term of use
|
Copyright © 2000-2025 MyWebUniversity.com ™