Where Online Learning is simpler!
The C and C++ Include Header Files
/usr/include/x86_64-linux-gnu/bits/stdlib.h
$ cat -n /usr/include/x86_64-linux-gnu/bits/stdlib.h 1 /* Checking macros for stdlib 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 _STDLIB_H 20 # error "Never include
directly; use
instead." 21 #endif 22 23 extern char *__realpath_chk (const char *__restrict __name, 24 char *__restrict __resolved, 25 size_t __resolvedlen) __THROW __wur; 26 extern char *__REDIRECT_NTH (__realpath_alias, 27 (const char *__restrict __name, 28 char *__restrict __resolved), realpath) __wur; 29 extern char *__REDIRECT_NTH (__realpath_chk_warn, 30 (const char *__restrict __name, 31 char *__restrict __resolved, 32 size_t __resolvedlen), __realpath_chk) __wur 33 __warnattr ("second argument of realpath must be either NULL or at " 34 "least PATH_MAX bytes long buffer"); 35 36 __fortify_function __wur char * 37 __NTH (realpath (const char *__restrict __name, char *__restrict __resolved)) 38 { 39 size_t sz = __glibc_objsize (__resolved); 40 41 if (sz == (size_t) -1) 42 return __realpath_alias (__name, __resolved); 43 44 #if defined _LIBC_LIMITS_H_ && defined PATH_MAX 45 if (__glibc_unsafe_len (PATH_MAX, sizeof (char), sz)) 46 return __realpath_chk_warn (__name, __resolved, sz); 47 #endif 48 return __realpath_chk (__name, __resolved, sz); 49 } 50 51 52 extern int __ptsname_r_chk (int __fd, char *__buf, size_t __buflen, 53 size_t __nreal) __THROW __nonnull ((2)) 54 __attr_access ((__write_only__, 2, 3)); 55 extern int __REDIRECT_NTH (__ptsname_r_alias, (int __fd, char *__buf, 56 size_t __buflen), ptsname_r) 57 __nonnull ((2)) __attr_access ((__write_only__, 2, 3)); 58 extern int __REDIRECT_NTH (__ptsname_r_chk_warn, 59 (int __fd, char *__buf, size_t __buflen, 60 size_t __nreal), __ptsname_r_chk) 61 __nonnull ((2)) __warnattr ("ptsname_r called with buflen bigger than " 62 "size of buf"); 63 64 __fortify_function int 65 __NTH (ptsname_r (int __fd, char *__buf, size_t __buflen)) 66 { 67 return __glibc_fortify (ptsname_r, __buflen, sizeof (char), 68 __glibc_objsize (__buf), 69 __fd, __buf, __buflen); 70 } 71 72 73 extern int __wctomb_chk (char *__s, wchar_t __wchar, size_t __buflen) 74 __THROW __wur; 75 extern int __REDIRECT_NTH (__wctomb_alias, (char *__s, wchar_t __wchar), 76 wctomb) __wur; 77 78 __fortify_function __wur int 79 __NTH (wctomb (char *__s, wchar_t __wchar)) 80 { 81 /* We would have to include
to get a definition of MB_LEN_MAX. 82 But this would only disturb the namespace. So we define our own 83 version here. */ 84 #define __STDLIB_MB_LEN_MAX 16 85 #if defined MB_LEN_MAX && MB_LEN_MAX != __STDLIB_MB_LEN_MAX 86 # error "Assumed value of MB_LEN_MAX wrong" 87 #endif 88 if (__glibc_objsize (__s) != (size_t) -1 89 && __STDLIB_MB_LEN_MAX > __glibc_objsize (__s)) 90 return __wctomb_chk (__s, __wchar, __glibc_objsize (__s)); 91 return __wctomb_alias (__s, __wchar); 92 } 93 94 95 extern size_t __mbstowcs_chk (wchar_t *__restrict __dst, 96 const char *__restrict __src, 97 size_t __len, size_t __dstlen) __THROW 98 __attr_access ((__write_only__, 1, 3)) __attr_access ((__read_only__, 2)); 99 extern size_t __REDIRECT_NTH (__mbstowcs_nulldst, 100 (wchar_t *__restrict __dst, 101 const char *__restrict __src, 102 size_t __len), mbstowcs) 103 __attr_access ((__read_only__, 2)); 104 extern size_t __REDIRECT_NTH (__mbstowcs_alias, 105 (wchar_t *__restrict __dst, 106 const char *__restrict __src, 107 size_t __len), mbstowcs) 108 __attr_access ((__write_only__, 1, 3)) __attr_access ((__read_only__, 2)); 109 extern size_t __REDIRECT_NTH (__mbstowcs_chk_warn, 110 (wchar_t *__restrict __dst, 111 const char *__restrict __src, 112 size_t __len, size_t __dstlen), __mbstowcs_chk) 113 __warnattr ("mbstowcs called with dst buffer smaller than len " 114 "* sizeof (wchar_t)"); 115 116 __fortify_function size_t 117 __NTH (mbstowcs (wchar_t *__restrict __dst, const char *__restrict __src, 118 size_t __len)) 119 { 120 if (__builtin_constant_p (__dst == NULL) && __dst == NULL) 121 return __mbstowcs_nulldst (__dst, __src, __len); 122 else 123 return __glibc_fortify_n (mbstowcs, __len, sizeof (wchar_t), 124 __glibc_objsize (__dst), __dst, __src, __len); 125 } 126 127 extern size_t __wcstombs_chk (char *__restrict __dst, 128 const wchar_t *__restrict __src, 129 size_t __len, size_t __dstlen) __THROW 130 __attr_access ((__write_only__, 1, 3)) __attr_access ((__read_only__, 2)); 131 extern size_t __REDIRECT_NTH (__wcstombs_alias, 132 (char *__restrict __dst, 133 const wchar_t *__restrict __src, 134 size_t __len), wcstombs) 135 __attr_access ((__write_only__, 1, 3)) __attr_access ((__read_only__, 2)); 136 extern size_t __REDIRECT_NTH (__wcstombs_chk_warn, 137 (char *__restrict __dst, 138 const wchar_t *__restrict __src, 139 size_t __len, size_t __dstlen), __wcstombs_chk) 140 __warnattr ("wcstombs called with dst buffer smaller than len"); 141 142 __fortify_function size_t 143 __NTH (wcstombs (char *__restrict __dst, const wchar_t *__restrict __src, 144 size_t __len)) 145 { 146 return __glibc_fortify (wcstombs, __len, sizeof (char), 147 __glibc_objsize (__dst), 148 __dst, __src, __len); 149 }
Contact us
|
About us
|
Term of use
|
Copyright © 2000-2025 MyWebUniversity.com ™