fix: replace black color with purple
Browse files
+0 −13 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@a3kjvvlm7f8abcmxh6f8dndiwc4vp726-clang-21.1.8-lib@lib@clang@21@include@__stdarg___gnuc_va_list.h deleted file mode 100644
| @@ -1,13 +0,0 @@ | |||
| 1 | -/*===---- __stdarg___gnuc_va_list.h - Definition of __gnuc_va_list ---------=== | ||
| 2 | - * | ||
| 3 | - * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. | ||
| 4 | - * See https://llvm.org/LICENSE.txt for license information. | ||
| 5 | - * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception | ||
| 6 | - * | ||
| 7 | - *===-----------------------------------------------------------------------=== | ||
| 8 | - */ | ||
| 9 | - | ||
| 10 | -#ifndef __GNUC_VA_LIST | ||
| 11 | -#define __GNUC_VA_LIST | ||
| 12 | -typedef __builtin_va_list __gnuc_va_list; | ||
| 13 | -#endif | ||
+0 −0 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@a3kjvvlm7f8abcmxh6f8dndiwc4vp726-clang-21.1.8-lib@lib@clang@21@include@__stdarg___gnuc_va_list.h.blob deleted file mode 100644, Binary files a/.ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@a3kjvvlm7f8abcmxh6f8dndiwc4vp726-clang-21.1.8-lib@lib@clang@21@include@__stdarg___gnuc_va_list.h.blob and /dev/null differ
+0 −29 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@a3kjvvlm7f8abcmxh6f8dndiwc4vp726-clang-21.1.8-lib@lib@clang@21@include@__stddef_null.h deleted file mode 100644
| @@ -1,29 +0,0 @@ | |||
| 1 | -/*===---- __stddef_null.h - Definition of NULL -----------------------------=== | ||
| 2 | - * | ||
| 3 | - * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. | ||
| 4 | - * See https://llvm.org/LICENSE.txt for license information. | ||
| 5 | - * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception | ||
| 6 | - * | ||
| 7 | - *===-----------------------------------------------------------------------=== | ||
| 8 | - */ | ||
| 9 | - | ||
| 10 | -#if !defined(NULL) || !__building_module(_Builtin_stddef) | ||
| 11 | - | ||
| 12 | -/* linux/stddef.h will define NULL to 0. glibc (and other) headers then define | ||
| 13 | - * __need_NULL and rely on stddef.h to redefine NULL to the correct value again. | ||
| 14 | - * Modules don't support redefining macros like that, but support that pattern | ||
| 15 | - * in the non-modules case. | ||
| 16 | - */ | ||
| 17 | -#undef NULL | ||
| 18 | - | ||
| 19 | -#ifdef __cplusplus | ||
| 20 | -#if !defined(__MINGW32__) && !defined(_MSC_VER) | ||
| 21 | -#define NULL __null | ||
| 22 | -#else | ||
| 23 | -#define NULL 0 | ||
| 24 | -#endif | ||
| 25 | -#else | ||
| 26 | -#define NULL ((void*)0) | ||
| 27 | -#endif | ||
| 28 | - | ||
| 29 | -#endif | ||
+0 −0 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@a3kjvvlm7f8abcmxh6f8dndiwc4vp726-clang-21.1.8-lib@lib@clang@21@include@__stddef_null.h.blob deleted file mode 100644, Binary files a/.ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@a3kjvvlm7f8abcmxh6f8dndiwc4vp726-clang-21.1.8-lib@lib@clang@21@include@__stddef_null.h.blob and /dev/null differ
+0 −20 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@a3kjvvlm7f8abcmxh6f8dndiwc4vp726-clang-21.1.8-lib@lib@clang@21@include@__stddef_size_t.h deleted file mode 100644
| @@ -1,20 +0,0 @@ | |||
| 1 | -/*===---- __stddef_size_t.h - Definition of size_t -------------------------=== | ||
| 2 | - * | ||
| 3 | - * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. | ||
| 4 | - * See https://llvm.org/LICENSE.txt for license information. | ||
| 5 | - * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception | ||
| 6 | - * | ||
| 7 | - *===-----------------------------------------------------------------------=== | ||
| 8 | - */ | ||
| 9 | - | ||
| 10 | -/* | ||
| 11 | - * When -fbuiltin-headers-in-system-modules is set this is a non-modular header | ||
| 12 | - * and needs to behave as if it was textual. | ||
| 13 | - */ | ||
| 14 | -#if !defined(_SIZE_T) || \ | ||
| 15 | - (__has_feature(modules) && !__building_module(_Builtin_stddef)) | ||
| 16 | -#define _SIZE_T | ||
| 17 | - | ||
| 18 | -typedef __SIZE_TYPE__ size_t; | ||
| 19 | - | ||
| 20 | -#endif | ||
+0 −0 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@a3kjvvlm7f8abcmxh6f8dndiwc4vp726-clang-21.1.8-lib@lib@clang@21@include@__stddef_size_t.h.blob deleted file mode 100644, Binary files a/.ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@a3kjvvlm7f8abcmxh6f8dndiwc4vp726-clang-21.1.8-lib@lib@clang@21@include@__stddef_size_t.h.blob and /dev/null differ
+0 −28 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@a3kjvvlm7f8abcmxh6f8dndiwc4vp726-clang-21.1.8-lib@lib@clang@21@include@__stddef_wchar_t.h deleted file mode 100644
| @@ -1,28 +0,0 @@ | |||
| 1 | -/*===---- __stddef_wchar.h - Definition of wchar_t -------------------------=== | ||
| 2 | - * | ||
| 3 | - * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. | ||
| 4 | - * See https://llvm.org/LICENSE.txt for license information. | ||
| 5 | - * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception | ||
| 6 | - * | ||
| 7 | - *===-----------------------------------------------------------------------=== | ||
| 8 | - */ | ||
| 9 | - | ||
| 10 | -#if !defined(__cplusplus) || (defined(_MSC_VER) && !_NATIVE_WCHAR_T_DEFINED) | ||
| 11 | - | ||
| 12 | -/* | ||
| 13 | - * When -fbuiltin-headers-in-system-modules is set this is a non-modular header | ||
| 14 | - * and needs to behave as if it was textual. | ||
| 15 | - */ | ||
| 16 | -#if !defined(_WCHAR_T) || \ | ||
| 17 | - (__has_feature(modules) && !__building_module(_Builtin_stddef)) | ||
| 18 | -#define _WCHAR_T | ||
| 19 | - | ||
| 20 | -#ifdef _MSC_EXTENSIONS | ||
| 21 | -#define _WCHAR_T_DEFINED | ||
| 22 | -#endif | ||
| 23 | - | ||
| 24 | -typedef __WCHAR_TYPE__ wchar_t; | ||
| 25 | - | ||
| 26 | -#endif | ||
| 27 | - | ||
| 28 | -#endif | ||
+0 −0 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@a3kjvvlm7f8abcmxh6f8dndiwc4vp726-clang-21.1.8-lib@lib@clang@21@include@__stddef_wchar_t.h.blob deleted file mode 100644, Binary files a/.ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@a3kjvvlm7f8abcmxh6f8dndiwc4vp726-clang-21.1.8-lib@lib@clang@21@include@__stddef_wchar_t.h.blob and /dev/null differ
+0 −75 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@a3kjvvlm7f8abcmxh6f8dndiwc4vp726-clang-21.1.8-lib@lib@clang@21@include@stdarg.h deleted file mode 100644
| @@ -1,75 +0,0 @@ | |||
| 1 | -/*===---- stdarg.h - Variable argument handling ----------------------------=== | ||
| 2 | - * | ||
| 3 | - * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. | ||
| 4 | - * See https://llvm.org/LICENSE.txt for license information. | ||
| 5 | - * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception | ||
| 6 | - * | ||
| 7 | - *===-----------------------------------------------------------------------=== | ||
| 8 | - */ | ||
| 9 | - | ||
| 10 | -/* | ||
| 11 | - * This header is designed to be included multiple times. If any of the __need_ | ||
| 12 | - * macros are defined, then only that subset of interfaces are provided. This | ||
| 13 | - * can be useful for POSIX headers that need to not expose all of stdarg.h, but | ||
| 14 | - * need to use some of its interfaces. Otherwise this header provides all of | ||
| 15 | - * the expected interfaces. | ||
| 16 | - * | ||
| 17 | - * When clang modules are enabled, this header is a textual header to support | ||
| 18 | - * the multiple include behavior. As such, it doesn't directly declare anything | ||
| 19 | - * so that it doesn't add duplicate declarations to all of its includers' | ||
| 20 | - * modules. | ||
| 21 | - */ | ||
| 22 | -#if defined(__MVS__) && __has_include_next(<stdarg.h>) | ||
| 23 | -#undef __need___va_list | ||
| 24 | -#undef __need_va_list | ||
| 25 | -#undef __need_va_arg | ||
| 26 | -#undef __need___va_copy | ||
| 27 | -#undef __need_va_copy | ||
| 28 | -#include <__stdarg_header_macro.h> | ||
| 29 | -#include_next <stdarg.h> | ||
| 30 | - | ||
| 31 | -#else | ||
| 32 | -#if !defined(__need___va_list) && !defined(__need_va_list) && \ | ||
| 33 | - !defined(__need_va_arg) && !defined(__need___va_copy) && \ | ||
| 34 | - !defined(__need_va_copy) | ||
| 35 | -#define __need___va_list | ||
| 36 | -#define __need_va_list | ||
| 37 | -#define __need_va_arg | ||
| 38 | -#define __need___va_copy | ||
| 39 | -/* GCC always defines __va_copy, but does not define va_copy unless in c99 mode | ||
| 40 | - * or -ansi is not specified, since it was not part of C90. | ||
| 41 | - */ | ||
| 42 | -#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || \ | ||
| 43 | - (defined(__cplusplus) && __cplusplus >= 201103L) || \ | ||
| 44 | - !defined(__STRICT_ANSI__) | ||
| 45 | -#define __need_va_copy | ||
| 46 | -#endif | ||
| 47 | -#include <__stdarg_header_macro.h> | ||
| 48 | -#endif | ||
| 49 | - | ||
| 50 | -#ifdef __need___va_list | ||
| 51 | -#include <__stdarg___gnuc_va_list.h> | ||
| 52 | -#undef __need___va_list | ||
| 53 | -#endif /* defined(__need___va_list) */ | ||
| 54 | - | ||
| 55 | -#ifdef __need_va_list | ||
| 56 | -#include <__stdarg_va_list.h> | ||
| 57 | -#undef __need_va_list | ||
| 58 | -#endif /* defined(__need_va_list) */ | ||
| 59 | - | ||
| 60 | -#ifdef __need_va_arg | ||
| 61 | -#include <__stdarg_va_arg.h> | ||
| 62 | -#undef __need_va_arg | ||
| 63 | -#endif /* defined(__need_va_arg) */ | ||
| 64 | - | ||
| 65 | -#ifdef __need___va_copy | ||
| 66 | -#include <__stdarg___va_copy.h> | ||
| 67 | -#undef __need___va_copy | ||
| 68 | -#endif /* defined(__need___va_copy) */ | ||
| 69 | - | ||
| 70 | -#ifdef __need_va_copy | ||
| 71 | -#include <__stdarg_va_copy.h> | ||
| 72 | -#undef __need_va_copy | ||
| 73 | -#endif /* defined(__need_va_copy) */ | ||
| 74 | - | ||
| 75 | -#endif /* __MVS__ */ | ||
+0 −0 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@a3kjvvlm7f8abcmxh6f8dndiwc4vp726-clang-21.1.8-lib@lib@clang@21@include@stdarg.h.blob deleted file mode 100644, Binary files a/.ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@a3kjvvlm7f8abcmxh6f8dndiwc4vp726-clang-21.1.8-lib@lib@clang@21@include@stdarg.h.blob and /dev/null differ
+0 −139 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@a3kjvvlm7f8abcmxh6f8dndiwc4vp726-clang-21.1.8-lib@lib@clang@21@include@stddef.h deleted file mode 100644
| @@ -1,139 +0,0 @@ | |||
| 1 | -/*===---- stddef.h - Basic type definitions --------------------------------=== | ||
| 2 | - * | ||
| 3 | - * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. | ||
| 4 | - * See https://llvm.org/LICENSE.txt for license information. | ||
| 5 | - * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception | ||
| 6 | - * | ||
| 7 | - *===-----------------------------------------------------------------------=== | ||
| 8 | - */ | ||
| 9 | - | ||
| 10 | -/* | ||
| 11 | - * This header is designed to be included multiple times. If any of the __need_ | ||
| 12 | - * macros are defined, then only that subset of interfaces are provided. This | ||
| 13 | - * can be useful for POSIX headers that need to not expose all of stddef.h, but | ||
| 14 | - * need to use some of its interfaces. Otherwise this header provides all of | ||
| 15 | - * the expected interfaces. | ||
| 16 | - * | ||
| 17 | - * When clang modules are enabled, this header is a textual header to support | ||
| 18 | - * the multiple include behavior. As such, it doesn't directly declare anything | ||
| 19 | - * so that it doesn't add duplicate declarations to all of its includers' | ||
| 20 | - * modules. | ||
| 21 | - */ | ||
| 22 | -#if defined(__MVS__) && __has_include_next(<stddef.h>) | ||
| 23 | -#undef __need_ptrdiff_t | ||
| 24 | -#undef __need_size_t | ||
| 25 | -#undef __need_rsize_t | ||
| 26 | -#undef __need_wchar_t | ||
| 27 | -#undef __need_NULL | ||
| 28 | -#undef __need_nullptr_t | ||
| 29 | -#undef __need_unreachable | ||
| 30 | -#undef __need_max_align_t | ||
| 31 | -#undef __need_offsetof | ||
| 32 | -#undef __need_wint_t | ||
| 33 | -#include <__stddef_header_macro.h> | ||
| 34 | -#include_next <stddef.h> | ||
| 35 | - | ||
| 36 | -#else | ||
| 37 | - | ||
| 38 | -#if !defined(__need_ptrdiff_t) && !defined(__need_size_t) && \ | ||
| 39 | - !defined(__need_rsize_t) && !defined(__need_wchar_t) && \ | ||
| 40 | - !defined(__need_NULL) && !defined(__need_nullptr_t) && \ | ||
| 41 | - !defined(__need_unreachable) && !defined(__need_max_align_t) && \ | ||
| 42 | - !defined(__need_offsetof) && !defined(__need_wint_t) | ||
| 43 | -#define __need_ptrdiff_t | ||
| 44 | -#define __need_size_t | ||
| 45 | -/* ISO9899:2011 7.20 (C11 Annex K): Define rsize_t if __STDC_WANT_LIB_EXT1__ is | ||
| 46 | - * enabled. */ | ||
| 47 | -#if defined(__STDC_WANT_LIB_EXT1__) && __STDC_WANT_LIB_EXT1__ >= 1 | ||
| 48 | -#define __need_rsize_t | ||
| 49 | -#endif | ||
| 50 | -#define __need_wchar_t | ||
| 51 | -#if !defined(__STDDEF_H) || __has_feature(modules) | ||
| 52 | -/* | ||
| 53 | - * __stddef_null.h is special when building without modules: if __need_NULL is | ||
| 54 | - * set, then it will unconditionally redefine NULL. To avoid stepping on client | ||
| 55 | - * definitions of NULL, __need_NULL should only be set the first time this | ||
| 56 | - * header is included, that is when __STDDEF_H is not defined. However, when | ||
| 57 | - * building with modules, this header is a textual header and needs to | ||
| 58 | - * unconditionally include __stdef_null.h to support multiple submodules | ||
| 59 | - * exporting _Builtin_stddef.null. Take module SM with submodules A and B, whose | ||
| 60 | - * headers both include stddef.h When SM.A builds, __STDDEF_H will be defined. | ||
| 61 | - * When SM.B builds, the definition from SM.A will leak when building without | ||
| 62 | - * local submodule visibility. stddef.h wouldn't include __stddef_null.h, and | ||
| 63 | - * SM.B wouldn't import _Builtin_stddef.null, and SM.B's `export *` wouldn't | ||
| 64 | - * export NULL as expected. When building with modules, always include | ||
| 65 | - * __stddef_null.h so that everything works as expected. | ||
| 66 | - */ | ||
| 67 | -#define __need_NULL | ||
| 68 | -#endif | ||
| 69 | -#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L) || \ | ||
| 70 | - defined(__cplusplus) | ||
| 71 | -#define __need_nullptr_t | ||
| 72 | -#endif | ||
| 73 | -#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L | ||
| 74 | -#define __need_unreachable | ||
| 75 | -#endif | ||
| 76 | -#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L) || \ | ||
| 77 | - (defined(__cplusplus) && __cplusplus >= 201103L) | ||
| 78 | -#define __need_max_align_t | ||
| 79 | -#endif | ||
| 80 | -#define __need_offsetof | ||
| 81 | -/* wint_t is provided by <wchar.h> and not <stddef.h>. It's here | ||
| 82 | - * for compatibility, but must be explicitly requested. Therefore | ||
| 83 | - * __need_wint_t is intentionally not defined here. */ | ||
| 84 | -#include <__stddef_header_macro.h> | ||
| 85 | -#endif | ||
| 86 | - | ||
| 87 | -#if defined(__need_ptrdiff_t) | ||
| 88 | -#include <__stddef_ptrdiff_t.h> | ||
| 89 | -#undef __need_ptrdiff_t | ||
| 90 | -#endif /* defined(__need_ptrdiff_t) */ | ||
| 91 | - | ||
| 92 | -#if defined(__need_size_t) | ||
| 93 | -#include <__stddef_size_t.h> | ||
| 94 | -#undef __need_size_t | ||
| 95 | -#endif /*defined(__need_size_t) */ | ||
| 96 | - | ||
| 97 | -#if defined(__need_rsize_t) | ||
| 98 | -#include <__stddef_rsize_t.h> | ||
| 99 | -#undef __need_rsize_t | ||
| 100 | -#endif /* defined(__need_rsize_t) */ | ||
| 101 | - | ||
| 102 | -#if defined(__need_wchar_t) | ||
| 103 | -#include <__stddef_wchar_t.h> | ||
| 104 | -#undef __need_wchar_t | ||
| 105 | -#endif /* defined(__need_wchar_t) */ | ||
| 106 | - | ||
| 107 | -#if defined(__need_NULL) | ||
| 108 | -#include <__stddef_null.h> | ||
| 109 | -#undef __need_NULL | ||
| 110 | -#endif /* defined(__need_NULL) */ | ||
| 111 | - | ||
| 112 | -#if defined(__need_nullptr_t) | ||
| 113 | -#include <__stddef_nullptr_t.h> | ||
| 114 | -#undef __need_nullptr_t | ||
| 115 | -#endif /* defined(__need_nullptr_t) */ | ||
| 116 | - | ||
| 117 | -#if defined(__need_unreachable) | ||
| 118 | -#include <__stddef_unreachable.h> | ||
| 119 | -#undef __need_unreachable | ||
| 120 | -#endif /* defined(__need_unreachable) */ | ||
| 121 | - | ||
| 122 | -#if defined(__need_max_align_t) | ||
| 123 | -#include <__stddef_max_align_t.h> | ||
| 124 | -#undef __need_max_align_t | ||
| 125 | -#endif /* defined(__need_max_align_t) */ | ||
| 126 | - | ||
| 127 | -#if defined(__need_offsetof) | ||
| 128 | -#include <__stddef_offsetof.h> | ||
| 129 | -#undef __need_offsetof | ||
| 130 | -#endif /* defined(__need_offsetof) */ | ||
| 131 | - | ||
| 132 | -/* Some C libraries expect to see a wint_t here. Others (notably MinGW) will use | ||
| 133 | -__WINT_TYPE__ directly; accommodate both by requiring __need_wint_t */ | ||
| 134 | -#if defined(__need_wint_t) | ||
| 135 | -#include <__stddef_wint_t.h> | ||
| 136 | -#undef __need_wint_t | ||
| 137 | -#endif /* __need_wint_t */ | ||
| 138 | - | ||
| 139 | -#endif /* __MVS__ */ | ||
+0 −0 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@a3kjvvlm7f8abcmxh6f8dndiwc4vp726-clang-21.1.8-lib@lib@clang@21@include@stddef.h.blob deleted file mode 100644, Binary files a/.ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@a3kjvvlm7f8abcmxh6f8dndiwc4vp726-clang-21.1.8-lib@lib@clang@21@include@stddef.h.blob and /dev/null differ
+0 −40 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@alloca.h deleted file mode 100644
| @@ -1,40 +0,0 @@ | |||
| 1 | -/* Copyright (C) 1992-2025 Free Software Foundation, Inc. | ||
| 2 | - This file is part of the GNU C Library. | ||
| 3 | - | ||
| 4 | - The GNU C Library is free software; you can redistribute it and/or | ||
| 5 | - modify it under the terms of the GNU Lesser General Public | ||
| 6 | - License as published by the Free Software Foundation; either | ||
| 7 | - version 2.1 of the License, or (at your option) any later version. | ||
| 8 | - | ||
| 9 | - The GNU C Library is distributed in the hope that it will be useful, | ||
| 10 | - but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 11 | - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
| 12 | - Lesser General Public License for more details. | ||
| 13 | - | ||
| 14 | - You should have received a copy of the GNU Lesser General Public | ||
| 15 | - License along with the GNU C Library; if not, see | ||
| 16 | - <https://www.gnu.org/licenses/>. */ | ||
| 17 | - | ||
| 18 | -#ifndef _ALLOCA_H | ||
| 19 | -#define _ALLOCA_H 1 | ||
| 20 | - | ||
| 21 | -#include <features.h> | ||
| 22 | - | ||
| 23 | -#define __need_size_t | ||
| 24 | -#include <stddef.h> | ||
| 25 | - | ||
| 26 | -__BEGIN_DECLS | ||
| 27 | - | ||
| 28 | -/* Remove any previous definition. */ | ||
| 29 | -#undef alloca | ||
| 30 | - | ||
| 31 | -/* Allocate a block that will be freed when the calling function exits. */ | ||
| 32 | -extern void *alloca (size_t __size) __THROW; | ||
| 33 | - | ||
| 34 | -#ifdef __GNUC__ | ||
| 35 | -# define alloca(size) __builtin_alloca (size) | ||
| 36 | -#endif /* GCC. */ | ||
| 37 | - | ||
| 38 | -__END_DECLS | ||
| 39 | - | ||
| 40 | -#endif /* alloca.h */ | ||
+0 −0 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@alloca.h.blob deleted file mode 100644, Binary files a/.ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@alloca.h.blob and /dev/null differ
+0 −35 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@atomic_wide_counter.h deleted file mode 100644
| @@ -1,35 +0,0 @@ | |||
| 1 | -/* Monotonically increasing wide counters (at least 62 bits). | ||
| 2 | - Copyright (C) 2016-2025 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_ATOMIC_WIDE_COUNTER_H | ||
| 20 | -#define _BITS_ATOMIC_WIDE_COUNTER_H | ||
| 21 | - | ||
| 22 | -/* Counter that is monotonically increasing (by less than 2**31 per | ||
| 23 | - increment), with a single writer, and an arbitrary number of | ||
| 24 | - readers. */ | ||
| 25 | -typedef union | ||
| 26 | -{ | ||
| 27 | - __extension__ unsigned long long int __value64; | ||
| 28 | - struct | ||
| 29 | - { | ||
| 30 | - unsigned int __low; | ||
| 31 | - unsigned int __high; | ||
| 32 | - } __value32; | ||
| 33 | -} __atomic_wide_counter; | ||
| 34 | - | ||
| 35 | -#endif /* _BITS_ATOMIC_WIDE_COUNTER_H */ | ||
+0 −0 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@atomic_wide_counter.h.blob deleted file mode 100644, Binary files a/.ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@atomic_wide_counter.h.blob and /dev/null differ
+0 −79 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@byteswap.h deleted file mode 100644
| @@ -1,79 +0,0 @@ | |||
| 1 | -/* Macros and inline functions to swap the order of bytes in integer values. | ||
| 2 | - Copyright (C) 1997-2025 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 | -#if !defined _BYTESWAP_H && !defined _NETINET_IN_H && !defined _ENDIAN_H | ||
| 20 | -# error "Never use <bits/byteswap.h> directly; include <byteswap.h> instead." | ||
| 21 | -#endif | ||
| 22 | - | ||
| 23 | -#ifndef _BITS_BYTESWAP_H | ||
| 24 | -#define _BITS_BYTESWAP_H 1 | ||
| 25 | - | ||
| 26 | -#include <features.h> | ||
| 27 | -#include <bits/types.h> | ||
| 28 | - | ||
| 29 | -/* Swap bytes in 16-bit value. */ | ||
| 30 | -#define __bswap_constant_16(x) \ | ||
| 31 | - ((__uint16_t) ((((x) >> 8) & 0xff) | (((x) & 0xff) << 8))) | ||
| 32 | - | ||
| 33 | -static __inline __uint16_t | ||
| 34 | -__bswap_16 (__uint16_t __bsx) | ||
| 35 | -{ | ||
| 36 | -#if __GNUC_PREREQ (4, 8) | ||
| 37 | - return __builtin_bswap16 (__bsx); | ||
| 38 | -#else | ||
| 39 | - return __bswap_constant_16 (__bsx); | ||
| 40 | -#endif | ||
| 41 | -} | ||
| 42 | - | ||
| 43 | -/* Swap bytes in 32-bit value. */ | ||
| 44 | -#define __bswap_constant_32(x) \ | ||
| 45 | - ((((x) & 0xff000000u) >> 24) | (((x) & 0x00ff0000u) >> 8) \ | ||
| 46 | - | (((x) & 0x0000ff00u) << 8) | (((x) & 0x000000ffu) << 24)) | ||
| 47 | - | ||
| 48 | -static __inline __uint32_t | ||
| 49 | -__bswap_32 (__uint32_t __bsx) | ||
| 50 | -{ | ||
| 51 | -#if __GNUC_PREREQ (4, 3) | ||
| 52 | - return __builtin_bswap32 (__bsx); | ||
| 53 | -#else | ||
| 54 | - return __bswap_constant_32 (__bsx); | ||
| 55 | -#endif | ||
| 56 | -} | ||
| 57 | - | ||
| 58 | -/* Swap bytes in 64-bit value. */ | ||
| 59 | -#define __bswap_constant_64(x) \ | ||
| 60 | - ((((x) & 0xff00000000000000ull) >> 56) \ | ||
| 61 | - | (((x) & 0x00ff000000000000ull) >> 40) \ | ||
| 62 | - | (((x) & 0x0000ff0000000000ull) >> 24) \ | ||
| 63 | - | (((x) & 0x000000ff00000000ull) >> 8) \ | ||
| 64 | - | (((x) & 0x00000000ff000000ull) << 8) \ | ||
| 65 | - | (((x) & 0x0000000000ff0000ull) << 24) \ | ||
| 66 | - | (((x) & 0x000000000000ff00ull) << 40) \ | ||
| 67 | - | (((x) & 0x00000000000000ffull) << 56)) | ||
| 68 | - | ||
| 69 | -__extension__ static __inline __uint64_t | ||
| 70 | -__bswap_64 (__uint64_t __bsx) | ||
| 71 | -{ | ||
| 72 | -#if __GNUC_PREREQ (4, 3) | ||
| 73 | - return __builtin_bswap64 (__bsx); | ||
| 74 | -#else | ||
| 75 | - return __bswap_constant_64 (__bsx); | ||
| 76 | -#endif | ||
| 77 | -} | ||
| 78 | - | ||
| 79 | -#endif /* _BITS_BYTESWAP_H */ | ||
+0 −0 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@byteswap.h.blob deleted file mode 100644, Binary files a/.ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@byteswap.h.blob and /dev/null differ
+0 −49 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@endian.h deleted file mode 100644
| @@ -1,49 +0,0 @@ | |||
| 1 | -/* Endian macros for string.h functions | ||
| 2 | - Copyright (C) 1992-2025 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 | - <http://www.gnu.org/licenses/>. */ | ||
| 18 | - | ||
| 19 | -#ifndef _BITS_ENDIAN_H | ||
| 20 | -#define _BITS_ENDIAN_H 1 | ||
| 21 | - | ||
| 22 | -/* Definitions for byte order, according to significance of bytes, | ||
| 23 | - from low addresses to high addresses. The value is what you get by | ||
| 24 | - putting '4' in the most significant byte, '3' in the second most | ||
| 25 | - significant byte, '2' in the second least significant byte, and '1' | ||
| 26 | - in the least significant byte, and then writing down one digit for | ||
| 27 | - each byte, starting with the byte at the lowest address at the left, | ||
| 28 | - and proceeding to the byte with the highest address at the right. */ | ||
| 29 | - | ||
| 30 | -#define __LITTLE_ENDIAN 1234 | ||
| 31 | -#define __BIG_ENDIAN 4321 | ||
| 32 | -#define __PDP_ENDIAN 3412 | ||
| 33 | - | ||
| 34 | -/* This file defines `__BYTE_ORDER' for the particular machine. */ | ||
| 35 | -#include <bits/endianness.h> | ||
| 36 | - | ||
| 37 | -/* Some machines may need to use a different endianness for floating point | ||
| 38 | - values. */ | ||
| 39 | -#ifndef __FLOAT_WORD_ORDER | ||
| 40 | -# define __FLOAT_WORD_ORDER __BYTE_ORDER | ||
| 41 | -#endif | ||
| 42 | - | ||
| 43 | -#if __BYTE_ORDER == __LITTLE_ENDIAN | ||
| 44 | -# define __LONG_LONG_PAIR(HI, LO) LO, HI | ||
| 45 | -#elif __BYTE_ORDER == __BIG_ENDIAN | ||
| 46 | -# define __LONG_LONG_PAIR(HI, LO) HI, LO | ||
| 47 | -#endif | ||
| 48 | - | ||
| 49 | -#endif /* bits/endian.h */ | ||
+0 −0 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@endian.h.blob deleted file mode 100644, Binary files a/.ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@endian.h.blob and /dev/null differ
+0 −11 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@endianness.h deleted file mode 100644
| @@ -1,11 +0,0 @@ | |||
| 1 | -#ifndef _BITS_ENDIANNESS_H | ||
| 2 | -#define _BITS_ENDIANNESS_H 1 | ||
| 3 | - | ||
| 4 | -#ifndef _BITS_ENDIAN_H | ||
| 5 | -# error "Never use <bits/endianness.h> directly; include <endian.h> instead." | ||
| 6 | -#endif | ||
| 7 | - | ||
| 8 | -/* i386/x86_64 are little-endian. */ | ||
| 9 | -#define __BYTE_ORDER __LITTLE_ENDIAN | ||
| 10 | - | ||
| 11 | -#endif /* bits/endianness.h */ | ||
+0 −0 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@endianness.h.blob deleted file mode 100644, Binary files a/.ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@endianness.h.blob and /dev/null differ
+0 −329 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@floatn-common.h deleted file mode 100644
| @@ -1,329 +0,0 @@ | |||
| 1 | -/* Macros to control TS 18661-3 glibc features where the same | ||
| 2 | - definitions are appropriate for all platforms. | ||
| 3 | - Copyright (C) 2017-2025 Free Software Foundation, Inc. | ||
| 4 | - This file is part of the GNU C Library. | ||
| 5 | - | ||
| 6 | - The GNU C Library is free software; you can redistribute it and/or | ||
| 7 | - modify it under the terms of the GNU Lesser General Public | ||
| 8 | - License as published by the Free Software Foundation; either | ||
| 9 | - version 2.1 of the License, or (at your option) any later version. | ||
| 10 | - | ||
| 11 | - The GNU C Library is distributed in the hope that it will be useful, | ||
| 12 | - but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 13 | - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
| 14 | - Lesser General Public License for more details. | ||
| 15 | - | ||
| 16 | - You should have received a copy of the GNU Lesser General Public | ||
| 17 | - License along with the GNU C Library; if not, see | ||
| 18 | - <https://www.gnu.org/licenses/>. */ | ||
| 19 | - | ||
| 20 | -#ifndef _BITS_FLOATN_COMMON_H | ||
| 21 | -#define _BITS_FLOATN_COMMON_H | ||
| 22 | - | ||
| 23 | -#include <features.h> | ||
| 24 | -#include <bits/long-double.h> | ||
| 25 | - | ||
| 26 | -/* This header should be included at the bottom of each bits/floatn.h. | ||
| 27 | - It defines the following macros for each _FloatN and _FloatNx type, | ||
| 28 | - where the same definitions, or definitions based only on the macros | ||
| 29 | - in bits/floatn.h, are appropriate for all glibc configurations. */ | ||
| 30 | - | ||
| 31 | -/* Defined to 1 if the current compiler invocation provides a | ||
| 32 | - floating-point type with the right format for this type, and this | ||
| 33 | - glibc includes corresponding *fN or *fNx interfaces for it. */ | ||
| 34 | -#define __HAVE_FLOAT16 0 | ||
| 35 | -#define __HAVE_FLOAT32 1 | ||
| 36 | -#define __HAVE_FLOAT64 1 | ||
| 37 | -#define __HAVE_FLOAT32X 1 | ||
| 38 | -#define __HAVE_FLOAT128X 0 | ||
| 39 | - | ||
| 40 | -/* Defined to 1 if the corresponding __HAVE_<type> macro is 1 and the | ||
| 41 | - type is the first with its format in the sequence of (the default | ||
| 42 | - choices for) float, double, long double, _Float16, _Float32, | ||
| 43 | - _Float64, _Float128, _Float32x, _Float64x, _Float128x for this | ||
| 44 | - glibc; that is, if functions present once per floating-point format | ||
| 45 | - rather than once per type are present for this type. | ||
| 46 | - | ||
| 47 | - All configurations supported by glibc have _Float32 the same format | ||
| 48 | - as float, _Float64 and _Float32x the same format as double, the | ||
| 49 | - _Float64x the same format as either long double or _Float128. No | ||
| 50 | - configurations support _Float128x or, as of GCC 7, have compiler | ||
| 51 | - support for a type meeting the requirements for _Float128x. */ | ||
| 52 | -#define __HAVE_DISTINCT_FLOAT16 __HAVE_FLOAT16 | ||
| 53 | -#define __HAVE_DISTINCT_FLOAT32 0 | ||
| 54 | -#define __HAVE_DISTINCT_FLOAT64 0 | ||
| 55 | -#define __HAVE_DISTINCT_FLOAT32X 0 | ||
| 56 | -#define __HAVE_DISTINCT_FLOAT64X 0 | ||
| 57 | -#define __HAVE_DISTINCT_FLOAT128X __HAVE_FLOAT128X | ||
| 58 | - | ||
| 59 | -/* Defined to 1 if the corresponding _FloatN type is not binary compatible | ||
| 60 | - with the corresponding ISO C type in the current compilation unit as | ||
| 61 | - opposed to __HAVE_DISTINCT_FLOATN, which indicates the default types built | ||
| 62 | - in glibc. */ | ||
| 63 | -#define __HAVE_FLOAT128_UNLIKE_LDBL (__HAVE_DISTINCT_FLOAT128 \ | ||
| 64 | - && __LDBL_MANT_DIG__ != 113) | ||
| 65 | - | ||
| 66 | -/* Defined to 1 if any _FloatN or _FloatNx types that are not | ||
| 67 | - ABI-distinct are however distinct types at the C language level (so | ||
| 68 | - for the purposes of __builtin_types_compatible_p and _Generic). */ | ||
| 69 | -#if __GNUC_PREREQ (7, 0) && !defined __cplusplus | ||
| 70 | -# define __HAVE_FLOATN_NOT_TYPEDEF 1 | ||
| 71 | -#else | ||
| 72 | -# define __HAVE_FLOATN_NOT_TYPEDEF 0 | ||
| 73 | -#endif | ||
| 74 | - | ||
| 75 | -#ifndef __ASSEMBLER__ | ||
| 76 | - | ||
| 77 | -/* Defined to concatenate the literal suffix to be used with _FloatN | ||
| 78 | - or _FloatNx types, if __HAVE_<type> is 1. The corresponding | ||
| 79 | - literal suffixes exist since GCC 7, for C only. */ | ||
| 80 | -# if __HAVE_FLOAT16 | ||
| 81 | -# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) | ||
| 82 | -/* No corresponding suffix available for this type. */ | ||
| 83 | -# define __f16(x) ((_Float16) x##f) | ||
| 84 | -# else | ||
| 85 | -# define __f16(x) x##f16 | ||
| 86 | -# endif | ||
| 87 | -# endif | ||
| 88 | - | ||
| 89 | -# if __HAVE_FLOAT32 | ||
| 90 | -# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) | ||
| 91 | -# define __f32(x) x##f | ||
| 92 | -# else | ||
| 93 | -# define __f32(x) x##f32 | ||
| 94 | -# endif | ||
| 95 | -# endif | ||
| 96 | - | ||
| 97 | -# if __HAVE_FLOAT64 | ||
| 98 | -# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) | ||
| 99 | -# ifdef __NO_LONG_DOUBLE_MATH | ||
| 100 | -# define __f64(x) x##l | ||
| 101 | -# else | ||
| 102 | -# define __f64(x) x | ||
| 103 | -# endif | ||
| 104 | -# else | ||
| 105 | -# define __f64(x) x##f64 | ||
| 106 | -# endif | ||
| 107 | -# endif | ||
| 108 | - | ||
| 109 | -# if __HAVE_FLOAT32X | ||
| 110 | -# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) | ||
| 111 | -# define __f32x(x) x | ||
| 112 | -# else | ||
| 113 | -# define __f32x(x) x##f32x | ||
| 114 | -# endif | ||
| 115 | -# endif | ||
| 116 | - | ||
| 117 | -# if __HAVE_FLOAT64X | ||
| 118 | -# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) | ||
| 119 | -# if __HAVE_FLOAT64X_LONG_DOUBLE | ||
| 120 | -# define __f64x(x) x##l | ||
| 121 | -# else | ||
| 122 | -# define __f64x(x) __f128 (x) | ||
| 123 | -# endif | ||
| 124 | -# else | ||
| 125 | -# define __f64x(x) x##f64x | ||
| 126 | -# endif | ||
| 127 | -# endif | ||
| 128 | - | ||
| 129 | -# if __HAVE_FLOAT128X | ||
| 130 | -# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) | ||
| 131 | -# error "_Float128X supported but no constant suffix" | ||
| 132 | -# else | ||
| 133 | -# define __f128x(x) x##f128x | ||
| 134 | -# endif | ||
| 135 | -# endif | ||
| 136 | - | ||
| 137 | -/* Defined to a complex type if __HAVE_<type> is 1. */ | ||
| 138 | -# if __HAVE_FLOAT16 | ||
| 139 | -# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) | ||
| 140 | -typedef _Complex float __cfloat16 __attribute__ ((__mode__ (__HC__))); | ||
| 141 | -# define __CFLOAT16 __cfloat16 | ||
| 142 | -# else | ||
| 143 | -# define __CFLOAT16 _Complex _Float16 | ||
| 144 | -# endif | ||
| 145 | -# endif | ||
| 146 | - | ||
| 147 | -# if __HAVE_FLOAT32 | ||
| 148 | -# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) | ||
| 149 | -# define __CFLOAT32 _Complex float | ||
| 150 | -# else | ||
| 151 | -# define __CFLOAT32 _Complex _Float32 | ||
| 152 | -# endif | ||
| 153 | -# endif | ||
| 154 | - | ||
| 155 | -# if __HAVE_FLOAT64 | ||
| 156 | -# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) | ||
| 157 | -# ifdef __NO_LONG_DOUBLE_MATH | ||
| 158 | -# define __CFLOAT64 _Complex long double | ||
| 159 | -# else | ||
| 160 | -# define __CFLOAT64 _Complex double | ||
| 161 | -# endif | ||
| 162 | -# else | ||
| 163 | -# define __CFLOAT64 _Complex _Float64 | ||
| 164 | -# endif | ||
| 165 | -# endif | ||
| 166 | - | ||
| 167 | -# if __HAVE_FLOAT32X | ||
| 168 | -# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) | ||
| 169 | -# define __CFLOAT32X _Complex double | ||
| 170 | -# else | ||
| 171 | -# define __CFLOAT32X _Complex _Float32x | ||
| 172 | -# endif | ||
| 173 | -# endif | ||
| 174 | - | ||
| 175 | -# if __HAVE_FLOAT64X | ||
| 176 | -# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) | ||
| 177 | -# if __HAVE_FLOAT64X_LONG_DOUBLE | ||
| 178 | -# define __CFLOAT64X _Complex long double | ||
| 179 | -# else | ||
| 180 | -# define __CFLOAT64X __CFLOAT128 | ||
| 181 | -# endif | ||
| 182 | -# else | ||
| 183 | -# define __CFLOAT64X _Complex _Float64x | ||
| 184 | -# endif | ||
| 185 | -# endif | ||
| 186 | - | ||
| 187 | -# if __HAVE_FLOAT128X | ||
| 188 | -# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) | ||
| 189 | -# error "_Float128X supported but no complex type" | ||
| 190 | -# else | ||
| 191 | -# define __CFLOAT128X _Complex _Float128x | ||
| 192 | -# endif | ||
| 193 | -# endif | ||
| 194 | - | ||
| 195 | -/* The remaining of this file provides support for older compilers. */ | ||
| 196 | -# if __HAVE_FLOAT16 | ||
| 197 | - | ||
| 198 | -# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) | ||
| 199 | -typedef float _Float16 __attribute__ ((__mode__ (__HF__))); | ||
| 200 | -# endif | ||
| 201 | - | ||
| 202 | -# if !__GNUC_PREREQ (7, 0) | ||
| 203 | -# define __builtin_huge_valf16() ((_Float16) __builtin_huge_val ()) | ||
| 204 | -# define __builtin_inff16() ((_Float16) __builtin_inf ()) | ||
| 205 | -# define __builtin_nanf16(x) ((_Float16) __builtin_nan (x)) | ||
| 206 | -# define __builtin_nansf16(x) ((_Float16) __builtin_nans (x)) | ||
| 207 | -# endif | ||
| 208 | - | ||
| 209 | -# endif | ||
| 210 | - | ||
| 211 | -# if __HAVE_FLOAT32 | ||
| 212 | - | ||
| 213 | -# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) | ||
| 214 | -typedef float _Float32; | ||
| 215 | -# endif | ||
| 216 | - | ||
| 217 | -# if !__GNUC_PREREQ (7, 0) | ||
| 218 | -# define __builtin_huge_valf32() (__builtin_huge_valf ()) | ||
| 219 | -# define __builtin_inff32() (__builtin_inff ()) | ||
| 220 | -# define __builtin_nanf32(x) (__builtin_nanf (x)) | ||
| 221 | -# define __builtin_nansf32(x) (__builtin_nansf (x)) | ||
| 222 | -# endif | ||
| 223 | - | ||
| 224 | -# endif | ||
| 225 | - | ||
| 226 | -# if __HAVE_FLOAT64 | ||
| 227 | - | ||
| 228 | -/* If double, long double and _Float64 all have the same set of | ||
| 229 | - values, TS 18661-3 requires the usual arithmetic conversions on | ||
| 230 | - long double and _Float64 to produce _Float64. For this to be the | ||
| 231 | - case when building with a compiler without a distinct _Float64 | ||
| 232 | - type, _Float64 must be a typedef for long double, not for | ||
| 233 | - double. */ | ||
| 234 | - | ||
| 235 | -# ifdef __NO_LONG_DOUBLE_MATH | ||
| 236 | - | ||
| 237 | -# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) | ||
| 238 | -typedef long double _Float64; | ||
| 239 | -# endif | ||
| 240 | - | ||
| 241 | -# if !__GNUC_PREREQ (7, 0) | ||
| 242 | -# define __builtin_huge_valf64() (__builtin_huge_vall ()) | ||
| 243 | -# define __builtin_inff64() (__builtin_infl ()) | ||
| 244 | -# define __builtin_nanf64(x) (__builtin_nanl (x)) | ||
| 245 | -# define __builtin_nansf64(x) (__builtin_nansl (x)) | ||
| 246 | -# endif | ||
| 247 | - | ||
| 248 | -# else | ||
| 249 | - | ||
| 250 | -# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) | ||
| 251 | -typedef double _Float64; | ||
| 252 | -# endif | ||
| 253 | - | ||
| 254 | -# if !__GNUC_PREREQ (7, 0) | ||
| 255 | -# define __builtin_huge_valf64() (__builtin_huge_val ()) | ||
| 256 | -# define __builtin_inff64() (__builtin_inf ()) | ||
| 257 | -# define __builtin_nanf64(x) (__builtin_nan (x)) | ||
| 258 | -# define __builtin_nansf64(x) (__builtin_nans (x)) | ||
| 259 | -# endif | ||
| 260 | - | ||
| 261 | -# endif | ||
| 262 | - | ||
| 263 | -# endif | ||
| 264 | - | ||
| 265 | -# if __HAVE_FLOAT32X | ||
| 266 | - | ||
| 267 | -# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) | ||
| 268 | -typedef double _Float32x; | ||
| 269 | -# endif | ||
| 270 | - | ||
| 271 | -# if !__GNUC_PREREQ (7, 0) | ||
| 272 | -# define __builtin_huge_valf32x() (__builtin_huge_val ()) | ||
| 273 | -# define __builtin_inff32x() (__builtin_inf ()) | ||
| 274 | -# define __builtin_nanf32x(x) (__builtin_nan (x)) | ||
| 275 | -# define __builtin_nansf32x(x) (__builtin_nans (x)) | ||
| 276 | -# endif | ||
| 277 | - | ||
| 278 | -# endif | ||
| 279 | - | ||
| 280 | -# if __HAVE_FLOAT64X | ||
| 281 | - | ||
| 282 | -# if __HAVE_FLOAT64X_LONG_DOUBLE | ||
| 283 | - | ||
| 284 | -# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) | ||
| 285 | -typedef long double _Float64x; | ||
| 286 | -# endif | ||
| 287 | - | ||
| 288 | -# if !__GNUC_PREREQ (7, 0) | ||
| 289 | -# define __builtin_huge_valf64x() (__builtin_huge_vall ()) | ||
| 290 | -# define __builtin_inff64x() (__builtin_infl ()) | ||
| 291 | -# define __builtin_nanf64x(x) (__builtin_nanl (x)) | ||
| 292 | -# define __builtin_nansf64x(x) (__builtin_nansl (x)) | ||
| 293 | -# endif | ||
| 294 | - | ||
| 295 | -# else | ||
| 296 | - | ||
| 297 | -# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) | ||
| 298 | -typedef _Float128 _Float64x; | ||
| 299 | -# endif | ||
| 300 | - | ||
| 301 | -# if !__GNUC_PREREQ (7, 0) | ||
| 302 | -# define __builtin_huge_valf64x() (__builtin_huge_valf128 ()) | ||
| 303 | -# define __builtin_inff64x() (__builtin_inff128 ()) | ||
| 304 | -# define __builtin_nanf64x(x) (__builtin_nanf128 (x)) | ||
| 305 | -# define __builtin_nansf64x(x) (__builtin_nansf128 (x)) | ||
| 306 | -# endif | ||
| 307 | - | ||
| 308 | -# endif | ||
| 309 | - | ||
| 310 | -# endif | ||
| 311 | - | ||
| 312 | -# if __HAVE_FLOAT128X | ||
| 313 | - | ||
| 314 | -# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) | ||
| 315 | -# error "_Float128x supported but no type" | ||
| 316 | -# endif | ||
| 317 | - | ||
| 318 | -# if !__GNUC_PREREQ (7, 0) | ||
| 319 | -# define __builtin_huge_valf128x() ((_Float128x) __builtin_huge_val ()) | ||
| 320 | -# define __builtin_inff128x() ((_Float128x) __builtin_inf ()) | ||
| 321 | -# define __builtin_nanf128x(x) ((_Float128x) __builtin_nan (x)) | ||
| 322 | -# define __builtin_nansf128x(x) ((_Float128x) __builtin_nans (x)) | ||
| 323 | -# endif | ||
| 324 | - | ||
| 325 | -# endif | ||
| 326 | - | ||
| 327 | -#endif /* !__ASSEMBLER__. */ | ||
| 328 | - | ||
| 329 | -#endif /* _BITS_FLOATN_COMMON_H */ | ||
+0 −0 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@floatn-common.h.blob deleted file mode 100644, Binary files a/.ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@floatn-common.h.blob and /dev/null differ
+0 −133 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@floatn.h deleted file mode 100644
| @@ -1,133 +0,0 @@ | |||
| 1 | -/* Macros to control TS 18661-3 glibc features on x86. | ||
| 2 | - Copyright (C) 2017-2025 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_FLOATN_H | ||
| 20 | -#define _BITS_FLOATN_H | ||
| 21 | - | ||
| 22 | -#include <features.h> | ||
| 23 | - | ||
| 24 | -/* Defined to 1 if the current compiler invocation provides a | ||
| 25 | - floating-point type with the IEEE 754 binary128 format, and this | ||
| 26 | - glibc includes corresponding *f128 interfaces for it. The required | ||
| 27 | - libgcc support was added some time after the basic compiler | ||
| 28 | - support, for x86_64 and x86. Intel SYCL compiler doesn't support | ||
| 29 | - _Float128: https://github.com/intel/llvm/issues/16903 | ||
| 30 | - */ | ||
| 31 | -#if (defined __x86_64__ \ | ||
| 32 | - ? __GNUC_PREREQ (4, 3) \ | ||
| 33 | - : (defined __GNU__ ? __GNUC_PREREQ (4, 5) : __GNUC_PREREQ (4, 4))) \ | ||
| 34 | - || (__glibc_clang_prereq (3, 9) \ | ||
| 35 | - && (!defined __INTEL_LLVM_COMPILER \ | ||
| 36 | - || !defined SYCL_LANGUAGE_VERSION)) | ||
| 37 | -# define __HAVE_FLOAT128 1 | ||
| 38 | -#else | ||
| 39 | -# define __HAVE_FLOAT128 0 | ||
| 40 | -#endif | ||
| 41 | - | ||
| 42 | -/* Defined to 1 if __HAVE_FLOAT128 is 1 and the type is ABI-distinct | ||
| 43 | - from the default float, double and long double types in this glibc. */ | ||
| 44 | -#if __HAVE_FLOAT128 | ||
| 45 | -# define __HAVE_DISTINCT_FLOAT128 1 | ||
| 46 | -#else | ||
| 47 | -# define __HAVE_DISTINCT_FLOAT128 0 | ||
| 48 | -#endif | ||
| 49 | - | ||
| 50 | -/* Defined to 1 if the current compiler invocation provides a | ||
| 51 | - floating-point type with the right format for _Float64x, and this | ||
| 52 | - glibc includes corresponding *f64x interfaces for it. */ | ||
| 53 | -#define __HAVE_FLOAT64X 1 | ||
| 54 | - | ||
| 55 | -/* Defined to 1 if __HAVE_FLOAT64X is 1 and _Float64x has the format | ||
| 56 | - of long double. Otherwise, if __HAVE_FLOAT64X is 1, _Float64x has | ||
| 57 | - the format of _Float128, which must be different from that of long | ||
| 58 | - double. */ | ||
| 59 | -#define __HAVE_FLOAT64X_LONG_DOUBLE 1 | ||
| 60 | - | ||
| 61 | -#ifndef __ASSEMBLER__ | ||
| 62 | - | ||
| 63 | -/* Defined to concatenate the literal suffix to be used with _Float128 | ||
| 64 | - types, if __HAVE_FLOAT128 is 1. */ | ||
| 65 | -# if __HAVE_FLOAT128 | ||
| 66 | -# if !__GNUC_PREREQ (7, 0) \ | ||
| 67 | - || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) \ | ||
| 68 | - || defined __clang__ | ||
| 69 | -/* The literal suffix f128 exists only since GCC 7.0. */ | ||
| 70 | -# define __f128(x) x##q | ||
| 71 | -# else | ||
| 72 | -# define __f128(x) x##f128 | ||
| 73 | -# endif | ||
| 74 | -# endif | ||
| 75 | - | ||
| 76 | -/* Defined to a complex binary128 type if __HAVE_FLOAT128 is 1. */ | ||
| 77 | -# if __HAVE_FLOAT128 | ||
| 78 | -# if !__GNUC_PREREQ (7, 0) \ | ||
| 79 | - || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) \ | ||
| 80 | - || defined __clang__ | ||
| 81 | -/* Add a typedef for older GCC compilers which don't natively support | ||
| 82 | - _Complex _Float128. */ | ||
| 83 | -typedef _Complex float __cfloat128 __attribute__ ((__mode__ (__TC__))); | ||
| 84 | -# define __CFLOAT128 __cfloat128 | ||
| 85 | -# else | ||
| 86 | -# define __CFLOAT128 _Complex _Float128 | ||
| 87 | -# endif | ||
| 88 | -# endif | ||
| 89 | - | ||
| 90 | -/* The remaining of this file provides support for older compilers. */ | ||
| 91 | -# if __HAVE_FLOAT128 | ||
| 92 | - | ||
| 93 | -/* The type _Float128 exists only since GCC 7.0. */ | ||
| 94 | -# if !__GNUC_PREREQ (7, 0) \ | ||
| 95 | - || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) \ | ||
| 96 | - || __glibc_clang_prereq (3, 9) | ||
| 97 | -typedef __float128 _Float128; | ||
| 98 | -# endif | ||
| 99 | - | ||
| 100 | -/* __builtin_huge_valf128 doesn't exist before GCC 7.0 nor Clang 7.0. */ | ||
| 101 | -# if !__GNUC_PREREQ (7, 0) && !__glibc_clang_prereq (7, 0) | ||
| 102 | -# define __builtin_huge_valf128() ((_Float128) __builtin_huge_val ()) | ||
| 103 | -# endif | ||
| 104 | - | ||
| 105 | -/* Older GCC has only a subset of built-in functions for _Float128 on | ||
| 106 | - x86, and __builtin_infq is not usable in static initializers. | ||
| 107 | - Converting a narrower sNaN to _Float128 produces a quiet NaN, so | ||
| 108 | - attempts to use _Float128 sNaNs will not work properly with older | ||
| 109 | - compilers. */ | ||
| 110 | -# if !__GNUC_PREREQ (7, 0) && !defined __clang__ | ||
| 111 | -# define __builtin_copysignf128 __builtin_copysignq | ||
| 112 | -# define __builtin_fabsf128 __builtin_fabsq | ||
| 113 | -# define __builtin_inff128() ((_Float128) __builtin_inf ()) | ||
| 114 | -# define __builtin_nanf128(x) ((_Float128) __builtin_nan (x)) | ||
| 115 | -# define __builtin_nansf128(x) ((_Float128) __builtin_nans (x)) | ||
| 116 | -# endif | ||
| 117 | - | ||
| 118 | -/* In math/math.h, __MATH_TG will expand signbit to __builtin_signbit*, | ||
| 119 | - e.g.: __builtin_signbitf128, before GCC 6. However, there has never | ||
| 120 | - been a __builtin_signbitf128 in GCC and the type-generic builtin is | ||
| 121 | - only available since GCC 6. signbit is expanded to __builtin_signbit | ||
| 122 | - after Clang 3.3. */ | ||
| 123 | -# if !__GNUC_PREREQ (6, 0) | ||
| 124 | -# define __builtin_signbitf128 __signbitf128 | ||
| 125 | -# endif | ||
| 126 | - | ||
| 127 | -# endif | ||
| 128 | - | ||
| 129 | -#endif /* !__ASSEMBLER__. */ | ||
| 130 | - | ||
| 131 | -#include <bits/floatn-common.h> | ||
| 132 | - | ||
| 133 | -#endif /* _BITS_FLOATN_H */ | ||
+0 −0 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@floatn.h.blob deleted file mode 100644, Binary files a/.ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@floatn.h.blob and /dev/null differ
+0 −110 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@libc-header-start.h deleted file mode 100644
| @@ -1,110 +0,0 @@ | |||
| 1 | -/* Handle feature test macros at the start of a header. | ||
| 2 | - Copyright (C) 2016-2025 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 | -/* This header is internal to glibc and should not be included outside | ||
| 20 | - of glibc headers. Headers including it must define | ||
| 21 | - __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION first. This header | ||
| 22 | - cannot have multiple include guards because ISO C feature test | ||
| 23 | - macros depend on the definition of the macro when an affected | ||
| 24 | - header is included, not when the first system header is | ||
| 25 | - included. */ | ||
| 26 | - | ||
| 27 | -#ifndef __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION | ||
| 28 | -# error "Never include <bits/libc-header-start.h> directly." | ||
| 29 | -#endif | ||
| 30 | - | ||
| 31 | -#undef __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION | ||
| 32 | - | ||
| 33 | -#include <features.h> | ||
| 34 | - | ||
| 35 | -/* ISO/IEC TR 24731-2:2010 defines the __STDC_WANT_LIB_EXT2__ | ||
| 36 | - macro. */ | ||
| 37 | -#undef __GLIBC_USE_LIB_EXT2 | ||
| 38 | -#if (defined __USE_GNU \ | ||
| 39 | - || (defined __STDC_WANT_LIB_EXT2__ && __STDC_WANT_LIB_EXT2__ > 0)) | ||
| 40 | -# define __GLIBC_USE_LIB_EXT2 1 | ||
| 41 | -#else | ||
| 42 | -# define __GLIBC_USE_LIB_EXT2 0 | ||
| 43 | -#endif | ||
| 44 | - | ||
| 45 | -/* ISO/IEC TS 18661-1:2014 defines the __STDC_WANT_IEC_60559_BFP_EXT__ | ||
| 46 | - macro. Most but not all symbols enabled by that macro in TS | ||
| 47 | - 18661-1 are enabled unconditionally in C23. In C23, the symbols in | ||
| 48 | - Annex F still require a new feature test macro | ||
| 49 | - __STDC_WANT_IEC_60559_EXT__ instead (C23 does not define | ||
| 50 | - __STDC_WANT_IEC_60559_BFP_EXT__), while a few features from TS | ||
| 51 | - 18661-1 are not included in C23 (and thus should depend on | ||
| 52 | - __STDC_WANT_IEC_60559_BFP_EXT__ even when C23 features are | ||
| 53 | - enabled). | ||
| 54 | - | ||
| 55 | - __GLIBC_USE (IEC_60559_BFP_EXT) controls those features from TS | ||
| 56 | - 18661-1 not included in C23. | ||
| 57 | - | ||
| 58 | - __GLIBC_USE (IEC_60559_BFP_EXT_C23) controls those features from TS | ||
| 59 | - 18661-1 that are also included in C23 (with no feature test macro | ||
| 60 | - required in C23). | ||
| 61 | - | ||
| 62 | - __GLIBC_USE (IEC_60559_EXT) controls those features from TS 18661-1 | ||
| 63 | - that are included in C23 but conditional on | ||
| 64 | - __STDC_WANT_IEC_60559_EXT__. (There are currently no features | ||
| 65 | - conditional on __STDC_WANT_IEC_60559_EXT__ that are not in TS | ||
| 66 | - 18661-1.) */ | ||
| 67 | -#undef __GLIBC_USE_IEC_60559_BFP_EXT | ||
| 68 | -#if defined __USE_GNU || defined __STDC_WANT_IEC_60559_BFP_EXT__ | ||
| 69 | -# define __GLIBC_USE_IEC_60559_BFP_EXT 1 | ||
| 70 | -#else | ||
| 71 | -# define __GLIBC_USE_IEC_60559_BFP_EXT 0 | ||
| 72 | -#endif | ||
| 73 | -#undef __GLIBC_USE_IEC_60559_BFP_EXT_C23 | ||
| 74 | -#if __GLIBC_USE (IEC_60559_BFP_EXT) || __GLIBC_USE (ISOC23) | ||
| 75 | -# define __GLIBC_USE_IEC_60559_BFP_EXT_C23 1 | ||
| 76 | -#else | ||
| 77 | -# define __GLIBC_USE_IEC_60559_BFP_EXT_C23 0 | ||
| 78 | -#endif | ||
| 79 | -#undef __GLIBC_USE_IEC_60559_EXT | ||
| 80 | -#if __GLIBC_USE (IEC_60559_BFP_EXT) || defined __STDC_WANT_IEC_60559_EXT__ | ||
| 81 | -# define __GLIBC_USE_IEC_60559_EXT 1 | ||
| 82 | -#else | ||
| 83 | -# define __GLIBC_USE_IEC_60559_EXT 0 | ||
| 84 | -#endif | ||
| 85 | - | ||
| 86 | -/* ISO/IEC TS 18661-4:2015 defines the | ||
| 87 | - __STDC_WANT_IEC_60559_FUNCS_EXT__ macro. Other than the reduction | ||
| 88 | - functions, the symbols from this TS are enabled unconditionally in | ||
| 89 | - C23. */ | ||
| 90 | -#undef __GLIBC_USE_IEC_60559_FUNCS_EXT | ||
| 91 | -#if defined __USE_GNU || defined __STDC_WANT_IEC_60559_FUNCS_EXT__ | ||
| 92 | -# define __GLIBC_USE_IEC_60559_FUNCS_EXT 1 | ||
| 93 | -#else | ||
| 94 | -# define __GLIBC_USE_IEC_60559_FUNCS_EXT 0 | ||
| 95 | -#endif | ||
| 96 | -#undef __GLIBC_USE_IEC_60559_FUNCS_EXT_C23 | ||
| 97 | -#if __GLIBC_USE (IEC_60559_FUNCS_EXT) || __GLIBC_USE (ISOC23) | ||
| 98 | -# define __GLIBC_USE_IEC_60559_FUNCS_EXT_C23 1 | ||
| 99 | -#else | ||
| 100 | -# define __GLIBC_USE_IEC_60559_FUNCS_EXT_C23 0 | ||
| 101 | -#endif | ||
| 102 | - | ||
| 103 | -/* ISO/IEC TS 18661-3:2015 defines the | ||
| 104 | - __STDC_WANT_IEC_60559_TYPES_EXT__ macro. */ | ||
| 105 | -#undef __GLIBC_USE_IEC_60559_TYPES_EXT | ||
| 106 | -#if defined __USE_GNU || defined __STDC_WANT_IEC_60559_TYPES_EXT__ | ||
| 107 | -# define __GLIBC_USE_IEC_60559_TYPES_EXT 1 | ||
| 108 | -#else | ||
| 109 | -# define __GLIBC_USE_IEC_60559_TYPES_EXT 0 | ||
| 110 | -#endif | ||
+0 −0 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@libc-header-start.h.blob deleted file mode 100644, Binary files a/.ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@libc-header-start.h.blob and /dev/null differ
+0 −21 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@long-double.h deleted file mode 100644
| @@ -1,21 +0,0 @@ | |||
| 1 | -/* Properties of long double type. ldbl-96 version. | ||
| 2 | - Copyright (C) 2016-2025 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 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 | -/* long double is distinct from double, so there is nothing to | ||
| 20 | - define here. */ | ||
| 21 | -#define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0 | ||
+0 −0 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@long-double.h.blob deleted file mode 100644, Binary files a/.ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@long-double.h.blob and /dev/null differ
+0 −55 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@pthreadtypes-arch.h deleted file mode 100644 Large diff collapsed, click to expand
| @@ -1,55 +0,0 @@ | |||
| 1 | -/* Copyright (C) 2002-2025 Free Software Foundation, Inc. | ||
| 2 | - This file is part of the GNU C Library. | ||
| 3 | - | ||
| 4 | - The GNU C Library is free software; you can redistribute it and/or | ||
| 5 | - modify it under the terms of the GNU Lesser General Public | ||
| 6 | - License as published by the Free Software Foundation; either | ||
| 7 | - version 2.1 of the License, or (at your option) any later version. | ||
| 8 | - | ||
| 9 | - The GNU C Library is distributed in the hope that it will be useful, | ||
| 10 | - but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 11 | - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
| 12 | - Lesser General Public License for more details. | ||
| 13 | - | ||
| 14 | - You should have received a copy of the GNU Lesser General Public | ||
| 15 | - License along with the GNU C Library; if not, see | ||
| 16 | - <https://www.gnu.org/licenses/>. */ | ||
| 17 | - | ||
| 18 | -#ifndef _BITS_PTHREADTYPES_ARCH_H | ||
| 19 | -#define _BITS_PTHREADTYPES_ARCH_H 1 | ||
| 20 | - | ||
| 21 | -#include <bits/wordsize.h> | ||
| 22 | - | ||
| 23 | -#ifdef __x86_64__ | ||
| 24 | -# if __WORDSIZE == 64 | ||
| 25 | -# define __SIZEOF_PTHREAD_MUTEX_T 40 | ||
| 26 | -# define __SIZEOF_PTHREAD_ATTR_T 56 | ||
| 27 | -# define __SIZEOF_PTHREAD_RWLOCK_T 56 | ||
| 28 | -# define __SIZEOF_PTHREAD_BARRIER_T 32 | ||
| 29 | -# else | ||
| 30 | -# define __SIZEOF_PTHREAD_MUTEX_T 32 | ||
| 31 | -# define __SIZEOF_PTHREAD_ATTR_T 32 | ||
| 32 | -# define __SIZEOF_PTHREAD_RWLOCK_T 44 | ||
| 33 | -# define __SIZEOF_PTHREAD_BARRIER_T 20 | ||
| 34 | -# endif | ||
| 35 | -#else | ||
| 36 | -# define __SIZEOF_PTHREAD_MUTEX_T 24 | ||
| 37 | -# define __SIZEOF_PTHREAD_ATTR_T 36 | ||
| 38 | -# define __SIZEOF_PTHREAD_RWLOCK_T 32 | ||
| 39 | -# define __SIZEOF_PTHREAD_BARRIER_T 20 | ||
| 40 | -#endif | ||
| 41 | -#define __SIZEOF_PTHREAD_MUTEXATTR_T 4 | ||
| 42 | -#define __SIZEOF_PTHREAD_COND_T 48 | ||
| 43 | -#define __SIZEOF_PTHREAD_CONDATTR_T 4 | ||
| 44 | -#define __SIZEOF_PTHREAD_RWLOCKATTR_T 8 | ||
| 45 | -#define __SIZEOF_PTHREAD_BARRIERATTR_T 4 | ||
| 46 | - | ||
| 47 | -#define __LOCK_ALIGNMENT | ||
| 48 | -#define __ONCE_ALIGNMENT | ||
| 49 | - | ||
| 50 | -#ifndef __x86_64__ | ||
| 51 | -/* Extra attributes for the cleanup functions. */ | ||
| 52 | -# define __cleanup_fct_attribute __attribute__ ((__regparm__ (1))) | ||
| 53 | -#endif | ||
| 54 | - | ||
| 55 | -#endif /* bits/pthreadtypes.h */ | ||
+0 −0 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@pthreadtypes-arch.h.blob deleted file mode 100644, Binary files a/.ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@pthreadtypes-arch.h.blob and /dev/null differ Large diff collapsed, click to expand
+0 −121 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@pthreadtypes.h deleted file mode 100644 Large diff collapsed, click to expand
| @@ -1,121 +0,0 @@ | |||
| 1 | -/* Declaration of common pthread types for all architectures. | ||
| 2 | - Copyright (C) 2017-2025 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_PTHREADTYPES_COMMON_H | ||
| 20 | -# define _BITS_PTHREADTYPES_COMMON_H 1 | ||
| 21 | - | ||
| 22 | -/* For internal mutex and condition variable definitions. */ | ||
| 23 | -#include <bits/thread-shared-types.h> | ||
| 24 | - | ||
| 25 | -/* Thread identifiers. The structure of the attribute type is not | ||
| 26 | - exposed on purpose. */ | ||
| 27 | -typedef unsigned long int pthread_t; | ||
| 28 | - | ||
| 29 | - | ||
| 30 | -/* Data structures for mutex handling. The structure of the attribute | ||
| 31 | - type is not exposed on purpose. */ | ||
| 32 | -typedef union | ||
| 33 | -{ | ||
| 34 | - char __size[__SIZEOF_PTHREAD_MUTEXATTR_T]; | ||
| 35 | - int __align; | ||
| 36 | -} pthread_mutexattr_t; | ||
| 37 | - | ||
| 38 | - | ||
| 39 | -/* Data structure for condition variable handling. The structure of | ||
| 40 | - the attribute type is not exposed on purpose. */ | ||
| 41 | -typedef union | ||
| 42 | -{ | ||
| 43 | - char __size[__SIZEOF_PTHREAD_CONDATTR_T]; | ||
| 44 | - int __align; | ||
| 45 | -} pthread_condattr_t; | ||
| 46 | - | ||
| 47 | - | ||
| 48 | -/* Keys for thread-specific data */ | ||
| 49 | -typedef unsigned int pthread_key_t; | ||
| 50 | - | ||
| 51 | - | ||
| 52 | -/* Once-only execution */ | ||
| 53 | -typedef int __ONCE_ALIGNMENT pthread_once_t; | ||
| 54 | - | ||
| 55 | - | ||
| 56 | -union pthread_attr_t | ||
| 57 | -{ | ||
| 58 | - char __size[__SIZEOF_PTHREAD_ATTR_T]; | ||
| 59 | - long int __align; | ||
| 60 | -}; | ||
| 61 | -#ifndef __have_pthread_attr_t | ||
| 62 | -typedef union pthread_attr_t pthread_attr_t; | ||
| 63 | -# define __have_pthread_attr_t 1 | ||
| 64 | -#endif | ||
| 65 | - | ||
| 66 | - | ||
| 67 | -typedef union | ||
| 68 | -{ | ||
| 69 | - struct __pthread_mutex_s __data; | ||
| 70 | - char __size[__SIZEOF_PTHREAD_MUTEX_T]; | ||
| 71 | - long int __align; | ||
| 72 | -} pthread_mutex_t; | ||
| 73 | - | ||
| 74 | - | ||
| 75 | -typedef union | ||
| 76 | -{ | ||
| 77 | - struct __pthread_cond_s __data; | ||
| 78 | - char __size[__SIZEOF_PTHREAD_COND_T]; | ||
| 79 | - __extension__ long long int __align; | ||
| 80 | -} pthread_cond_t; | ||
| 81 | - | ||
| 82 | - | ||
| 83 | -#if defined __USE_UNIX98 || defined __USE_XOPEN2K | ||
| 84 | -/* Data structure for reader-writer lock variable handling. The | ||
| 85 | - structure of the attribute type is deliberately not exposed. */ | ||
| 86 | -typedef union | ||
| 87 | -{ | ||
| 88 | - struct __pthread_rwlock_arch_t __data; | ||
| 89 | - char __size[__SIZEOF_PTHREAD_RWLOCK_T]; | ||
| 90 | - long int __align; | ||
| 91 | -} pthread_rwlock_t; | ||
| 92 | - | ||
| 93 | -typedef union | ||
| 94 | -{ | ||
| 95 | - char __size[__SIZEOF_PTHREAD_RWLOCKATTR_T]; | ||
| 96 | - long int __align; | ||
| 97 | -} pthread_rwlockattr_t; | ||
| 98 | -#endif | ||
| 99 | - | ||
| 100 | - | ||
| 101 | -#ifdef __USE_XOPEN2K | ||
| 102 | -/* POSIX spinlock data type. */ | ||
| 103 | -typedef volatile int pthread_spinlock_t; | ||
| 104 | - | ||
| 105 | - | ||
| 106 | -/* POSIX barriers data type. The structure of the type is | ||
| 107 | - deliberately not exposed. */ | ||
| 108 | -typedef union | ||
| 109 | -{ | ||
| 110 | - char __size[__SIZEOF_PTHREAD_BARRIER_T]; | ||
| 111 | - long int __align; | ||
| 112 | -} pthread_barrier_t; | ||
| 113 | - | ||
| 114 | -typedef union | ||
| 115 | -{ | ||
| 116 | - char __size[__SIZEOF_PTHREAD_BARRIERATTR_T]; | ||
| 117 | - int __align; | ||
| 118 | -} pthread_barrierattr_t; | ||
| 119 | -#endif | ||
| 120 | - | ||
| 121 | -#endif | ||
+0 −0 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@pthreadtypes.h.blob deleted file mode 100644, Binary files a/.ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@pthreadtypes.h.blob and /dev/null differ Large diff collapsed, click to expand
+0 −37 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@select.h deleted file mode 100644 Large diff collapsed, click to expand
| @@ -1,37 +0,0 @@ | |||
| 1 | -/* Copyright (C) 1997-2025 Free Software Foundation, Inc. | ||
| 2 | - This file is part of the GNU C Library. | ||
| 3 | - | ||
| 4 | - The GNU C Library is free software; you can redistribute it and/or | ||
| 5 | - modify it under the terms of the GNU Lesser General Public | ||
| 6 | - License as published by the Free Software Foundation; either | ||
| 7 | - version 2.1 of the License, or (at your option) any later version. | ||
| 8 | - | ||
| 9 | - The GNU C Library is distributed in the hope that it will be useful, | ||
| 10 | - but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 11 | - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
| 12 | - Lesser General Public License for more details. | ||
| 13 | - | ||
| 14 | - You should have received a copy of the GNU Lesser General Public | ||
| 15 | - License along with the GNU C Library; if not, see | ||
| 16 | - <https://www.gnu.org/licenses/>. */ | ||
| 17 | - | ||
| 18 | -#ifndef _SYS_SELECT_H | ||
| 19 | -# error "Never use <bits/select.h> directly; include <sys/select.h> instead." | ||
| 20 | -#endif | ||
| 21 | - | ||
| 22 | - | ||
| 23 | -/* We don't use `memset' because this would require a prototype and | ||
| 24 | - the array isn't too big. */ | ||
| 25 | -#define __FD_ZERO(s) \ | ||
| 26 | - do { \ | ||
| 27 | - unsigned int __i; \ | ||
| 28 | - fd_set *__arr = (s); \ | ||
| 29 | - for (__i = 0; __i < sizeof (fd_set) / sizeof (__fd_mask); ++__i) \ | ||
| 30 | - __FDS_BITS (__arr)[__i] = 0; \ | ||
| 31 | - } while (0) | ||
| 32 | -#define __FD_SET(d, s) \ | ||
| 33 | - ((void) (__FDS_BITS (s)[__FD_ELT(d)] |= __FD_MASK(d))) | ||
| 34 | -#define __FD_CLR(d, s) \ | ||
| 35 | - ((void) (__FDS_BITS (s)[__FD_ELT(d)] &= ~__FD_MASK(d))) | ||
| 36 | -#define __FD_ISSET(d, s) \ | ||
| 37 | - ((__FDS_BITS (s)[__FD_ELT (d)] & __FD_MASK (d)) != 0) | ||
+0 −0 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@select.h.blob deleted file mode 100644, Binary files a/.ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@select.h.blob and /dev/null differ Large diff collapsed, click to expand
+0 −29 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@stdint-intn.h deleted file mode 100644 Large diff collapsed, click to expand
| @@ -1,29 +0,0 @@ | |||
| 1 | -/* Define intN_t types. | ||
| 2 | - Copyright (C) 2017-2025 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_STDINT_INTN_H | ||
| 20 | -#define _BITS_STDINT_INTN_H 1 | ||
| 21 | - | ||
| 22 | -#include <bits/types.h> | ||
| 23 | - | ||
| 24 | -typedef __int8_t int8_t; | ||
| 25 | -typedef __int16_t int16_t; | ||
| 26 | -typedef __int32_t int32_t; | ||
| 27 | -typedef __int64_t int64_t; | ||
| 28 | - | ||
| 29 | -#endif /* bits/stdint-intn.h */ | ||
+0 −0 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@stdint-intn.h.blob deleted file mode 100644, Binary files a/.ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@stdint-intn.h.blob and /dev/null differ Large diff collapsed, click to expand
+0 −28 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@stdio_lim.h deleted file mode 100644 Large diff collapsed, click to expand
| @@ -1,28 +0,0 @@ | |||
| 1 | -/* System specific stdio.h definitions. Linux version. | ||
| 2 | - Copyright (C) 2023-2025 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_STDIO_LIM_H | ||
| 20 | -#define _BITS_STDIO_LIM_H 1 | ||
| 21 | - | ||
| 22 | -#ifndef _STDIO_H | ||
| 23 | -# error "Never include <bits/stdio_lim.h> directly; use <stdio.h> instead." | ||
| 24 | -#endif | ||
| 25 | - | ||
| 26 | -#define FILENAME_MAX 4096 | ||
| 27 | - | ||
| 28 | -#endif /* bits/stdio_lim.h */ | ||
+0 −0 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@stdio_lim.h.blob deleted file mode 100644, Binary files a/.ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@stdio_lim.h.blob and /dev/null differ Large diff collapsed, click to expand
+0 −29 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@stdlib-float.h deleted file mode 100644 Large diff collapsed, click to expand
| @@ -1,29 +0,0 @@ | |||
| 1 | -/* Floating-point inline functions for stdlib.h. | ||
| 2 | - Copyright (C) 2012-2025 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 _STDLIB_H | ||
| 20 | -# error "Never use <bits/stdlib-float.h> directly; include <stdlib.h> instead." | ||
| 21 | -#endif | ||
| 22 | - | ||
| 23 | -#ifdef __USE_EXTERN_INLINES | ||
| 24 | -__extern_inline double | ||
| 25 | -__NTH (atof (const char *__nptr)) | ||
| 26 | -{ | ||
| 27 | - return strtod (__nptr, (char **) NULL); | ||
| 28 | -} | ||
| 29 | -#endif /* Optimizing and Inlining. */ | ||
+0 −0 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@stdlib-float.h.blob deleted file mode 100644, Binary files a/.ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@stdlib-float.h.blob and /dev/null differ Large diff collapsed, click to expand
+0 −63 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@struct_mutex.h deleted file mode 100644 Large diff collapsed, click to expand
| @@ -1,63 +0,0 @@ | |||
| 1 | -/* x86 internal mutex struct definitions. | ||
| 2 | - Copyright (C) 2019-2025 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 | - <http://www.gnu.org/licenses/>. */ | ||
| 18 | - | ||
| 19 | -#ifndef _THREAD_MUTEX_INTERNAL_H | ||
| 20 | -#define _THREAD_MUTEX_INTERNAL_H 1 | ||
| 21 | - | ||
| 22 | -struct __pthread_mutex_s | ||
| 23 | -{ | ||
| 24 | - int __lock; | ||
| 25 | - unsigned int __count; | ||
| 26 | - int __owner; | ||
| 27 | -#ifdef __x86_64__ | ||
| 28 | - unsigned int __nusers; | ||
| 29 | -#endif | ||
| 30 | - /* KIND must stay at this position in the structure to maintain | ||
| 31 | - binary compatibility with static initializers. */ | ||
| 32 | - int __kind; | ||
| 33 | -#ifdef __x86_64__ | ||
| 34 | - short __spins; | ||
| 35 | - short __elision; | ||
| 36 | - __pthread_list_t __list; | ||
| 37 | -# define __PTHREAD_MUTEX_HAVE_PREV 1 | ||
| 38 | -#else | ||
| 39 | - unsigned int __nusers; | ||
| 40 | - __extension__ union | ||
| 41 | - { | ||
| 42 | - struct | ||
| 43 | - { | ||
| 44 | - short __espins; | ||
| 45 | - short __eelision; | ||
| 46 | -# define __spins __elision_data.__espins | ||
| 47 | -# define __elision __elision_data.__eelision | ||
| 48 | - } __elision_data; | ||
| 49 | - __pthread_slist_t __list; | ||
| 50 | - }; | ||
| 51 | -# define __PTHREAD_MUTEX_HAVE_PREV 0 | ||
| 52 | -#endif | ||
| 53 | -}; | ||
| 54 | - | ||
| 55 | -#ifdef __x86_64__ | ||
| 56 | -# define __PTHREAD_MUTEX_INITIALIZER(__kind) \ | ||
| 57 | - 0, 0, 0, 0, __kind, 0, 0, { NULL, NULL } | ||
| 58 | -#else | ||
| 59 | -# define __PTHREAD_MUTEX_INITIALIZER(__kind) \ | ||
| 60 | - 0, 0, 0, __kind, 0, { { 0, 0 } } | ||
| 61 | -#endif | ||
| 62 | - | ||
| 63 | -#endif | ||
+0 −0 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@struct_mutex.h.blob deleted file mode 100644, Binary files a/.ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@struct_mutex.h.blob and /dev/null differ Large diff collapsed, click to expand
+0 −65 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@struct_rwlock.h deleted file mode 100644 Large diff collapsed, click to expand
| @@ -1,65 +0,0 @@ | |||
| 1 | -/* x86 internal rwlock struct definitions. | ||
| 2 | - Copyright (C) 2019-2025 Free Software Foundation, Inc. | ||
| 3 | - | ||
| 4 | - This file is part of the GNU C Library. | ||
| 5 | - | ||
| 6 | - The GNU C Library is free software; you can redistribute it and/or | ||
| 7 | - modify it under the terms of the GNU Lesser General Public | ||
| 8 | - License as published by the Free Software Foundation; either | ||
| 9 | - version 2.1 of the License, or (at your option) any later version. | ||
| 10 | - | ||
| 11 | - The GNU C Library is distributed in the hope that it will be useful, | ||
| 12 | - but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 13 | - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
| 14 | - Lesser General Public License for more details. | ||
| 15 | - | ||
| 16 | - You should have received a copy of the GNU Lesser General Public | ||
| 17 | - License along with the GNU C Library; if not, see | ||
| 18 | - <http://www.gnu.org/licenses/>. */ | ||
| 19 | - | ||
| 20 | -#ifndef _RWLOCK_INTERNAL_H | ||
| 21 | -#define _RWLOCK_INTERNAL_H | ||
| 22 | - | ||
| 23 | -struct __pthread_rwlock_arch_t | ||
| 24 | -{ | ||
| 25 | - unsigned int __readers; | ||
| 26 | - unsigned int __writers; | ||
| 27 | - unsigned int __wrphase_futex; | ||
| 28 | - unsigned int __writers_futex; | ||
| 29 | - unsigned int __pad3; | ||
| 30 | - unsigned int __pad4; | ||
| 31 | -#ifdef __x86_64__ | ||
| 32 | - int __cur_writer; | ||
| 33 | - int __shared; | ||
| 34 | - signed char __rwelision; | ||
| 35 | -# ifdef __ILP32__ | ||
| 36 | - unsigned char __pad1[3]; | ||
| 37 | -# define __PTHREAD_RWLOCK_ELISION_EXTRA 0, { 0, 0, 0 } | ||
| 38 | -# else | ||
| 39 | - unsigned char __pad1[7]; | ||
| 40 | -# define __PTHREAD_RWLOCK_ELISION_EXTRA 0, { 0, 0, 0, 0, 0, 0, 0 } | ||
| 41 | -# endif | ||
| 42 | - unsigned long int __pad2; | ||
| 43 | - /* FLAGS must stay at this position in the structure to maintain | ||
| 44 | - binary compatibility. */ | ||
| 45 | - unsigned int __flags; | ||
| 46 | -#else /* __x86_64__ */ | ||
| 47 | - /* FLAGS must stay at this position in the structure to maintain | ||
| 48 | - binary compatibility. */ | ||
| 49 | - unsigned char __flags; | ||
| 50 | - unsigned char __shared; | ||
| 51 | - signed char __rwelision; | ||
| 52 | - unsigned char __pad2; | ||
| 53 | - int __cur_writer; | ||
| 54 | -#endif | ||
| 55 | -}; | ||
| 56 | - | ||
| 57 | -#ifdef __x86_64__ | ||
| 58 | -# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \ | ||
| 59 | - 0, 0, 0, 0, 0, 0, 0, 0, __PTHREAD_RWLOCK_ELISION_EXTRA, 0, __flags | ||
| 60 | -#else | ||
| 61 | -# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \ | ||
| 62 | - 0, 0, 0, 0, 0, 0, __flags, 0, 0, 0, 0 | ||
| 63 | -#endif | ||
| 64 | - | ||
| 65 | -#endif | ||
+0 −0 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@struct_rwlock.h.blob deleted file mode 100644, Binary files a/.ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@struct_rwlock.h.blob and /dev/null differ Large diff collapsed, click to expand
+0 −116 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@thread-shared-types.h deleted file mode 100644 Large diff collapsed, click to expand
| @@ -1,116 +0,0 @@ | |||
| 1 | -/* Common threading primitives definitions for both POSIX and C11. | ||
| 2 | - Copyright (C) 2017-2025 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 _THREAD_SHARED_TYPES_H | ||
| 20 | -#define _THREAD_SHARED_TYPES_H 1 | ||
| 21 | - | ||
| 22 | -/* Arch-specific definitions. Each architecture must define the following | ||
| 23 | - macros to define the expected sizes of pthread data types: | ||
| 24 | - | ||
| 25 | - __SIZEOF_PTHREAD_ATTR_T - size of pthread_attr_t. | ||
| 26 | - __SIZEOF_PTHREAD_MUTEX_T - size of pthread_mutex_t. | ||
| 27 | - __SIZEOF_PTHREAD_MUTEXATTR_T - size of pthread_mutexattr_t. | ||
| 28 | - __SIZEOF_PTHREAD_COND_T - size of pthread_cond_t. | ||
| 29 | - __SIZEOF_PTHREAD_CONDATTR_T - size of pthread_condattr_t. | ||
| 30 | - __SIZEOF_PTHREAD_RWLOCK_T - size of pthread_rwlock_t. | ||
| 31 | - __SIZEOF_PTHREAD_RWLOCKATTR_T - size of pthread_rwlockattr_t. | ||
| 32 | - __SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t. | ||
| 33 | - __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t. | ||
| 34 | - | ||
| 35 | - The additional macro defines any constraint for the lock alignment | ||
| 36 | - inside the thread structures: | ||
| 37 | - | ||
| 38 | - __LOCK_ALIGNMENT - for internal lock/futex usage. | ||
| 39 | - | ||
| 40 | - Same idea but for the once locking primitive: | ||
| 41 | - | ||
| 42 | - __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition. */ | ||
| 43 | - | ||
| 44 | -#include <bits/pthreadtypes-arch.h> | ||
| 45 | - | ||
| 46 | -#include <bits/atomic_wide_counter.h> | ||
| 47 | - | ||
| 48 | - | ||
| 49 | -/* Common definition of pthread_mutex_t. */ | ||
| 50 | - | ||
| 51 | -typedef struct __pthread_internal_list | ||
| 52 | -{ | ||
| 53 | - struct __pthread_internal_list *__prev; | ||
| 54 | - struct __pthread_internal_list *__next; | ||
| 55 | -} __pthread_list_t; | ||
| 56 | - | ||
| 57 | -typedef struct __pthread_internal_slist | ||
| 58 | -{ | ||
| 59 | - struct __pthread_internal_slist *__next; | ||
| 60 | -} __pthread_slist_t; | ||
| 61 | - | ||
| 62 | -/* Arch-specific mutex definitions. A generic implementation is provided | ||
| 63 | - by sysdeps/nptl/bits/struct_mutex.h. If required, an architecture | ||
| 64 | - can override it by defining: | ||
| 65 | - | ||
| 66 | - 1. struct __pthread_mutex_s (used on both pthread_mutex_t and mtx_t | ||
| 67 | - definition). It should contains at least the internal members | ||
| 68 | - defined in the generic version. | ||
| 69 | - | ||
| 70 | - 2. __LOCK_ALIGNMENT for any extra attribute for internal lock used with | ||
| 71 | - atomic operations. | ||
| 72 | - | ||
| 73 | - 3. The macro __PTHREAD_MUTEX_INITIALIZER used for static initialization. | ||
| 74 | - It should initialize the mutex internal flag. */ | ||
| 75 | - | ||
| 76 | -#include <bits/struct_mutex.h> | ||
| 77 | - | ||
| 78 | -/* Arch-sepecific read-write lock definitions. A generic implementation is | ||
| 79 | - provided by struct_rwlock.h. If required, an architecture can override it | ||
| 80 | - by defining: | ||
| 81 | - | ||
| 82 | - 1. struct __pthread_rwlock_arch_t (used on pthread_rwlock_t definition). | ||
| 83 | - It should contain at least the internal members defined in the | ||
| 84 | - generic version. | ||
| 85 | - | ||
| 86 | - 2. The macro __PTHREAD_RWLOCK_INITIALIZER used for static initialization. | ||
| 87 | - It should initialize the rwlock internal type. */ | ||
| 88 | - | ||
| 89 | -#include <bits/struct_rwlock.h> | ||
| 90 | - | ||
| 91 | - | ||
| 92 | -/* Common definition of pthread_cond_t. */ | ||
| 93 | - | ||
| 94 | -struct __pthread_cond_s | ||
| 95 | -{ | ||
| 96 | - __atomic_wide_counter __wseq; | ||
| 97 | - __atomic_wide_counter __g1_start; | ||
| 98 | - unsigned int __g_size[2] __LOCK_ALIGNMENT; | ||
| 99 | - unsigned int __g1_orig_size; | ||
| 100 | - unsigned int __wrefs; | ||
| 101 | - unsigned int __g_signals[2]; | ||
| 102 | - unsigned int __unused_initialized_1; | ||
| 103 | - unsigned int __unused_initialized_2; | ||
| 104 | -}; | ||
| 105 | - | ||
| 106 | -typedef unsigned int __tss_t; | ||
| 107 | -typedef unsigned long int __thrd_t; | ||
| 108 | - | ||
| 109 | -typedef struct | ||
| 110 | -{ | ||
| 111 | - int __data __ONCE_ALIGNMENT; | ||
| 112 | -} __once_flag; | ||
| 113 | - | ||
| 114 | -#define __ONCE_FLAG_INIT { 0 } | ||
| 115 | - | ||
| 116 | -#endif /* _THREAD_SHARED_TYPES_H */ | ||
+0 −0 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@thread-shared-types.h.blob deleted file mode 100644, Binary files a/.ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@thread-shared-types.h.blob and /dev/null differ Large diff collapsed, click to expand
+0 −36 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@time64.h deleted file mode 100644 Large diff collapsed, click to expand
| @@ -1,36 +0,0 @@ | |||
| 1 | -/* bits/time64.h -- underlying types for __time64_t. Generic version. | ||
| 2 | - Copyright (C) 2018-2025 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_TYPES_H | ||
| 20 | -# error "Never include <bits/time64.h> directly; use <sys/types.h> instead." | ||
| 21 | -#endif | ||
| 22 | - | ||
| 23 | -#ifndef _BITS_TIME64_H | ||
| 24 | -#define _BITS_TIME64_H 1 | ||
| 25 | - | ||
| 26 | -/* Define __TIME64_T_TYPE so that it is always a 64-bit type. */ | ||
| 27 | - | ||
| 28 | -#if __TIMESIZE == 64 | ||
| 29 | -/* If we already have 64-bit time type then use it. */ | ||
| 30 | -# define __TIME64_T_TYPE __TIME_T_TYPE | ||
| 31 | -#else | ||
| 32 | -/* Define a 64-bit time type alongsize the 32-bit one. */ | ||
| 33 | -# define __TIME64_T_TYPE __SQUAD_TYPE | ||
| 34 | -#endif | ||
| 35 | - | ||
| 36 | -#endif /* bits/time64.h */ | ||
+0 −0 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@time64.h.blob deleted file mode 100644, Binary files a/.ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@time64.h.blob and /dev/null differ Large diff collapsed, click to expand
+0 −27 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@timesize.h deleted file mode 100644 Large diff collapsed, click to expand
| @@ -1,27 +0,0 @@ | |||
| 1 | -/* Bit size of the time_t type at glibc build time, x86-64 and x32 case. | ||
| 2 | - Copyright (C) 2018-2025 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 | -#include <bits/wordsize.h> | ||
| 20 | - | ||
| 21 | -#if defined __x86_64__ && defined __ILP32__ | ||
| 22 | -/* For x32, time is 64-bit even though word size is 32-bit. */ | ||
| 23 | -# define __TIMESIZE 64 | ||
| 24 | -#else | ||
| 25 | -/* For others, time size is word size. */ | ||
| 26 | -# define __TIMESIZE __WORDSIZE | ||
| 27 | -#endif | ||
+0 −0 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@timesize.h.blob deleted file mode 100644, Binary files a/.ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@timesize.h.blob and /dev/null differ Large diff collapsed, click to expand
+0 −228 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@types.h deleted file mode 100644 Large diff collapsed, click to expand
| @@ -1,228 +0,0 @@ | |||
| 1 | -/* bits/types.h -- definitions of __*_t types underlying *_t types. | ||
| 2 | - Copyright (C) 2002-2025 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 | -/* | ||
| 20 | - * Never include this file directly; use <sys/types.h> instead. | ||
| 21 | - */ | ||
| 22 | - | ||
| 23 | -#ifndef _BITS_TYPES_H | ||
| 24 | -#define _BITS_TYPES_H 1 | ||
| 25 | - | ||
| 26 | -#include <features.h> | ||
| 27 | -#include <bits/wordsize.h> | ||
| 28 | -#include <bits/timesize.h> | ||
| 29 | - | ||
| 30 | -/* Convenience types. */ | ||
| 31 | -typedef unsigned char __u_char; | ||
| 32 | -typedef unsigned short int __u_short; | ||
| 33 | -typedef unsigned int __u_int; | ||
| 34 | -typedef unsigned long int __u_long; | ||
| 35 | - | ||
| 36 | -/* Fixed-size types, underlying types depend on word size and compiler. */ | ||
| 37 | -typedef signed char __int8_t; | ||
| 38 | -typedef unsigned char __uint8_t; | ||
| 39 | -typedef signed short int __int16_t; | ||
| 40 | -typedef unsigned short int __uint16_t; | ||
| 41 | -typedef signed int __int32_t; | ||
| 42 | -typedef unsigned int __uint32_t; | ||
| 43 | -#if __WORDSIZE == 64 | ||
| 44 | -typedef signed long int __int64_t; | ||
| 45 | -typedef unsigned long int __uint64_t; | ||
| 46 | -#else | ||
| 47 | -__extension__ typedef signed long long int __int64_t; | ||
| 48 | -__extension__ typedef unsigned long long int __uint64_t; | ||
| 49 | -#endif | ||
| 50 | - | ||
| 51 | -/* Smallest types with at least a given width. */ | ||
| 52 | -typedef __int8_t __int_least8_t; | ||
| 53 | -typedef __uint8_t __uint_least8_t; | ||
| 54 | -typedef __int16_t __int_least16_t; | ||
| 55 | -typedef __uint16_t __uint_least16_t; | ||
| 56 | -typedef __int32_t __int_least32_t; | ||
| 57 | -typedef __uint32_t __uint_least32_t; | ||
| 58 | -typedef __int64_t __int_least64_t; | ||
| 59 | -typedef __uint64_t __uint_least64_t; | ||
| 60 | - | ||
| 61 | -/* quad_t is also 64 bits. */ | ||
| 62 | -#if __WORDSIZE == 64 | ||
| 63 | -typedef long int __quad_t; | ||
| 64 | -typedef unsigned long int __u_quad_t; | ||
| 65 | -#else | ||
| 66 | -__extension__ typedef long long int __quad_t; | ||
| 67 | -__extension__ typedef unsigned long long int __u_quad_t; | ||
| 68 | -#endif | ||
| 69 | - | ||
| 70 | -/* Largest integral types. */ | ||
| 71 | -#if __WORDSIZE == 64 | ||
| 72 | -typedef long int __intmax_t; | ||
| 73 | -typedef unsigned long int __uintmax_t; | ||
| 74 | -#else | ||
| 75 | -__extension__ typedef long long int __intmax_t; | ||
| 76 | -__extension__ typedef unsigned long long int __uintmax_t; | ||
| 77 | -#endif | ||
| 78 | - | ||
| 79 | - | ||
| 80 | -/* The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE | ||
| 81 | - macros for each of the OS types we define below. The definitions | ||
| 82 | - of those macros must use the following macros for underlying types. | ||
| 83 | - We define __S<SIZE>_TYPE and __U<SIZE>_TYPE for the signed and unsigned | ||
| 84 | - variants of each of the following integer types on this machine. | ||
| 85 | - | ||
| 86 | - 16 -- "natural" 16-bit type (always short) | ||
| 87 | - 32 -- "natural" 32-bit type (always int) | ||
| 88 | - 64 -- "natural" 64-bit type (long or long long) | ||
| 89 | - LONG32 -- 32-bit type, traditionally long | ||
| 90 | - QUAD -- 64-bit type, traditionally long long | ||
| 91 | - WORD -- natural type of __WORDSIZE bits (int or long) | ||
| 92 | - LONGWORD -- type of __WORDSIZE bits, traditionally long | ||
| 93 | - | ||
| 94 | - We distinguish WORD/LONGWORD, 32/LONG32, and 64/QUAD so that the | ||
| 95 | - conventional uses of `long' or `long long' type modifiers match the | ||
| 96 | - types we define, even when a less-adorned type would be the same size. | ||
| 97 | - This matters for (somewhat) portably writing printf/scanf formats for | ||
| 98 | - these types, where using the appropriate l or ll format modifiers can | ||
| 99 | - make the typedefs and the formats match up across all GNU platforms. If | ||
| 100 | - we used `long' when it's 64 bits where `long long' is expected, then the | ||
| 101 | - compiler would warn about the formats not matching the argument types, | ||
| 102 | - and the programmer changing them to shut up the compiler would break the | ||
| 103 | - program's portability. | ||
| 104 | - | ||
| 105 | - Here we assume what is presently the case in all the GCC configurations | ||
| 106 | - we support: long long is always 64 bits, long is always word/address size, | ||
| 107 | - and int is always 32 bits. */ | ||
| 108 | - | ||
| 109 | -#define __S16_TYPE short int | ||
| 110 | -#define __U16_TYPE unsigned short int | ||
| 111 | -#define __S32_TYPE int | ||
| 112 | -#define __U32_TYPE unsigned int | ||
| 113 | -#define __SLONGWORD_TYPE long int | ||
| 114 | -#define __ULONGWORD_TYPE unsigned long int | ||
| 115 | -#if __WORDSIZE == 32 | ||
| 116 | -# define __SQUAD_TYPE __int64_t | ||
| 117 | -# define __UQUAD_TYPE __uint64_t | ||
| 118 | -# define __SWORD_TYPE int | ||
| 119 | -# define __UWORD_TYPE unsigned int | ||
| 120 | -# define __SLONG32_TYPE long int | ||
| 121 | -# define __ULONG32_TYPE unsigned long int | ||
| 122 | -# define __S64_TYPE __int64_t | ||
| 123 | -# define __U64_TYPE __uint64_t | ||
| 124 | -/* We want __extension__ before typedef's that use nonstandard base types | ||
| 125 | - such as `long long' in C89 mode. */ | ||
| 126 | -# define __STD_TYPE __extension__ typedef | ||
| 127 | -#elif __WORDSIZE == 64 | ||
| 128 | -# define __SQUAD_TYPE long int | ||
| 129 | -# define __UQUAD_TYPE unsigned long int | ||
| 130 | -# define __SWORD_TYPE long int | ||
| 131 | -# define __UWORD_TYPE unsigned long int | ||
| 132 | -# define __SLONG32_TYPE int | ||
| 133 | -# define __ULONG32_TYPE unsigned int | ||
| 134 | -# define __S64_TYPE long int | ||
| 135 | -# define __U64_TYPE unsigned long int | ||
| 136 | -/* No need to mark the typedef with __extension__. */ | ||
| 137 | -# define __STD_TYPE typedef | ||
| 138 | -#else | ||
| 139 | -# error | ||
| 140 | -#endif | ||
| 141 | -#include <bits/typesizes.h> /* Defines __*_T_TYPE macros. */ | ||
| 142 | -#include <bits/time64.h> /* Defines __TIME*_T_TYPE macros. */ | ||
| 143 | - | ||
| 144 | - | ||
| 145 | -__STD_TYPE __DEV_T_TYPE __dev_t; /* Type of device numbers. */ | ||
| 146 | -__STD_TYPE __UID_T_TYPE __uid_t; /* Type of user identifications. */ | ||
| 147 | -__STD_TYPE __GID_T_TYPE __gid_t; /* Type of group identifications. */ | ||
| 148 | -__STD_TYPE __INO_T_TYPE __ino_t; /* Type of file serial numbers. */ | ||
| 149 | -__STD_TYPE __INO64_T_TYPE __ino64_t; /* Type of file serial numbers (LFS).*/ | ||
| 150 | -__STD_TYPE __MODE_T_TYPE __mode_t; /* Type of file attribute bitmasks. */ | ||
| 151 | -__STD_TYPE __NLINK_T_TYPE __nlink_t; /* Type of file link counts. */ | ||
| 152 | -__STD_TYPE __OFF_T_TYPE __off_t; /* Type of file sizes and offsets. */ | ||
| 153 | -__STD_TYPE __OFF64_T_TYPE __off64_t; /* Type of file sizes and offsets (LFS). */ | ||
| 154 | -__STD_TYPE __PID_T_TYPE __pid_t; /* Type of process identifications. */ | ||
| 155 | -__STD_TYPE __FSID_T_TYPE __fsid_t; /* Type of file system IDs. */ | ||
| 156 | -__STD_TYPE __CLOCK_T_TYPE __clock_t; /* Type of CPU usage counts. */ | ||
| 157 | -__STD_TYPE __RLIM_T_TYPE __rlim_t; /* Type for resource measurement. */ | ||
| 158 | -__STD_TYPE __RLIM64_T_TYPE __rlim64_t; /* Type for resource measurement (LFS). */ | ||
| 159 | -__STD_TYPE __ID_T_TYPE __id_t; /* General type for IDs. */ | ||
| 160 | -__STD_TYPE __TIME_T_TYPE __time_t; /* Seconds since the Epoch. */ | ||
| 161 | -__STD_TYPE __USECONDS_T_TYPE __useconds_t; /* Count of microseconds. */ | ||
| 162 | -__STD_TYPE __SUSECONDS_T_TYPE __suseconds_t; /* Signed count of microseconds. */ | ||
| 163 | -__STD_TYPE __SUSECONDS64_T_TYPE __suseconds64_t; | ||
| 164 | - | ||
| 165 | -__STD_TYPE __DADDR_T_TYPE __daddr_t; /* The type of a disk address. */ | ||
| 166 | -__STD_TYPE __KEY_T_TYPE __key_t; /* Type of an IPC key. */ | ||
| 167 | - | ||
| 168 | -/* Clock ID used in clock and timer functions. */ | ||
| 169 | -__STD_TYPE __CLOCKID_T_TYPE __clockid_t; | ||
| 170 | - | ||
| 171 | -/* Timer ID returned by `timer_create'. */ | ||
| 172 | -__STD_TYPE __TIMER_T_TYPE __timer_t; | ||
| 173 | - | ||
| 174 | -/* Type to represent block size. */ | ||
| 175 | -__STD_TYPE __BLKSIZE_T_TYPE __blksize_t; | ||
| 176 | - | ||
| 177 | -/* Types from the Large File Support interface. */ | ||
| 178 | - | ||
| 179 | -/* Type to count number of disk blocks. */ | ||
| 180 | -__STD_TYPE __BLKCNT_T_TYPE __blkcnt_t; | ||
| 181 | -__STD_TYPE __BLKCNT64_T_TYPE __blkcnt64_t; | ||
| 182 | - | ||
| 183 | -/* Type to count file system blocks. */ | ||
| 184 | -__STD_TYPE __FSBLKCNT_T_TYPE __fsblkcnt_t; | ||
| 185 | -__STD_TYPE __FSBLKCNT64_T_TYPE __fsblkcnt64_t; | ||
| 186 | - | ||
| 187 | -/* Type to count file system nodes. */ | ||
| 188 | -__STD_TYPE __FSFILCNT_T_TYPE __fsfilcnt_t; | ||
| 189 | -__STD_TYPE __FSFILCNT64_T_TYPE __fsfilcnt64_t; | ||
| 190 | - | ||
| 191 | -/* Type of miscellaneous file system fields. */ | ||
| 192 | -__STD_TYPE __FSWORD_T_TYPE __fsword_t; | ||
| 193 | - | ||
| 194 | -__STD_TYPE __SSIZE_T_TYPE __ssize_t; /* Type of a byte count, or error. */ | ||
| 195 | - | ||
| 196 | -/* Signed long type used in system calls. */ | ||
| 197 | -__STD_TYPE __SYSCALL_SLONG_TYPE __syscall_slong_t; | ||
| 198 | -/* Unsigned long type used in system calls. */ | ||
| 199 | -__STD_TYPE __SYSCALL_ULONG_TYPE __syscall_ulong_t; | ||
| 200 | - | ||
| 201 | -/* These few don't really vary by system, they always correspond | ||
| 202 | - to one of the other defined types. */ | ||
| 203 | -typedef __off64_t __loff_t; /* Type of file sizes and offsets (LFS). */ | ||
| 204 | -typedef char *__caddr_t; | ||
| 205 | - | ||
| 206 | -/* Duplicates info from stdint.h but this is used in unistd.h. */ | ||
| 207 | -__STD_TYPE __SWORD_TYPE __intptr_t; | ||
| 208 | - | ||
| 209 | -/* Duplicate info from sys/socket.h. */ | ||
| 210 | -__STD_TYPE __U32_TYPE __socklen_t; | ||
| 211 | - | ||
| 212 | -/* C99: An integer type that can be accessed as an atomic entity, | ||
| 213 | - even in the presence of asynchronous interrupts. | ||
| 214 | - It is not currently necessary for this to be machine-specific. */ | ||
| 215 | -typedef int __sig_atomic_t; | ||
| 216 | - | ||
| 217 | -/* Seconds since the Epoch, visible to user code when time_t is too | ||
| 218 | - narrow only for consistency with the old way of widening too-narrow | ||
| 219 | - types. User code should never use __time64_t. */ | ||
| 220 | -#if __TIMESIZE == 64 && defined __LIBC | ||
| 221 | -# define __time64_t __time_t | ||
| 222 | -#elif __TIMESIZE != 64 | ||
| 223 | -__STD_TYPE __TIME64_T_TYPE __time64_t; | ||
| 224 | -#endif | ||
| 225 | - | ||
| 226 | -#undef __STD_TYPE | ||
| 227 | - | ||
| 228 | -#endif /* bits/types.h */ | ||
+0 −0 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@types.h.blob deleted file mode 100644, Binary files a/.ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@types.h.blob and /dev/null differ Large diff collapsed, click to expand
+0 −9 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@types@FILE.h deleted file mode 100644 Large diff collapsed, click to expand
| @@ -1,9 +0,0 @@ | |||
| 1 | -#ifndef __FILE_defined | ||
| 2 | -#define __FILE_defined 1 | ||
| 3 | - | ||
| 4 | -struct _IO_FILE; | ||
| 5 | - | ||
| 6 | -/* The opaque type of streams. This is the definition used elsewhere. */ | ||
| 7 | -typedef struct _IO_FILE FILE; | ||
| 8 | - | ||
| 9 | -#endif | ||
+0 −0 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@types@FILE.h.blob deleted file mode 100644, Binary files a/.ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@types@FILE.h.blob and /dev/null differ Large diff collapsed, click to expand
+0 −7 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@types@__FILE.h deleted file mode 100644 Large diff collapsed, click to expand
| @@ -1,7 +0,0 @@ | |||
| 1 | -#ifndef ____FILE_defined | ||
| 2 | -#define ____FILE_defined 1 | ||
| 3 | - | ||
| 4 | -struct _IO_FILE; | ||
| 5 | -typedef struct _IO_FILE __FILE; | ||
| 6 | - | ||
| 7 | -#endif | ||
+0 −0 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@types@__FILE.h.blob deleted file mode 100644, Binary files a/.ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@types@__FILE.h.blob and /dev/null differ Large diff collapsed, click to expand
+0 −16 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@types@__fpos64_t.h deleted file mode 100644 Large diff collapsed, click to expand
| @@ -1,16 +0,0 @@ | |||
| 1 | -#ifndef _____fpos64_t_defined | ||
| 2 | -#define _____fpos64_t_defined 1 | ||
| 3 | - | ||
| 4 | -#include <bits/types.h> | ||
| 5 | -#include <bits/types/__mbstate_t.h> | ||
| 6 | - | ||
| 7 | -/* The tag name of this struct is _G_fpos64_t to preserve historic | ||
| 8 | - C++ mangled names for functions taking fpos_t and/or fpos64_t | ||
| 9 | - arguments. That name should not be used in new code. */ | ||
| 10 | -typedef struct _G_fpos64_t | ||
| 11 | -{ | ||
| 12 | - __off64_t __pos; | ||
| 13 | - __mbstate_t __state; | ||
| 14 | -} __fpos64_t; | ||
| 15 | - | ||
| 16 | -#endif | ||
+0 −0 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@types@__fpos64_t.h.blob deleted file mode 100644, Binary files a/.ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@types@__fpos64_t.h.blob and /dev/null differ Large diff collapsed, click to expand
+0 −16 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@types@__fpos_t.h deleted file mode 100644 Large diff collapsed, click to expand
| @@ -1,16 +0,0 @@ | |||
| 1 | -#ifndef _____fpos_t_defined | ||
| 2 | -#define _____fpos_t_defined 1 | ||
| 3 | - | ||
| 4 | -#include <bits/types.h> | ||
| 5 | -#include <bits/types/__mbstate_t.h> | ||
| 6 | - | ||
| 7 | -/* The tag name of this struct is _G_fpos_t to preserve historic | ||
| 8 | - C++ mangled names for functions taking fpos_t arguments. | ||
| 9 | - That name should not be used in new code. */ | ||
| 10 | -typedef struct _G_fpos_t | ||
| 11 | -{ | ||
| 12 | - __off_t __pos; | ||
| 13 | - __mbstate_t __state; | ||
| 14 | -} __fpos_t; | ||
| 15 | - | ||
| 16 | -#endif | ||
+0 −0 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@types@__fpos_t.h.blob deleted file mode 100644, Binary files a/.ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@types@__fpos_t.h.blob and /dev/null differ Large diff collapsed, click to expand
+0 −43 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@types@__locale_t.h deleted file mode 100644 Large diff collapsed, click to expand
| @@ -1,43 +0,0 @@ | |||
| 1 | -/* Definition of struct __locale_struct and __locale_t. | ||
| 2 | - Copyright (C) 1997-2025 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_TYPES___LOCALE_T_H | ||
| 20 | -#define _BITS_TYPES___LOCALE_T_H 1 | ||
| 21 | - | ||
| 22 | -/* POSIX.1-2008: the locale_t type, representing a locale context | ||
| 23 | - (implementation-namespace version). This type should be treated | ||
| 24 | - as opaque by applications; some details are exposed for the sake of | ||
| 25 | - efficiency in e.g. ctype functions. */ | ||
| 26 | - | ||
| 27 | -struct __locale_struct | ||
| 28 | -{ | ||
| 29 | - /* Note: LC_ALL is not a valid index into this array. */ | ||
| 30 | - struct __locale_data *__locales[13]; /* 13 = __LC_LAST. */ | ||
| 31 | - | ||
| 32 | - /* To increase the speed of this solution we add some special members. */ | ||
| 33 | - const unsigned short int *__ctype_b; | ||
| 34 | - const int *__ctype_tolower; | ||
| 35 | - const int *__ctype_toupper; | ||
| 36 | - | ||
| 37 | - /* Note: LC_ALL is not a valid index into this array. */ | ||
| 38 | - const char *__names[13]; | ||
| 39 | -}; | ||
| 40 | - | ||
| 41 | -typedef struct __locale_struct *__locale_t; | ||
| 42 | - | ||
| 43 | -#endif /* bits/types/__locale_t.h */ | ||
+0 −0 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@types@__locale_t.h.blob deleted file mode 100644, Binary files a/.ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@types@__locale_t.h.blob and /dev/null differ Large diff collapsed, click to expand
+0 −23 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@types@__mbstate_t.h deleted file mode 100644 Large diff collapsed, click to expand
| @@ -1,23 +0,0 @@ | |||
| 1 | -#ifndef ____mbstate_t_defined | ||
| 2 | -#define ____mbstate_t_defined 1 | ||
| 3 | - | ||
| 4 | -/* Integral type unchanged by default argument promotions that can | ||
| 5 | - hold any value corresponding to members of the extended character | ||
| 6 | - set, as well as at least one value that does not correspond to any | ||
| 7 | - member of the extended character set. */ | ||
| 8 | -#ifndef __WINT_TYPE__ | ||
| 9 | -# define __WINT_TYPE__ unsigned int | ||
| 10 | -#endif | ||
| 11 | - | ||
| 12 | -/* Conversion state information. */ | ||
| 13 | -typedef struct | ||
| 14 | -{ | ||
| 15 | - int __count; | ||
| 16 | - union | ||
| 17 | - { | ||
| 18 | - __WINT_TYPE__ __wch; | ||
| 19 | - char __wchb[4]; | ||
| 20 | - } __value; /* Value so far. */ | ||
| 21 | -} __mbstate_t; | ||
| 22 | - | ||
| 23 | -#endif | ||
+0 −0 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@types@__mbstate_t.h.blob deleted file mode 100644, Binary files a/.ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@types@__mbstate_t.h.blob and /dev/null differ Large diff collapsed, click to expand
+0 −10 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@types@__sigset_t.h deleted file mode 100644 Large diff collapsed, click to expand
| @@ -1,10 +0,0 @@ | |||
| 1 | -#ifndef ____sigset_t_defined | ||
| 2 | -#define ____sigset_t_defined | ||
| 3 | - | ||
| 4 | -#define _SIGSET_NWORDS (1024 / (8 * sizeof (unsigned long int))) | ||
| 5 | -typedef struct | ||
| 6 | -{ | ||
| 7 | - unsigned long int __val[_SIGSET_NWORDS]; | ||
| 8 | -} __sigset_t; | ||
| 9 | - | ||
| 10 | -#endif | ||
+0 −0 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@types@__sigset_t.h.blob deleted file mode 100644, Binary files a/.ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@types@__sigset_t.h.blob and /dev/null differ Large diff collapsed, click to expand
+0 −9 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@types@clock_t.h deleted file mode 100644 Large diff collapsed, click to expand
| @@ -1,9 +0,0 @@ | |||
| 1 | -#ifndef __clock_t_defined | ||
| 2 | -#define __clock_t_defined 1 | ||
| 3 | - | ||
| 4 | -#include <bits/types.h> | ||
| 5 | - | ||
| 6 | -/* Returned by `clock'. */ | ||
| 7 | -typedef __clock_t clock_t; | ||
| 8 | - | ||
| 9 | -#endif | ||
+0 −0 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@types@clock_t.h.blob deleted file mode 100644, Binary files a/.ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@types@clock_t.h.blob and /dev/null differ Large diff collapsed, click to expand
+0 −9 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@types@clockid_t.h deleted file mode 100644 Large diff collapsed, click to expand
| @@ -1,9 +0,0 @@ | |||
| 1 | -#ifndef __clockid_t_defined | ||
| 2 | -#define __clockid_t_defined 1 | ||
| 3 | - | ||
| 4 | -#include <bits/types.h> | ||
| 5 | - | ||
| 6 | -/* Clock ID used in clock and timer functions. */ | ||
| 7 | -typedef __clockid_t clockid_t; | ||
| 8 | - | ||
| 9 | -#endif | ||
+0 −0 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@types@clockid_t.h.blob deleted file mode 100644, Binary files a/.ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@types@clockid_t.h.blob and /dev/null differ Large diff collapsed, click to expand
+0 −63 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@types@cookie_io_functions_t.h deleted file mode 100644 Large diff collapsed, click to expand
| @@ -1,63 +0,0 @@ | |||
| 1 | -/* Copyright (C) 1991-2025 Free Software Foundation, Inc. | ||
| 2 | - This file is part of the GNU C Library. | ||
| 3 | - | ||
| 4 | - The GNU C Library is free software; you can redistribute it and/or | ||
| 5 | - modify it under the terms of the GNU Lesser General Public | ||
| 6 | - License as published by the Free Software Foundation; either | ||
| 7 | - version 2.1 of the License, or (at your option) any later version. | ||
| 8 | - | ||
| 9 | - The GNU C Library is distributed in the hope that it will be useful, | ||
| 10 | - but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 11 | - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
| 12 | - Lesser General Public License for more details. | ||
| 13 | - | ||
| 14 | - You should have received a copy of the GNU Lesser General Public | ||
| 15 | - License along with the GNU C Library; if not, see | ||
| 16 | - <https://www.gnu.org/licenses/>. */ | ||
| 17 | - | ||
| 18 | -#ifndef __cookie_io_functions_t_defined | ||
| 19 | -#define __cookie_io_functions_t_defined 1 | ||
| 20 | - | ||
| 21 | -#include <bits/types.h> | ||
| 22 | - | ||
| 23 | -/* Functions to do I/O and file management for a stream. */ | ||
| 24 | - | ||
| 25 | -/* Read NBYTES bytes from COOKIE into a buffer pointed to by BUF. | ||
| 26 | - Return number of bytes read. */ | ||
| 27 | -typedef __ssize_t cookie_read_function_t (void *__cookie, char *__buf, | ||
| 28 | - size_t __nbytes); | ||
| 29 | - | ||
| 30 | -/* Write NBYTES bytes pointed to by BUF to COOKIE. Write all NBYTES bytes | ||
| 31 | - unless there is an error. Return number of bytes written. If | ||
| 32 | - there is an error, return 0 and do not write anything. If the file | ||
| 33 | - has been opened for append (__mode.__append set), then set the file | ||
| 34 | - pointer to the end of the file and then do the write; if not, just | ||
| 35 | - write at the current file pointer. */ | ||
| 36 | -typedef __ssize_t cookie_write_function_t (void *__cookie, const char *__buf, | ||
| 37 | - size_t __nbytes); | ||
| 38 | - | ||
| 39 | -/* Move COOKIE's file position to *POS bytes from the | ||
| 40 | - beginning of the file (if W is SEEK_SET), | ||
| 41 | - the current position (if W is SEEK_CUR), | ||
| 42 | - or the end of the file (if W is SEEK_END). | ||
| 43 | - Set *POS to the new file position. | ||
| 44 | - Returns zero if successful, nonzero if not. */ | ||
| 45 | -typedef int cookie_seek_function_t (void *__cookie, __off64_t *__pos, int __w); | ||
| 46 | - | ||
| 47 | -/* Close COOKIE. */ | ||
| 48 | -typedef int cookie_close_function_t (void *__cookie); | ||
| 49 | - | ||
| 50 | -/* The structure with the cookie function pointers. | ||
| 51 | - The tag name of this struct is _IO_cookie_io_functions_t to | ||
| 52 | - preserve historic C++ mangled names for functions taking | ||
| 53 | - cookie_io_functions_t arguments. That name should not be used in | ||
| 54 | - new code. */ | ||
| 55 | -typedef struct _IO_cookie_io_functions_t | ||
| 56 | -{ | ||
| 57 | - cookie_read_function_t *read; /* Read bytes. */ | ||
| 58 | - cookie_write_function_t *write; /* Write bytes. */ | ||
| 59 | - cookie_seek_function_t *seek; /* Seek/tell file position. */ | ||
| 60 | - cookie_close_function_t *close; /* Close file. */ | ||
| 61 | -} cookie_io_functions_t; | ||
| 62 | - | ||
| 63 | -#endif | ||
+0 −0 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@types@cookie_io_functions_t.h.blob deleted file mode 100644, Binary files a/.ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@types@cookie_io_functions_t.h.blob and /dev/null differ Large diff collapsed, click to expand
+0 −26 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@types@locale_t.h deleted file mode 100644 Large diff collapsed, click to expand
| @@ -1,26 +0,0 @@ | |||
| 1 | -/* Definition of locale_t. | ||
| 2 | - Copyright (C) 2017-2025 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_TYPES_LOCALE_T_H | ||
| 20 | -#define _BITS_TYPES_LOCALE_T_H 1 | ||
| 21 | - | ||
| 22 | -#include <bits/types/__locale_t.h> | ||
| 23 | - | ||
| 24 | -typedef __locale_t locale_t; | ||
| 25 | - | ||
| 26 | -#endif /* bits/types/locale_t.h */ | ||
+0 −0 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@types@locale_t.h.blob deleted file mode 100644, Binary files a/.ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@types@locale_t.h.blob and /dev/null differ Large diff collapsed, click to expand
+0 −9 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@types@sigset_t.h deleted file mode 100644 Large diff collapsed, click to expand
| @@ -1,9 +0,0 @@ | |||
| 1 | -#ifndef __sigset_t_defined | ||
| 2 | -#define __sigset_t_defined 1 | ||
| 3 | - | ||
| 4 | -#include <bits/types/__sigset_t.h> | ||
| 5 | - | ||
| 6 | -/* A set of signals to be blocked, unblocked, or waited for. */ | ||
| 7 | -typedef __sigset_t sigset_t; | ||
| 8 | - | ||
| 9 | -#endif | ||
+0 −0 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@types@sigset_t.h.blob deleted file mode 100644, Binary files a/.ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@types@sigset_t.h.blob and /dev/null differ Large diff collapsed, click to expand
+0 −131 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@types@struct_FILE.h deleted file mode 100644 Large diff collapsed, click to expand
| @@ -1,131 +0,0 @@ | |||
| 1 | -/* Copyright (C) 1991-2025 Free Software Foundation, Inc. | ||
| 2 | - Copyright The GNU Toolchain Authors. | ||
| 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 __struct_FILE_defined | ||
| 20 | -#define __struct_FILE_defined 1 | ||
| 21 | - | ||
| 22 | -/* Caution: The contents of this file are not part of the official | ||
| 23 | - stdio.h API. However, much of it is part of the official *binary* | ||
| 24 | - interface, and therefore cannot be changed. */ | ||
| 25 | - | ||
| 26 | -#if defined _IO_USE_OLD_IO_FILE && !defined _LIBC | ||
| 27 | -# error "_IO_USE_OLD_IO_FILE should only be defined when building libc itself" | ||
| 28 | -#endif | ||
| 29 | - | ||
| 30 | -#if defined _IO_lock_t_defined && !defined _LIBC | ||
| 31 | -# error "_IO_lock_t_defined should only be defined when building libc itself" | ||
| 32 | -#endif | ||
| 33 | - | ||
| 34 | -#include <bits/types.h> | ||
| 35 | -#include <bits/wordsize.h> | ||
| 36 | - | ||
| 37 | -struct _IO_FILE; | ||
| 38 | -struct _IO_marker; | ||
| 39 | -struct _IO_codecvt; | ||
| 40 | -struct _IO_wide_data; | ||
| 41 | - | ||
| 42 | -/* During the build of glibc itself, _IO_lock_t will already have been | ||
| 43 | - defined by internal headers. */ | ||
| 44 | -#ifndef _IO_lock_t_defined | ||
| 45 | -typedef void _IO_lock_t; | ||
| 46 | -#endif | ||
| 47 | - | ||
| 48 | -/* The tag name of this struct is _IO_FILE to preserve historic | ||
| 49 | - C++ mangled names for functions taking FILE* arguments. | ||
| 50 | - That name should not be used in new code. */ | ||
| 51 | -struct _IO_FILE | ||
| 52 | -{ | ||
| 53 | - int _flags; /* High-order word is _IO_MAGIC; rest is flags. */ | ||
| 54 | - | ||
| 55 | - /* The following pointers correspond to the C++ streambuf protocol. */ | ||
| 56 | - char *_IO_read_ptr; /* Current read pointer */ | ||
| 57 | - char *_IO_read_end; /* End of get area. */ | ||
| 58 | - char *_IO_read_base; /* Start of putback+get area. */ | ||
| 59 | - char *_IO_write_base; /* Start of put area. */ | ||
| 60 | - char *_IO_write_ptr; /* Current put pointer. */ | ||
| 61 | - char *_IO_write_end; /* End of put area. */ | ||
| 62 | - char *_IO_buf_base; /* Start of reserve area. */ | ||
| 63 | - char *_IO_buf_end; /* End of reserve area. */ | ||
| 64 | - | ||
| 65 | - /* The following fields are used to support backing up and undo. */ | ||
| 66 | - char *_IO_save_base; /* Pointer to start of non-current get area. */ | ||
| 67 | - char *_IO_backup_base; /* Pointer to first valid character of backup area */ | ||
| 68 | - char *_IO_save_end; /* Pointer to end of non-current get area. */ | ||
| 69 | - | ||
| 70 | - struct _IO_marker *_markers; | ||
| 71 | - | ||
| 72 | - struct _IO_FILE *_chain; | ||
| 73 | - | ||
| 74 | - int _fileno; | ||
| 75 | - int _flags2:24; | ||
| 76 | - /* Fallback buffer to use when malloc fails to allocate one. */ | ||
| 77 | - char _short_backupbuf[1]; | ||
| 78 | - __off_t _old_offset; /* This used to be _offset but it's too small. */ | ||
| 79 | - | ||
| 80 | - /* 1+column number of pbase(); 0 is unknown. */ | ||
| 81 | - unsigned short _cur_column; | ||
| 82 | - signed char _vtable_offset; | ||
| 83 | - char _shortbuf[1]; | ||
| 84 | - | ||
| 85 | - _IO_lock_t *_lock; | ||
| 86 | -#ifdef _IO_USE_OLD_IO_FILE | ||
| 87 | -}; | ||
| 88 | - | ||
| 89 | -struct _IO_FILE_complete | ||
| 90 | -{ | ||
| 91 | - struct _IO_FILE _file; | ||
| 92 | -#endif | ||
| 93 | - __off64_t _offset; | ||
| 94 | - /* Wide character stream stuff. */ | ||
| 95 | - struct _IO_codecvt *_codecvt; | ||
| 96 | - struct _IO_wide_data *_wide_data; | ||
| 97 | - struct _IO_FILE *_freeres_list; | ||
| 98 | - void *_freeres_buf; | ||
| 99 | - struct _IO_FILE **_prevchain; | ||
| 100 | - int _mode; | ||
| 101 | -#if __WORDSIZE == 64 | ||
| 102 | - int _unused3; | ||
| 103 | -#endif | ||
| 104 | - __uint64_t _total_written; | ||
| 105 | -#if __WORDSIZE == 32 | ||
| 106 | - int _unused3; | ||
| 107 | -#endif | ||
| 108 | - /* Make sure we don't get into trouble again. */ | ||
| 109 | - char _unused2[12 * sizeof (int) - 5 * sizeof (void *)]; | ||
| 110 | -}; | ||
| 111 | - | ||
| 112 | -/* These macros are used by bits/stdio.h and internal headers. */ | ||
| 113 | -#define __getc_unlocked_body(_fp) \ | ||
| 114 | - (__glibc_unlikely ((_fp)->_IO_read_ptr >= (_fp)->_IO_read_end) \ | ||
| 115 | - ? __uflow (_fp) : *(unsigned char *) (_fp)->_IO_read_ptr++) | ||
| 116 | - | ||
| 117 | -#define __putc_unlocked_body(_ch, _fp) \ | ||
| 118 | - (__glibc_unlikely ((_fp)->_IO_write_ptr >= (_fp)->_IO_write_end) \ | ||
| 119 | - ? __overflow (_fp, (unsigned char) (_ch)) \ | ||
| 120 | - : (unsigned char) (*(_fp)->_IO_write_ptr++ = (_ch))) | ||
| 121 | - | ||
| 122 | -#define _IO_EOF_SEEN 0x0010 | ||
| 123 | -#define __feof_unlocked_body(_fp) (((_fp)->_flags & _IO_EOF_SEEN) != 0) | ||
| 124 | - | ||
| 125 | -#define _IO_ERR_SEEN 0x0020 | ||
| 126 | -#define __ferror_unlocked_body(_fp) (((_fp)->_flags & _IO_ERR_SEEN) != 0) | ||
| 127 | - | ||
| 128 | -#define _IO_USER_LOCK 0x8000 | ||
| 129 | -/* Many more flag bits are defined internally. */ | ||
| 130 | - | ||
| 131 | -#endif | ||
+0 −0 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@types@struct_FILE.h.blob deleted file mode 100644, Binary files a/.ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@types@struct_FILE.h.blob and /dev/null differ Large diff collapsed, click to expand
+0 −33 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@types@struct_timespec.h deleted file mode 100644 Large diff collapsed, click to expand
| @@ -1,33 +0,0 @@ | |||
| 1 | -/* NB: Include guard matches what <linux/time.h> uses. */ | ||
| 2 | -#ifndef _STRUCT_TIMESPEC | ||
| 3 | -#define _STRUCT_TIMESPEC 1 | ||
| 4 | - | ||
| 5 | -#include <bits/types.h> | ||
| 6 | -#include <bits/endian.h> | ||
| 7 | -#include <bits/types/time_t.h> | ||
| 8 | - | ||
| 9 | -/* POSIX.1b structure for a time value. This is like a `struct timeval' but | ||
| 10 | - has nanoseconds instead of microseconds. */ | ||
| 11 | -struct timespec | ||
| 12 | -{ | ||
| 13 | -#ifdef __USE_TIME64_REDIRECTS | ||
| 14 | - __time64_t tv_sec; /* Seconds. */ | ||
| 15 | -#else | ||
| 16 | - __time_t tv_sec; /* Seconds. */ | ||
| 17 | -#endif | ||
| 18 | -#if __WORDSIZE == 64 \ | ||
| 19 | - || (defined __SYSCALL_WORDSIZE && __SYSCALL_WORDSIZE == 64) \ | ||
| 20 | - || (__TIMESIZE == 32 && !defined __USE_TIME64_REDIRECTS) | ||
| 21 | - __syscall_slong_t tv_nsec; /* Nanoseconds. */ | ||
| 22 | -#else | ||
| 23 | -# if __BYTE_ORDER == __BIG_ENDIAN | ||
| 24 | - int: 32; /* Padding. */ | ||
| 25 | - long int tv_nsec; /* Nanoseconds. */ | ||
| 26 | -# else | ||
| 27 | - long int tv_nsec; /* Nanoseconds. */ | ||
| 28 | - int: 32; /* Padding. */ | ||
| 29 | -# endif | ||
| 30 | -#endif | ||
| 31 | -}; | ||
| 32 | - | ||
| 33 | -#endif | ||
+0 −0 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@types@struct_timespec.h.blob deleted file mode 100644, Binary files a/.ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@types@struct_timespec.h.blob and /dev/null differ Large diff collapsed, click to expand
+0 −18 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@types@struct_timeval.h deleted file mode 100644 Large diff collapsed, click to expand
| @@ -1,18 +0,0 @@ | |||
| 1 | -#ifndef __timeval_defined | ||
| 2 | -#define __timeval_defined 1 | ||
| 3 | - | ||
| 4 | -#include <bits/types.h> | ||
| 5 | - | ||
| 6 | -/* A time value that is accurate to the nearest | ||
| 7 | - microsecond but also has a range of years. */ | ||
| 8 | -struct timeval | ||
| 9 | -{ | ||
| 10 | -#ifdef __USE_TIME64_REDIRECTS | ||
| 11 | - __time64_t tv_sec; /* Seconds. */ | ||
| 12 | - __suseconds64_t tv_usec; /* Microseconds. */ | ||
| 13 | -#else | ||
| 14 | - __time_t tv_sec; /* Seconds. */ | ||
| 15 | - __suseconds_t tv_usec; /* Microseconds. */ | ||
| 16 | -#endif | ||
| 17 | -}; | ||
| 18 | -#endif | ||
+0 −0 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@types@struct_timeval.h.blob deleted file mode 100644, Binary files a/.ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@types@struct_timeval.h.blob and /dev/null differ Large diff collapsed, click to expand
+0 −13 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@types@time_t.h deleted file mode 100644 Large diff collapsed, click to expand
| @@ -1,13 +0,0 @@ | |||
| 1 | -#ifndef __time_t_defined | ||
| 2 | -#define __time_t_defined 1 | ||
| 3 | - | ||
| 4 | -#include <bits/types.h> | ||
| 5 | - | ||
| 6 | -/* Returned by `time'. */ | ||
| 7 | -#ifdef __USE_TIME64_REDIRECTS | ||
| 8 | -typedef __time64_t time_t; | ||
| 9 | -#else | ||
| 10 | -typedef __time_t time_t; | ||
| 11 | -#endif | ||
| 12 | - | ||
| 13 | -#endif | ||
+0 −0 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@types@time_t.h.blob deleted file mode 100644, Binary files a/.ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@types@time_t.h.blob and /dev/null differ Large diff collapsed, click to expand
+0 −9 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@types@timer_t.h deleted file mode 100644 Large diff collapsed, click to expand
| @@ -1,9 +0,0 @@ | |||
| 1 | -#ifndef __timer_t_defined | ||
| 2 | -#define __timer_t_defined 1 | ||
| 3 | - | ||
| 4 | -#include <bits/types.h> | ||
| 5 | - | ||
| 6 | -/* Timer ID returned by `timer_create'. */ | ||
| 7 | -typedef __timer_t timer_t; | ||
| 8 | - | ||
| 9 | -#endif | ||
+0 −0 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@types@timer_t.h.blob deleted file mode 100644, Binary files a/.ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@types@timer_t.h.blob and /dev/null differ Large diff collapsed, click to expand
+0 −106 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@typesizes.h deleted file mode 100644 Large diff collapsed, click to expand
| @@ -1,106 +0,0 @@ | |||
| 1 | -/* bits/typesizes.h -- underlying types for *_t. Linux/x86-64 version. | ||
| 2 | - Copyright (C) 2012-2025 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_TYPES_H | ||
| 20 | -# error "Never include <bits/typesizes.h> directly; use <sys/types.h> instead." | ||
| 21 | -#endif | ||
| 22 | - | ||
| 23 | -#ifndef _BITS_TYPESIZES_H | ||
| 24 | -#define _BITS_TYPESIZES_H 1 | ||
| 25 | - | ||
| 26 | -/* See <bits/types.h> for the meaning of these macros. This file exists so | ||
| 27 | - that <bits/types.h> need not vary across different GNU platforms. */ | ||
| 28 | - | ||
| 29 | -/* X32 kernel interface is 64-bit. */ | ||
| 30 | -#if defined __x86_64__ && defined __ILP32__ | ||
| 31 | -# define __SYSCALL_SLONG_TYPE __SQUAD_TYPE | ||
| 32 | -# define __SYSCALL_ULONG_TYPE __UQUAD_TYPE | ||
| 33 | -#else | ||
| 34 | -# define __SYSCALL_SLONG_TYPE __SLONGWORD_TYPE | ||
| 35 | -# define __SYSCALL_ULONG_TYPE __ULONGWORD_TYPE | ||
| 36 | -#endif | ||
| 37 | - | ||
| 38 | -#define __DEV_T_TYPE __UQUAD_TYPE | ||
| 39 | -#define __UID_T_TYPE __U32_TYPE | ||
| 40 | -#define __GID_T_TYPE __U32_TYPE | ||
| 41 | -#define __INO_T_TYPE __SYSCALL_ULONG_TYPE | ||
| 42 | -#define __INO64_T_TYPE __UQUAD_TYPE | ||
| 43 | -#define __MODE_T_TYPE __U32_TYPE | ||
| 44 | -#ifdef __x86_64__ | ||
| 45 | -# define __NLINK_T_TYPE __SYSCALL_ULONG_TYPE | ||
| 46 | -# define __FSWORD_T_TYPE __SYSCALL_SLONG_TYPE | ||
| 47 | -#else | ||
| 48 | -# define __NLINK_T_TYPE __UWORD_TYPE | ||
| 49 | -# define __FSWORD_T_TYPE __SWORD_TYPE | ||
| 50 | -#endif | ||
| 51 | -#define __OFF_T_TYPE __SYSCALL_SLONG_TYPE | ||
| 52 | -#define __OFF64_T_TYPE __SQUAD_TYPE | ||
| 53 | -#define __PID_T_TYPE __S32_TYPE | ||
| 54 | -#define __RLIM_T_TYPE __SYSCALL_ULONG_TYPE | ||
| 55 | -#define __RLIM64_T_TYPE __UQUAD_TYPE | ||
| 56 | -#define __BLKCNT_T_TYPE __SYSCALL_SLONG_TYPE | ||
| 57 | -#define __BLKCNT64_T_TYPE __SQUAD_TYPE | ||
| 58 | -#define __FSBLKCNT_T_TYPE __SYSCALL_ULONG_TYPE | ||
| 59 | -#define __FSBLKCNT64_T_TYPE __UQUAD_TYPE | ||
| 60 | -#define __FSFILCNT_T_TYPE __SYSCALL_ULONG_TYPE | ||
| 61 | -#define __FSFILCNT64_T_TYPE __UQUAD_TYPE | ||
| 62 | -#define __ID_T_TYPE __U32_TYPE | ||
| 63 | -#define __CLOCK_T_TYPE __SYSCALL_SLONG_TYPE | ||
| 64 | -#define __TIME_T_TYPE __SYSCALL_SLONG_TYPE | ||
| 65 | -#define __USECONDS_T_TYPE __U32_TYPE | ||
| 66 | -#define __SUSECONDS_T_TYPE __SYSCALL_SLONG_TYPE | ||
| 67 | -#define __SUSECONDS64_T_TYPE __SQUAD_TYPE | ||
| 68 | -#define __DADDR_T_TYPE __S32_TYPE | ||
| 69 | -#define __KEY_T_TYPE __S32_TYPE | ||
| 70 | -#define __CLOCKID_T_TYPE __S32_TYPE | ||
| 71 | -#define __TIMER_T_TYPE void * | ||
| 72 | -#define __BLKSIZE_T_TYPE __SYSCALL_SLONG_TYPE | ||
| 73 | -#define __FSID_T_TYPE struct { int __val[2]; } | ||
| 74 | -#define __SSIZE_T_TYPE __SWORD_TYPE | ||
| 75 | -#define __CPU_MASK_TYPE __SYSCALL_ULONG_TYPE | ||
| 76 | - | ||
| 77 | -#ifdef __x86_64__ | ||
| 78 | -/* Tell the libc code that off_t and off64_t are actually the same type | ||
| 79 | - for all ABI purposes, even if possibly expressed as different base types | ||
| 80 | - for C type-checking purposes. */ | ||
| 81 | -# define __OFF_T_MATCHES_OFF64_T 1 | ||
| 82 | - | ||
| 83 | -/* Same for ino_t and ino64_t. */ | ||
| 84 | -# define __INO_T_MATCHES_INO64_T 1 | ||
| 85 | - | ||
| 86 | -/* And for __rlim_t and __rlim64_t. */ | ||
| 87 | -# define __RLIM_T_MATCHES_RLIM64_T 1 | ||
| 88 | - | ||
| 89 | -/* And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t. */ | ||
| 90 | -# define __STATFS_MATCHES_STATFS64 1 | ||
| 91 | - | ||
| 92 | -/* And for getitimer, setitimer and rusage */ | ||
| 93 | -# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 1 | ||
| 94 | -#else | ||
| 95 | -# define __RLIM_T_MATCHES_RLIM64_T 0 | ||
| 96 | - | ||
| 97 | -# define __STATFS_MATCHES_STATFS64 0 | ||
| 98 | - | ||
| 99 | -# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 0 | ||
| 100 | -#endif | ||
| 101 | - | ||
| 102 | -/* Number of descriptors that can fit in an `fd_set'. */ | ||
| 103 | -#define __FD_SETSIZE 1024 | ||
| 104 | - | ||
| 105 | - | ||
| 106 | -#endif /* bits/typesizes.h */ | ||
+0 −0 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@typesizes.h.blob deleted file mode 100644, Binary files a/.ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@typesizes.h.blob and /dev/null differ Large diff collapsed, click to expand
+0 −50 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@uintn-identity.h deleted file mode 100644 Large diff collapsed, click to expand
| @@ -1,50 +0,0 @@ | |||
| 1 | -/* Inline functions to return unsigned integer values unchanged. | ||
| 2 | - Copyright (C) 2017-2025 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 | -#if !defined _NETINET_IN_H && !defined _ENDIAN_H | ||
| 20 | -# error "Never use <bits/uintn-identity.h> directly; include <netinet/in.h> or <endian.h> instead." | ||
| 21 | -#endif | ||
| 22 | - | ||
| 23 | -#ifndef _BITS_UINTN_IDENTITY_H | ||
| 24 | -#define _BITS_UINTN_IDENTITY_H 1 | ||
| 25 | - | ||
| 26 | -#include <bits/types.h> | ||
| 27 | - | ||
| 28 | -/* These inline functions are to ensure the appropriate type | ||
| 29 | - conversions and associated diagnostics from macros that convert to | ||
| 30 | - a given endianness. */ | ||
| 31 | - | ||
| 32 | -static __inline __uint16_t | ||
| 33 | -__uint16_identity (__uint16_t __x) | ||
| 34 | -{ | ||
| 35 | - return __x; | ||
| 36 | -} | ||
| 37 | - | ||
| 38 | -static __inline __uint32_t | ||
| 39 | -__uint32_identity (__uint32_t __x) | ||
| 40 | -{ | ||
| 41 | - return __x; | ||
| 42 | -} | ||
| 43 | - | ||
| 44 | -static __inline __uint64_t | ||
| 45 | -__uint64_identity (__uint64_t __x) | ||
| 46 | -{ | ||
| 47 | - return __x; | ||
| 48 | -} | ||
| 49 | - | ||
| 50 | -#endif /* _BITS_UINTN_IDENTITY_H. */ | ||
+0 −0 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@uintn-identity.h.blob deleted file mode 100644, Binary files a/.ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@uintn-identity.h.blob and /dev/null differ Large diff collapsed, click to expand
+0 −28 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@utsname.h deleted file mode 100644 Large diff collapsed, click to expand
| @@ -1,28 +0,0 @@ | |||
| 1 | -/* Copyright (C) 1995-2025 Free Software Foundation, Inc. | ||
| 2 | - This file is part of the GNU C Library. | ||
| 3 | - | ||
| 4 | - The GNU C Library is free software; you can redistribute it and/or | ||
| 5 | - modify it under the terms of the GNU Lesser General Public | ||
| 6 | - License as published by the Free Software Foundation; either | ||
| 7 | - version 2.1 of the License, or (at your option) any later version. | ||
| 8 | - | ||
| 9 | - The GNU C Library is distributed in the hope that it will be useful, | ||
| 10 | - but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 11 | - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
| 12 | - Lesser General Public License for more details. | ||
| 13 | - | ||
| 14 | - You should have received a copy of the GNU Lesser General Public | ||
| 15 | - License along with the GNU C Library; if not, see | ||
| 16 | - <https://www.gnu.org/licenses/>. */ | ||
| 17 | - | ||
| 18 | -#ifndef _SYS_UTSNAME_H | ||
| 19 | -# error "Never include <bits/utsname.h> directly; use <sys/utsname.h> instead." | ||
| 20 | -#endif | ||
| 21 | - | ||
| 22 | -/* Length of the entries in `struct utsname' is 65. */ | ||
| 23 | -#define _UTSNAME_LENGTH 65 | ||
| 24 | - | ||
| 25 | -/* Linux provides as additional information in the `struct utsname' | ||
| 26 | - the name of the current domain. Define _UTSNAME_DOMAIN_LENGTH | ||
| 27 | - to a value != 0 to activate this entry. */ | ||
| 28 | -#define _UTSNAME_DOMAIN_LENGTH _UTSNAME_LENGTH | ||
+0 −0 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@utsname.h.blob deleted file mode 100644, Binary files a/.ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@utsname.h.blob and /dev/null differ Large diff collapsed, click to expand
+0 −39 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@waitflags.h deleted file mode 100644 Large diff collapsed, click to expand
| @@ -1,39 +0,0 @@ | |||
| 1 | -/* Definitions of flag bits for `waitpid' et al. | ||
| 2 | - Copyright (C) 1992-2025 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 | -#if !defined _SYS_WAIT_H && !defined _STDLIB_H | ||
| 20 | -# error "Never include <bits/waitflags.h> directly; use <sys/wait.h> instead." | ||
| 21 | -#endif | ||
| 22 | - | ||
| 23 | - | ||
| 24 | -/* Bits in the third argument to `waitpid'. */ | ||
| 25 | -#define WNOHANG 1 /* Don't block waiting. */ | ||
| 26 | -#define WUNTRACED 2 /* Report status of stopped children. */ | ||
| 27 | - | ||
| 28 | -/* Bits in the fourth argument to `waitid'. */ | ||
| 29 | -#if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8 | ||
| 30 | -# define WSTOPPED 2 /* Report stopped child (same as WUNTRACED). */ | ||
| 31 | -# define WEXITED 4 /* Report dead child. */ | ||
| 32 | -# define WCONTINUED 8 /* Report continued child. */ | ||
| 33 | -# define WNOWAIT 0x01000000 /* Don't reap, just poll status. */ | ||
| 34 | -#endif | ||
| 35 | - | ||
| 36 | -#define __WNOTHREAD 0x20000000 /* Don't wait on children of other threads | ||
| 37 | - in this group */ | ||
| 38 | -#define __WALL 0x40000000 /* Wait for any child. */ | ||
| 39 | -#define __WCLONE 0x80000000 /* Wait for cloned process. */ | ||
+0 −0 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@waitflags.h.blob deleted file mode 100644, Binary files a/.ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@waitflags.h.blob and /dev/null differ Large diff collapsed, click to expand
+0 −59 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@waitstatus.h deleted file mode 100644 Large diff collapsed, click to expand
| @@ -1,59 +0,0 @@ | |||
| 1 | -/* Definitions of status bits for `wait' et al. | ||
| 2 | - Copyright (C) 1992-2025 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 | -#if !defined _SYS_WAIT_H && !defined _STDLIB_H | ||
| 20 | -# error "Never include <bits/waitstatus.h> directly; use <sys/wait.h> instead." | ||
| 21 | -#endif | ||
| 22 | - | ||
| 23 | - | ||
| 24 | -/* Everything extant so far uses these same bits. */ | ||
| 25 | - | ||
| 26 | - | ||
| 27 | -/* If WIFEXITED(STATUS), the low-order 8 bits of the status. */ | ||
| 28 | -#define __WEXITSTATUS(status) (((status) & 0xff00) >> 8) | ||
| 29 | - | ||
| 30 | -/* If WIFSIGNALED(STATUS), the terminating signal. */ | ||
| 31 | -#define __WTERMSIG(status) ((status) & 0x7f) | ||
| 32 | - | ||
| 33 | -/* If WIFSTOPPED(STATUS), the signal that stopped the child. */ | ||
| 34 | -#define __WSTOPSIG(status) __WEXITSTATUS(status) | ||
| 35 | - | ||
| 36 | -/* Nonzero if STATUS indicates normal termination. */ | ||
| 37 | -#define __WIFEXITED(status) (__WTERMSIG(status) == 0) | ||
| 38 | - | ||
| 39 | -/* Nonzero if STATUS indicates termination by a signal. */ | ||
| 40 | -#define __WIFSIGNALED(status) \ | ||
| 41 | - (((signed char) (((status) & 0x7f) + 1) >> 1) > 0) | ||
| 42 | - | ||
| 43 | -/* Nonzero if STATUS indicates the child is stopped. */ | ||
| 44 | -#define __WIFSTOPPED(status) (((status) & 0xff) == 0x7f) | ||
| 45 | - | ||
| 46 | -/* Nonzero if STATUS indicates the child continued after a stop. We only | ||
| 47 | - define this if <bits/waitflags.h> provides the WCONTINUED flag bit. */ | ||
| 48 | -#ifdef WCONTINUED | ||
| 49 | -# define __WIFCONTINUED(status) ((status) == __W_CONTINUED) | ||
| 50 | -#endif | ||
| 51 | - | ||
| 52 | -/* Nonzero if STATUS indicates the child dumped core. */ | ||
| 53 | -#define __WCOREDUMP(status) ((status) & __WCOREFLAG) | ||
| 54 | - | ||
| 55 | -/* Macros for constructing status values. */ | ||
| 56 | -#define __W_EXITCODE(ret, sig) ((ret) << 8 | (sig)) | ||
| 57 | -#define __W_STOPCODE(sig) ((sig) << 8 | 0x7f) | ||
| 58 | -#define __W_CONTINUED 0xffff | ||
| 59 | -#define __WCOREFLAG 0x80 | ||
+0 −0 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@waitstatus.h.blob deleted file mode 100644, Binary files a/.ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@waitstatus.h.blob and /dev/null differ Large diff collapsed, click to expand
+0 −16 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@wordsize.h deleted file mode 100644 Large diff collapsed, click to expand
| @@ -1,16 +0,0 @@ | |||
| 1 | -/* Determine the wordsize from the preprocessor defines. */ | ||
| 2 | - | ||
| 3 | -#if defined __x86_64__ && !defined __ILP32__ | ||
| 4 | -# define __WORDSIZE 64 | ||
| 5 | -#else | ||
| 6 | -# define __WORDSIZE 32 | ||
| 7 | -#define __WORDSIZE32_SIZE_ULONG 0 | ||
| 8 | -#define __WORDSIZE32_PTRDIFF_LONG 0 | ||
| 9 | -#endif | ||
| 10 | - | ||
| 11 | -#define __WORDSIZE_TIME64_COMPAT32 1 | ||
| 12 | - | ||
| 13 | -#ifdef __x86_64__ | ||
| 14 | -/* Both x86-64 and x32 use the 64-bit system call interface. */ | ||
| 15 | -# define __SYSCALL_WORDSIZE 64 | ||
| 16 | -#endif | ||
+0 −0 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@wordsize.h.blob deleted file mode 100644, Binary files a/.ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@bits@wordsize.h.blob and /dev/null differ Large diff collapsed, click to expand
+0 −72 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@endian.h deleted file mode 100644 Large diff collapsed, click to expand
| @@ -1,72 +0,0 @@ | |||
| 1 | -/* Copyright (C) 1992-2025 Free Software Foundation, Inc. | ||
| 2 | - This file is part of the GNU C Library. | ||
| 3 | - | ||
| 4 | - The GNU C Library is free software; you can redistribute it and/or | ||
| 5 | - modify it under the terms of the GNU Lesser General Public | ||
| 6 | - License as published by the Free Software Foundation; either | ||
| 7 | - version 2.1 of the License, or (at your option) any later version. | ||
| 8 | - | ||
| 9 | - The GNU C Library is distributed in the hope that it will be useful, | ||
| 10 | - but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 11 | - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
| 12 | - Lesser General Public License for more details. | ||
| 13 | - | ||
| 14 | - You should have received a copy of the GNU Lesser General Public | ||
| 15 | - License along with the GNU C Library; if not, see | ||
| 16 | - <https://www.gnu.org/licenses/>. */ | ||
| 17 | - | ||
| 18 | -#ifndef _ENDIAN_H | ||
| 19 | -#define _ENDIAN_H 1 | ||
| 20 | - | ||
| 21 | -#include <features.h> | ||
| 22 | - | ||
| 23 | -/* Get the definitions of __*_ENDIAN, __BYTE_ORDER, and __FLOAT_WORD_ORDER. */ | ||
| 24 | -#include <bits/endian.h> | ||
| 25 | - | ||
| 26 | -#ifdef __USE_MISC | ||
| 27 | -# define LITTLE_ENDIAN __LITTLE_ENDIAN | ||
| 28 | -# define BIG_ENDIAN __BIG_ENDIAN | ||
| 29 | -# define PDP_ENDIAN __PDP_ENDIAN | ||
| 30 | -# define BYTE_ORDER __BYTE_ORDER | ||
| 31 | -#endif | ||
| 32 | - | ||
| 33 | -#if defined __USE_MISC && !defined __ASSEMBLER__ | ||
| 34 | -/* Conversion interfaces. */ | ||
| 35 | -# include <bits/byteswap.h> | ||
| 36 | -# include <bits/uintn-identity.h> | ||
| 37 | - | ||
| 38 | -# if __BYTE_ORDER == __LITTLE_ENDIAN | ||
| 39 | -# define htobe16(x) __bswap_16 (x) | ||
| 40 | -# define htole16(x) __uint16_identity (x) | ||
| 41 | -# define be16toh(x) __bswap_16 (x) | ||
| 42 | -# define le16toh(x) __uint16_identity (x) | ||
| 43 | - | ||
| 44 | -# define htobe32(x) __bswap_32 (x) | ||
| 45 | -# define htole32(x) __uint32_identity (x) | ||
| 46 | -# define be32toh(x) __bswap_32 (x) | ||
| 47 | -# define le32toh(x) __uint32_identity (x) | ||
| 48 | - | ||
| 49 | -# define htobe64(x) __bswap_64 (x) | ||
| 50 | -# define htole64(x) __uint64_identity (x) | ||
| 51 | -# define be64toh(x) __bswap_64 (x) | ||
| 52 | -# define le64toh(x) __uint64_identity (x) | ||
| 53 | - | ||
| 54 | -# else | ||
| 55 | -# define htobe16(x) __uint16_identity (x) | ||
| 56 | -# define htole16(x) __bswap_16 (x) | ||
| 57 | -# define be16toh(x) __uint16_identity (x) | ||
| 58 | -# define le16toh(x) __bswap_16 (x) | ||
| 59 | - | ||
| 60 | -# define htobe32(x) __uint32_identity (x) | ||
| 61 | -# define htole32(x) __bswap_32 (x) | ||
| 62 | -# define be32toh(x) __uint32_identity (x) | ||
| 63 | -# define le32toh(x) __bswap_32 (x) | ||
| 64 | - | ||
| 65 | -# define htobe64(x) __uint64_identity (x) | ||
| 66 | -# define htole64(x) __bswap_64 (x) | ||
| 67 | -# define be64toh(x) __uint64_identity (x) | ||
| 68 | -# define le64toh(x) __bswap_64 (x) | ||
| 69 | -# endif | ||
| 70 | -#endif | ||
| 71 | - | ||
| 72 | -#endif /* endian.h */ | ||
+0 −0 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@endian.h.blob deleted file mode 100644, Binary files a/.ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@endian.h.blob and /dev/null differ Large diff collapsed, click to expand
+0 −42 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@features-time64.h deleted file mode 100644 Large diff collapsed, click to expand
| @@ -1,42 +0,0 @@ | |||
| 1 | -/* Features part to handle 64-bit time_t support. | ||
| 2 | - Copyright (C) 2021-2025 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 | -/* We need to know the word size in order to check the time size. */ | ||
| 20 | -#include <bits/wordsize.h> | ||
| 21 | -#include <bits/timesize.h> | ||
| 22 | - | ||
| 23 | -#if defined _TIME_BITS | ||
| 24 | -# if _TIME_BITS == 64 | ||
| 25 | -# if ! defined (_FILE_OFFSET_BITS) || _FILE_OFFSET_BITS != 64 | ||
| 26 | -# error "_TIME_BITS=64 is allowed only with _FILE_OFFSET_BITS=64" | ||
| 27 | -# endif | ||
| 28 | -# define __USE_TIME_BITS64 1 | ||
| 29 | -# elif _TIME_BITS == 32 | ||
| 30 | -# if __TIMESIZE > 32 | ||
| 31 | -# error "_TIME_BITS=32 is not compatible with __TIMESIZE > 32" | ||
| 32 | -# endif | ||
| 33 | -# else | ||
| 34 | -# error Invalid _TIME_BITS value (can only be 32 or 64-bit) | ||
| 35 | -# endif | ||
| 36 | -#elif __TIMESIZE == 64 | ||
| 37 | -# define __USE_TIME_BITS64 1 | ||
| 38 | -#endif | ||
| 39 | - | ||
| 40 | -#if defined __USE_TIME_BITS64 && __TIMESIZE == 32 | ||
| 41 | -# define __USE_TIME64_REDIRECTS 1 | ||
| 42 | -#endif | ||
+0 −0 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@features-time64.h.blob deleted file mode 100644, Binary files a/.ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@features-time64.h.blob and /dev/null differ Large diff collapsed, click to expand
+0 −551 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@features.h deleted file mode 100644 Large diff collapsed, click to expand
| @@ -1,551 +0,0 @@ | |||
| 1 | -/* Copyright (C) 1991-2025 Free Software Foundation, Inc. | ||
| 2 | - This file is part of the GNU C Library. | ||
| 3 | - | ||
| 4 | - The GNU C Library is free software; you can redistribute it and/or | ||
| 5 | - modify it under the terms of the GNU Lesser General Public | ||
| 6 | - License as published by the Free Software Foundation; either | ||
| 7 | - version 2.1 of the License, or (at your option) any later version. | ||
| 8 | - | ||
| 9 | - The GNU C Library is distributed in the hope that it will be useful, | ||
| 10 | - but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 11 | - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
| 12 | - Lesser General Public License for more details. | ||
| 13 | - | ||
| 14 | - You should have received a copy of the GNU Lesser General Public | ||
| 15 | - License along with the GNU C Library; if not, see | ||
| 16 | - <https://www.gnu.org/licenses/>. */ | ||
| 17 | - | ||
| 18 | -#ifndef _FEATURES_H | ||
| 19 | -#define _FEATURES_H 1 | ||
| 20 | - | ||
| 21 | -/* These are defined by the user (or the compiler) | ||
| 22 | - to specify the desired environment: | ||
| 23 | - | ||
| 24 | - __STRICT_ANSI__ ISO Standard C. | ||
| 25 | - _ISOC99_SOURCE Extensions to ISO C89 from ISO C99. | ||
| 26 | - _ISOC11_SOURCE Extensions to ISO C99 from ISO C11. | ||
| 27 | - _ISOC23_SOURCE Extensions to ISO C99 from ISO C23. | ||
| 28 | - _ISOC2X_SOURCE Old name for _ISOC23_SOURCE. | ||
| 29 | - _ISOC2Y_SOURCE Extensions to ISO C23 from ISO C2Y. | ||
| 30 | - __STDC_WANT_LIB_EXT2__ | ||
| 31 | - Extensions to ISO C99 from TR 27431-2:2010. | ||
| 32 | - __STDC_WANT_IEC_60559_BFP_EXT__ | ||
| 33 | - Extensions to ISO C11 from TS 18661-1:2014. | ||
| 34 | - __STDC_WANT_IEC_60559_FUNCS_EXT__ | ||
| 35 | - Extensions to ISO C11 from TS 18661-4:2015. | ||
| 36 | - __STDC_WANT_IEC_60559_TYPES_EXT__ | ||
| 37 | - Extensions to ISO C11 from TS 18661-3:2015. | ||
| 38 | - __STDC_WANT_IEC_60559_EXT__ | ||
| 39 | - ISO C23 interfaces defined only in Annex F. | ||
| 40 | - | ||
| 41 | - _POSIX_SOURCE IEEE Std 1003.1. | ||
| 42 | - _POSIX_C_SOURCE If ==1, like _POSIX_SOURCE; if >=2 add IEEE Std 1003.2; | ||
| 43 | - if >=199309L, add IEEE Std 1003.1b-1993; | ||
| 44 | - if >=199506L, add IEEE Std 1003.1c-1995; | ||
| 45 | - if >=200112L, all of IEEE 1003.1-2004 | ||
| 46 | - if >=200809L, all of IEEE 1003.1-2008 | ||
| 47 | - _XOPEN_SOURCE Includes POSIX and XPG things. Set to 500 if | ||
| 48 | - Single Unix conformance is wanted, to 600 for the | ||
| 49 | - sixth revision, to 700 for the seventh revision. | ||
| 50 | - _XOPEN_SOURCE_EXTENDED XPG things and X/Open Unix extensions. | ||
| 51 | - _LARGEFILE_SOURCE Some more functions for correct standard I/O. | ||
| 52 | - _LARGEFILE64_SOURCE Additional functionality from LFS for large files. | ||
| 53 | - _FILE_OFFSET_BITS=N Select default filesystem interface. | ||
| 54 | - _ATFILE_SOURCE Additional *at interfaces. | ||
| 55 | - _DYNAMIC_STACK_SIZE_SOURCE Select correct (but non compile-time constant) | ||
| 56 | - MINSIGSTKSZ, SIGSTKSZ and PTHREAD_STACK_MIN. | ||
| 57 | - _GNU_SOURCE All of the above, plus GNU extensions. | ||
| 58 | - _DEFAULT_SOURCE The default set of features (taking precedence over | ||
| 59 | - __STRICT_ANSI__). | ||
| 60 | - | ||
| 61 | - _FORTIFY_SOURCE Add security hardening to many library functions. | ||
| 62 | - Set to 1, 2 or 3; 3 performs stricter checks than 2, which | ||
| 63 | - performs stricter checks than 1. | ||
| 64 | - | ||
| 65 | - _REENTRANT, _THREAD_SAFE | ||
| 66 | - Obsolete; equivalent to _POSIX_C_SOURCE=199506L. | ||
| 67 | - | ||
| 68 | - The `-ansi' switch to the GNU C compiler, and standards conformance | ||
| 69 | - options such as `-std=c99', define __STRICT_ANSI__. If none of | ||
| 70 | - these are defined, or if _DEFAULT_SOURCE is defined, the default is | ||
| 71 | - to have _POSIX_SOURCE set to one and _POSIX_C_SOURCE set to | ||
| 72 | - 200809L, as well as enabling miscellaneous functions from BSD and | ||
| 73 | - SVID. If more than one of these are defined, they accumulate. For | ||
| 74 | - example __STRICT_ANSI__, _POSIX_SOURCE and _POSIX_C_SOURCE together | ||
| 75 | - give you ISO C, 1003.1, and 1003.2, but nothing else. | ||
| 76 | - | ||
| 77 | - These are defined by this file and are used by the | ||
| 78 | - header files to decide what to declare or define: | ||
| 79 | - | ||
| 80 | - __GLIBC_USE (F) Define things from feature set F. This is defined | ||
| 81 | - to 1 or 0; the subsequent macros are either defined | ||
| 82 | - or undefined, and those tests should be moved to | ||
| 83 | - __GLIBC_USE. | ||
| 84 | - __USE_ISOC11 Define ISO C11 things. | ||
| 85 | - __USE_ISOC99 Define ISO C99 things. | ||
| 86 | - __USE_ISOC95 Define ISO C90 AMD1 (C95) things. | ||
| 87 | - __USE_ISOCXX11 Define ISO C++11 things. | ||
| 88 | - __USE_POSIX Define IEEE Std 1003.1 things. | ||
| 89 | - __USE_POSIX2 Define IEEE Std 1003.2 things. | ||
| 90 | - __USE_POSIX199309 Define IEEE Std 1003.1, and .1b things. | ||
| 91 | - __USE_POSIX199506 Define IEEE Std 1003.1, .1b, .1c and .1i things. | ||
| 92 | - __USE_XOPEN Define XPG things. | ||
| 93 | - __USE_XOPEN_EXTENDED Define X/Open Unix things. | ||
| 94 | - __USE_UNIX98 Define Single Unix V2 things. | ||
| 95 | - __USE_XOPEN2K Define XPG6 things. | ||
| 96 | - __USE_XOPEN2KXSI Define XPG6 XSI things. | ||
| 97 | - __USE_XOPEN2K8 Define XPG7 things. | ||
| 98 | - __USE_XOPEN2K8XSI Define XPG7 XSI things. | ||
| 99 | - __USE_LARGEFILE Define correct standard I/O things. | ||
| 100 | - __USE_LARGEFILE64 Define LFS things with separate names. | ||
| 101 | - __USE_FILE_OFFSET64 Define 64bit interface as default. | ||
| 102 | - __USE_MISC Define things from 4.3BSD or System V Unix. | ||
| 103 | - __USE_ATFILE Define *at interfaces and AT_* constants for them. | ||
| 104 | - __USE_DYNAMIC_STACK_SIZE Define correct (but non compile-time constant) | ||
| 105 | - MINSIGSTKSZ, SIGSTKSZ and PTHREAD_STACK_MIN. | ||
| 106 | - __USE_GNU Define GNU extensions. | ||
| 107 | - __USE_FORTIFY_LEVEL Additional security measures used, according to level. | ||
| 108 | - | ||
| 109 | - The macros `__GNU_LIBRARY__', `__GLIBC__', and `__GLIBC_MINOR__' are | ||
| 110 | - defined by this file unconditionally. `__GNU_LIBRARY__' is provided | ||
| 111 | - only for compatibility. All new code should use the other symbols | ||
| 112 | - to test for features. | ||
| 113 | - | ||
| 114 | - All macros listed above as possibly being defined by this file are | ||
| 115 | - explicitly undefined if they are not explicitly defined. | ||
| 116 | - Feature-test macros that are not defined by the user or compiler | ||
| 117 | - but are implied by the other feature-test macros defined (or by the | ||
| 118 | - lack of any definitions) are defined by the file. | ||
| 119 | - | ||
| 120 | - ISO C feature test macros depend on the definition of the macro | ||
| 121 | - when an affected header is included, not when the first system | ||
| 122 | - header is included, and so they are handled in | ||
| 123 | - <bits/libc-header-start.h>, which does not have a multiple include | ||
| 124 | - guard. Feature test macros that can be handled from the first | ||
| 125 | - system header included are handled here. */ | ||
| 126 | - | ||
| 127 | - | ||
| 128 | -/* Undefine everything, so we get a clean slate. */ | ||
| 129 | -#undef __USE_ISOC11 | ||
| 130 | -#undef __USE_ISOC99 | ||
| 131 | -#undef __USE_ISOC95 | ||
| 132 | -#undef __USE_ISOCXX11 | ||
| 133 | -#undef __USE_POSIX | ||
| 134 | -#undef __USE_POSIX2 | ||
| 135 | -#undef __USE_POSIX199309 | ||
| 136 | -#undef __USE_POSIX199506 | ||
| 137 | -#undef __USE_XOPEN | ||
| 138 | -#undef __USE_XOPEN_EXTENDED | ||
| 139 | -#undef __USE_UNIX98 | ||
| 140 | -#undef __USE_XOPEN2K | ||
| 141 | -#undef __USE_XOPEN2KXSI | ||
| 142 | -#undef __USE_XOPEN2K8 | ||
| 143 | -#undef __USE_XOPEN2K8XSI | ||
| 144 | -#undef __USE_LARGEFILE | ||
| 145 | -#undef __USE_LARGEFILE64 | ||
| 146 | -#undef __USE_FILE_OFFSET64 | ||
| 147 | -#undef __USE_MISC | ||
| 148 | -#undef __USE_ATFILE | ||
| 149 | -#undef __USE_DYNAMIC_STACK_SIZE | ||
| 150 | -#undef __USE_GNU | ||
| 151 | -#undef __USE_FORTIFY_LEVEL | ||
| 152 | -#undef __KERNEL_STRICT_NAMES | ||
| 153 | -#undef __GLIBC_USE_ISOC23 | ||
| 154 | -#undef __GLIBC_USE_ISOC2Y | ||
| 155 | -#undef __GLIBC_USE_DEPRECATED_GETS | ||
| 156 | -#undef __GLIBC_USE_DEPRECATED_SCANF | ||
| 157 | -#undef __GLIBC_USE_C23_STRTOL | ||
| 158 | - | ||
| 159 | -/* Suppress kernel-name space pollution unless user expressedly asks | ||
| 160 | - for it. */ | ||
| 161 | -#ifndef _LOOSE_KERNEL_NAMES | ||
| 162 | -# define __KERNEL_STRICT_NAMES | ||
| 163 | -#endif | ||
| 164 | - | ||
| 165 | -/* Convenience macro to test the version of gcc. | ||
| 166 | - Use like this: | ||
| 167 | - #if __GNUC_PREREQ (2,8) | ||
| 168 | - ... code requiring gcc 2.8 or later ... | ||
| 169 | - #endif | ||
| 170 | - Note: only works for GCC 2.0 and later, because __GNUC_MINOR__ was | ||
| 171 | - added in 2.0. */ | ||
| 172 | -#if defined __GNUC__ && defined __GNUC_MINOR__ | ||
| 173 | -# define __GNUC_PREREQ(maj, min) \ | ||
| 174 | - ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min)) | ||
| 175 | -#else | ||
| 176 | -# define __GNUC_PREREQ(maj, min) 0 | ||
| 177 | -#endif | ||
| 178 | - | ||
| 179 | -/* Similarly for clang. Features added to GCC after version 4.2 may | ||
| 180 | - or may not also be available in clang, and clang's definitions of | ||
| 181 | - __GNUC(_MINOR)__ are fixed at 4 and 2 respectively. Not all such | ||
| 182 | - features can be queried via __has_extension/__has_feature. */ | ||
| 183 | -#if defined __clang_major__ && defined __clang_minor__ | ||
| 184 | -# define __glibc_clang_prereq(maj, min) \ | ||
| 185 | - ((__clang_major__ << 16) + __clang_minor__ >= ((maj) << 16) + (min)) | ||
| 186 | -#else | ||
| 187 | -# define __glibc_clang_prereq(maj, min) 0 | ||
| 188 | -#endif | ||
| 189 | - | ||
| 190 | -/* Whether to use feature set F. */ | ||
| 191 | -#define __GLIBC_USE(F) __GLIBC_USE_ ## F | ||
| 192 | - | ||
| 193 | -/* _BSD_SOURCE and _SVID_SOURCE are deprecated aliases for | ||
| 194 | - _DEFAULT_SOURCE. If _DEFAULT_SOURCE is present we do not | ||
| 195 | - issue a warning; the expectation is that the source is being | ||
| 196 | - transitioned to use the new macro. */ | ||
| 197 | -#if (defined _BSD_SOURCE || defined _SVID_SOURCE) \ | ||
| 198 | - && !defined _DEFAULT_SOURCE | ||
| 199 | -# warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" | ||
| 200 | -# undef _DEFAULT_SOURCE | ||
| 201 | -# define _DEFAULT_SOURCE 1 | ||
| 202 | -#endif | ||
| 203 | - | ||
| 204 | -/* Remap the old name _ISOC2X_SOURCE to _ISOC23_SOURCE. */ | ||
| 205 | -#ifdef _ISOC2X_SOURCE | ||
| 206 | -# undef _ISOC2X_SOURCE | ||
| 207 | -# undef _ISOC23_SOURCE | ||
| 208 | -# define _ISOC23_SOURCE 1 | ||
| 209 | -#endif | ||
| 210 | - | ||
| 211 | -/* If _GNU_SOURCE was defined by the user, turn on all the other features. */ | ||
| 212 | -#ifdef _GNU_SOURCE | ||
| 213 | -# undef _ISOC95_SOURCE | ||
| 214 | -# define _ISOC95_SOURCE 1 | ||
| 215 | -# undef _ISOC99_SOURCE | ||
| 216 | -# define _ISOC99_SOURCE 1 | ||
| 217 | -# undef _ISOC11_SOURCE | ||
| 218 | -# define _ISOC11_SOURCE 1 | ||
| 219 | -# undef _ISOC23_SOURCE | ||
| 220 | -# define _ISOC23_SOURCE 1 | ||
| 221 | -# undef _ISOC2Y_SOURCE | ||
| 222 | -# define _ISOC2Y_SOURCE 1 | ||
| 223 | -# undef _POSIX_SOURCE | ||
| 224 | -# define _POSIX_SOURCE 1 | ||
| 225 | -# undef _POSIX_C_SOURCE | ||
| 226 | -# define _POSIX_C_SOURCE 200809L | ||
| 227 | -# undef _XOPEN_SOURCE | ||
| 228 | -# define _XOPEN_SOURCE 700 | ||
| 229 | -# undef _XOPEN_SOURCE_EXTENDED | ||
| 230 | -# define _XOPEN_SOURCE_EXTENDED 1 | ||
| 231 | -# undef _LARGEFILE64_SOURCE | ||
| 232 | -# define _LARGEFILE64_SOURCE 1 | ||
| 233 | -# undef _DEFAULT_SOURCE | ||
| 234 | -# define _DEFAULT_SOURCE 1 | ||
| 235 | -# undef _ATFILE_SOURCE | ||
| 236 | -# define _ATFILE_SOURCE 1 | ||
| 237 | -# undef _DYNAMIC_STACK_SIZE_SOURCE | ||
| 238 | -# define _DYNAMIC_STACK_SIZE_SOURCE 1 | ||
| 239 | -#endif | ||
| 240 | - | ||
| 241 | -/* If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined, | ||
| 242 | - define _DEFAULT_SOURCE. */ | ||
| 243 | -#if (defined _DEFAULT_SOURCE \ | ||
| 244 | - || (!defined __STRICT_ANSI__ \ | ||
| 245 | - && !defined _ISOC99_SOURCE && !defined _ISOC11_SOURCE \ | ||
| 246 | - && !defined _ISOC23_SOURCE && !defined _ISOC2Y_SOURCE \ | ||
| 247 | - && !defined _POSIX_SOURCE && !defined _POSIX_C_SOURCE \ | ||
| 248 | - && !defined _XOPEN_SOURCE)) | ||
| 249 | -# undef _DEFAULT_SOURCE | ||
| 250 | -# define _DEFAULT_SOURCE 1 | ||
| 251 | -#endif | ||
| 252 | - | ||
| 253 | -/* This is to enable the ISO C2Y extension. */ | ||
| 254 | -#if (defined _ISOC2Y_SOURCE \ | ||
| 255 | - || (defined __STDC_VERSION__ && __STDC_VERSION__ > 202311L)) | ||
| 256 | -# define __GLIBC_USE_ISOC2Y 1 | ||
| 257 | -#else | ||
| 258 | -# define __GLIBC_USE_ISOC2Y 0 | ||
| 259 | -#endif | ||
| 260 | - | ||
| 261 | -/* This is to enable the ISO C23 extension. */ | ||
| 262 | -#if (defined _ISOC23_SOURCE || defined _ISOC2Y_SOURCE \ | ||
| 263 | - || (defined __STDC_VERSION__ && __STDC_VERSION__ > 201710L)) | ||
| 264 | -# define __GLIBC_USE_ISOC23 1 | ||
| 265 | -#else | ||
| 266 | -# define __GLIBC_USE_ISOC23 0 | ||
| 267 | -#endif | ||
| 268 | - | ||
| 269 | -/* This is to enable the ISO C11 extension. */ | ||
| 270 | -#if (defined _ISOC11_SOURCE || defined _ISOC23_SOURCE \ | ||
| 271 | - || defined _ISOC2Y_SOURCE \ | ||
| 272 | - || (defined __STDC_VERSION__ && __STDC_VERSION__ >= 201112L)) | ||
| 273 | -# define __USE_ISOC11 1 | ||
| 274 | -#endif | ||
| 275 | - | ||
| 276 | -/* This is to enable the ISO C99 extension. */ | ||
| 277 | -#if (defined _ISOC99_SOURCE || defined _ISOC11_SOURCE \ | ||
| 278 | - || defined _ISOC23_SOURCE || defined _ISOC2Y_SOURCE \ | ||
| 279 | - || (defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L)) | ||
| 280 | -# define __USE_ISOC99 1 | ||
| 281 | -#endif | ||
| 282 | - | ||
| 283 | -/* This is to enable the ISO C90 Amendment 1:1995 extension. */ | ||
| 284 | -#if (defined _ISOC99_SOURCE || defined _ISOC11_SOURCE \ | ||
| 285 | - || defined _ISOC23_SOURCE || defined _ISOC2Y_SOURCE \ | ||
| 286 | - || (defined __STDC_VERSION__ && __STDC_VERSION__ >= 199409L)) | ||
| 287 | -# define __USE_ISOC95 1 | ||
| 288 | -#endif | ||
| 289 | - | ||
| 290 | -#ifdef __cplusplus | ||
| 291 | -/* This is to enable compatibility for ISO C++17. */ | ||
| 292 | -# if __cplusplus >= 201703L | ||
| 293 | -# define __USE_ISOC11 1 | ||
| 294 | -# endif | ||
| 295 | -/* This is to enable compatibility for ISO C++11. | ||
| 296 | - Check the temporary macro for now, too. */ | ||
| 297 | -# if __cplusplus >= 201103L || defined __GXX_EXPERIMENTAL_CXX0X__ | ||
| 298 | -# define __USE_ISOCXX11 1 | ||
| 299 | -# define __USE_ISOC99 1 | ||
| 300 | -# endif | ||
| 301 | -#endif | ||
| 302 | - | ||
| 303 | -/* If none of the ANSI/POSIX macros are defined, or if _DEFAULT_SOURCE | ||
| 304 | - is defined, use POSIX.1-2008 (or another version depending on | ||
| 305 | - _XOPEN_SOURCE). */ | ||
| 306 | -#ifdef _DEFAULT_SOURCE | ||
| 307 | -# if !defined _POSIX_SOURCE && !defined _POSIX_C_SOURCE | ||
| 308 | -# define __USE_POSIX_IMPLICITLY 1 | ||
| 309 | -# endif | ||
| 310 | -# undef _POSIX_SOURCE | ||
| 311 | -# define _POSIX_SOURCE 1 | ||
| 312 | -# undef _POSIX_C_SOURCE | ||
| 313 | -# define _POSIX_C_SOURCE 200809L | ||
| 314 | -#endif | ||
| 315 | - | ||
| 316 | -#if ((!defined __STRICT_ANSI__ \ | ||
| 317 | - || (defined _XOPEN_SOURCE && (_XOPEN_SOURCE - 0) >= 500)) \ | ||
| 318 | - && !defined _POSIX_SOURCE && !defined _POSIX_C_SOURCE) | ||
| 319 | -# define _POSIX_SOURCE 1 | ||
| 320 | -# if defined _XOPEN_SOURCE && (_XOPEN_SOURCE - 0) < 500 | ||
| 321 | -# define _POSIX_C_SOURCE 2 | ||
| 322 | -# elif defined _XOPEN_SOURCE && (_XOPEN_SOURCE - 0) < 600 | ||
| 323 | -# define _POSIX_C_SOURCE 199506L | ||
| 324 | -# elif defined _XOPEN_SOURCE && (_XOPEN_SOURCE - 0) < 700 | ||
| 325 | -# define _POSIX_C_SOURCE 200112L | ||
| 326 | -# else | ||
| 327 | -# define _POSIX_C_SOURCE 200809L | ||
| 328 | -# endif | ||
| 329 | -# define __USE_POSIX_IMPLICITLY 1 | ||
| 330 | -#endif | ||
| 331 | - | ||
| 332 | -/* Some C libraries once required _REENTRANT and/or _THREAD_SAFE to be | ||
| 333 | - defined in all multithreaded code. GNU libc has not required this | ||
| 334 | - for many years. We now treat them as compatibility synonyms for | ||
| 335 | - _POSIX_C_SOURCE=199506L, which is the earliest level of POSIX with | ||
| 336 | - comprehensive support for multithreaded code. Using them never | ||
| 337 | - lowers the selected level of POSIX conformance, only raises it. */ | ||
| 338 | -#if ((!defined _POSIX_C_SOURCE || (_POSIX_C_SOURCE - 0) < 199506L) \ | ||
| 339 | - && (defined _REENTRANT || defined _THREAD_SAFE)) | ||
| 340 | -# define _POSIX_SOURCE 1 | ||
| 341 | -# undef _POSIX_C_SOURCE | ||
| 342 | -# define _POSIX_C_SOURCE 199506L | ||
| 343 | -#endif | ||
| 344 | - | ||
| 345 | -#if (defined _POSIX_SOURCE \ | ||
| 346 | - || (defined _POSIX_C_SOURCE && _POSIX_C_SOURCE >= 1) \ | ||
| 347 | - || defined _XOPEN_SOURCE) | ||
| 348 | -# define __USE_POSIX 1 | ||
| 349 | -#endif | ||
| 350 | - | ||
| 351 | -#if defined _POSIX_C_SOURCE && _POSIX_C_SOURCE >= 2 || defined _XOPEN_SOURCE | ||
| 352 | -# define __USE_POSIX2 1 | ||
| 353 | -#endif | ||
| 354 | - | ||
| 355 | -#if defined _POSIX_C_SOURCE && (_POSIX_C_SOURCE - 0) >= 199309L | ||
| 356 | -# define __USE_POSIX199309 1 | ||
| 357 | -#endif | ||
| 358 | - | ||
| 359 | -#if defined _POSIX_C_SOURCE && (_POSIX_C_SOURCE - 0) >= 199506L | ||
| 360 | -# define __USE_POSIX199506 1 | ||
| 361 | -#endif | ||
| 362 | - | ||
| 363 | -#if defined _POSIX_C_SOURCE && (_POSIX_C_SOURCE - 0) >= 200112L | ||
| 364 | -# define __USE_XOPEN2K 1 | ||
| 365 | -# undef __USE_ISOC95 | ||
| 366 | -# define __USE_ISOC95 1 | ||
| 367 | -# undef __USE_ISOC99 | ||
| 368 | -# define __USE_ISOC99 1 | ||
| 369 | -#endif | ||
| 370 | - | ||
| 371 | -#if defined _POSIX_C_SOURCE && (_POSIX_C_SOURCE - 0) >= 200809L | ||
| 372 | -# define __USE_XOPEN2K8 1 | ||
| 373 | -# undef _ATFILE_SOURCE | ||
| 374 | -# define _ATFILE_SOURCE 1 | ||
| 375 | -#endif | ||
| 376 | - | ||
| 377 | -#ifdef _XOPEN_SOURCE | ||
| 378 | -# define __USE_XOPEN 1 | ||
| 379 | -# if (_XOPEN_SOURCE - 0) >= 500 | ||
| 380 | -# define __USE_XOPEN_EXTENDED 1 | ||
| 381 | -# define __USE_UNIX98 1 | ||
| 382 | -# undef _LARGEFILE_SOURCE | ||
| 383 | -# define _LARGEFILE_SOURCE 1 | ||
| 384 | -# if (_XOPEN_SOURCE - 0) >= 600 | ||
| 385 | -# if (_XOPEN_SOURCE - 0) >= 700 | ||
| 386 | -# define __USE_XOPEN2K8 1 | ||
| 387 | -# define __USE_XOPEN2K8XSI 1 | ||
| 388 | -# endif | ||
| 389 | -# define __USE_XOPEN2K 1 | ||
| 390 | -# define __USE_XOPEN2KXSI 1 | ||
| 391 | -# undef __USE_ISOC95 | ||
| 392 | -# define __USE_ISOC95 1 | ||
| 393 | -# undef __USE_ISOC99 | ||
| 394 | -# define __USE_ISOC99 1 | ||
| 395 | -# endif | ||
| 396 | -# else | ||
| 397 | -# ifdef _XOPEN_SOURCE_EXTENDED | ||
| 398 | -# define __USE_XOPEN_EXTENDED 1 | ||
| 399 | -# endif | ||
| 400 | -# endif | ||
| 401 | -#endif | ||
| 402 | - | ||
| 403 | -#ifdef _LARGEFILE_SOURCE | ||
| 404 | -# define __USE_LARGEFILE 1 | ||
| 405 | -#endif | ||
| 406 | - | ||
| 407 | -#ifdef _LARGEFILE64_SOURCE | ||
| 408 | -# define __USE_LARGEFILE64 1 | ||
| 409 | -#endif | ||
| 410 | - | ||
| 411 | -#if defined _FILE_OFFSET_BITS && _FILE_OFFSET_BITS == 64 | ||
| 412 | -# define __USE_FILE_OFFSET64 1 | ||
| 413 | -#endif | ||
| 414 | - | ||
| 415 | -#include <features-time64.h> | ||
| 416 | - | ||
| 417 | -#if defined _DEFAULT_SOURCE | ||
| 418 | -# define __USE_MISC 1 | ||
| 419 | -#endif | ||
| 420 | - | ||
| 421 | -#ifdef _ATFILE_SOURCE | ||
| 422 | -# define __USE_ATFILE 1 | ||
| 423 | -#endif | ||
| 424 | - | ||
| 425 | -#ifdef _DYNAMIC_STACK_SIZE_SOURCE | ||
| 426 | -# define __USE_DYNAMIC_STACK_SIZE 1 | ||
| 427 | -#endif | ||
| 428 | - | ||
| 429 | -#ifdef _GNU_SOURCE | ||
| 430 | -# define __USE_GNU 1 | ||
| 431 | -#endif | ||
| 432 | - | ||
| 433 | -#if defined _FORTIFY_SOURCE && _FORTIFY_SOURCE > 0 | ||
| 434 | -# if !defined __OPTIMIZE__ || __OPTIMIZE__ <= 0 | ||
| 435 | -# warning _FORTIFY_SOURCE requires compiling with optimization (-O) | ||
| 436 | -# elif !__GNUC_PREREQ (4, 1) | ||
| 437 | -# warning _FORTIFY_SOURCE requires GCC 4.1 or later | ||
| 438 | -# elif _FORTIFY_SOURCE > 2 && (__glibc_clang_prereq (9, 0) \ | ||
| 439 | - || __GNUC_PREREQ (12, 0)) | ||
| 440 | - | ||
| 441 | -# if _FORTIFY_SOURCE > 3 | ||
| 442 | -# warning _FORTIFY_SOURCE > 3 is treated like 3 on this platform | ||
| 443 | -# endif | ||
| 444 | -# define __USE_FORTIFY_LEVEL 3 | ||
| 445 | -# elif _FORTIFY_SOURCE > 1 | ||
| 446 | -# if _FORTIFY_SOURCE > 2 | ||
| 447 | -# warning _FORTIFY_SOURCE > 2 is treated like 2 on this platform | ||
| 448 | -# endif | ||
| 449 | -# define __USE_FORTIFY_LEVEL 2 | ||
| 450 | -# else | ||
| 451 | -# define __USE_FORTIFY_LEVEL 1 | ||
| 452 | -# endif | ||
| 453 | -#endif | ||
| 454 | -#ifndef __USE_FORTIFY_LEVEL | ||
| 455 | -# define __USE_FORTIFY_LEVEL 0 | ||
| 456 | -#endif | ||
| 457 | - | ||
| 458 | -/* The function 'gets' existed in C89, but is impossible to use | ||
| 459 | - safely. It has been removed from ISO C11 and ISO C++14. Note: for | ||
| 460 | - compatibility with various implementations of <cstdio>, this test | ||
| 461 | - must consider only the value of __cplusplus when compiling C++. */ | ||
| 462 | -#if defined __cplusplus ? __cplusplus >= 201402L : defined __USE_ISOC11 | ||
| 463 | -# define __GLIBC_USE_DEPRECATED_GETS 0 | ||
| 464 | -#else | ||
| 465 | -# define __GLIBC_USE_DEPRECATED_GETS 1 | ||
| 466 | -#endif | ||
| 467 | - | ||
| 468 | -/* GNU formerly extended the scanf functions with modified format | ||
| 469 | - specifiers %as, %aS, and %a[...] that allocate a buffer for the | ||
| 470 | - input using malloc. This extension conflicts with ISO C99, which | ||
| 471 | - defines %a as a standalone format specifier that reads a floating- | ||
| 472 | - point number; moreover, POSIX.1-2008 provides the same feature | ||
| 473 | - using the modifier letter 'm' instead (%ms, %mS, %m[...]). | ||
| 474 | - | ||
| 475 | - We now follow C99 unless GNU extensions are active and the compiler | ||
| 476 | - is specifically in C89 or C++98 mode (strict or not). For | ||
| 477 | - instance, with GCC, -std=gnu11 will have C99-compliant scanf with | ||
| 478 | - or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the | ||
| 479 | - old extension. */ | ||
| 480 | -#if (defined __USE_GNU \ | ||
| 481 | - && (defined __cplusplus \ | ||
| 482 | - ? (__cplusplus < 201103L && !defined __GXX_EXPERIMENTAL_CXX0X__) \ | ||
| 483 | - : (!defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L))) | ||
| 484 | -# define __GLIBC_USE_DEPRECATED_SCANF 1 | ||
| 485 | -#else | ||
| 486 | -# define __GLIBC_USE_DEPRECATED_SCANF 0 | ||
| 487 | -#endif | ||
| 488 | - | ||
| 489 | -/* ISO C23 added support for a 0b or 0B prefix on binary constants as | ||
| 490 | - inputs to strtol-family functions (base 0 or 2). This macro is | ||
| 491 | - used to condition redirection in headers to allow that redirection | ||
| 492 | - to be disabled when building those functions, despite _GNU_SOURCE | ||
| 493 | - being defined. */ | ||
| 494 | -#if __GLIBC_USE (ISOC23) | ||
| 495 | -# define __GLIBC_USE_C23_STRTOL 1 | ||
| 496 | -#else | ||
| 497 | -# define __GLIBC_USE_C23_STRTOL 0 | ||
| 498 | -#endif | ||
| 499 | - | ||
| 500 | -/* Get definitions of __STDC_* predefined macros, if the compiler has | ||
| 501 | - not preincluded this header automatically. */ | ||
| 502 | -#include <stdc-predef.h> | ||
| 503 | - | ||
| 504 | -/* This macro indicates that the installed library is the GNU C Library. | ||
| 505 | - For historic reasons the value now is 6 and this will stay from now | ||
| 506 | - on. The use of this variable is deprecated. Use __GLIBC__ and | ||
| 507 | - __GLIBC_MINOR__ now (see below) when you want to test for a specific | ||
| 508 | - GNU C library version and use the values in <gnu/lib-names.h> to get | ||
| 509 | - the sonames of the shared libraries. */ | ||
| 510 | -#undef __GNU_LIBRARY__ | ||
| 511 | -#define __GNU_LIBRARY__ 6 | ||
| 512 | - | ||
| 513 | -/* Major and minor version number of the GNU C library package. Use | ||
| 514 | - these macros to test for features in specific releases. */ | ||
| 515 | -#define __GLIBC__ 2 | ||
| 516 | -#define __GLIBC_MINOR__ 42 | ||
| 517 | - | ||
| 518 | -#define __GLIBC_PREREQ(maj, min) \ | ||
| 519 | - ((__GLIBC__ << 16) + __GLIBC_MINOR__ >= ((maj) << 16) + (min)) | ||
| 520 | - | ||
| 521 | -/* This is here only because every header file already includes this one. */ | ||
| 522 | -#ifndef __ASSEMBLER__ | ||
| 523 | -# ifndef _SYS_CDEFS_H | ||
| 524 | -# include <sys/cdefs.h> | ||
| 525 | -# endif | ||
| 526 | - | ||
| 527 | -/* If we don't have __REDIRECT, prototypes will be missing if | ||
| 528 | - __USE_FILE_OFFSET64 but not __USE_LARGEFILE[64]. */ | ||
| 529 | -# if defined __USE_FILE_OFFSET64 && !defined __REDIRECT | ||
| 530 | -# define __USE_LARGEFILE 1 | ||
| 531 | -# define __USE_LARGEFILE64 1 | ||
| 532 | -# endif | ||
| 533 | - | ||
| 534 | -#endif /* !ASSEMBLER */ | ||
| 535 | - | ||
| 536 | -/* Decide whether we can define 'extern inline' functions in headers. */ | ||
| 537 | -#if __GNUC_PREREQ (2, 7) && defined __OPTIMIZE__ \ | ||
| 538 | - && !defined __OPTIMIZE_SIZE__ && !defined __NO_INLINE__ \ | ||
| 539 | - && defined __extern_inline | ||
| 540 | -# define __USE_EXTERN_INLINES 1 | ||
| 541 | -#endif | ||
| 542 | - | ||
| 543 | - | ||
| 544 | -/* This is here only because every header file already includes this one. | ||
| 545 | - Get the definitions of all the appropriate `__stub_FUNCTION' symbols. | ||
| 546 | - <gnu/stubs.h> contains `#define __stub_FUNCTION' when FUNCTION is a stub | ||
| 547 | - that will always return failure (and set errno to ENOSYS). */ | ||
| 548 | -#include <gnu/stubs.h> | ||
| 549 | - | ||
| 550 | - | ||
| 551 | -#endif /* features.h */ | ||
+0 −0 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@features.h.blob deleted file mode 100644, Binary files a/.ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@features.h.blob and /dev/null differ Large diff collapsed, click to expand
+0 −17 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@gnu@stubs-64.h deleted file mode 100644 Large diff collapsed, click to expand
| @@ -1,17 +0,0 @@ | |||
| 1 | -/* This file is automatically generated. | ||
| 2 | - It defines a symbol `__stub_FUNCTION' for each function | ||
| 3 | - in the C library which is a stub, meaning it will fail | ||
| 4 | - every time called, usually setting errno to ENOSYS. */ | ||
| 5 | - | ||
| 6 | -#ifdef _LIBC | ||
| 7 | - #error Applications may not define the macro _LIBC | ||
| 8 | -#endif | ||
| 9 | - | ||
| 10 | -#define __stub___compat_bdflush | ||
| 11 | -#define __stub_chflags | ||
| 12 | -#define __stub_fchflags | ||
| 13 | -#define __stub_gtty | ||
| 14 | -#define __stub_revoke | ||
| 15 | -#define __stub_setlogin | ||
| 16 | -#define __stub_sigreturn | ||
| 17 | -#define __stub_stty | ||
+0 −0 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@gnu@stubs-64.h.blob deleted file mode 100644, Binary files a/.ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@gnu@stubs-64.h.blob and /dev/null differ Large diff collapsed, click to expand
+0 −14 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@gnu@stubs.h deleted file mode 100644 Large diff collapsed, click to expand
| @@ -1,14 +0,0 @@ | |||
| 1 | -/* This file is automatically generated. | ||
| 2 | - This file selects the right generated file of `__stub_FUNCTION' macros | ||
| 3 | - based on the architecture being compiled for. */ | ||
| 4 | - | ||
| 5 | - | ||
| 6 | -#if !defined __x86_64__ | ||
| 7 | -# include <gnu/stubs-32.h> | ||
| 8 | -#endif | ||
| 9 | -#if defined __x86_64__ && defined __LP64__ | ||
| 10 | -# include <gnu/stubs-64.h> | ||
| 11 | -#endif | ||
| 12 | -#if defined __x86_64__ && defined __ILP32__ | ||
| 13 | -# include <gnu/stubs-x32.h> | ||
| 14 | -#endif | ||
+0 −0 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@gnu@stubs.h.blob deleted file mode 100644, Binary files a/.ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@gnu@stubs.h.blob and /dev/null differ Large diff collapsed, click to expand
+0 −64 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@stdc-predef.h deleted file mode 100644 Large diff collapsed, click to expand
| @@ -1,64 +0,0 @@ | |||
| 1 | -/* Copyright (C) 1991-2025 Free Software Foundation, Inc. | ||
| 2 | - This file is part of the GNU C Library. | ||
| 3 | - | ||
| 4 | - The GNU C Library is free software; you can redistribute it and/or | ||
| 5 | - modify it under the terms of the GNU Lesser General Public | ||
| 6 | - License as published by the Free Software Foundation; either | ||
| 7 | - version 2.1 of the License, or (at your option) any later version. | ||
| 8 | - | ||
| 9 | - The GNU C Library is distributed in the hope that it will be useful, | ||
| 10 | - but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 11 | - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
| 12 | - Lesser General Public License for more details. | ||
| 13 | - | ||
| 14 | - You should have received a copy of the GNU Lesser General Public | ||
| 15 | - License along with the GNU C Library; if not, see | ||
| 16 | - <https://www.gnu.org/licenses/>. */ | ||
| 17 | - | ||
| 18 | -#ifndef _STDC_PREDEF_H | ||
| 19 | -#define _STDC_PREDEF_H 1 | ||
| 20 | - | ||
| 21 | -/* This header is separate from features.h so that the compiler can | ||
| 22 | - include it implicitly at the start of every compilation. It must | ||
| 23 | - not itself include <features.h> or any other header that includes | ||
| 24 | - <features.h> because the implicit include comes before any feature | ||
| 25 | - test macros that may be defined in a source file before it first | ||
| 26 | - explicitly includes a system header. GCC knows the name of this | ||
| 27 | - header in order to preinclude it. */ | ||
| 28 | - | ||
| 29 | -/* glibc's intent is to support the IEC 559 math functionality, real | ||
| 30 | - and complex. If the GCC (4.9 and later) predefined macros | ||
| 31 | - specifying compiler intent are available, use them to determine | ||
| 32 | - whether the overall intent is to support these features; otherwise, | ||
| 33 | - presume an older compiler has intent to support these features and | ||
| 34 | - define these macros by default. */ | ||
| 35 | - | ||
| 36 | -#ifdef __GCC_IEC_559 | ||
| 37 | -# if __GCC_IEC_559 > 0 | ||
| 38 | -# define __STDC_IEC_559__ 1 | ||
| 39 | -# define __STDC_IEC_60559_BFP__ 201404L | ||
| 40 | -# endif | ||
| 41 | -#else | ||
| 42 | -# define __STDC_IEC_559__ 1 | ||
| 43 | -# define __STDC_IEC_60559_BFP__ 201404L | ||
| 44 | -#endif | ||
| 45 | - | ||
| 46 | -#ifdef __GCC_IEC_559_COMPLEX | ||
| 47 | -# if __GCC_IEC_559_COMPLEX > 0 | ||
| 48 | -# define __STDC_IEC_559_COMPLEX__ 1 | ||
| 49 | -# define __STDC_IEC_60559_COMPLEX__ 201404L | ||
| 50 | -# endif | ||
| 51 | -#else | ||
| 52 | -# define __STDC_IEC_559_COMPLEX__ 1 | ||
| 53 | -# define __STDC_IEC_60559_COMPLEX__ 201404L | ||
| 54 | -#endif | ||
| 55 | - | ||
| 56 | -/* wchar_t uses Unicode 10.0.0. Version 10.0 of the Unicode Standard is | ||
| 57 | - synchronized with ISO/IEC 10646:2017, fifth edition, plus | ||
| 58 | - the following additions from Amendment 1 to the fifth edition: | ||
| 59 | - - 56 emoji characters | ||
| 60 | - - 285 hentaigana | ||
| 61 | - - 3 additional Zanabazar Square characters */ | ||
| 62 | -#define __STDC_ISO_10646__ 201706L | ||
| 63 | - | ||
| 64 | -#endif | ||
+0 −0 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@stdc-predef.h.blob deleted file mode 100644, Binary files a/.ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@stdc-predef.h.blob and /dev/null differ Large diff collapsed, click to expand
+0 −975 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@stdio.h deleted file mode 100644 Large diff collapsed, click to expand
| @@ -1,975 +0,0 @@ | |||
| 1 | -/* Define ISO C stdio on top of C++ iostreams. | ||
| 2 | - Copyright (C) 1991-2025 Free Software Foundation, Inc. | ||
| 3 | - Copyright The GNU Toolchain Authors. | ||
| 4 | - This file is part of the GNU C Library. | ||
| 5 | - | ||
| 6 | - The GNU C Library is free software; you can redistribute it and/or | ||
| 7 | - modify it under the terms of the GNU Lesser General Public | ||
| 8 | - License as published by the Free Software Foundation; either | ||
| 9 | - version 2.1 of the License, or (at your option) any later version. | ||
| 10 | - | ||
| 11 | - The GNU C Library is distributed in the hope that it will be useful, | ||
| 12 | - but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 13 | - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
| 14 | - Lesser General Public License for more details. | ||
| 15 | - | ||
| 16 | - You should have received a copy of the GNU Lesser General Public | ||
| 17 | - License along with the GNU C Library; if not, see | ||
| 18 | - <https://www.gnu.org/licenses/>. */ | ||
| 19 | - | ||
| 20 | -/* | ||
| 21 | - * ISO C99 Standard: 7.19 Input/output <stdio.h> | ||
| 22 | - */ | ||
| 23 | - | ||
| 24 | -#ifndef _STDIO_H | ||
| 25 | -#define _STDIO_H 1 | ||
| 26 | - | ||
| 27 | -#define __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION | ||
| 28 | -#include <bits/libc-header-start.h> | ||
| 29 | - | ||
| 30 | -__BEGIN_DECLS | ||
| 31 | - | ||
| 32 | -#define __need_size_t | ||
| 33 | -#define __need_NULL | ||
| 34 | -#include <stddef.h> | ||
| 35 | - | ||
| 36 | -#define __need___va_list | ||
| 37 | -#include <stdarg.h> | ||
| 38 | - | ||
| 39 | -#include <bits/types.h> | ||
| 40 | -#include <bits/types/__fpos_t.h> | ||
| 41 | -#include <bits/types/__fpos64_t.h> | ||
| 42 | -#include <bits/types/__FILE.h> | ||
| 43 | -#include <bits/types/FILE.h> | ||
| 44 | -#include <bits/types/struct_FILE.h> | ||
| 45 | - | ||
| 46 | -#ifdef __USE_MISC | ||
| 47 | -# include <bits/types/cookie_io_functions_t.h> | ||
| 48 | -#endif | ||
| 49 | - | ||
| 50 | -#if defined __USE_XOPEN || defined __USE_XOPEN2K8 | ||
| 51 | -# ifdef __GNUC__ | ||
| 52 | -# ifndef _VA_LIST_DEFINED | ||
| 53 | -typedef __gnuc_va_list va_list; | ||
| 54 | -# define _VA_LIST_DEFINED | ||
| 55 | -# endif | ||
| 56 | -# else | ||
| 57 | -# include <stdarg.h> | ||
| 58 | -# endif | ||
| 59 | -#endif | ||
| 60 | - | ||
| 61 | -#if defined __USE_UNIX98 || defined __USE_XOPEN2K | ||
| 62 | -# ifndef __off_t_defined | ||
| 63 | -# ifndef __USE_FILE_OFFSET64 | ||
| 64 | -typedef __off_t off_t; | ||
| 65 | -# else | ||
| 66 | -typedef __off64_t off_t; | ||
| 67 | -# endif | ||
| 68 | -# define __off_t_defined | ||
| 69 | -# endif | ||
| 70 | -# if defined __USE_LARGEFILE64 && !defined __off64_t_defined | ||
| 71 | -typedef __off64_t off64_t; | ||
| 72 | -# define __off64_t_defined | ||
| 73 | -# endif | ||
| 74 | -#endif | ||
| 75 | - | ||
| 76 | -#ifdef __USE_XOPEN2K8 | ||
| 77 | -# ifndef __ssize_t_defined | ||
| 78 | -typedef __ssize_t ssize_t; | ||
| 79 | -# define __ssize_t_defined | ||
| 80 | -# endif | ||
| 81 | -#endif | ||
| 82 | - | ||
| 83 | -/* The type of the second argument to `fgetpos' and `fsetpos'. */ | ||
| 84 | -#ifndef __USE_FILE_OFFSET64 | ||
| 85 | -typedef __fpos_t fpos_t; | ||
| 86 | -#else | ||
| 87 | -typedef __fpos64_t fpos_t; | ||
| 88 | -#endif | ||
| 89 | -#ifdef __USE_LARGEFILE64 | ||
| 90 | -typedef __fpos64_t fpos64_t; | ||
| 91 | -#endif | ||
| 92 | - | ||
| 93 | -/* The possibilities for the third argument to `setvbuf'. */ | ||
| 94 | -#define _IOFBF 0 /* Fully buffered. */ | ||
| 95 | -#define _IOLBF 1 /* Line buffered. */ | ||
| 96 | -#define _IONBF 2 /* No buffering. */ | ||
| 97 | - | ||
| 98 | - | ||
| 99 | -/* Default buffer size. */ | ||
| 100 | -#define BUFSIZ 8192 | ||
| 101 | - | ||
| 102 | - | ||
| 103 | -/* The value returned by fgetc and similar functions to indicate the | ||
| 104 | - end of the file. */ | ||
| 105 | -#define EOF (-1) | ||
| 106 | - | ||
| 107 | - | ||
| 108 | -/* The possibilities for the third argument to `fseek'. | ||
| 109 | - These values should not be changed. */ | ||
| 110 | -#define SEEK_SET 0 /* Seek from beginning of file. */ | ||
| 111 | -#define SEEK_CUR 1 /* Seek from current position. */ | ||
| 112 | -#define SEEK_END 2 /* Seek from end of file. */ | ||
| 113 | -#ifdef __USE_GNU | ||
| 114 | -# define SEEK_DATA 3 /* Seek to next data. */ | ||
| 115 | -# define SEEK_HOLE 4 /* Seek to next hole. */ | ||
| 116 | -#endif | ||
| 117 | - | ||
| 118 | - | ||
| 119 | -#if defined __USE_MISC || defined __USE_XOPEN | ||
| 120 | -/* Default path prefix for `tempnam' and `tmpnam'. */ | ||
| 121 | -# define P_tmpdir "/tmp" | ||
| 122 | -#endif | ||
| 123 | - | ||
| 124 | -#define L_tmpnam 20 | ||
| 125 | -#define TMP_MAX 238328 | ||
| 126 | - | ||
| 127 | -/* Get the values: | ||
| 128 | - FILENAME_MAX Maximum length of a filename. */ | ||
| 129 | -#include <bits/stdio_lim.h> | ||
| 130 | - | ||
| 131 | -#ifdef __USE_POSIX | ||
| 132 | -# define L_ctermid 9 | ||
| 133 | -# if !defined __USE_XOPEN2K || defined __USE_GNU | ||
| 134 | -# define L_cuserid 9 | ||
| 135 | -# endif | ||
| 136 | -#endif | ||
| 137 | - | ||
| 138 | -#undef FOPEN_MAX | ||
| 139 | -#define FOPEN_MAX 16 | ||
| 140 | - | ||
| 141 | - | ||
| 142 | -#if __GLIBC_USE (ISOC23) | ||
| 143 | -/* Maximum length of printf output for a NaN. */ | ||
| 144 | -# define _PRINTF_NAN_LEN_MAX 4 | ||
| 145 | -#endif | ||
| 146 | - | ||
| 147 | - | ||
| 148 | -/* Standard streams. */ | ||
| 149 | -extern FILE *stdin; /* Standard input stream. */ | ||
| 150 | -extern FILE *stdout; /* Standard output stream. */ | ||
| 151 | -extern FILE *stderr; /* Standard error output stream. */ | ||
| 152 | -/* C89/C99 say they're macros. Make them happy. */ | ||
| 153 | -#define stdin stdin | ||
| 154 | -#define stdout stdout | ||
| 155 | -#define stderr stderr | ||
| 156 | - | ||
| 157 | -/* Remove file FILENAME. */ | ||
| 158 | -extern int remove (const char *__filename) __THROW; | ||
| 159 | -/* Rename file OLD to NEW. */ | ||
| 160 | -extern int rename (const char *__old, const char *__new) __THROW; | ||
| 161 | - | ||
| 162 | -#ifdef __USE_ATFILE | ||
| 163 | -/* Rename file OLD relative to OLDFD to NEW relative to NEWFD. */ | ||
| 164 | -extern int renameat (int __oldfd, const char *__old, int __newfd, | ||
| 165 | - const char *__new) __THROW; | ||
| 166 | -#endif | ||
| 167 | - | ||
| 168 | -#ifdef __USE_GNU | ||
| 169 | -/* Flags for renameat2. */ | ||
| 170 | -# define RENAME_NOREPLACE (1 << 0) | ||
| 171 | -# define AT_RENAME_NOREPLACE 0x0001 | ||
| 172 | -# define RENAME_EXCHANGE (1 << 1) | ||
| 173 | -# define AT_RENAME_EXCHANGE 0x0002 | ||
| 174 | -# define RENAME_WHITEOUT (1 << 2) | ||
| 175 | -# define AT_RENAME_WHITEOUT 0x0004 | ||
| 176 | - | ||
| 177 | -/* Rename file OLD relative to OLDFD to NEW relative to NEWFD, with | ||
| 178 | - additional flags. */ | ||
| 179 | -extern int renameat2 (int __oldfd, const char *__old, int __newfd, | ||
| 180 | - const char *__new, unsigned int __flags) __THROW; | ||
| 181 | -#endif | ||
| 182 | - | ||
| 183 | -/* Close STREAM. | ||
| 184 | - | ||
| 185 | - This function is a possible cancellation point and therefore not | ||
| 186 | - marked with __THROW. */ | ||
| 187 | -extern int fclose (FILE *__stream) __nonnull ((1)); | ||
| 188 | - | ||
| 189 | -#undef __attr_dealloc_fclose | ||
| 190 | -#define __attr_dealloc_fclose __attr_dealloc (fclose, 1) | ||
| 191 | - | ||
| 192 | -/* Create a temporary file and open it read/write. | ||
| 193 | - | ||
| 194 | - This function is a possible cancellation point and therefore not | ||
| 195 | - marked with __THROW. */ | ||
| 196 | -#ifndef __USE_FILE_OFFSET64 | ||
| 197 | -extern FILE *tmpfile (void) | ||
| 198 | - __attribute_malloc__ __attr_dealloc_fclose __wur; | ||
| 199 | -#else | ||
| 200 | -# ifdef __REDIRECT | ||
| 201 | -extern FILE *__REDIRECT (tmpfile, (void), tmpfile64) | ||
| 202 | - __attribute_malloc__ __attr_dealloc_fclose __wur; | ||
| 203 | -# else | ||
| 204 | -# define tmpfile tmpfile64 | ||
| 205 | -# endif | ||
| 206 | -#endif | ||
| 207 | - | ||
| 208 | -#ifdef __USE_LARGEFILE64 | ||
| 209 | -extern FILE *tmpfile64 (void) | ||
| 210 | - __attribute_malloc__ __attr_dealloc_fclose __wur; | ||
| 211 | -#endif | ||
| 212 | - | ||
| 213 | -/* Generate a temporary filename. */ | ||
| 214 | -extern char *tmpnam (char[L_tmpnam]) __THROW __wur; | ||
| 215 | - | ||
| 216 | -#ifdef __USE_MISC | ||
| 217 | -/* This is the reentrant variant of `tmpnam'. The only difference is | ||
| 218 | - that it does not allow S to be NULL. */ | ||
| 219 | -extern char *tmpnam_r (char __s[L_tmpnam]) __THROW __wur; | ||
| 220 | -#endif | ||
| 221 | - | ||
| 222 | - | ||
| 223 | -#if defined __USE_MISC || defined __USE_XOPEN | ||
| 224 | -/* Generate a unique temporary filename using up to five characters of PFX | ||
| 225 | - if it is not NULL. The directory to put this file in is searched for | ||
| 226 | - as follows: First the environment variable "TMPDIR" is checked. | ||
| 227 | - If it contains the name of a writable directory, that directory is used. | ||
| 228 | - If not and if DIR is not NULL, that value is checked. If that fails, | ||
| 229 | - P_tmpdir is tried and finally "/tmp". The storage for the filename | ||
| 230 | - is allocated by `malloc'. */ | ||
| 231 | -extern char *tempnam (const char *__dir, const char *__pfx) | ||
| 232 | - __THROW __attribute_malloc__ __wur __attr_dealloc_free; | ||
| 233 | -#endif | ||
| 234 | - | ||
| 235 | -/* Flush STREAM, or all streams if STREAM is NULL. | ||
| 236 | - | ||
| 237 | - This function is a possible cancellation point and therefore not | ||
| 238 | - marked with __THROW. */ | ||
| 239 | -extern int fflush (FILE *__stream); | ||
| 240 | - | ||
| 241 | -#ifdef __USE_MISC | ||
| 242 | -/* Faster versions when locking is not required. | ||
| 243 | - | ||
| 244 | - This function is not part of POSIX and therefore no official | ||
| 245 | - cancellation point. But due to similarity with an POSIX interface | ||
| 246 | - or due to the implementation it is a cancellation point and | ||
| 247 | - therefore not marked with __THROW. */ | ||
| 248 | -extern int fflush_unlocked (FILE *__stream); | ||
| 249 | -#endif | ||
| 250 | - | ||
| 251 | -#ifdef __USE_GNU | ||
| 252 | -/* Close all streams. | ||
| 253 | - | ||
| 254 | - This function is not part of POSIX and therefore no official | ||
| 255 | - cancellation point. But due to similarity with an POSIX interface | ||
| 256 | - or due to the implementation it is a cancellation point and | ||
| 257 | - therefore not marked with __THROW. */ | ||
| 258 | -extern int fcloseall (void); | ||
| 259 | -#endif | ||
| 260 | - | ||
| 261 | - | ||
| 262 | -#ifndef __USE_FILE_OFFSET64 | ||
| 263 | -/* Open a file and create a new stream for it. | ||
| 264 | - | ||
| 265 | - This function is a possible cancellation point and therefore not | ||
| 266 | - marked with __THROW. */ | ||
| 267 | -extern FILE *fopen (const char *__restrict __filename, | ||
| 268 | - const char *__restrict __modes) | ||
| 269 | - __attribute_malloc__ __attr_dealloc_fclose __wur; | ||
| 270 | -/* Open a file, replacing an existing stream with it. | ||
| 271 | - | ||
| 272 | - This function is a possible cancellation point and therefore not | ||
| 273 | - marked with __THROW. */ | ||
| 274 | -extern FILE *freopen (const char *__restrict __filename, | ||
| 275 | - const char *__restrict __modes, | ||
| 276 | - FILE *__restrict __stream) __wur __nonnull ((3)); | ||
| 277 | -#else | ||
| 278 | -# ifdef __REDIRECT | ||
| 279 | -extern FILE *__REDIRECT (fopen, (const char *__restrict __filename, | ||
| 280 | - const char *__restrict __modes), fopen64) | ||
| 281 | - __attribute_malloc__ __attr_dealloc_fclose __wur; | ||
| 282 | -extern FILE *__REDIRECT (freopen, (const char *__restrict __filename, | ||
| 283 | - const char *__restrict __modes, | ||
| 284 | - FILE *__restrict __stream), freopen64) | ||
| 285 | - __wur __nonnull ((3)); | ||
| 286 | -# else | ||
| 287 | -# define fopen fopen64 | ||
| 288 | -# define freopen freopen64 | ||
| 289 | -# endif | ||
| 290 | -#endif | ||
| 291 | -#ifdef __USE_LARGEFILE64 | ||
| 292 | -extern FILE *fopen64 (const char *__restrict __filename, | ||
| 293 | - const char *__restrict __modes) | ||
| 294 | - __attribute_malloc__ __attr_dealloc_fclose __wur; | ||
| 295 | -extern FILE *freopen64 (const char *__restrict __filename, | ||
| 296 | - const char *__restrict __modes, | ||
| 297 | - FILE *__restrict __stream) __wur __nonnull ((3)); | ||
| 298 | -#endif | ||
| 299 | - | ||
| 300 | -#ifdef __USE_POSIX | ||
| 301 | -/* Create a new stream that refers to an existing system file descriptor. */ | ||
| 302 | -extern FILE *fdopen (int __fd, const char *__modes) __THROW | ||
| 303 | - __attribute_malloc__ __attr_dealloc_fclose __wur; | ||
| 304 | -#endif | ||
| 305 | - | ||
| 306 | -#ifdef __USE_MISC | ||
| 307 | -/* Create a new stream that refers to the given magic cookie, | ||
| 308 | - and uses the given functions for input and output. */ | ||
| 309 | -extern FILE *fopencookie (void *__restrict __magic_cookie, | ||
| 310 | - const char *__restrict __modes, | ||
| 311 | - cookie_io_functions_t __io_funcs) __THROW | ||
| 312 | - __attribute_malloc__ __attr_dealloc_fclose __wur; | ||
| 313 | -#endif | ||
| 314 | - | ||
| 315 | -#if defined __USE_XOPEN2K8 || __GLIBC_USE (LIB_EXT2) | ||
| 316 | -/* Create a new stream that refers to a memory buffer. */ | ||
| 317 | -extern FILE *fmemopen (void *__s, size_t __len, const char *__modes) | ||
| 318 | - __THROW __attribute_malloc__ __attr_dealloc_fclose __wur; | ||
| 319 | - | ||
| 320 | -/* Open a stream that writes into a malloc'd buffer that is expanded as | ||
| 321 | - necessary. *BUFLOC and *SIZELOC are updated with the buffer's location | ||
| 322 | - and the number of characters written on fflush or fclose. */ | ||
| 323 | -extern FILE *open_memstream (char **__bufloc, size_t *__sizeloc) __THROW | ||
| 324 | - __attribute_malloc__ __attr_dealloc_fclose __wur; | ||
| 325 | - | ||
| 326 | -#ifdef _WCHAR_H | ||
| 327 | -/* Like OPEN_MEMSTREAM, but the stream is wide oriented and produces | ||
| 328 | - a wide character string. Declared here only to add attribute malloc | ||
| 329 | - and only if <wchar.h> has been previously #included. */ | ||
| 330 | -extern __FILE *open_wmemstream (wchar_t **__bufloc, size_t *__sizeloc) __THROW | ||
| 331 | - __attribute_malloc__ __attr_dealloc_fclose; | ||
| 332 | -# endif | ||
| 333 | -#endif | ||
| 334 | - | ||
| 335 | -/* If BUF is NULL, make STREAM unbuffered. | ||
| 336 | - Else make it use buffer BUF, of size BUFSIZ. */ | ||
| 337 | -extern void setbuf (FILE *__restrict __stream, char *__restrict __buf) __THROW | ||
| 338 | - __nonnull ((1)); | ||
| 339 | -/* Make STREAM use buffering mode MODE. | ||
| 340 | - If BUF is not NULL, use N bytes of it for buffering; | ||
| 341 | - else allocate an internal buffer N bytes long. */ | ||
| 342 | -extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf, | ||
| 343 | - int __modes, size_t __n) __THROW __nonnull ((1)); | ||
| 344 | - | ||
| 345 | -#ifdef __USE_MISC | ||
| 346 | -/* If BUF is NULL, make STREAM unbuffered. | ||
| 347 | - Else make it use SIZE bytes of BUF for buffering. */ | ||
| 348 | -extern void setbuffer (FILE *__restrict __stream, char *__restrict __buf, | ||
| 349 | - size_t __size) __THROW __nonnull ((1)); | ||
| 350 | - | ||
| 351 | -/* Make STREAM line-buffered. */ | ||
| 352 | -extern void setlinebuf (FILE *__stream) __THROW __nonnull ((1)); | ||
| 353 | -#endif | ||
| 354 | - | ||
| 355 | - | ||
| 356 | -/* Write formatted output to STREAM. | ||
| 357 | - | ||
| 358 | - This function is a possible cancellation point and therefore not | ||
| 359 | - marked with __THROW. */ | ||
| 360 | -extern int fprintf (FILE *__restrict __stream, | ||
| 361 | - const char *__restrict __format, ...) __nonnull ((1)); | ||
| 362 | -/* Write formatted output to stdout. | ||
| 363 | - | ||
| 364 | - This function is a possible cancellation point and therefore not | ||
| 365 | - marked with __THROW. */ | ||
| 366 | -extern int printf (const char *__restrict __format, ...); | ||
| 367 | -/* Write formatted output to S. */ | ||
| 368 | -extern int sprintf (char *__restrict __s, | ||
| 369 | - const char *__restrict __format, ...) __THROWNL; | ||
| 370 | - | ||
| 371 | -/* Write formatted output to S from argument list ARG. | ||
| 372 | - | ||
| 373 | - This function is a possible cancellation point and therefore not | ||
| 374 | - marked with __THROW. */ | ||
| 375 | -extern int vfprintf (FILE *__restrict __s, const char *__restrict __format, | ||
| 376 | - __gnuc_va_list __arg) __nonnull ((1)); | ||
| 377 | -/* Write formatted output to stdout from argument list ARG. | ||
| 378 | - | ||
| 379 | - This function is a possible cancellation point and therefore not | ||
| 380 | - marked with __THROW. */ | ||
| 381 | -extern int vprintf (const char *__restrict __format, __gnuc_va_list __arg); | ||
| 382 | -/* Write formatted output to S from argument list ARG. */ | ||
| 383 | -extern int vsprintf (char *__restrict __s, const char *__restrict __format, | ||
| 384 | - __gnuc_va_list __arg) __THROWNL; | ||
| 385 | - | ||
| 386 | -#if defined __USE_ISOC99 || defined __USE_UNIX98 | ||
| 387 | -/* Maximum chars of output to write in MAXLEN. */ | ||
| 388 | -extern int snprintf (char *__restrict __s, size_t __maxlen, | ||
| 389 | - const char *__restrict __format, ...) | ||
| 390 | - __THROWNL __attribute__ ((__format__ (__printf__, 3, 4))); | ||
| 391 | - | ||
| 392 | -extern int vsnprintf (char *__restrict __s, size_t __maxlen, | ||
| 393 | - const char *__restrict __format, __gnuc_va_list __arg) | ||
| 394 | - __THROWNL __attribute__ ((__format__ (__printf__, 3, 0))); | ||
| 395 | -#endif | ||
| 396 | - | ||
| 397 | -#if defined (__USE_MISC) || __GLIBC_USE (LIB_EXT2) | ||
| 398 | -/* Write formatted output to a string dynamically allocated with `malloc'. | ||
| 399 | - Store the address of the string in *PTR. */ | ||
| 400 | -extern int vasprintf (char **__restrict __ptr, const char *__restrict __f, | ||
| 401 | - __gnuc_va_list __arg) | ||
| 402 | - __THROWNL __attribute__ ((__format__ (__printf__, 2, 0))) __wur; | ||
| 403 | -extern int __asprintf (char **__restrict __ptr, | ||
| 404 | - const char *__restrict __fmt, ...) | ||
| 405 | - __THROWNL __attribute__ ((__format__ (__printf__, 2, 3))) __wur; | ||
| 406 | -extern int asprintf (char **__restrict __ptr, | ||
| 407 | - const char *__restrict __fmt, ...) | ||
| 408 | - __THROWNL __attribute__ ((__format__ (__printf__, 2, 3))) __wur; | ||
| 409 | -#endif | ||
| 410 | - | ||
| 411 | -#ifdef __USE_XOPEN2K8 | ||
| 412 | -/* Write formatted output to a file descriptor. */ | ||
| 413 | -extern int vdprintf (int __fd, const char *__restrict __fmt, | ||
| 414 | - __gnuc_va_list __arg) | ||
| 415 | - __attribute__ ((__format__ (__printf__, 2, 0))); | ||
| 416 | -extern int dprintf (int __fd, const char *__restrict __fmt, ...) | ||
| 417 | - __attribute__ ((__format__ (__printf__, 2, 3))); | ||
| 418 | -#endif | ||
| 419 | - | ||
| 420 | - | ||
| 421 | -/* Read formatted input from STREAM. | ||
| 422 | - | ||
| 423 | - This function is a possible cancellation point and therefore not | ||
| 424 | - marked with __THROW. */ | ||
| 425 | -extern int fscanf (FILE *__restrict __stream, | ||
| 426 | - const char *__restrict __format, ...) __wur __nonnull ((1)); | ||
| 427 | -/* Read formatted input from stdin. | ||
| 428 | - | ||
| 429 | - This function is a possible cancellation point and therefore not | ||
| 430 | - marked with __THROW. */ | ||
| 431 | -extern int scanf (const char *__restrict __format, ...) __wur; | ||
| 432 | -/* Read formatted input from S. */ | ||
| 433 | -extern int sscanf (const char *__restrict __s, | ||
| 434 | - const char *__restrict __format, ...) __THROW; | ||
| 435 | - | ||
| 436 | -/* For historical reasons, the C99-compliant versions of the scanf | ||
| 437 | - functions are at alternative names. When __LDBL_COMPAT or | ||
| 438 | - __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI are in effect, this is handled in | ||
| 439 | - bits/stdio-ldbl.h. */ | ||
| 440 | -#include <bits/floatn.h> | ||
| 441 | -#if !__GLIBC_USE (DEPRECATED_SCANF) && !defined __LDBL_COMPAT \ | ||
| 442 | - && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0 | ||
| 443 | -# if __GLIBC_USE (C23_STRTOL) | ||
| 444 | -# ifdef __REDIRECT | ||
| 445 | -extern int __REDIRECT (fscanf, (FILE *__restrict __stream, | ||
| 446 | - const char *__restrict __format, ...), | ||
| 447 | - __isoc23_fscanf) __wur __nonnull ((1)); | ||
| 448 | -extern int __REDIRECT (scanf, (const char *__restrict __format, ...), | ||
| 449 | - __isoc23_scanf) __wur; | ||
| 450 | -extern int __REDIRECT_NTH (sscanf, (const char *__restrict __s, | ||
| 451 | - const char *__restrict __format, ...), | ||
| 452 | - __isoc23_sscanf); | ||
| 453 | -# else | ||
| 454 | -extern int __isoc23_fscanf (FILE *__restrict __stream, | ||
| 455 | - const char *__restrict __format, ...) __wur | ||
| 456 | - __nonnull ((1)); | ||
| 457 | -extern int __isoc23_scanf (const char *__restrict __format, ...) __wur; | ||
| 458 | -extern int __isoc23_sscanf (const char *__restrict __s, | ||
| 459 | - const char *__restrict __format, ...) __THROW; | ||
| 460 | -# define fscanf __isoc23_fscanf | ||
| 461 | -# define scanf __isoc23_scanf | ||
| 462 | -# define sscanf __isoc23_sscanf | ||
| 463 | -# endif | ||
| 464 | -# else | ||
| 465 | -# ifdef __REDIRECT | ||
| 466 | -extern int __REDIRECT (fscanf, (FILE *__restrict __stream, | ||
| 467 | - const char *__restrict __format, ...), | ||
| 468 | - __isoc99_fscanf) __wur __nonnull ((1)); | ||
| 469 | -extern int __REDIRECT (scanf, (const char *__restrict __format, ...), | ||
| 470 | - __isoc99_scanf) __wur; | ||
| 471 | -extern int __REDIRECT_NTH (sscanf, (const char *__restrict __s, | ||
| 472 | - const char *__restrict __format, ...), | ||
| 473 | - __isoc99_sscanf); | ||
| 474 | -# else | ||
| 475 | -extern int __isoc99_fscanf (FILE *__restrict __stream, | ||
| 476 | - const char *__restrict __format, ...) __wur | ||
| 477 | - __nonnull ((1)); | ||
| 478 | -extern int __isoc99_scanf (const char *__restrict __format, ...) __wur; | ||
| 479 | -extern int __isoc99_sscanf (const char *__restrict __s, | ||
| 480 | - const char *__restrict __format, ...) __THROW; | ||
| 481 | -# define fscanf __isoc99_fscanf | ||
| 482 | -# define scanf __isoc99_scanf | ||
| 483 | -# define sscanf __isoc99_sscanf | ||
| 484 | -# endif | ||
| 485 | -# endif | ||
| 486 | -#endif | ||
| 487 | - | ||
| 488 | -#ifdef __USE_ISOC99 | ||
| 489 | -/* Read formatted input from S into argument list ARG. | ||
| 490 | - | ||
| 491 | - This function is a possible cancellation point and therefore not | ||
| 492 | - marked with __THROW. */ | ||
| 493 | -extern int vfscanf (FILE *__restrict __s, const char *__restrict __format, | ||
| 494 | - __gnuc_va_list __arg) | ||
| 495 | - __attribute__ ((__format__ (__scanf__, 2, 0))) __wur __nonnull ((1)); | ||
| 496 | - | ||
| 497 | -/* Read formatted input from stdin into argument list ARG. | ||
| 498 | - | ||
| 499 | - This function is a possible cancellation point and therefore not | ||
| 500 | - marked with __THROW. */ | ||
| 501 | -extern int vscanf (const char *__restrict __format, __gnuc_va_list __arg) | ||
| 502 | - __attribute__ ((__format__ (__scanf__, 1, 0))) __wur; | ||
| 503 | - | ||
| 504 | -/* Read formatted input from S into argument list ARG. */ | ||
| 505 | -extern int vsscanf (const char *__restrict __s, | ||
| 506 | - const char *__restrict __format, __gnuc_va_list __arg) | ||
| 507 | - __THROW __attribute__ ((__format__ (__scanf__, 2, 0))); | ||
| 508 | - | ||
| 509 | -/* Same redirection as above for the v*scanf family. */ | ||
| 510 | -# if !__GLIBC_USE (DEPRECATED_SCANF) | ||
| 511 | -# if __GLIBC_USE (C23_STRTOL) | ||
| 512 | -# if defined __REDIRECT && !defined __LDBL_COMPAT \ | ||
| 513 | - && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0 | ||
| 514 | -extern int __REDIRECT (vfscanf, | ||
| 515 | - (FILE *__restrict __s, | ||
| 516 | - const char *__restrict __format, __gnuc_va_list __arg), | ||
| 517 | - __isoc23_vfscanf) | ||
| 518 | - __attribute__ ((__format__ (__scanf__, 2, 0))) __wur __nonnull ((1)); | ||
| 519 | -extern int __REDIRECT (vscanf, (const char *__restrict __format, | ||
| 520 | - __gnuc_va_list __arg), __isoc23_vscanf) | ||
| 521 | - __attribute__ ((__format__ (__scanf__, 1, 0))) __wur; | ||
| 522 | -extern int __REDIRECT_NTH (vsscanf, | ||
| 523 | - (const char *__restrict __s, | ||
| 524 | - const char *__restrict __format, | ||
| 525 | - __gnuc_va_list __arg), __isoc23_vsscanf) | ||
| 526 | - __attribute__ ((__format__ (__scanf__, 2, 0))); | ||
| 527 | -# elif !defined __REDIRECT | ||
| 528 | -extern int __isoc23_vfscanf (FILE *__restrict __s, | ||
| 529 | - const char *__restrict __format, | ||
| 530 | - __gnuc_va_list __arg) __wur __nonnull ((1)); | ||
| 531 | -extern int __isoc23_vscanf (const char *__restrict __format, | ||
| 532 | - __gnuc_va_list __arg) __wur; | ||
| 533 | -extern int __isoc23_vsscanf (const char *__restrict __s, | ||
| 534 | - const char *__restrict __format, | ||
| 535 | - __gnuc_va_list __arg) __THROW; | ||
| 536 | -# define vfscanf __isoc23_vfscanf | ||
| 537 | -# define vscanf __isoc23_vscanf | ||
| 538 | -# define vsscanf __isoc23_vsscanf | ||
| 539 | -# endif | ||
| 540 | -# else | ||
| 541 | -# if defined __REDIRECT && !defined __LDBL_COMPAT \ | ||
| 542 | - && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0 | ||
| 543 | -extern int __REDIRECT (vfscanf, | ||
| 544 | - (FILE *__restrict __s, | ||
| 545 | - const char *__restrict __format, __gnuc_va_list __arg), | ||
| 546 | - __isoc99_vfscanf) | ||
| 547 | - __attribute__ ((__format__ (__scanf__, 2, 0))) __wur __nonnull ((1)); | ||
| 548 | -extern int __REDIRECT (vscanf, (const char *__restrict __format, | ||
| 549 | - __gnuc_va_list __arg), __isoc99_vscanf) | ||
| 550 | - __attribute__ ((__format__ (__scanf__, 1, 0))) __wur; | ||
| 551 | -extern int __REDIRECT_NTH (vsscanf, | ||
| 552 | - (const char *__restrict __s, | ||
| 553 | - const char *__restrict __format, | ||
| 554 | - __gnuc_va_list __arg), __isoc99_vsscanf) | ||
| 555 | - __attribute__ ((__format__ (__scanf__, 2, 0))); | ||
| 556 | -# elif !defined __REDIRECT | ||
| 557 | -extern int __isoc99_vfscanf (FILE *__restrict __s, | ||
| 558 | - const char *__restrict __format, | ||
| 559 | - __gnuc_va_list __arg) __wur __nonnull ((1)); | ||
| 560 | -extern int __isoc99_vscanf (const char *__restrict __format, | ||
| 561 | - __gnuc_va_list __arg) __wur; | ||
| 562 | -extern int __isoc99_vsscanf (const char *__restrict __s, | ||
| 563 | - const char *__restrict __format, | ||
| 564 | - __gnuc_va_list __arg) __THROW; | ||
| 565 | -# define vfscanf __isoc99_vfscanf | ||
| 566 | -# define vscanf __isoc99_vscanf | ||
| 567 | -# define vsscanf __isoc99_vsscanf | ||
| 568 | -# endif | ||
| 569 | -# endif | ||
| 570 | -# endif | ||
| 571 | -#endif /* Use ISO C9x. */ | ||
| 572 | - | ||
| 573 | - | ||
| 574 | -/* Read a character from STREAM. | ||
| 575 | - | ||
| 576 | - These functions are possible cancellation points and therefore not | ||
| 577 | - marked with __THROW. */ | ||
| 578 | -extern int fgetc (FILE *__stream) __nonnull ((1)); | ||
| 579 | -extern int getc (FILE *__stream) __nonnull ((1)); | ||
| 580 | - | ||
| 581 | -/* Read a character from stdin. | ||
| 582 | - | ||
| 583 | - This function is a possible cancellation point and therefore not | ||
| 584 | - marked with __THROW. */ | ||
| 585 | -extern int getchar (void); | ||
| 586 | - | ||
| 587 | -#ifdef __USE_POSIX199506 | ||
| 588 | -/* These are defined in POSIX.1:1996. | ||
| 589 | - | ||
| 590 | - These functions are possible cancellation points and therefore not | ||
| 591 | - marked with __THROW. */ | ||
| 592 | -extern int getc_unlocked (FILE *__stream) __nonnull ((1)); | ||
| 593 | -extern int getchar_unlocked (void); | ||
| 594 | -#endif /* Use POSIX. */ | ||
| 595 | - | ||
| 596 | -#ifdef __USE_MISC | ||
| 597 | -/* Faster version when locking is not necessary. | ||
| 598 | - | ||
| 599 | - This function is not part of POSIX and therefore no official | ||
| 600 | - cancellation point. But due to similarity with an POSIX interface | ||
| 601 | - or due to the implementation it is a cancellation point and | ||
| 602 | - therefore not marked with __THROW. */ | ||
| 603 | -extern int fgetc_unlocked (FILE *__stream) __nonnull ((1)); | ||
| 604 | -#endif /* Use MISC. */ | ||
| 605 | - | ||
| 606 | - | ||
| 607 | -/* Write a character to STREAM. | ||
| 608 | - | ||
| 609 | - These functions are possible cancellation points and therefore not | ||
| 610 | - marked with __THROW. */ | ||
| 611 | -extern int fputc (int __c, FILE *__stream) __nonnull ((2)); | ||
| 612 | -extern int putc (int __c, FILE *__stream) __nonnull ((2)); | ||
| 613 | - | ||
| 614 | -/* Write a character to stdout. | ||
| 615 | - | ||
| 616 | - This function is a possible cancellation point and therefore not | ||
| 617 | - marked with __THROW. */ | ||
| 618 | -extern int putchar (int __c); | ||
| 619 | - | ||
| 620 | -#ifdef __USE_MISC | ||
| 621 | -/* Faster version when locking is not necessary. | ||
| 622 | - | ||
| 623 | - This function is not part of POSIX and therefore no official | ||
| 624 | - cancellation point. But due to similarity with an POSIX interface | ||
| 625 | - or due to the implementation it is a cancellation point and | ||
| 626 | - therefore not marked with __THROW. */ | ||
| 627 | -extern int fputc_unlocked (int __c, FILE *__stream) __nonnull ((2)); | ||
| 628 | -#endif /* Use MISC. */ | ||
| 629 | - | ||
| 630 | -#ifdef __USE_POSIX199506 | ||
| 631 | -/* These are defined in POSIX.1:1996. | ||
| 632 | - | ||
| 633 | - These functions are possible cancellation points and therefore not | ||
| 634 | - marked with __THROW. */ | ||
| 635 | -extern int putc_unlocked (int __c, FILE *__stream) __nonnull ((2)); | ||
| 636 | -extern int putchar_unlocked (int __c); | ||
| 637 | -#endif /* Use POSIX. */ | ||
| 638 | - | ||
| 639 | - | ||
| 640 | -#if defined __USE_MISC \ | ||
| 641 | - || (defined __USE_XOPEN && !defined __USE_XOPEN2K) | ||
| 642 | -/* Get a word (int) from STREAM. */ | ||
| 643 | -extern int getw (FILE *__stream) __nonnull ((1)); | ||
| 644 | - | ||
| 645 | -/* Write a word (int) to STREAM. */ | ||
| 646 | -extern int putw (int __w, FILE *__stream) __nonnull ((2)); | ||
| 647 | -#endif | ||
| 648 | - | ||
| 649 | - | ||
| 650 | -/* Get a newline-terminated string of finite length from STREAM. | ||
| 651 | - | ||
| 652 | - This function is a possible cancellation point and therefore not | ||
| 653 | - marked with __THROW. */ | ||
| 654 | -extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream) | ||
| 655 | - __wur __fortified_attr_access (__write_only__, 1, 2) __nonnull ((3)); | ||
| 656 | - | ||
| 657 | -#if __GLIBC_USE (DEPRECATED_GETS) | ||
| 658 | -/* Get a newline-terminated string from stdin, removing the newline. | ||
| 659 | - | ||
| 660 | - This function is impossible to use safely. It has been officially | ||
| 661 | - removed from ISO C11 and ISO C++14, and we have also removed it | ||
| 662 | - from the _GNU_SOURCE feature list. It remains available when | ||
| 663 | - explicitly using an old ISO C, Unix, or POSIX standard. | ||
| 664 | - | ||
| 665 | - This function is a possible cancellation point and therefore not | ||
| 666 | - marked with __THROW. */ | ||
| 667 | -extern char *gets (char *__s) __wur __attribute_deprecated__; | ||
| 668 | -#endif | ||
| 669 | - | ||
| 670 | -#ifdef __USE_GNU | ||
| 671 | -/* This function does the same as `fgets' but does not lock the stream. | ||
| 672 | - | ||
| 673 | - This function is not part of POSIX and therefore no official | ||
| 674 | - cancellation point. But due to similarity with an POSIX interface | ||
| 675 | - or due to the implementation it is a cancellation point and | ||
| 676 | - therefore not marked with __THROW. */ | ||
| 677 | -extern char *fgets_unlocked (char *__restrict __s, int __n, | ||
| 678 | - FILE *__restrict __stream) __wur | ||
| 679 | - __fortified_attr_access (__write_only__, 1, 2) __nonnull ((3)); | ||
| 680 | -#endif | ||
| 681 | - | ||
| 682 | - | ||
| 683 | -#if defined __USE_XOPEN2K8 || __GLIBC_USE (LIB_EXT2) | ||
| 684 | -/* Read up to (and including) a DELIMITER from STREAM into *LINEPTR | ||
| 685 | - (and null-terminate it). *LINEPTR is a pointer returned from malloc (or | ||
| 686 | - NULL), pointing to *N characters of space. It is realloc'd as | ||
| 687 | - necessary. Returns the number of characters read (not including the | ||
| 688 | - null terminator), or -1 on error or EOF. */ | ||
| 689 | -extern __ssize_t __getdelim (char **__restrict __lineptr, | ||
| 690 | - size_t *__restrict __n, int __delimiter, | ||
| 691 | - FILE *__restrict __stream) __wur __nonnull ((4)); | ||
| 692 | -extern __ssize_t getdelim (char **__restrict __lineptr, | ||
| 693 | - size_t *__restrict __n, int __delimiter, | ||
| 694 | - FILE *__restrict __stream) __wur __nonnull ((4)); | ||
| 695 | - | ||
| 696 | -/* Like `getdelim', but reads up to a newline. */ | ||
| 697 | -extern __ssize_t getline (char **__restrict __lineptr, | ||
| 698 | - size_t *__restrict __n, | ||
| 699 | - FILE *__restrict __stream) __wur __nonnull ((3)); | ||
| 700 | -#endif | ||
| 701 | - | ||
| 702 | - | ||
| 703 | -/* Write a string to STREAM. | ||
| 704 | - | ||
| 705 | - This function is a possible cancellation point and therefore not | ||
| 706 | - marked with __THROW. */ | ||
| 707 | -extern int fputs (const char *__restrict __s, FILE *__restrict __stream) | ||
| 708 | - __nonnull ((2)); | ||
| 709 | - | ||
| 710 | -/* Write a string, followed by a newline, to stdout. | ||
| 711 | - | ||
| 712 | - This function is a possible cancellation point and therefore not | ||
| 713 | - marked with __THROW. */ | ||
| 714 | -extern int puts (const char *__s); | ||
| 715 | - | ||
| 716 | - | ||
| 717 | -/* Push a character back onto the input buffer of STREAM. | ||
| 718 | - | ||
| 719 | - This function is a possible cancellation point and therefore not | ||
| 720 | - marked with __THROW. */ | ||
| 721 | -extern int ungetc (int __c, FILE *__stream) __nonnull ((2)); | ||
| 722 | - | ||
| 723 | - | ||
| 724 | -/* Read chunks of generic data from STREAM. | ||
| 725 | - | ||
| 726 | - This function is a possible cancellation point and therefore not | ||
| 727 | - marked with __THROW. */ | ||
| 728 | -extern size_t fread (void *__restrict __ptr, size_t __size, | ||
| 729 | - size_t __n, FILE *__restrict __stream) __wur | ||
| 730 | - __nonnull((4)); | ||
| 731 | -/* Write chunks of generic data to STREAM. | ||
| 732 | - | ||
| 733 | - This function is a possible cancellation point and therefore not | ||
| 734 | - marked with __THROW. */ | ||
| 735 | -extern size_t fwrite (const void *__restrict __ptr, size_t __size, | ||
| 736 | - size_t __n, FILE *__restrict __s) __nonnull((4)); | ||
| 737 | - | ||
| 738 | -#ifdef __USE_GNU | ||
| 739 | -/* This function does the same as `fputs' but does not lock the stream. | ||
| 740 | - | ||
| 741 | - This function is not part of POSIX and therefore no official | ||
| 742 | - cancellation point. But due to similarity with an POSIX interface | ||
| 743 | - or due to the implementation it is a cancellation point and | ||
| 744 | - therefore not marked with __THROW. */ | ||
| 745 | -extern int fputs_unlocked (const char *__restrict __s, | ||
| 746 | - FILE *__restrict __stream) __nonnull ((2)); | ||
| 747 | -#endif | ||
| 748 | - | ||
| 749 | -#ifdef __USE_MISC | ||
| 750 | -/* Faster versions when locking is not necessary. | ||
| 751 | - | ||
| 752 | - These functions are not part of POSIX and therefore no official | ||
| 753 | - cancellation point. But due to similarity with an POSIX interface | ||
| 754 | - or due to the implementation they are cancellation points and | ||
| 755 | - therefore not marked with __THROW. */ | ||
| 756 | -extern size_t fread_unlocked (void *__restrict __ptr, size_t __size, | ||
| 757 | - size_t __n, FILE *__restrict __stream) __wur | ||
| 758 | - __nonnull ((4)); | ||
| 759 | -extern size_t fwrite_unlocked (const void *__restrict __ptr, size_t __size, | ||
| 760 | - size_t __n, FILE *__restrict __stream) | ||
| 761 | - __nonnull ((4)); | ||
| 762 | -#endif | ||
| 763 | - | ||
| 764 | - | ||
| 765 | -/* Seek to a certain position on STREAM. | ||
| 766 | - | ||
| 767 | - This function is a possible cancellation point and therefore not | ||
| 768 | - marked with __THROW. */ | ||
| 769 | -extern int fseek (FILE *__stream, long int __off, int __whence) | ||
| 770 | - __nonnull ((1)); | ||
| 771 | -/* Return the current position of STREAM. | ||
| 772 | - | ||
| 773 | - This function is a possible cancellation point and therefore not | ||
| 774 | - marked with __THROW. */ | ||
| 775 | -extern long int ftell (FILE *__stream) __wur __nonnull ((1)); | ||
| 776 | -/* Rewind to the beginning of STREAM. | ||
| 777 | - | ||
| 778 | - This function is a possible cancellation point and therefore not | ||
| 779 | - marked with __THROW. */ | ||
| 780 | -extern void rewind (FILE *__stream) __nonnull ((1)); | ||
| 781 | - | ||
| 782 | -/* The Single Unix Specification, Version 2, specifies an alternative, | ||
| 783 | - more adequate interface for the two functions above which deal with | ||
| 784 | - file offset. `long int' is not the right type. These definitions | ||
| 785 | - are originally defined in the Large File Support API. */ | ||
| 786 | - | ||
| 787 | -#if defined __USE_LARGEFILE || defined __USE_XOPEN2K | ||
| 788 | -# ifndef __USE_FILE_OFFSET64 | ||
| 789 | -/* Seek to a certain position on STREAM. | ||
| 790 | - | ||
| 791 | - This function is a possible cancellation point and therefore not | ||
| 792 | - marked with __THROW. */ | ||
| 793 | -extern int fseeko (FILE *__stream, __off_t __off, int __whence) | ||
| 794 | - __nonnull ((1)); | ||
| 795 | -/* Return the current position of STREAM. | ||
| 796 | - | ||
| 797 | - This function is a possible cancellation point and therefore not | ||
| 798 | - marked with __THROW. */ | ||
| 799 | -extern __off_t ftello (FILE *__stream) __wur __nonnull ((1)); | ||
| 800 | -# else | ||
| 801 | -# ifdef __REDIRECT | ||
| 802 | -extern int __REDIRECT (fseeko, | ||
| 803 | - (FILE *__stream, __off64_t __off, int __whence), | ||
| 804 | - fseeko64) __nonnull ((1)); | ||
| 805 | -extern __off64_t __REDIRECT (ftello, (FILE *__stream), ftello64) | ||
| 806 | - __nonnull ((1)); | ||
| 807 | -# else | ||
| 808 | -# define fseeko fseeko64 | ||
| 809 | -# define ftello ftello64 | ||
| 810 | -# endif | ||
| 811 | -# endif | ||
| 812 | -#endif | ||
| 813 | - | ||
| 814 | -#ifndef __USE_FILE_OFFSET64 | ||
| 815 | -/* Get STREAM's position. | ||
| 816 | - | ||
| 817 | - This function is a possible cancellation point and therefore not | ||
| 818 | - marked with __THROW. */ | ||
| 819 | -extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos) | ||
| 820 | - __nonnull ((1)); | ||
| 821 | -/* Set STREAM's position. | ||
| 822 | - | ||
| 823 | - This function is a possible cancellation point and therefore not | ||
| 824 | - marked with __THROW. */ | ||
| 825 | -extern int fsetpos (FILE *__stream, const fpos_t *__pos) __nonnull ((1)); | ||
| 826 | -#else | ||
| 827 | -# ifdef __REDIRECT | ||
| 828 | -extern int __REDIRECT (fgetpos, (FILE *__restrict __stream, | ||
| 829 | - fpos_t *__restrict __pos), fgetpos64) | ||
| 830 | - __nonnull ((1)); | ||
| 831 | -extern int __REDIRECT (fsetpos, | ||
| 832 | - (FILE *__stream, const fpos_t *__pos), fsetpos64) | ||
| 833 | - __nonnull ((1)); | ||
| 834 | -# else | ||
| 835 | -# define fgetpos fgetpos64 | ||
| 836 | -# define fsetpos fsetpos64 | ||
| 837 | -# endif | ||
| 838 | -#endif | ||
| 839 | - | ||
| 840 | -#ifdef __USE_LARGEFILE64 | ||
| 841 | -extern int fseeko64 (FILE *__stream, __off64_t __off, int __whence) | ||
| 842 | - __nonnull ((1)); | ||
| 843 | -extern __off64_t ftello64 (FILE *__stream) __wur __nonnull ((1)); | ||
| 844 | -extern int fgetpos64 (FILE *__restrict __stream, fpos64_t *__restrict __pos) | ||
| 845 | - __nonnull ((1)); | ||
| 846 | -extern int fsetpos64 (FILE *__stream, const fpos64_t *__pos) __nonnull ((1)); | ||
| 847 | -#endif | ||
| 848 | - | ||
| 849 | -/* Clear the error and EOF indicators for STREAM. */ | ||
| 850 | -extern void clearerr (FILE *__stream) __THROW __nonnull ((1)); | ||
| 851 | -/* Return the EOF indicator for STREAM. */ | ||
| 852 | -extern int feof (FILE *__stream) __THROW __wur __nonnull ((1)); | ||
| 853 | -/* Return the error indicator for STREAM. */ | ||
| 854 | -extern int ferror (FILE *__stream) __THROW __wur __nonnull ((1)); | ||
| 855 | - | ||
| 856 | -#ifdef __USE_MISC | ||
| 857 | -/* Faster versions when locking is not required. */ | ||
| 858 | -extern void clearerr_unlocked (FILE *__stream) __THROW __nonnull ((1)); | ||
| 859 | -extern int feof_unlocked (FILE *__stream) __THROW __wur __nonnull ((1)); | ||
| 860 | -extern int ferror_unlocked (FILE *__stream) __THROW __wur __nonnull ((1)); | ||
| 861 | -#endif | ||
| 862 | - | ||
| 863 | - | ||
| 864 | -/* Print a message describing the meaning of the value of errno. | ||
| 865 | - | ||
| 866 | - This function is a possible cancellation point and therefore not | ||
| 867 | - marked with __THROW. */ | ||
| 868 | -extern void perror (const char *__s) __COLD; | ||
| 869 | - | ||
| 870 | - | ||
| 871 | -#ifdef __USE_POSIX | ||
| 872 | -/* Return the system file descriptor for STREAM. */ | ||
| 873 | -extern int fileno (FILE *__stream) __THROW __wur __nonnull ((1)); | ||
| 874 | -#endif /* Use POSIX. */ | ||
| 875 | - | ||
| 876 | -#ifdef __USE_MISC | ||
| 877 | -/* Faster version when locking is not required. */ | ||
| 878 | -extern int fileno_unlocked (FILE *__stream) __THROW __wur __nonnull ((1)); | ||
| 879 | -#endif | ||
| 880 | - | ||
| 881 | - | ||
| 882 | -#ifdef __USE_POSIX2 | ||
| 883 | -/* Close a stream opened by popen and return the status of its child. | ||
| 884 | - | ||
| 885 | - This function is a possible cancellation point and therefore not | ||
| 886 | - marked with __THROW. */ | ||
| 887 | -extern int pclose (FILE *__stream) __nonnull ((1)); | ||
| 888 | - | ||
| 889 | -/* Create a new stream connected to a pipe running the given command. | ||
| 890 | - | ||
| 891 | - This function is a possible cancellation point and therefore not | ||
| 892 | - marked with __THROW. */ | ||
| 893 | -extern FILE *popen (const char *__command, const char *__modes) | ||
| 894 | - __attribute_malloc__ __attr_dealloc (pclose, 1) __wur; | ||
| 895 | - | ||
| 896 | -#endif | ||
| 897 | - | ||
| 898 | - | ||
| 899 | -#ifdef __USE_POSIX | ||
| 900 | -/* Return the name of the controlling terminal. */ | ||
| 901 | -extern char *ctermid (char *__s) __THROW | ||
| 902 | - __attr_access ((__write_only__, 1)); | ||
| 903 | -#endif /* Use POSIX. */ | ||
| 904 | - | ||
| 905 | - | ||
| 906 | -#if (defined __USE_XOPEN && !defined __USE_XOPEN2K) || defined __USE_GNU | ||
| 907 | -/* Return the name of the current user. */ | ||
| 908 | -extern char *cuserid (char *__s) | ||
| 909 | - __attr_access ((__write_only__, 1)); | ||
| 910 | -#endif /* Use X/Open, but not issue 6. */ | ||
| 911 | - | ||
| 912 | - | ||
| 913 | -#ifdef __USE_GNU | ||
| 914 | -struct obstack; /* See <obstack.h>. */ | ||
| 915 | - | ||
| 916 | -/* Write formatted output to an obstack. */ | ||
| 917 | -extern int obstack_printf (struct obstack *__restrict __obstack, | ||
| 918 | - const char *__restrict __format, ...) | ||
| 919 | - __THROWNL __attribute__ ((__format__ (__printf__, 2, 3))); | ||
| 920 | -extern int obstack_vprintf (struct obstack *__restrict __obstack, | ||
| 921 | - const char *__restrict __format, | ||
| 922 | - __gnuc_va_list __args) | ||
| 923 | - __THROWNL __attribute__ ((__format__ (__printf__, 2, 0))); | ||
| 924 | -#endif /* Use GNU. */ | ||
| 925 | - | ||
| 926 | - | ||
| 927 | -#ifdef __USE_POSIX199506 | ||
| 928 | -/* These are defined in POSIX.1:1996. */ | ||
| 929 | - | ||
| 930 | -/* Acquire ownership of STREAM. */ | ||
| 931 | -extern void flockfile (FILE *__stream) __THROW __nonnull ((1)); | ||
| 932 | - | ||
| 933 | -/* Try to acquire ownership of STREAM but do not block if it is not | ||
| 934 | - possible. */ | ||
| 935 | -extern int ftrylockfile (FILE *__stream) __THROW __wur __nonnull ((1)); | ||
| 936 | - | ||
| 937 | -/* Relinquish the ownership granted for STREAM. */ | ||
| 938 | -extern void funlockfile (FILE *__stream) __THROW __nonnull ((1)); | ||
| 939 | -#endif /* POSIX */ | ||
| 940 | - | ||
| 941 | -#if defined __USE_XOPEN && !defined __USE_XOPEN2K && !defined __USE_GNU | ||
| 942 | -/* X/Open Issues 1-5 required getopt to be declared in this | ||
| 943 | - header. It was removed in Issue 6. GNU follows Issue 6. */ | ||
| 944 | -# include <bits/getopt_posix.h> | ||
| 945 | -#endif | ||
| 946 | - | ||
| 947 | -/* Slow-path routines used by the optimized inline functions in | ||
| 948 | - bits/stdio.h. */ | ||
| 949 | -extern int __uflow (FILE *); | ||
| 950 | -extern int __overflow (FILE *, int); | ||
| 951 | - | ||
| 952 | -#if __USE_FORTIFY_LEVEL > 0 && defined __fortify_function | ||
| 953 | -/* Declare all functions from bits/stdio2-decl.h first. */ | ||
| 954 | -# include <bits/stdio2-decl.h> | ||
| 955 | -#endif | ||
| 956 | - | ||
| 957 | -/* The following headers provide asm redirections. These redirections must | ||
| 958 | - appear before the first usage of these functions, e.g. in bits/stdio.h. */ | ||
| 959 | -#if defined __LDBL_COMPAT || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 | ||
| 960 | -# include <bits/stdio-ldbl.h> | ||
| 961 | -#endif | ||
| 962 | - | ||
| 963 | -/* If we are compiling with optimizing read this file. It contains | ||
| 964 | - several optimizing inline functions and macros. */ | ||
| 965 | -#ifdef __USE_EXTERN_INLINES | ||
| 966 | -# include <bits/stdio.h> | ||
| 967 | -#endif | ||
| 968 | -#if __USE_FORTIFY_LEVEL > 0 && defined __fortify_function | ||
| 969 | -/* Now include the function definitions and redirects too. */ | ||
| 970 | -# include <bits/stdio2.h> | ||
| 971 | -#endif | ||
| 972 | - | ||
| 973 | -__END_DECLS | ||
| 974 | - | ||
| 975 | -#endif /* <stdio.h> included. */ | ||
+0 −0 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@stdio.h.blob deleted file mode 100644, Binary files a/.ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@stdio.h.blob and /dev/null differ Large diff collapsed, click to expand
+0 −1175 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@stdlib.h deleted file mode 100644 Large diff collapsed, click to expand
| @@ -1,1175 +0,0 @@ | |||
| 1 | -/* Copyright (C) 1991-2025 Free Software Foundation, Inc. | ||
| 2 | - Copyright The GNU Toolchain Authors. | ||
| 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 | -/* | ||
| 20 | - * ISO C99 Standard: 7.20 General utilities <stdlib.h> | ||
| 21 | - */ | ||
| 22 | - | ||
| 23 | -#ifndef _STDLIB_H | ||
| 24 | - | ||
| 25 | -#define __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION | ||
| 26 | -#include <bits/libc-header-start.h> | ||
| 27 | - | ||
| 28 | -/* Get size_t, wchar_t and NULL from <stddef.h>. */ | ||
| 29 | -#define __need_size_t | ||
| 30 | -#define __need_wchar_t | ||
| 31 | -#define __need_NULL | ||
| 32 | -#include <stddef.h> | ||
| 33 | - | ||
| 34 | -__BEGIN_DECLS | ||
| 35 | - | ||
| 36 | -#define _STDLIB_H 1 | ||
| 37 | - | ||
| 38 | -#if (defined __USE_XOPEN || defined __USE_XOPEN2K8) && !defined _SYS_WAIT_H | ||
| 39 | -/* XPG requires a few symbols from <sys/wait.h> being defined. */ | ||
| 40 | -# include <bits/waitflags.h> | ||
| 41 | -# include <bits/waitstatus.h> | ||
| 42 | - | ||
| 43 | -/* Define the macros <sys/wait.h> also would define this way. */ | ||
| 44 | -# define WEXITSTATUS(status) __WEXITSTATUS (status) | ||
| 45 | -# define WTERMSIG(status) __WTERMSIG (status) | ||
| 46 | -# define WSTOPSIG(status) __WSTOPSIG (status) | ||
| 47 | -# define WIFEXITED(status) __WIFEXITED (status) | ||
| 48 | -# define WIFSIGNALED(status) __WIFSIGNALED (status) | ||
| 49 | -# define WIFSTOPPED(status) __WIFSTOPPED (status) | ||
| 50 | -# ifdef __WIFCONTINUED | ||
| 51 | -# define WIFCONTINUED(status) __WIFCONTINUED (status) | ||
| 52 | -# endif | ||
| 53 | -#endif /* X/Open or XPG7 and <sys/wait.h> not included. */ | ||
| 54 | - | ||
| 55 | -/* _FloatN API tests for enablement. */ | ||
| 56 | -#include <bits/floatn.h> | ||
| 57 | - | ||
| 58 | -/* Returned by `div'. */ | ||
| 59 | -typedef struct | ||
| 60 | - { | ||
| 61 | - int quot; /* Quotient. */ | ||
| 62 | - int rem; /* Remainder. */ | ||
| 63 | - } div_t; | ||
| 64 | - | ||
| 65 | -/* Returned by `ldiv'. */ | ||
| 66 | -#ifndef __ldiv_t_defined | ||
| 67 | -typedef struct | ||
| 68 | - { | ||
| 69 | - long int quot; /* Quotient. */ | ||
| 70 | - long int rem; /* Remainder. */ | ||
| 71 | - } ldiv_t; | ||
| 72 | -# define __ldiv_t_defined 1 | ||
| 73 | -#endif | ||
| 74 | - | ||
| 75 | -#if defined __USE_ISOC99 && !defined __lldiv_t_defined | ||
| 76 | -/* Returned by `lldiv'. */ | ||
| 77 | -__extension__ typedef struct | ||
| 78 | - { | ||
| 79 | - long long int quot; /* Quotient. */ | ||
| 80 | - long long int rem; /* Remainder. */ | ||
| 81 | - } lldiv_t; | ||
| 82 | -# define __lldiv_t_defined 1 | ||
| 83 | -#endif | ||
| 84 | - | ||
| 85 | - | ||
| 86 | -/* The largest number rand will return (same as INT_MAX). */ | ||
| 87 | -#define RAND_MAX 2147483647 | ||
| 88 | - | ||
| 89 | - | ||
| 90 | -/* We define these the same for all machines. | ||
| 91 | - Changes from this to the outside world should be done in `_exit'. */ | ||
| 92 | -#define EXIT_FAILURE 1 /* Failing exit status. */ | ||
| 93 | -#define EXIT_SUCCESS 0 /* Successful exit status. */ | ||
| 94 | - | ||
| 95 | - | ||
| 96 | -/* Maximum length of a multibyte character in the current locale. */ | ||
| 97 | -#define MB_CUR_MAX (__ctype_get_mb_cur_max ()) | ||
| 98 | -extern size_t __ctype_get_mb_cur_max (void) __THROW __wur; | ||
| 99 | - | ||
| 100 | - | ||
| 101 | -/* Convert a string to a floating-point number. */ | ||
| 102 | -extern double atof (const char *__nptr) | ||
| 103 | - __THROW __attribute_pure__ __nonnull ((1)) __wur; | ||
| 104 | -/* Convert a string to an integer. */ | ||
| 105 | -extern int atoi (const char *__nptr) | ||
| 106 | - __THROW __attribute_pure__ __nonnull ((1)) __wur; | ||
| 107 | -/* Convert a string to a long integer. */ | ||
| 108 | -extern long int atol (const char *__nptr) | ||
| 109 | - __THROW __attribute_pure__ __nonnull ((1)) __wur; | ||
| 110 | - | ||
| 111 | -#ifdef __USE_ISOC99 | ||
| 112 | -/* Convert a string to a long long integer. */ | ||
| 113 | -__extension__ extern long long int atoll (const char *__nptr) | ||
| 114 | - __THROW __attribute_pure__ __nonnull ((1)) __wur; | ||
| 115 | -#endif | ||
| 116 | - | ||
| 117 | -/* Convert a string to a floating-point number. */ | ||
| 118 | -extern double strtod (const char *__restrict __nptr, | ||
| 119 | - char **__restrict __endptr) | ||
| 120 | - __THROW __nonnull ((1)); | ||
| 121 | - | ||
| 122 | -#ifdef __USE_ISOC99 | ||
| 123 | -/* Likewise for `float' and `long double' sizes of floating-point numbers. */ | ||
| 124 | -extern float strtof (const char *__restrict __nptr, | ||
| 125 | - char **__restrict __endptr) __THROW __nonnull ((1)); | ||
| 126 | - | ||
| 127 | -extern long double strtold (const char *__restrict __nptr, | ||
| 128 | - char **__restrict __endptr) | ||
| 129 | - __THROW __nonnull ((1)); | ||
| 130 | -#endif | ||
| 131 | - | ||
| 132 | -/* Likewise for '_FloatN' and '_FloatNx'. */ | ||
| 133 | - | ||
| 134 | -#if __HAVE_FLOAT16 && __GLIBC_USE (IEC_60559_TYPES_EXT) | ||
| 135 | -extern _Float16 strtof16 (const char *__restrict __nptr, | ||
| 136 | - char **__restrict __endptr) | ||
| 137 | - __THROW __nonnull ((1)); | ||
| 138 | -#endif | ||
| 139 | - | ||
| 140 | -#if __HAVE_FLOAT32 && __GLIBC_USE (IEC_60559_TYPES_EXT) | ||
| 141 | -extern _Float32 strtof32 (const char *__restrict __nptr, | ||
| 142 | - char **__restrict __endptr) | ||
| 143 | - __THROW __nonnull ((1)); | ||
| 144 | -#endif | ||
| 145 | - | ||
| 146 | -#if __HAVE_FLOAT64 && __GLIBC_USE (IEC_60559_TYPES_EXT) | ||
| 147 | -extern _Float64 strtof64 (const char *__restrict __nptr, | ||
| 148 | - char **__restrict __endptr) | ||
| 149 | - __THROW __nonnull ((1)); | ||
| 150 | -#endif | ||
| 151 | - | ||
| 152 | -#if __HAVE_FLOAT128 && __GLIBC_USE (IEC_60559_TYPES_EXT) | ||
| 153 | -extern _Float128 strtof128 (const char *__restrict __nptr, | ||
| 154 | - char **__restrict __endptr) | ||
| 155 | - __THROW __nonnull ((1)); | ||
| 156 | -#endif | ||
| 157 | - | ||
| 158 | -#if __HAVE_FLOAT32X && __GLIBC_USE (IEC_60559_TYPES_EXT) | ||
| 159 | -extern _Float32x strtof32x (const char *__restrict __nptr, | ||
| 160 | - char **__restrict __endptr) | ||
| 161 | - __THROW __nonnull ((1)); | ||
| 162 | -#endif | ||
| 163 | - | ||
| 164 | -#if __HAVE_FLOAT64X && __GLIBC_USE (IEC_60559_TYPES_EXT) | ||
| 165 | -extern _Float64x strtof64x (const char *__restrict __nptr, | ||
| 166 | - char **__restrict __endptr) | ||
| 167 | - __THROW __nonnull ((1)); | ||
| 168 | -#endif | ||
| 169 | - | ||
| 170 | -#if __HAVE_FLOAT128X && __GLIBC_USE (IEC_60559_TYPES_EXT) | ||
| 171 | -extern _Float128x strtof128x (const char *__restrict __nptr, | ||
| 172 | - char **__restrict __endptr) | ||
| 173 | - __THROW __nonnull ((1)); | ||
| 174 | -#endif | ||
| 175 | - | ||
| 176 | -/* Convert a string to a long integer. */ | ||
| 177 | -extern long int strtol (const char *__restrict __nptr, | ||
| 178 | - char **__restrict __endptr, int __base) | ||
| 179 | - __THROW __nonnull ((1)); | ||
| 180 | -/* Convert a string to an unsigned long integer. */ | ||
| 181 | -extern unsigned long int strtoul (const char *__restrict __nptr, | ||
| 182 | - char **__restrict __endptr, int __base) | ||
| 183 | - __THROW __nonnull ((1)); | ||
| 184 | - | ||
| 185 | -#ifdef __USE_MISC | ||
| 186 | -/* Convert a string to a quadword integer. */ | ||
| 187 | -__extension__ | ||
| 188 | -extern long long int strtoq (const char *__restrict __nptr, | ||
| 189 | - char **__restrict __endptr, int __base) | ||
| 190 | - __THROW __nonnull ((1)); | ||
| 191 | -/* Convert a string to an unsigned quadword integer. */ | ||
| 192 | -__extension__ | ||
| 193 | -extern unsigned long long int strtouq (const char *__restrict __nptr, | ||
| 194 | - char **__restrict __endptr, int __base) | ||
| 195 | - __THROW __nonnull ((1)); | ||
| 196 | -#endif /* Use misc. */ | ||
| 197 | - | ||
| 198 | -#ifdef __USE_ISOC99 | ||
| 199 | -/* Convert a string to a quadword integer. */ | ||
| 200 | -__extension__ | ||
| 201 | -extern long long int strtoll (const char *__restrict __nptr, | ||
| 202 | - char **__restrict __endptr, int __base) | ||
| 203 | - __THROW __nonnull ((1)); | ||
| 204 | -/* Convert a string to an unsigned quadword integer. */ | ||
| 205 | -__extension__ | ||
| 206 | -extern unsigned long long int strtoull (const char *__restrict __nptr, | ||
| 207 | - char **__restrict __endptr, int __base) | ||
| 208 | - __THROW __nonnull ((1)); | ||
| 209 | -#endif /* ISO C99 or use MISC. */ | ||
| 210 | - | ||
| 211 | -/* Versions of the above functions that handle '0b' and '0B' prefixes | ||
| 212 | - in base 0 or 2. */ | ||
| 213 | -#if __GLIBC_USE (C23_STRTOL) | ||
| 214 | -# ifdef __REDIRECT | ||
| 215 | -extern long int __REDIRECT_NTH (strtol, (const char *__restrict __nptr, | ||
| 216 | - char **__restrict __endptr, | ||
| 217 | - int __base), __isoc23_strtol) | ||
| 218 | - __nonnull ((1)); | ||
| 219 | -extern unsigned long int __REDIRECT_NTH (strtoul, | ||
| 220 | - (const char *__restrict __nptr, | ||
| 221 | - char **__restrict __endptr, | ||
| 222 | - int __base), __isoc23_strtoul) | ||
| 223 | - __nonnull ((1)); | ||
| 224 | -# ifdef __USE_MISC | ||
| 225 | -__extension__ | ||
| 226 | -extern long long int __REDIRECT_NTH (strtoq, (const char *__restrict __nptr, | ||
| 227 | - char **__restrict __endptr, | ||
| 228 | - int __base), __isoc23_strtoll) | ||
| 229 | - __nonnull ((1)); | ||
| 230 | -__extension__ | ||
| 231 | -extern unsigned long long int __REDIRECT_NTH (strtouq, | ||
| 232 | - (const char *__restrict __nptr, | ||
| 233 | - char **__restrict __endptr, | ||
| 234 | - int __base), __isoc23_strtoull) | ||
| 235 | - __nonnull ((1)); | ||
| 236 | -# endif | ||
| 237 | -__extension__ | ||
| 238 | -extern long long int __REDIRECT_NTH (strtoll, (const char *__restrict __nptr, | ||
| 239 | - char **__restrict __endptr, | ||
| 240 | - int __base), __isoc23_strtoll) | ||
| 241 | - __nonnull ((1)); | ||
| 242 | -__extension__ | ||
| 243 | -extern unsigned long long int __REDIRECT_NTH (strtoull, | ||
| 244 | - (const char *__restrict __nptr, | ||
| 245 | - char **__restrict __endptr, | ||
| 246 | - int __base), __isoc23_strtoull) | ||
| 247 | - __nonnull ((1)); | ||
| 248 | -# else | ||
| 249 | -extern long int __isoc23_strtol (const char *__restrict __nptr, | ||
| 250 | - char **__restrict __endptr, int __base) | ||
| 251 | - __THROW __nonnull ((1)); | ||
| 252 | -extern unsigned long int __isoc23_strtoul (const char *__restrict __nptr, | ||
| 253 | - char **__restrict __endptr, | ||
| 254 | - int __base) | ||
| 255 | - __THROW __nonnull ((1)); | ||
| 256 | -__extension__ | ||
| 257 | -extern long long int __isoc23_strtoll (const char *__restrict __nptr, | ||
| 258 | - char **__restrict __endptr, int __base) | ||
| 259 | - __THROW __nonnull ((1)); | ||
| 260 | -__extension__ | ||
| 261 | -extern unsigned long long int __isoc23_strtoull (const char *__restrict __nptr, | ||
| 262 | - char **__restrict __endptr, | ||
| 263 | - int __base) | ||
| 264 | - __THROW __nonnull ((1)); | ||
| 265 | -# define strtol __isoc23_strtol | ||
| 266 | -# define strtoul __isoc23_strtoul | ||
| 267 | -# ifdef __USE_MISC | ||
| 268 | -# define strtoq __isoc23_strtoll | ||
| 269 | -# define strtouq __isoc23_strtoull | ||
| 270 | -# endif | ||
| 271 | -# define strtoll __isoc23_strtoll | ||
| 272 | -# define strtoull __isoc23_strtoull | ||
| 273 | -# endif | ||
| 274 | -#endif | ||
| 275 | - | ||
| 276 | -/* Convert a floating-point number to a string. */ | ||
| 277 | -#if __GLIBC_USE (IEC_60559_BFP_EXT_C23) | ||
| 278 | -extern int strfromd (char *__dest, size_t __size, const char *__format, | ||
| 279 | - double __f) | ||
| 280 | - __THROW __nonnull ((3)); | ||
| 281 | - | ||
| 282 | -extern int strfromf (char *__dest, size_t __size, const char *__format, | ||
| 283 | - float __f) | ||
| 284 | - __THROW __nonnull ((3)); | ||
| 285 | - | ||
| 286 | -extern int strfroml (char *__dest, size_t __size, const char *__format, | ||
| 287 | - long double __f) | ||
| 288 | - __THROW __nonnull ((3)); | ||
| 289 | -#endif | ||
| 290 | - | ||
| 291 | -#if __HAVE_FLOAT16 && __GLIBC_USE (IEC_60559_TYPES_EXT) | ||
| 292 | -extern int strfromf16 (char *__dest, size_t __size, const char * __format, | ||
| 293 | - _Float16 __f) | ||
| 294 | - __THROW __nonnull ((3)); | ||
| 295 | -#endif | ||
| 296 | - | ||
| 297 | -#if __HAVE_FLOAT32 && __GLIBC_USE (IEC_60559_TYPES_EXT) | ||
| 298 | -extern int strfromf32 (char *__dest, size_t __size, const char * __format, | ||
| 299 | - _Float32 __f) | ||
| 300 | - __THROW __nonnull ((3)); | ||
| 301 | -#endif | ||
| 302 | - | ||
| 303 | -#if __HAVE_FLOAT64 && __GLIBC_USE (IEC_60559_TYPES_EXT) | ||
| 304 | -extern int strfromf64 (char *__dest, size_t __size, const char * __format, | ||
| 305 | - _Float64 __f) | ||
| 306 | - __THROW __nonnull ((3)); | ||
| 307 | -#endif | ||
| 308 | - | ||
| 309 | -#if __HAVE_FLOAT128 && __GLIBC_USE (IEC_60559_TYPES_EXT) | ||
| 310 | -extern int strfromf128 (char *__dest, size_t __size, const char * __format, | ||
| 311 | - _Float128 __f) | ||
| 312 | - __THROW __nonnull ((3)); | ||
| 313 | -#endif | ||
| 314 | - | ||
| 315 | -#if __HAVE_FLOAT32X && __GLIBC_USE (IEC_60559_TYPES_EXT) | ||
| 316 | -extern int strfromf32x (char *__dest, size_t __size, const char * __format, | ||
| 317 | - _Float32x __f) | ||
| 318 | - __THROW __nonnull ((3)); | ||
| 319 | -#endif | ||
| 320 | - | ||
| 321 | -#if __HAVE_FLOAT64X && __GLIBC_USE (IEC_60559_TYPES_EXT) | ||
| 322 | -extern int strfromf64x (char *__dest, size_t __size, const char * __format, | ||
| 323 | - _Float64x __f) | ||
| 324 | - __THROW __nonnull ((3)); | ||
| 325 | -#endif | ||
| 326 | - | ||
| 327 | -#if __HAVE_FLOAT128X && __GLIBC_USE (IEC_60559_TYPES_EXT) | ||
| 328 | -extern int strfromf128x (char *__dest, size_t __size, const char * __format, | ||
| 329 | - _Float128x __f) | ||
| 330 | - __THROW __nonnull ((3)); | ||
| 331 | -#endif | ||
| 332 | - | ||
| 333 | - | ||
| 334 | -#ifdef __USE_GNU | ||
| 335 | -/* Parallel versions of the functions above which take the locale to | ||
| 336 | - use as an additional parameter. These are GNU extensions inspired | ||
| 337 | - by the POSIX.1-2008 extended locale API. */ | ||
| 338 | -# include <bits/types/locale_t.h> | ||
| 339 | - | ||
| 340 | -extern long int strtol_l (const char *__restrict __nptr, | ||
| 341 | - char **__restrict __endptr, int __base, | ||
| 342 | - locale_t __loc) __THROW __nonnull ((1, 4)); | ||
| 343 | - | ||
| 344 | -extern unsigned long int strtoul_l (const char *__restrict __nptr, | ||
| 345 | - char **__restrict __endptr, | ||
| 346 | - int __base, locale_t __loc) | ||
| 347 | - __THROW __nonnull ((1, 4)); | ||
| 348 | - | ||
| 349 | -__extension__ | ||
| 350 | -extern long long int strtoll_l (const char *__restrict __nptr, | ||
| 351 | - char **__restrict __endptr, int __base, | ||
| 352 | - locale_t __loc) | ||
| 353 | - __THROW __nonnull ((1, 4)); | ||
| 354 | - | ||
| 355 | -__extension__ | ||
| 356 | -extern unsigned long long int strtoull_l (const char *__restrict __nptr, | ||
| 357 | - char **__restrict __endptr, | ||
| 358 | - int __base, locale_t __loc) | ||
| 359 | - __THROW __nonnull ((1, 4)); | ||
| 360 | - | ||
| 361 | -/* Versions of the above functions that handle '0b' and '0B' prefixes | ||
| 362 | - in base 0 or 2. */ | ||
| 363 | -# if __GLIBC_USE (C23_STRTOL) | ||
| 364 | -# ifdef __REDIRECT | ||
| 365 | -extern long int __REDIRECT_NTH (strtol_l, (const char *__restrict __nptr, | ||
| 366 | - char **__restrict __endptr, | ||
| 367 | - int __base, locale_t __loc), | ||
| 368 | - __isoc23_strtol_l) | ||
| 369 | - __nonnull ((1, 4)); | ||
| 370 | -extern unsigned long int __REDIRECT_NTH (strtoul_l, | ||
| 371 | - (const char *__restrict __nptr, | ||
| 372 | - char **__restrict __endptr, | ||
| 373 | - int __base, locale_t __loc), | ||
| 374 | - __isoc23_strtoul_l) | ||
| 375 | - __nonnull ((1, 4)); | ||
| 376 | -__extension__ | ||
| 377 | -extern long long int __REDIRECT_NTH (strtoll_l, (const char *__restrict __nptr, | ||
| 378 | - char **__restrict __endptr, | ||
| 379 | - int __base, | ||
| 380 | - locale_t __loc), | ||
| 381 | - __isoc23_strtoll_l) | ||
| 382 | - __nonnull ((1, 4)); | ||
| 383 | -__extension__ | ||
| 384 | -extern unsigned long long int __REDIRECT_NTH (strtoull_l, | ||
| 385 | - (const char *__restrict __nptr, | ||
| 386 | - char **__restrict __endptr, | ||
| 387 | - int __base, locale_t __loc), | ||
| 388 | - __isoc23_strtoull_l) | ||
| 389 | - __nonnull ((1, 4)); | ||
| 390 | -# else | ||
| 391 | -extern long int __isoc23_strtol_l (const char *__restrict __nptr, | ||
| 392 | - char **__restrict __endptr, int __base, | ||
| 393 | - locale_t __loc) __THROW __nonnull ((1, 4)); | ||
| 394 | -extern unsigned long int __isoc23_strtoul_l (const char *__restrict __nptr, | ||
| 395 | - char **__restrict __endptr, | ||
| 396 | - int __base, locale_t __loc) | ||
| 397 | - __THROW __nonnull ((1, 4)); | ||
| 398 | -__extension__ | ||
| 399 | -extern long long int __isoc23_strtoll_l (const char *__restrict __nptr, | ||
| 400 | - char **__restrict __endptr, | ||
| 401 | - int __base, locale_t __loc) | ||
| 402 | - __THROW __nonnull ((1, 4)); | ||
| 403 | -__extension__ | ||
| 404 | -extern unsigned long long int __isoc23_strtoull_l (const char *__restrict __nptr, | ||
| 405 | - char **__restrict __endptr, | ||
| 406 | - int __base, locale_t __loc) | ||
| 407 | - __THROW __nonnull ((1, 4)); | ||
| 408 | -# define strtol_l __isoc23_strtol_l | ||
| 409 | -# define strtoul_l __isoc23_strtoul_l | ||
| 410 | -# define strtoll_l __isoc23_strtoll_l | ||
| 411 | -# define strtoull_l __isoc23_strtoull_l | ||
| 412 | -# endif | ||
| 413 | -# endif | ||
| 414 | - | ||
| 415 | -extern double strtod_l (const char *__restrict __nptr, | ||
| 416 | - char **__restrict __endptr, locale_t __loc) | ||
| 417 | - __THROW __nonnull ((1, 3)); | ||
| 418 | - | ||
| 419 | -extern float strtof_l (const char *__restrict __nptr, | ||
| 420 | - char **__restrict __endptr, locale_t __loc) | ||
| 421 | - __THROW __nonnull ((1, 3)); | ||
| 422 | - | ||
| 423 | -extern long double strtold_l (const char *__restrict __nptr, | ||
| 424 | - char **__restrict __endptr, | ||
| 425 | - locale_t __loc) | ||
| 426 | - __THROW __nonnull ((1, 3)); | ||
| 427 | - | ||
| 428 | -# if __HAVE_FLOAT16 | ||
| 429 | -extern _Float16 strtof16_l (const char *__restrict __nptr, | ||
| 430 | - char **__restrict __endptr, | ||
| 431 | - locale_t __loc) | ||
| 432 | - __THROW __nonnull ((1, 3)); | ||
| 433 | -# endif | ||
| 434 | - | ||
| 435 | -# if __HAVE_FLOAT32 | ||
| 436 | -extern _Float32 strtof32_l (const char *__restrict __nptr, | ||
| 437 | - char **__restrict __endptr, | ||
| 438 | - locale_t __loc) | ||
| 439 | - __THROW __nonnull ((1, 3)); | ||
| 440 | -# endif | ||
| 441 | - | ||
| 442 | -# if __HAVE_FLOAT64 | ||
| 443 | -extern _Float64 strtof64_l (const char *__restrict __nptr, | ||
| 444 | - char **__restrict __endptr, | ||
| 445 | - locale_t __loc) | ||
| 446 | - __THROW __nonnull ((1, 3)); | ||
| 447 | -# endif | ||
| 448 | - | ||
| 449 | -# if __HAVE_FLOAT128 | ||
| 450 | -extern _Float128 strtof128_l (const char *__restrict __nptr, | ||
| 451 | - char **__restrict __endptr, | ||
| 452 | - locale_t __loc) | ||
| 453 | - __THROW __nonnull ((1, 3)); | ||
| 454 | -# endif | ||
| 455 | - | ||
| 456 | -# if __HAVE_FLOAT32X | ||
| 457 | -extern _Float32x strtof32x_l (const char *__restrict __nptr, | ||
| 458 | - char **__restrict __endptr, | ||
| 459 | - locale_t __loc) | ||
| 460 | - __THROW __nonnull ((1, 3)); | ||
| 461 | -# endif | ||
| 462 | - | ||
| 463 | -# if __HAVE_FLOAT64X | ||
| 464 | -extern _Float64x strtof64x_l (const char *__restrict __nptr, | ||
| 465 | - char **__restrict __endptr, | ||
| 466 | - locale_t __loc) | ||
| 467 | - __THROW __nonnull ((1, 3)); | ||
| 468 | -# endif | ||
| 469 | - | ||
| 470 | -# if __HAVE_FLOAT128X | ||
| 471 | -extern _Float128x strtof128x_l (const char *__restrict __nptr, | ||
| 472 | - char **__restrict __endptr, | ||
| 473 | - locale_t __loc) | ||
| 474 | - __THROW __nonnull ((1, 3)); | ||
| 475 | -# endif | ||
| 476 | -#endif /* GNU */ | ||
| 477 | - | ||
| 478 | - | ||
| 479 | -#ifdef __USE_EXTERN_INLINES | ||
| 480 | -__extern_inline int | ||
| 481 | -__NTH (atoi (const char *__nptr)) | ||
| 482 | -{ | ||
| 483 | - return (int) strtol (__nptr, (char **) NULL, 10); | ||
| 484 | -} | ||
| 485 | -__extern_inline long int | ||
| 486 | -__NTH (atol (const char *__nptr)) | ||
| 487 | -{ | ||
| 488 | - return strtol (__nptr, (char **) NULL, 10); | ||
| 489 | -} | ||
| 490 | - | ||
| 491 | -# ifdef __USE_ISOC99 | ||
| 492 | -__extension__ __extern_inline long long int | ||
| 493 | -__NTH (atoll (const char *__nptr)) | ||
| 494 | -{ | ||
| 495 | - return strtoll (__nptr, (char **) NULL, 10); | ||
| 496 | -} | ||
| 497 | -# endif | ||
| 498 | -#endif /* Optimizing and Inlining. */ | ||
| 499 | - | ||
| 500 | - | ||
| 501 | -#if defined __USE_MISC || defined __USE_XOPEN_EXTENDED | ||
| 502 | -/* Convert N to base 64 using the digits "./0-9A-Za-z", least-significant | ||
| 503 | - digit first. Returns a pointer to static storage overwritten by the | ||
| 504 | - next call. */ | ||
| 505 | -extern char *l64a (long int __n) __THROW __wur; | ||
| 506 | - | ||
| 507 | -/* Read a number from a string S in base 64 as above. */ | ||
| 508 | -extern long int a64l (const char *__s) | ||
| 509 | - __THROW __attribute_pure__ __nonnull ((1)) __wur; | ||
| 510 | - | ||
| 511 | -#endif /* Use misc || extended X/Open. */ | ||
| 512 | - | ||
| 513 | -#if defined __USE_MISC || defined __USE_XOPEN_EXTENDED | ||
| 514 | -# include <sys/types.h> /* we need int32_t... */ | ||
| 515 | - | ||
| 516 | -/* These are the functions that actually do things. The `random', `srandom', | ||
| 517 | - `initstate' and `setstate' functions are those from BSD Unices. | ||
| 518 | - The `rand' and `srand' functions are required by the ANSI standard. | ||
| 519 | - We provide both interfaces to the same random number generator. */ | ||
| 520 | -/* Return a random long integer between 0 and 2^31-1 inclusive. */ | ||
| 521 | -extern long int random (void) __THROW; | ||
| 522 | - | ||
| 523 | -/* Seed the random number generator with the given number. */ | ||
| 524 | -extern void srandom (unsigned int __seed) __THROW; | ||
| 525 | - | ||
| 526 | -/* Initialize the random number generator to use state buffer STATEBUF, | ||
| 527 | - of length STATELEN, and seed it with SEED. Optimal lengths are 8, 16, | ||
| 528 | - 32, 64, 128 and 256, the bigger the better; values less than 8 will | ||
| 529 | - cause an error and values greater than 256 will be rounded down. */ | ||
| 530 | -extern char *initstate (unsigned int __seed, char *__statebuf, | ||
| 531 | - size_t __statelen) __THROW __nonnull ((2)); | ||
| 532 | - | ||
| 533 | -/* Switch the random number generator to state buffer STATEBUF, | ||
| 534 | - which should have been previously initialized by `initstate'. */ | ||
| 535 | -extern char *setstate (char *__statebuf) __THROW __nonnull ((1)); | ||
| 536 | - | ||
| 537 | - | ||
| 538 | -# ifdef __USE_MISC | ||
| 539 | -/* Reentrant versions of the `random' family of functions. | ||
| 540 | - These functions all use the following data structure to contain | ||
| 541 | - state, rather than global state variables. */ | ||
| 542 | - | ||
| 543 | -struct random_data | ||
| 544 | - { | ||
| 545 | - int32_t *fptr; /* Front pointer. */ | ||
| 546 | - int32_t *rptr; /* Rear pointer. */ | ||
| 547 | - int32_t *state; /* Array of state values. */ | ||
| 548 | - int rand_type; /* Type of random number generator. */ | ||
| 549 | - int rand_deg; /* Degree of random number generator. */ | ||
| 550 | - int rand_sep; /* Distance between front and rear. */ | ||
| 551 | - int32_t *end_ptr; /* Pointer behind state table. */ | ||
| 552 | - }; | ||
| 553 | - | ||
| 554 | -extern int random_r (struct random_data *__restrict __buf, | ||
| 555 | - int32_t *__restrict __result) __THROW __nonnull ((1, 2)); | ||
| 556 | - | ||
| 557 | -extern int srandom_r (unsigned int __seed, struct random_data *__buf) | ||
| 558 | - __THROW __nonnull ((2)); | ||
| 559 | - | ||
| 560 | -extern int initstate_r (unsigned int __seed, char *__restrict __statebuf, | ||
| 561 | - size_t __statelen, | ||
| 562 | - struct random_data *__restrict __buf) | ||
| 563 | - __THROW __nonnull ((2, 4)); | ||
| 564 | - | ||
| 565 | -extern int setstate_r (char *__restrict __statebuf, | ||
| 566 | - struct random_data *__restrict __buf) | ||
| 567 | - __THROW __nonnull ((1, 2)); | ||
| 568 | -# endif /* Use misc. */ | ||
| 569 | -#endif /* Use extended X/Open || misc. */ | ||
| 570 | - | ||
| 571 | - | ||
| 572 | -/* Return a random integer between 0 and RAND_MAX inclusive. */ | ||
| 573 | -extern int rand (void) __THROW; | ||
| 574 | -/* Seed the random number generator with the given number. */ | ||
| 575 | -extern void srand (unsigned int __seed) __THROW; | ||
| 576 | - | ||
| 577 | -#ifdef __USE_POSIX199506 | ||
| 578 | -/* Reentrant interface according to POSIX.1. */ | ||
| 579 | -extern int rand_r (unsigned int *__seed) __THROW; | ||
| 580 | -#endif | ||
| 581 | - | ||
| 582 | - | ||
| 583 | -#if defined __USE_MISC || defined __USE_XOPEN | ||
| 584 | -/* System V style 48-bit random number generator functions. */ | ||
| 585 | - | ||
| 586 | -/* Return non-negative, double-precision floating-point value in [0.0,1.0). */ | ||
| 587 | -extern double drand48 (void) __THROW; | ||
| 588 | -extern double erand48 (unsigned short int __xsubi[3]) __THROW __nonnull ((1)); | ||
| 589 | - | ||
| 590 | -/* Return non-negative, long integer in [0,2^31). */ | ||
| 591 | -extern long int lrand48 (void) __THROW; | ||
| 592 | -extern long int nrand48 (unsigned short int __xsubi[3]) | ||
| 593 | - __THROW __nonnull ((1)); | ||
| 594 | - | ||
| 595 | -/* Return signed, long integers in [-2^31,2^31). */ | ||
| 596 | -extern long int mrand48 (void) __THROW; | ||
| 597 | -extern long int jrand48 (unsigned short int __xsubi[3]) | ||
| 598 | - __THROW __nonnull ((1)); | ||
| 599 | - | ||
| 600 | -/* Seed random number generator. */ | ||
| 601 | -extern void srand48 (long int __seedval) __THROW; | ||
| 602 | -extern unsigned short int *seed48 (unsigned short int __seed16v[3]) | ||
| 603 | - __THROW __nonnull ((1)); | ||
| 604 | -extern void lcong48 (unsigned short int __param[7]) __THROW __nonnull ((1)); | ||
| 605 | - | ||
| 606 | -# ifdef __USE_MISC | ||
| 607 | -/* Data structure for communication with thread safe versions. This | ||
| 608 | - type is to be regarded as opaque. It's only exported because users | ||
| 609 | - have to allocate objects of this type. */ | ||
| 610 | -struct drand48_data | ||
| 611 | - { | ||
| 612 | - unsigned short int __x[3]; /* Current state. */ | ||
| 613 | - unsigned short int __old_x[3]; /* Old state. */ | ||
| 614 | - unsigned short int __c; /* Additive const. in congruential formula. */ | ||
| 615 | - unsigned short int __init; /* Flag for initializing. */ | ||
| 616 | - __extension__ unsigned long long int __a; /* Factor in congruential | ||
| 617 | - formula. */ | ||
| 618 | - }; | ||
| 619 | - | ||
| 620 | -/* Return non-negative, double-precision floating-point value in [0.0,1.0). */ | ||
| 621 | -extern int drand48_r (struct drand48_data *__restrict __buffer, | ||
| 622 | - double *__restrict __result) __THROW __nonnull ((1, 2)); | ||
| 623 | -extern int erand48_r (unsigned short int __xsubi[3], | ||
| 624 | - struct drand48_data *__restrict __buffer, | ||
| 625 | - double *__restrict __result) __THROW __nonnull ((1, 2)); | ||
| 626 | - | ||
| 627 | -/* Return non-negative, long integer in [0,2^31). */ | ||
| 628 | -extern int lrand48_r (struct drand48_data *__restrict __buffer, | ||
| 629 | - long int *__restrict __result) | ||
| 630 | - __THROW __nonnull ((1, 2)); | ||
| 631 | -extern int nrand48_r (unsigned short int __xsubi[3], | ||
| 632 | - struct drand48_data *__restrict __buffer, | ||
| 633 | - long int *__restrict __result) | ||
| 634 | - __THROW __nonnull ((1, 2)); | ||
| 635 | - | ||
| 636 | -/* Return signed, long integers in [-2^31,2^31). */ | ||
| 637 | -extern int mrand48_r (struct drand48_data *__restrict __buffer, | ||
| 638 | - long int *__restrict __result) | ||
| 639 | - __THROW __nonnull ((1, 2)); | ||
| 640 | -extern int jrand48_r (unsigned short int __xsubi[3], | ||
| 641 | - struct drand48_data *__restrict __buffer, | ||
| 642 | - long int *__restrict __result) | ||
| 643 | - __THROW __nonnull ((1, 2)); | ||
| 644 | - | ||
| 645 | -/* Seed random number generator. */ | ||
| 646 | -extern int srand48_r (long int __seedval, struct drand48_data *__buffer) | ||
| 647 | - __THROW __nonnull ((2)); | ||
| 648 | - | ||
| 649 | -extern int seed48_r (unsigned short int __seed16v[3], | ||
| 650 | - struct drand48_data *__buffer) __THROW __nonnull ((1, 2)); | ||
| 651 | - | ||
| 652 | -extern int lcong48_r (unsigned short int __param[7], | ||
| 653 | - struct drand48_data *__buffer) | ||
| 654 | - __THROW __nonnull ((1, 2)); | ||
| 655 | - | ||
| 656 | -/* Return a random integer between zero and 2**32-1 (inclusive). */ | ||
| 657 | -extern __uint32_t arc4random (void) | ||
| 658 | - __THROW __wur; | ||
| 659 | - | ||
| 660 | -/* Fill the buffer with random data. */ | ||
| 661 | -extern void arc4random_buf (void *__buf, size_t __size) | ||
| 662 | - __THROW __nonnull ((1)); | ||
| 663 | - | ||
| 664 | -/* Return a random number between zero (inclusive) and the specified | ||
| 665 | - limit (exclusive). */ | ||
| 666 | -extern __uint32_t arc4random_uniform (__uint32_t __upper_bound) | ||
| 667 | - __THROW __wur; | ||
| 668 | -# endif /* Use misc. */ | ||
| 669 | -#endif /* Use misc or X/Open. */ | ||
| 670 | - | ||
| 671 | -/* Allocate SIZE bytes of memory. */ | ||
| 672 | -extern void *malloc (size_t __size) __THROW __attribute_malloc__ | ||
| 673 | - __attribute_alloc_size__ ((1)) __wur; | ||
| 674 | -/* Allocate NMEMB elements of SIZE bytes each, all initialized to 0. */ | ||
| 675 | -extern void *calloc (size_t __nmemb, size_t __size) | ||
| 676 | - __THROW __attribute_malloc__ __attribute_alloc_size__ ((1, 2)) __wur; | ||
| 677 | - | ||
| 678 | -/* Re-allocate the previously allocated block | ||
| 679 | - in PTR, making the new block SIZE bytes long. */ | ||
| 680 | -/* __attribute_malloc__ is not used, because if realloc returns | ||
| 681 | - the same pointer that was passed to it, aliasing needs to be allowed | ||
| 682 | - between objects pointed by the old and new pointers. */ | ||
| 683 | -extern void *realloc (void *__ptr, size_t __size) | ||
| 684 | - __THROW __attribute_warn_unused_result__ __attribute_alloc_size__ ((2)); | ||
| 685 | - | ||
| 686 | -/* Free a block allocated by `malloc', `realloc' or `calloc'. */ | ||
| 687 | -extern void free (void *__ptr) __THROW; | ||
| 688 | - | ||
| 689 | -#ifdef __USE_MISC | ||
| 690 | -/* Re-allocate the previously allocated block in PTR, making the new | ||
| 691 | - block large enough for NMEMB elements of SIZE bytes each. */ | ||
| 692 | -/* __attribute_malloc__ is not used, because if reallocarray returns | ||
| 693 | - the same pointer that was passed to it, aliasing needs to be allowed | ||
| 694 | - between objects pointed by the old and new pointers. */ | ||
| 695 | -extern void *reallocarray (void *__ptr, size_t __nmemb, size_t __size) | ||
| 696 | - __THROW __attribute_warn_unused_result__ | ||
| 697 | - __attribute_alloc_size__ ((2, 3)) | ||
| 698 | - __attr_dealloc_free; | ||
| 699 | - | ||
| 700 | -/* Add reallocarray as its own deallocator. */ | ||
| 701 | -extern void *reallocarray (void *__ptr, size_t __nmemb, size_t __size) | ||
| 702 | - __THROW __attr_dealloc (reallocarray, 1); | ||
| 703 | -#endif | ||
| 704 | - | ||
| 705 | -#ifdef __USE_MISC | ||
| 706 | -# include <alloca.h> | ||
| 707 | -#endif /* Use misc. */ | ||
| 708 | - | ||
| 709 | -#if (defined __USE_XOPEN_EXTENDED && !defined __USE_XOPEN2K) \ | ||
| 710 | - || defined __USE_MISC | ||
| 711 | -/* Allocate SIZE bytes on a page boundary. The storage cannot be freed. */ | ||
| 712 | -extern void *valloc (size_t __size) __THROW __attribute_malloc__ | ||
| 713 | - __attribute_alloc_size__ ((1)) __wur; | ||
| 714 | -#endif | ||
| 715 | - | ||
| 716 | -#ifdef __USE_XOPEN2K | ||
| 717 | -/* Allocate memory of SIZE bytes with an alignment of ALIGNMENT. */ | ||
| 718 | -extern int posix_memalign (void **__memptr, size_t __alignment, size_t __size) | ||
| 719 | - __THROW __nonnull ((1)) __wur; | ||
| 720 | -#endif | ||
| 721 | - | ||
| 722 | -#ifdef __USE_ISOC11 | ||
| 723 | -/* ISO C variant of aligned allocation. */ | ||
| 724 | -extern void *aligned_alloc (size_t __alignment, size_t __size) | ||
| 725 | - __THROW __attribute_malloc__ __attribute_alloc_align__ ((1)) | ||
| 726 | - __attribute_alloc_size__ ((2)) __wur; | ||
| 727 | -#endif | ||
| 728 | - | ||
| 729 | -/* Abort execution and generate a core-dump. */ | ||
| 730 | -extern void abort (void) __THROW __attribute__ ((__noreturn__)) __COLD; | ||
| 731 | - | ||
| 732 | - | ||
| 733 | -/* Register a function to be called when `exit' is called. */ | ||
| 734 | -extern int atexit (void (*__func) (void)) __THROW __nonnull ((1)); | ||
| 735 | - | ||
| 736 | -#if defined __USE_ISOC11 || defined __USE_ISOCXX11 | ||
| 737 | -/* Register a function to be called when `quick_exit' is called. */ | ||
| 738 | -# ifdef __cplusplus | ||
| 739 | -extern "C++" int at_quick_exit (void (*__func) (void)) | ||
| 740 | - __THROW __asm ("at_quick_exit") __nonnull ((1)); | ||
| 741 | -# else | ||
| 742 | -extern int at_quick_exit (void (*__func) (void)) __THROW __nonnull ((1)); | ||
| 743 | -# endif | ||
| 744 | -#endif | ||
| 745 | - | ||
| 746 | -#ifdef __USE_MISC | ||
| 747 | -/* Register a function to be called with the status | ||
| 748 | - given to `exit' and the given argument. */ | ||
| 749 | -extern int on_exit (void (*__func) (int __status, void *__arg), void *__arg) | ||
| 750 | - __THROW __nonnull ((1)); | ||
| 751 | -#endif | ||
| 752 | - | ||
| 753 | -/* Call all functions registered with `atexit' and `on_exit', | ||
| 754 | - in the reverse of the order in which they were registered, | ||
| 755 | - perform stdio cleanup, and terminate program execution with STATUS. */ | ||
| 756 | -extern void exit (int __status) __THROW __attribute__ ((__noreturn__)); | ||
| 757 | - | ||
| 758 | -#if defined __USE_ISOC11 || defined __USE_ISOCXX11 | ||
| 759 | -/* Call all functions registered with `at_quick_exit' in the reverse | ||
| 760 | - of the order in which they were registered and terminate program | ||
| 761 | - execution with STATUS. */ | ||
| 762 | -extern void quick_exit (int __status) __THROW __attribute__ ((__noreturn__)); | ||
| 763 | -#endif | ||
| 764 | - | ||
| 765 | -#ifdef __USE_ISOC99 | ||
| 766 | -/* Terminate the program with STATUS without calling any of the | ||
| 767 | - functions registered with `atexit' or `on_exit'. */ | ||
| 768 | -extern void _Exit (int __status) __THROW __attribute__ ((__noreturn__)); | ||
| 769 | -#endif | ||
| 770 | - | ||
| 771 | - | ||
| 772 | -/* Return the value of envariable NAME, or NULL if it doesn't exist. */ | ||
| 773 | -extern char *getenv (const char *__name) __THROW __nonnull ((1)) __wur; | ||
| 774 | - | ||
| 775 | -#ifdef __USE_GNU | ||
| 776 | -/* This function is similar to the above but returns NULL if the | ||
| 777 | - programs is running with SUID or SGID enabled. */ | ||
| 778 | -extern char *secure_getenv (const char *__name) | ||
| 779 | - __THROW __nonnull ((1)) __wur; | ||
| 780 | -#endif | ||
| 781 | - | ||
| 782 | -#if defined __USE_MISC || defined __USE_XOPEN | ||
| 783 | -/* The SVID says this is in <stdio.h>, but this seems a better place. */ | ||
| 784 | -/* Put STRING, which is of the form "NAME=VALUE", in the environment. | ||
| 785 | - If there is no `=', remove NAME from the environment. */ | ||
| 786 | -extern int putenv (char *__string) __THROW __nonnull ((1)); | ||
| 787 | -#endif | ||
| 788 | - | ||
| 789 | -#ifdef __USE_XOPEN2K | ||
| 790 | -/* Set NAME to VALUE in the environment. | ||
| 791 | - If REPLACE is nonzero, overwrite an existing value. */ | ||
| 792 | -extern int setenv (const char *__name, const char *__value, int __replace) | ||
| 793 | - __THROW __nonnull ((2)); | ||
| 794 | - | ||
| 795 | -/* Remove the variable NAME from the environment. */ | ||
| 796 | -extern int unsetenv (const char *__name) __THROW __nonnull ((1)); | ||
| 797 | -#endif | ||
| 798 | - | ||
| 799 | -#ifdef __USE_MISC | ||
| 800 | -/* The `clearenv' was planned to be added to POSIX.1 but probably | ||
| 801 | - never made it. Nevertheless the POSIX.9 standard (POSIX bindings | ||
| 802 | - for Fortran 77) requires this function. */ | ||
| 803 | -extern int clearenv (void) __THROW; | ||
| 804 | -#endif | ||
| 805 | - | ||
| 806 | - | ||
| 807 | -#if defined __USE_MISC \ | ||
| 808 | - || (defined __USE_XOPEN_EXTENDED && !defined __USE_XOPEN2K8) | ||
| 809 | -/* Generate a unique temporary file name from TEMPLATE. | ||
| 810 | - The last six characters of TEMPLATE must be "XXXXXX"; | ||
| 811 | - they are replaced with a string that makes the file name unique. | ||
| 812 | - Always returns TEMPLATE, it's either a temporary file name or a null | ||
| 813 | - string if it cannot get a unique file name. */ | ||
| 814 | -extern char *mktemp (char *__template) __THROW __nonnull ((1)); | ||
| 815 | -#endif | ||
| 816 | - | ||
| 817 | -#if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8 | ||
| 818 | -/* Generate a unique temporary file name from TEMPLATE. | ||
| 819 | - The last six characters of TEMPLATE must be "XXXXXX"; | ||
| 820 | - they are replaced with a string that makes the filename unique. | ||
| 821 | - Returns a file descriptor open on the file for reading and writing, | ||
| 822 | - or -1 if it cannot create a uniquely-named file. | ||
| 823 | - | ||
| 824 | - This function is a possible cancellation point and therefore not | ||
| 825 | - marked with __THROW. */ | ||
| 826 | -# ifndef __USE_FILE_OFFSET64 | ||
| 827 | -extern int mkstemp (char *__template) __nonnull ((1)) __wur; | ||
| 828 | -# else | ||
| 829 | -# ifdef __REDIRECT | ||
| 830 | -extern int __REDIRECT (mkstemp, (char *__template), mkstemp64) | ||
| 831 | - __nonnull ((1)) __wur; | ||
| 832 | -# else | ||
| 833 | -# define mkstemp mkstemp64 | ||
| 834 | -# endif | ||
| 835 | -# endif | ||
| 836 | -# ifdef __USE_LARGEFILE64 | ||
| 837 | -extern int mkstemp64 (char *__template) __nonnull ((1)) __wur; | ||
| 838 | -# endif | ||
| 839 | -#endif | ||
| 840 | - | ||
| 841 | -#ifdef __USE_MISC | ||
| 842 | -/* Similar to mkstemp, but the template can have a suffix after the | ||
| 843 | - XXXXXX. The length of the suffix is specified in the second | ||
| 844 | - parameter. | ||
| 845 | - | ||
| 846 | - This function is a possible cancellation point and therefore not | ||
| 847 | - marked with __THROW. */ | ||
| 848 | -# ifndef __USE_FILE_OFFSET64 | ||
| 849 | -extern int mkstemps (char *__template, int __suffixlen) __nonnull ((1)) __wur; | ||
| 850 | -# else | ||
| 851 | -# ifdef __REDIRECT | ||
| 852 | -extern int __REDIRECT (mkstemps, (char *__template, int __suffixlen), | ||
| 853 | - mkstemps64) __nonnull ((1)) __wur; | ||
| 854 | -# else | ||
| 855 | -# define mkstemps mkstemps64 | ||
| 856 | -# endif | ||
| 857 | -# endif | ||
| 858 | -# ifdef __USE_LARGEFILE64 | ||
| 859 | -extern int mkstemps64 (char *__template, int __suffixlen) | ||
| 860 | - __nonnull ((1)) __wur; | ||
| 861 | -# endif | ||
| 862 | -#endif | ||
| 863 | - | ||
| 864 | -#ifdef __USE_XOPEN2K8 | ||
| 865 | -/* Create a unique temporary directory from TEMPLATE. | ||
| 866 | - The last six characters of TEMPLATE must be "XXXXXX"; | ||
| 867 | - they are replaced with a string that makes the directory name unique. | ||
| 868 | - Returns TEMPLATE, or a null pointer if it cannot get a unique name. | ||
| 869 | - The directory is created mode 700. */ | ||
| 870 | -extern char *mkdtemp (char *__template) __THROW __nonnull ((1)) __wur; | ||
| 871 | -#endif | ||
| 872 | - | ||
| 873 | -#ifdef __USE_GNU | ||
| 874 | -/* Generate a unique temporary file name from TEMPLATE similar to | ||
| 875 | - mkstemp. But allow the caller to pass additional flags which are | ||
| 876 | - used in the open call to create the file.. | ||
| 877 | - | ||
| 878 | - This function is a possible cancellation point and therefore not | ||
| 879 | - marked with __THROW. */ | ||
| 880 | -# ifndef __USE_FILE_OFFSET64 | ||
| 881 | -extern int mkostemp (char *__template, int __flags) __nonnull ((1)) __wur; | ||
| 882 | -# else | ||
| 883 | -# ifdef __REDIRECT | ||
| 884 | -extern int __REDIRECT (mkostemp, (char *__template, int __flags), mkostemp64) | ||
| 885 | - __nonnull ((1)) __wur; | ||
| 886 | -# else | ||
| 887 | -# define mkostemp mkostemp64 | ||
| 888 | -# endif | ||
| 889 | -# endif | ||
| 890 | -# ifdef __USE_LARGEFILE64 | ||
| 891 | -extern int mkostemp64 (char *__template, int __flags) __nonnull ((1)) __wur; | ||
| 892 | -# endif | ||
| 893 | - | ||
| 894 | -/* Similar to mkostemp, but the template can have a suffix after the | ||
| 895 | - XXXXXX. The length of the suffix is specified in the second | ||
| 896 | - parameter. | ||
| 897 | - | ||
| 898 | - This function is a possible cancellation point and therefore not | ||
| 899 | - marked with __THROW. */ | ||
| 900 | -# ifndef __USE_FILE_OFFSET64 | ||
| 901 | -extern int mkostemps (char *__template, int __suffixlen, int __flags) | ||
| 902 | - __nonnull ((1)) __wur; | ||
| 903 | -# else | ||
| 904 | -# ifdef __REDIRECT | ||
| 905 | -extern int __REDIRECT (mkostemps, (char *__template, int __suffixlen, | ||
| 906 | - int __flags), mkostemps64) | ||
| 907 | - __nonnull ((1)) __wur; | ||
| 908 | -# else | ||
| 909 | -# define mkostemps mkostemps64 | ||
| 910 | -# endif | ||
| 911 | -# endif | ||
| 912 | -# ifdef __USE_LARGEFILE64 | ||
| 913 | -extern int mkostemps64 (char *__template, int __suffixlen, int __flags) | ||
| 914 | - __nonnull ((1)) __wur; | ||
| 915 | -# endif | ||
| 916 | -#endif | ||
| 917 | - | ||
| 918 | - | ||
| 919 | -/* Execute the given line as a shell command. | ||
| 920 | - | ||
| 921 | - This function is a cancellation point and therefore not marked with | ||
| 922 | - __THROW. */ | ||
| 923 | -extern int system (const char *__command) __wur; | ||
| 924 | - | ||
| 925 | - | ||
| 926 | -#ifdef __USE_GNU | ||
| 927 | -/* Return a malloc'd string containing the canonical absolute name of the | ||
| 928 | - existing named file. */ | ||
| 929 | -extern char *canonicalize_file_name (const char *__name) | ||
| 930 | - __THROW __nonnull ((1)) __attribute_malloc__ | ||
| 931 | - __attr_dealloc_free __wur; | ||
| 932 | -#endif | ||
| 933 | - | ||
| 934 | -#if defined __USE_MISC || defined __USE_XOPEN_EXTENDED | ||
| 935 | -/* Return the canonical absolute name of file NAME. If RESOLVED is | ||
| 936 | - null, the result is malloc'd; otherwise, if the canonical name is | ||
| 937 | - PATH_MAX chars or more, returns null with `errno' set to | ||
| 938 | - ENAMETOOLONG; if the name fits in fewer than PATH_MAX chars, | ||
| 939 | - returns the name in RESOLVED. */ | ||
| 940 | -extern char *realpath (const char *__restrict __name, | ||
| 941 | - char *__restrict __resolved) __THROW __wur; | ||
| 942 | -#endif | ||
| 943 | - | ||
| 944 | - | ||
| 945 | -/* Shorthand for type of comparison functions. */ | ||
| 946 | -#ifndef __COMPAR_FN_T | ||
| 947 | -# define __COMPAR_FN_T | ||
| 948 | -typedef int (*__compar_fn_t) (const void *, const void *); | ||
| 949 | - | ||
| 950 | -# ifdef __USE_GNU | ||
| 951 | -typedef __compar_fn_t comparison_fn_t; | ||
| 952 | -# endif | ||
| 953 | -#endif | ||
| 954 | -#ifdef __USE_GNU | ||
| 955 | -typedef int (*__compar_d_fn_t) (const void *, const void *, void *); | ||
| 956 | -#endif | ||
| 957 | - | ||
| 958 | -/* Do a binary search for KEY in BASE, which consists of NMEMB elements | ||
| 959 | - of SIZE bytes each, using COMPAR to perform the comparisons. */ | ||
| 960 | -extern void *bsearch (const void *__key, const void *__base, | ||
| 961 | - size_t __nmemb, size_t __size, __compar_fn_t __compar) | ||
| 962 | - __nonnull ((1, 2, 5)) __wur; | ||
| 963 | - | ||
| 964 | -#ifdef __USE_EXTERN_INLINES | ||
| 965 | -# include <bits/stdlib-bsearch.h> | ||
| 966 | -#endif | ||
| 967 | - | ||
| 968 | -/* Sort NMEMB elements of BASE, of SIZE bytes each, | ||
| 969 | - using COMPAR to perform the comparisons. */ | ||
| 970 | -extern void qsort (void *__base, size_t __nmemb, size_t __size, | ||
| 971 | - __compar_fn_t __compar) __nonnull ((1, 4)); | ||
| 972 | -#ifdef __USE_GNU | ||
| 973 | -extern void qsort_r (void *__base, size_t __nmemb, size_t __size, | ||
| 974 | - __compar_d_fn_t __compar, void *__arg) | ||
| 975 | - __nonnull ((1, 4)); | ||
| 976 | -#endif | ||
| 977 | - | ||
| 978 | - | ||
| 979 | -/* Return the absolute value of X. */ | ||
| 980 | -extern int abs (int __x) __THROW __attribute__ ((__const__)) __wur; | ||
| 981 | -extern long int labs (long int __x) __THROW __attribute__ ((__const__)) __wur; | ||
| 982 | - | ||
| 983 | -#ifdef __USE_ISOC99 | ||
| 984 | -__extension__ extern long long int llabs (long long int __x) | ||
| 985 | - __THROW __attribute__ ((__const__)) __wur; | ||
| 986 | -#endif | ||
| 987 | - | ||
| 988 | -#if __GLIBC_USE (ISOC2Y) | ||
| 989 | -extern unsigned int uabs (int __x) __THROW __attribute__ ((__const__)) __wur; | ||
| 990 | -extern unsigned long int ulabs (long int __x) __THROW __attribute__ ((__const__)) __wur; | ||
| 991 | -__extension__ extern unsigned long long int ullabs (long long int __x) | ||
| 992 | - __THROW __attribute__ ((__const__)) __wur; | ||
| 993 | -#endif | ||
| 994 | - | ||
| 995 | -/* Return the `div_t', `ldiv_t' or `lldiv_t' representation | ||
| 996 | - of the value of NUMER over DENOM. */ | ||
| 997 | -/* GCC may have built-ins for these someday. */ | ||
| 998 | -extern div_t div (int __numer, int __denom) | ||
| 999 | - __THROW __attribute__ ((__const__)) __wur; | ||
| 1000 | -extern ldiv_t ldiv (long int __numer, long int __denom) | ||
| 1001 | - __THROW __attribute__ ((__const__)) __wur; | ||
| 1002 | - | ||
| 1003 | -#ifdef __USE_ISOC99 | ||
| 1004 | -__extension__ extern lldiv_t lldiv (long long int __numer, | ||
| 1005 | - long long int __denom) | ||
| 1006 | - __THROW __attribute__ ((__const__)) __wur; | ||
| 1007 | -#endif | ||
| 1008 | - | ||
| 1009 | - | ||
| 1010 | -#if (defined __USE_XOPEN_EXTENDED && !defined __USE_XOPEN2K8) \ | ||
| 1011 | - || defined __USE_MISC | ||
| 1012 | -/* Convert floating point numbers to strings. The returned values are | ||
| 1013 | - valid only until another call to the same function. */ | ||
| 1014 | - | ||
| 1015 | -/* Convert VALUE to a string with NDIGIT digits and return a pointer to | ||
| 1016 | - this. Set *DECPT with the position of the decimal character and *SIGN | ||
| 1017 | - with the sign of the number. */ | ||
| 1018 | -extern char *ecvt (double __value, int __ndigit, int *__restrict __decpt, | ||
| 1019 | - int *__restrict __sign) __THROW __nonnull ((3, 4)) __wur; | ||
| 1020 | - | ||
| 1021 | -/* Convert VALUE to a string rounded to NDIGIT decimal digits. Set *DECPT | ||
| 1022 | - with the position of the decimal character and *SIGN with the sign of | ||
| 1023 | - the number. */ | ||
| 1024 | -extern char *fcvt (double __value, int __ndigit, int *__restrict __decpt, | ||
| 1025 | - int *__restrict __sign) __THROW __nonnull ((3, 4)) __wur; | ||
| 1026 | - | ||
| 1027 | -/* If possible convert VALUE to a string with NDIGIT significant digits. | ||
| 1028 | - Otherwise use exponential representation. The resulting string will | ||
| 1029 | - be written to BUF. */ | ||
| 1030 | -extern char *gcvt (double __value, int __ndigit, char *__buf) | ||
| 1031 | - __THROW __nonnull ((3)) __wur; | ||
| 1032 | -#endif | ||
| 1033 | - | ||
| 1034 | -#ifdef __USE_MISC | ||
| 1035 | -/* Long double versions of above functions. */ | ||
| 1036 | -extern char *qecvt (long double __value, int __ndigit, | ||
| 1037 | - int *__restrict __decpt, int *__restrict __sign) | ||
| 1038 | - __THROW __nonnull ((3, 4)) __wur; | ||
| 1039 | -extern char *qfcvt (long double __value, int __ndigit, | ||
| 1040 | - int *__restrict __decpt, int *__restrict __sign) | ||
| 1041 | - __THROW __nonnull ((3, 4)) __wur; | ||
| 1042 | -extern char *qgcvt (long double __value, int __ndigit, char *__buf) | ||
| 1043 | - __THROW __nonnull ((3)) __wur; | ||
| 1044 | - | ||
| 1045 | - | ||
| 1046 | -/* Reentrant version of the functions above which provide their own | ||
| 1047 | - buffers. */ | ||
| 1048 | -extern int ecvt_r (double __value, int __ndigit, int *__restrict __decpt, | ||
| 1049 | - int *__restrict __sign, char *__restrict __buf, | ||
| 1050 | - size_t __len) __THROW __nonnull ((3, 4, 5)); | ||
| 1051 | -extern int fcvt_r (double __value, int __ndigit, int *__restrict __decpt, | ||
| 1052 | - int *__restrict __sign, char *__restrict __buf, | ||
| 1053 | - size_t __len) __THROW __nonnull ((3, 4, 5)); | ||
| 1054 | - | ||
| 1055 | -extern int qecvt_r (long double __value, int __ndigit, | ||
| 1056 | - int *__restrict __decpt, int *__restrict __sign, | ||
| 1057 | - char *__restrict __buf, size_t __len) | ||
| 1058 | - __THROW __nonnull ((3, 4, 5)); | ||
| 1059 | -extern int qfcvt_r (long double __value, int __ndigit, | ||
| 1060 | - int *__restrict __decpt, int *__restrict __sign, | ||
| 1061 | - char *__restrict __buf, size_t __len) | ||
| 1062 | - __THROW __nonnull ((3, 4, 5)); | ||
| 1063 | -#endif /* misc */ | ||
| 1064 | - | ||
| 1065 | - | ||
| 1066 | -/* Return the length of the multibyte character | ||
| 1067 | - in S, which is no longer than N. */ | ||
| 1068 | -extern int mblen (const char *__s, size_t __n) __THROW; | ||
| 1069 | -/* Return the length of the given multibyte character, | ||
| 1070 | - putting its `wchar_t' representation in *PWC. */ | ||
| 1071 | -extern int mbtowc (wchar_t *__restrict __pwc, | ||
| 1072 | - const char *__restrict __s, size_t __n) __THROW; | ||
| 1073 | -/* Put the multibyte character represented | ||
| 1074 | - by WCHAR in S, returning its length. */ | ||
| 1075 | -extern int wctomb (char *__s, wchar_t __wchar) __THROW; | ||
| 1076 | - | ||
| 1077 | - | ||
| 1078 | -/* Convert a multibyte string to a wide char string. */ | ||
| 1079 | -extern size_t mbstowcs (wchar_t *__restrict __pwcs, | ||
| 1080 | - const char *__restrict __s, size_t __n) __THROW | ||
| 1081 | - __attr_access ((__read_only__, 2)); | ||
| 1082 | -/* Convert a wide char string to multibyte string. */ | ||
| 1083 | -extern size_t wcstombs (char *__restrict __s, | ||
| 1084 | - const wchar_t *__restrict __pwcs, size_t __n) | ||
| 1085 | - __THROW | ||
| 1086 | - __fortified_attr_access (__write_only__, 1, 3) | ||
| 1087 | - __attr_access ((__read_only__, 2)); | ||
| 1088 | - | ||
| 1089 | -#ifdef __USE_MISC | ||
| 1090 | -/* Determine whether the string value of RESPONSE matches the affirmation | ||
| 1091 | - or negative response expression as specified by the LC_MESSAGES category | ||
| 1092 | - in the program's current locale. Returns 1 if affirmative, 0 if | ||
| 1093 | - negative, and -1 if not matching. */ | ||
| 1094 | -extern int rpmatch (const char *__response) __THROW __nonnull ((1)) __wur; | ||
| 1095 | -#endif | ||
| 1096 | - | ||
| 1097 | - | ||
| 1098 | -#if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8 | ||
| 1099 | -/* Parse comma separated suboption from *OPTIONP and match against | ||
| 1100 | - strings in TOKENS. If found return index and set *VALUEP to | ||
| 1101 | - optional value introduced by an equal sign. If the suboption is | ||
| 1102 | - not part of TOKENS return in *VALUEP beginning of unknown | ||
| 1103 | - suboption. On exit *OPTIONP is set to the beginning of the next | ||
| 1104 | - token or at the terminating NUL character. */ | ||
| 1105 | -extern int getsubopt (char **__restrict __optionp, | ||
| 1106 | - char *const *__restrict __tokens, | ||
| 1107 | - char **__restrict __valuep) | ||
| 1108 | - __THROW __nonnull ((1, 2, 3)) __wur; | ||
| 1109 | -#endif | ||
| 1110 | - | ||
| 1111 | - | ||
| 1112 | -/* X/Open pseudo terminal handling. */ | ||
| 1113 | - | ||
| 1114 | -#ifdef __USE_XOPEN2KXSI | ||
| 1115 | -/* Return a master pseudo-terminal handle. */ | ||
| 1116 | -extern int posix_openpt (int __oflag) __wur; | ||
| 1117 | -#endif | ||
| 1118 | - | ||
| 1119 | -#ifdef __USE_XOPEN_EXTENDED | ||
| 1120 | -/* The next four functions all take a master pseudo-tty fd and | ||
| 1121 | - perform an operation on the associated slave: */ | ||
| 1122 | - | ||
| 1123 | -/* Chown the slave to the calling user. */ | ||
| 1124 | -extern int grantpt (int __fd) __THROW; | ||
| 1125 | - | ||
| 1126 | -/* Release an internal lock so the slave can be opened. | ||
| 1127 | - Call after grantpt(). */ | ||
| 1128 | -extern int unlockpt (int __fd) __THROW; | ||
| 1129 | - | ||
| 1130 | -/* Return the pathname of the pseudo terminal slave associated with | ||
| 1131 | - the master FD is open on, or NULL on errors. | ||
| 1132 | - The returned storage is good until the next call to this function. */ | ||
| 1133 | -extern char *ptsname (int __fd) __THROW __wur; | ||
| 1134 | -#endif | ||
| 1135 | - | ||
| 1136 | -#ifdef __USE_GNU | ||
| 1137 | -/* Store at most BUFLEN characters of the pathname of the slave pseudo | ||
| 1138 | - terminal associated with the master FD is open on in BUF. | ||
| 1139 | - Return 0 on success, otherwise an error number. */ | ||
| 1140 | -extern int ptsname_r (int __fd, char *__buf, size_t __buflen) | ||
| 1141 | - __THROW __nonnull ((2)) __fortified_attr_access (__write_only__, 2, 3); | ||
| 1142 | - | ||
| 1143 | -/* Open a master pseudo terminal and return its file descriptor. */ | ||
| 1144 | -extern int getpt (void); | ||
| 1145 | -#endif | ||
| 1146 | - | ||
| 1147 | -#ifdef __USE_MISC | ||
| 1148 | -/* Put the 1 minute, 5 minute and 15 minute load averages into the first | ||
| 1149 | - NELEM elements of LOADAVG. Return the number written (never more than | ||
| 1150 | - three, but may be less than NELEM), or -1 if an error occurred. */ | ||
| 1151 | -extern int getloadavg (double __loadavg[], int __nelem) | ||
| 1152 | - __THROW __nonnull ((1)); | ||
| 1153 | -#endif | ||
| 1154 | - | ||
| 1155 | -#if defined __USE_XOPEN_EXTENDED && !defined __USE_XOPEN2K | ||
| 1156 | -/* Return the index into the active-logins file (utmp) for | ||
| 1157 | - the controlling terminal. */ | ||
| 1158 | -extern int ttyslot (void) __THROW; | ||
| 1159 | -#endif | ||
| 1160 | - | ||
| 1161 | -#include <bits/stdlib-float.h> | ||
| 1162 | - | ||
| 1163 | -/* Define some macros helping to catch buffer overflows. */ | ||
| 1164 | -#if __USE_FORTIFY_LEVEL > 0 && defined __fortify_function | ||
| 1165 | -# include <bits/stdlib.h> | ||
| 1166 | -#endif | ||
| 1167 | - | ||
| 1168 | -#include <bits/floatn.h> | ||
| 1169 | -#if defined __LDBL_COMPAT || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 | ||
| 1170 | -# include <bits/stdlib-ldbl.h> | ||
| 1171 | -#endif | ||
| 1172 | - | ||
| 1173 | -__END_DECLS | ||
| 1174 | - | ||
| 1175 | -#endif /* stdlib.h */ | ||
+0 −0 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@stdlib.h.blob deleted file mode 100644, Binary files a/.ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@stdlib.h.blob and /dev/null differ Large diff collapsed, click to expand
+0 −554 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@string.h deleted file mode 100644 Large diff collapsed, click to expand
| @@ -1,554 +0,0 @@ | |||
| 1 | -/* Copyright (C) 1991-2025 Free Software Foundation, Inc. | ||
| 2 | - This file is part of the GNU C Library. | ||
| 3 | - | ||
| 4 | - The GNU C Library is free software; you can redistribute it and/or | ||
| 5 | - modify it under the terms of the GNU Lesser General Public | ||
| 6 | - License as published by the Free Software Foundation; either | ||
| 7 | - version 2.1 of the License, or (at your option) any later version. | ||
| 8 | - | ||
| 9 | - The GNU C Library is distributed in the hope that it will be useful, | ||
| 10 | - but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 11 | - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
| 12 | - Lesser General Public License for more details. | ||
| 13 | - | ||
| 14 | - You should have received a copy of the GNU Lesser General Public | ||
| 15 | - License along with the GNU C Library; if not, see | ||
| 16 | - <https://www.gnu.org/licenses/>. */ | ||
| 17 | - | ||
| 18 | -/* | ||
| 19 | - * ISO C99 Standard: 7.21 String handling <string.h> | ||
| 20 | - */ | ||
| 21 | - | ||
| 22 | -#ifndef _STRING_H | ||
| 23 | -#define _STRING_H 1 | ||
| 24 | - | ||
| 25 | -#define __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION | ||
| 26 | -#include <bits/libc-header-start.h> | ||
| 27 | - | ||
| 28 | -__BEGIN_DECLS | ||
| 29 | - | ||
| 30 | -/* Get size_t and NULL from <stddef.h>. */ | ||
| 31 | -#define __need_size_t | ||
| 32 | -#define __need_NULL | ||
| 33 | -#include <stddef.h> | ||
| 34 | - | ||
| 35 | -/* Tell the caller that we provide correct C++ prototypes. */ | ||
| 36 | -#if defined __cplusplus && (__GNUC_PREREQ (4, 4) \ | ||
| 37 | - || __glibc_clang_prereq (3, 5)) | ||
| 38 | -# define __CORRECT_ISO_CPP_STRING_H_PROTO | ||
| 39 | -#endif | ||
| 40 | - | ||
| 41 | - | ||
| 42 | -/* Copy N bytes of SRC to DEST. */ | ||
| 43 | -extern void *memcpy (void *__restrict __dest, const void *__restrict __src, | ||
| 44 | - size_t __n) __THROW __nonnull ((1, 2)); | ||
| 45 | -/* Copy N bytes of SRC to DEST, guaranteeing | ||
| 46 | - correct behavior for overlapping strings. */ | ||
| 47 | -extern void *memmove (void *__dest, const void *__src, size_t __n) | ||
| 48 | - __THROW __nonnull ((1, 2)); | ||
| 49 | - | ||
| 50 | -/* Copy no more than N bytes of SRC to DEST, stopping when C is found. | ||
| 51 | - Return the position in DEST one byte past where C was copied, | ||
| 52 | - or NULL if C was not found in the first N bytes of SRC. */ | ||
| 53 | -#if defined __USE_MISC || defined __USE_XOPEN || __GLIBC_USE (ISOC23) | ||
| 54 | -extern void *memccpy (void *__restrict __dest, const void *__restrict __src, | ||
| 55 | - int __c, size_t __n) | ||
| 56 | - __THROW __nonnull ((1, 2)) __attr_access ((__write_only__, 1, 4)); | ||
| 57 | -#endif /* Misc || X/Open. */ | ||
| 58 | - | ||
| 59 | - | ||
| 60 | -/* Set N bytes of S to C. */ | ||
| 61 | -extern void *memset (void *__s, int __c, size_t __n) __THROW __nonnull ((1)); | ||
| 62 | - | ||
| 63 | -/* Compare N bytes of S1 and S2. */ | ||
| 64 | -extern int memcmp (const void *__s1, const void *__s2, size_t __n) | ||
| 65 | - __THROW __attribute_pure__ __nonnull ((1, 2)); | ||
| 66 | - | ||
| 67 | -/* Compare N bytes of S1 and S2. Return zero if S1 and S2 are equal. | ||
| 68 | - Return some non-zero value otherwise. | ||
| 69 | - | ||
| 70 | - Essentially __memcmpeq has the exact same semantics as memcmp | ||
| 71 | - except the return value is less constrained. memcmp is always a | ||
| 72 | - correct implementation of __memcmpeq. As well !!memcmp, -memcmp, | ||
| 73 | - or bcmp are correct implementations. | ||
| 74 | - | ||
| 75 | - __memcmpeq is meant to be used by compilers when memcmp return is | ||
| 76 | - only used for its boolean value. | ||
| 77 | - | ||
| 78 | - __memcmpeq is declared only for use by compilers. Programs should | ||
| 79 | - continue to use memcmp. */ | ||
| 80 | -extern int __memcmpeq (const void *__s1, const void *__s2, size_t __n) | ||
| 81 | - __THROW __attribute_pure__ __nonnull ((1, 2)); | ||
| 82 | - | ||
| 83 | -/* Search N bytes of S for C. */ | ||
| 84 | -#ifdef __CORRECT_ISO_CPP_STRING_H_PROTO | ||
| 85 | -extern "C++" | ||
| 86 | -{ | ||
| 87 | -extern void *memchr (void *__s, int __c, size_t __n) | ||
| 88 | - __THROW __asm ("memchr") __attribute_pure__ __nonnull ((1)); | ||
| 89 | -extern const void *memchr (const void *__s, int __c, size_t __n) | ||
| 90 | - __THROW __asm ("memchr") __attribute_pure__ __nonnull ((1)); | ||
| 91 | - | ||
| 92 | -# ifdef __OPTIMIZE__ | ||
| 93 | -__extern_always_inline void * | ||
| 94 | -memchr (void *__s, int __c, size_t __n) __THROW | ||
| 95 | -{ | ||
| 96 | - return __builtin_memchr (__s, __c, __n); | ||
| 97 | -} | ||
| 98 | - | ||
| 99 | -__extern_always_inline const void * | ||
| 100 | -memchr (const void *__s, int __c, size_t __n) __THROW | ||
| 101 | -{ | ||
| 102 | - return __builtin_memchr (__s, __c, __n); | ||
| 103 | -} | ||
| 104 | -# endif | ||
| 105 | -} | ||
| 106 | -#else | ||
| 107 | -extern void *memchr (const void *__s, int __c, size_t __n) | ||
| 108 | - __THROW __attribute_pure__ __nonnull ((1)); | ||
| 109 | -#endif | ||
| 110 | - | ||
| 111 | -#ifdef __USE_GNU | ||
| 112 | -/* Search in S for C. This is similar to `memchr' but there is no | ||
| 113 | - length limit. */ | ||
| 114 | -# ifdef __CORRECT_ISO_CPP_STRING_H_PROTO | ||
| 115 | -extern "C++" void *rawmemchr (void *__s, int __c) | ||
| 116 | - __THROW __asm ("rawmemchr") __attribute_pure__ __nonnull ((1)); | ||
| 117 | -extern "C++" const void *rawmemchr (const void *__s, int __c) | ||
| 118 | - __THROW __asm ("rawmemchr") __attribute_pure__ __nonnull ((1)); | ||
| 119 | -# else | ||
| 120 | -extern void *rawmemchr (const void *__s, int __c) | ||
| 121 | - __THROW __attribute_pure__ __nonnull ((1)); | ||
| 122 | -# endif | ||
| 123 | - | ||
| 124 | -/* Search N bytes of S for the final occurrence of C. */ | ||
| 125 | -# ifdef __CORRECT_ISO_CPP_STRING_H_PROTO | ||
| 126 | -extern "C++" void *memrchr (void *__s, int __c, size_t __n) | ||
| 127 | - __THROW __asm ("memrchr") __attribute_pure__ __nonnull ((1)) | ||
| 128 | - __attr_access ((__read_only__, 1, 3)); | ||
| 129 | -extern "C++" const void *memrchr (const void *__s, int __c, size_t __n) | ||
| 130 | - __THROW __asm ("memrchr") __attribute_pure__ __nonnull ((1)) | ||
| 131 | - __attr_access ((__read_only__, 1, 3)); | ||
| 132 | -# else | ||
| 133 | -extern void *memrchr (const void *__s, int __c, size_t __n) | ||
| 134 | - __THROW __attribute_pure__ __nonnull ((1)) | ||
| 135 | - __attr_access ((__read_only__, 1, 3)); | ||
| 136 | -# endif | ||
| 137 | -#endif | ||
| 138 | - | ||
| 139 | - | ||
| 140 | -/* Copy SRC to DEST. */ | ||
| 141 | -extern char *strcpy (char *__restrict __dest, const char *__restrict __src) | ||
| 142 | - __THROW __nonnull ((1, 2)); | ||
| 143 | -/* Copy no more than N characters of SRC to DEST. */ | ||
| 144 | -extern char *strncpy (char *__restrict __dest, | ||
| 145 | - const char *__restrict __src, size_t __n) | ||
| 146 | - __THROW __nonnull ((1, 2)); | ||
| 147 | - | ||
| 148 | -/* Append SRC onto DEST. */ | ||
| 149 | -extern char *strcat (char *__restrict __dest, const char *__restrict __src) | ||
| 150 | - __THROW __nonnull ((1, 2)); | ||
| 151 | -/* Append no more than N characters from SRC onto DEST. */ | ||
| 152 | -extern char *strncat (char *__restrict __dest, const char *__restrict __src, | ||
| 153 | - size_t __n) __THROW __nonnull ((1, 2)); | ||
| 154 | - | ||
| 155 | -/* Compare S1 and S2. */ | ||
| 156 | -extern int strcmp (const char *__s1, const char *__s2) | ||
| 157 | - __THROW __attribute_pure__ __nonnull ((1, 2)); | ||
| 158 | -/* Compare N characters of S1 and S2. */ | ||
| 159 | -extern int strncmp (const char *__s1, const char *__s2, size_t __n) | ||
| 160 | - __THROW __attribute_pure__ __nonnull ((1, 2)); | ||
| 161 | - | ||
| 162 | -/* Compare the collated forms of S1 and S2. */ | ||
| 163 | -extern int strcoll (const char *__s1, const char *__s2) | ||
| 164 | - __THROW __attribute_pure__ __nonnull ((1, 2)); | ||
| 165 | -/* Put a transformation of SRC into no more than N bytes of DEST. */ | ||
| 166 | -extern size_t strxfrm (char *__restrict __dest, | ||
| 167 | - const char *__restrict __src, size_t __n) | ||
| 168 | - __THROW __nonnull ((2)) __attr_access ((__write_only__, 1, 3)); | ||
| 169 | - | ||
| 170 | -#ifdef __USE_XOPEN2K8 | ||
| 171 | -/* POSIX.1-2008 extended locale interface (see locale.h). */ | ||
| 172 | -# include <bits/types/locale_t.h> | ||
| 173 | - | ||
| 174 | -/* Compare the collated forms of S1 and S2, using sorting rules from L. */ | ||
| 175 | -extern int strcoll_l (const char *__s1, const char *__s2, locale_t __l) | ||
| 176 | - __THROW __attribute_pure__ __nonnull ((1, 2, 3)); | ||
| 177 | -/* Put a transformation of SRC into no more than N bytes of DEST, | ||
| 178 | - using sorting rules from L. */ | ||
| 179 | -extern size_t strxfrm_l (char *__dest, const char *__src, size_t __n, | ||
| 180 | - locale_t __l) __THROW __nonnull ((2, 4)) | ||
| 181 | - __attr_access ((__write_only__, 1, 3)); | ||
| 182 | -#endif | ||
| 183 | - | ||
| 184 | -#if (defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8 \ | ||
| 185 | - || __GLIBC_USE (LIB_EXT2) || __GLIBC_USE (ISOC23)) | ||
| 186 | -/* Duplicate S, returning an identical malloc'd string. */ | ||
| 187 | -extern char *strdup (const char *__s) | ||
| 188 | - __THROW __attribute_malloc__ __nonnull ((1)); | ||
| 189 | -#endif | ||
| 190 | - | ||
| 191 | -/* Return a malloc'd copy of at most N bytes of STRING. The | ||
| 192 | - resultant string is terminated even if no null terminator | ||
| 193 | - appears before STRING[N]. */ | ||
| 194 | -#if defined __USE_XOPEN2K8 || __GLIBC_USE (LIB_EXT2) || __GLIBC_USE (ISOC23) | ||
| 195 | -extern char *strndup (const char *__string, size_t __n) | ||
| 196 | - __THROW __attribute_malloc__ __nonnull ((1)); | ||
| 197 | -#endif | ||
| 198 | - | ||
| 199 | -#if defined __USE_GNU && defined __GNUC__ | ||
| 200 | -/* Duplicate S, returning an identical alloca'd string. */ | ||
| 201 | -# define strdupa(s) \ | ||
| 202 | - (__extension__ \ | ||
| 203 | - ({ \ | ||
| 204 | - const char *__old = (s); \ | ||
| 205 | - size_t __len = strlen (__old) + 1; \ | ||
| 206 | - char *__new = (char *) __builtin_alloca (__len); \ | ||
| 207 | - (char *) memcpy (__new, __old, __len); \ | ||
| 208 | - })) | ||
| 209 | - | ||
| 210 | -/* Return an alloca'd copy of at most N bytes of string. */ | ||
| 211 | -# define strndupa(s, n) \ | ||
| 212 | - (__extension__ \ | ||
| 213 | - ({ \ | ||
| 214 | - const char *__old = (s); \ | ||
| 215 | - size_t __len = strnlen (__old, (n)); \ | ||
| 216 | - char *__new = (char *) __builtin_alloca (__len + 1); \ | ||
| 217 | - __new[__len] = '\0'; \ | ||
| 218 | - (char *) memcpy (__new, __old, __len); \ | ||
| 219 | - })) | ||
| 220 | -#endif | ||
| 221 | - | ||
| 222 | -/* Find the first occurrence of C in S. */ | ||
| 223 | -#ifdef __CORRECT_ISO_CPP_STRING_H_PROTO | ||
| 224 | -extern "C++" | ||
| 225 | -{ | ||
| 226 | -extern char *strchr (char *__s, int __c) | ||
| 227 | - __THROW __asm ("strchr") __attribute_pure__ __nonnull ((1)); | ||
| 228 | -extern const char *strchr (const char *__s, int __c) | ||
| 229 | - __THROW __asm ("strchr") __attribute_pure__ __nonnull ((1)); | ||
| 230 | - | ||
| 231 | -# ifdef __OPTIMIZE__ | ||
| 232 | -__extern_always_inline char * | ||
| 233 | -strchr (char *__s, int __c) __THROW | ||
| 234 | -{ | ||
| 235 | - return __builtin_strchr (__s, __c); | ||
| 236 | -} | ||
| 237 | - | ||
| 238 | -__extern_always_inline const char * | ||
| 239 | -strchr (const char *__s, int __c) __THROW | ||
| 240 | -{ | ||
| 241 | - return __builtin_strchr (__s, __c); | ||
| 242 | -} | ||
| 243 | -# endif | ||
| 244 | -} | ||
| 245 | -#else | ||
| 246 | -extern char *strchr (const char *__s, int __c) | ||
| 247 | - __THROW __attribute_pure__ __nonnull ((1)); | ||
| 248 | -#endif | ||
| 249 | -/* Find the last occurrence of C in S. */ | ||
| 250 | -#ifdef __CORRECT_ISO_CPP_STRING_H_PROTO | ||
| 251 | -extern "C++" | ||
| 252 | -{ | ||
| 253 | -extern char *strrchr (char *__s, int __c) | ||
| 254 | - __THROW __asm ("strrchr") __attribute_pure__ __nonnull ((1)); | ||
| 255 | -extern const char *strrchr (const char *__s, int __c) | ||
| 256 | - __THROW __asm ("strrchr") __attribute_pure__ __nonnull ((1)); | ||
| 257 | - | ||
| 258 | -# ifdef __OPTIMIZE__ | ||
| 259 | -__extern_always_inline char * | ||
| 260 | -strrchr (char *__s, int __c) __THROW | ||
| 261 | -{ | ||
| 262 | - return __builtin_strrchr (__s, __c); | ||
| 263 | -} | ||
| 264 | - | ||
| 265 | -__extern_always_inline const char * | ||
| 266 | -strrchr (const char *__s, int __c) __THROW | ||
| 267 | -{ | ||
| 268 | - return __builtin_strrchr (__s, __c); | ||
| 269 | -} | ||
| 270 | -# endif | ||
| 271 | -} | ||
| 272 | -#else | ||
| 273 | -extern char *strrchr (const char *__s, int __c) | ||
| 274 | - __THROW __attribute_pure__ __nonnull ((1)); | ||
| 275 | -#endif | ||
| 276 | - | ||
| 277 | -#ifdef __USE_MISC | ||
| 278 | -/* This function is similar to `strchr'. But it returns a pointer to | ||
| 279 | - the closing NUL byte in case C is not found in S. */ | ||
| 280 | -# ifdef __CORRECT_ISO_CPP_STRING_H_PROTO | ||
| 281 | -extern "C++" char *strchrnul (char *__s, int __c) | ||
| 282 | - __THROW __asm ("strchrnul") __attribute_pure__ __nonnull ((1)); | ||
| 283 | -extern "C++" const char *strchrnul (const char *__s, int __c) | ||
| 284 | - __THROW __asm ("strchrnul") __attribute_pure__ __nonnull ((1)); | ||
| 285 | -# else | ||
| 286 | -extern char *strchrnul (const char *__s, int __c) | ||
| 287 | - __THROW __attribute_pure__ __nonnull ((1)); | ||
| 288 | -# endif | ||
| 289 | -#endif | ||
| 290 | - | ||
| 291 | -/* Return the length of the initial segment of S which | ||
| 292 | - consists entirely of characters not in REJECT. */ | ||
| 293 | -extern size_t strcspn (const char *__s, const char *__reject) | ||
| 294 | - __THROW __attribute_pure__ __nonnull ((1, 2)); | ||
| 295 | -/* Return the length of the initial segment of S which | ||
| 296 | - consists entirely of characters in ACCEPT. */ | ||
| 297 | -extern size_t strspn (const char *__s, const char *__accept) | ||
| 298 | - __THROW __attribute_pure__ __nonnull ((1, 2)); | ||
| 299 | -/* Find the first occurrence in S of any character in ACCEPT. */ | ||
| 300 | -#ifdef __CORRECT_ISO_CPP_STRING_H_PROTO | ||
| 301 | -extern "C++" | ||
| 302 | -{ | ||
| 303 | -extern char *strpbrk (char *__s, const char *__accept) | ||
| 304 | - __THROW __asm ("strpbrk") __attribute_pure__ __nonnull ((1, 2)); | ||
| 305 | -extern const char *strpbrk (const char *__s, const char *__accept) | ||
| 306 | - __THROW __asm ("strpbrk") __attribute_pure__ __nonnull ((1, 2)); | ||
| 307 | - | ||
| 308 | -# ifdef __OPTIMIZE__ | ||
| 309 | -__extern_always_inline char * | ||
| 310 | -strpbrk (char *__s, const char *__accept) __THROW | ||
| 311 | -{ | ||
| 312 | - return __builtin_strpbrk (__s, __accept); | ||
| 313 | -} | ||
| 314 | - | ||
| 315 | -__extern_always_inline const char * | ||
| 316 | -strpbrk (const char *__s, const char *__accept) __THROW | ||
| 317 | -{ | ||
| 318 | - return __builtin_strpbrk (__s, __accept); | ||
| 319 | -} | ||
| 320 | -# endif | ||
| 321 | -} | ||
| 322 | -#else | ||
| 323 | -extern char *strpbrk (const char *__s, const char *__accept) | ||
| 324 | - __THROW __attribute_pure__ __nonnull ((1, 2)); | ||
| 325 | -#endif | ||
| 326 | -/* Find the first occurrence of NEEDLE in HAYSTACK. */ | ||
| 327 | -#ifdef __CORRECT_ISO_CPP_STRING_H_PROTO | ||
| 328 | -extern "C++" | ||
| 329 | -{ | ||
| 330 | -extern char *strstr (char *__haystack, const char *__needle) | ||
| 331 | - __THROW __asm ("strstr") __attribute_pure__ __nonnull ((1, 2)); | ||
| 332 | -extern const char *strstr (const char *__haystack, const char *__needle) | ||
| 333 | - __THROW __asm ("strstr") __attribute_pure__ __nonnull ((1, 2)); | ||
| 334 | - | ||
| 335 | -# ifdef __OPTIMIZE__ | ||
| 336 | -__extern_always_inline char * | ||
| 337 | -strstr (char *__haystack, const char *__needle) __THROW | ||
| 338 | -{ | ||
| 339 | - return __builtin_strstr (__haystack, __needle); | ||
| 340 | -} | ||
| 341 | - | ||
| 342 | -__extern_always_inline const char * | ||
| 343 | -strstr (const char *__haystack, const char *__needle) __THROW | ||
| 344 | -{ | ||
| 345 | - return __builtin_strstr (__haystack, __needle); | ||
| 346 | -} | ||
| 347 | -# endif | ||
| 348 | -} | ||
| 349 | -#else | ||
| 350 | -extern char *strstr (const char *__haystack, const char *__needle) | ||
| 351 | - __THROW __attribute_pure__ __nonnull ((1, 2)); | ||
| 352 | -#endif | ||
| 353 | - | ||
| 354 | - | ||
| 355 | -/* Divide S into tokens separated by characters in DELIM. */ | ||
| 356 | -extern char *strtok (char *__restrict __s, const char *__restrict __delim) | ||
| 357 | - __THROW __nonnull ((2)); | ||
| 358 | - | ||
| 359 | -/* Divide S into tokens separated by characters in DELIM. Information | ||
| 360 | - passed between calls are stored in SAVE_PTR. */ | ||
| 361 | -extern char *__strtok_r (char *__restrict __s, | ||
| 362 | - const char *__restrict __delim, | ||
| 363 | - char **__restrict __save_ptr) | ||
| 364 | - __THROW __nonnull ((2, 3)); | ||
| 365 | -#ifdef __USE_POSIX | ||
| 366 | -extern char *strtok_r (char *__restrict __s, const char *__restrict __delim, | ||
| 367 | - char **__restrict __save_ptr) | ||
| 368 | - __THROW __nonnull ((2, 3)); | ||
| 369 | -#endif | ||
| 370 | - | ||
| 371 | -#ifdef __USE_MISC | ||
| 372 | -/* Similar to `strstr' but this function ignores the case of both strings. */ | ||
| 373 | -# ifdef __CORRECT_ISO_CPP_STRING_H_PROTO | ||
| 374 | -extern "C++" char *strcasestr (char *__haystack, const char *__needle) | ||
| 375 | - __THROW __asm ("strcasestr") __attribute_pure__ __nonnull ((1, 2)); | ||
| 376 | -extern "C++" const char *strcasestr (const char *__haystack, | ||
| 377 | - const char *__needle) | ||
| 378 | - __THROW __asm ("strcasestr") __attribute_pure__ __nonnull ((1, 2)); | ||
| 379 | -# else | ||
| 380 | -extern char *strcasestr (const char *__haystack, const char *__needle) | ||
| 381 | - __THROW __attribute_pure__ __nonnull ((1, 2)); | ||
| 382 | -# endif | ||
| 383 | -#endif | ||
| 384 | - | ||
| 385 | -#ifdef __USE_MISC | ||
| 386 | -/* Find the first occurrence of NEEDLE in HAYSTACK. | ||
| 387 | - NEEDLE is NEEDLELEN bytes long; | ||
| 388 | - HAYSTACK is HAYSTACKLEN bytes long. */ | ||
| 389 | -extern void *memmem (const void *__haystack, size_t __haystacklen, | ||
| 390 | - const void *__needle, size_t __needlelen) | ||
| 391 | - __THROW __attribute_pure__ __nonnull ((1, 3)) | ||
| 392 | - __attr_access ((__read_only__, 1, 2)) | ||
| 393 | - __attr_access ((__read_only__, 3, 4)); | ||
| 394 | - | ||
| 395 | -/* Copy N bytes of SRC to DEST, return pointer to bytes after the | ||
| 396 | - last written byte. */ | ||
| 397 | -extern void *__mempcpy (void *__restrict __dest, | ||
| 398 | - const void *__restrict __src, size_t __n) | ||
| 399 | - __THROW __nonnull ((1, 2)); | ||
| 400 | -extern void *mempcpy (void *__restrict __dest, | ||
| 401 | - const void *__restrict __src, size_t __n) | ||
| 402 | - __THROW __nonnull ((1, 2)); | ||
| 403 | -#endif | ||
| 404 | - | ||
| 405 | - | ||
| 406 | -/* Return the length of S. */ | ||
| 407 | -extern size_t strlen (const char *__s) | ||
| 408 | - __THROW __attribute_pure__ __nonnull ((1)); | ||
| 409 | - | ||
| 410 | -#ifdef __USE_XOPEN2K8 | ||
| 411 | -/* Find the length of STRING, but scan at most MAXLEN characters. | ||
| 412 | - If no '\0' terminator is found in that many characters, return MAXLEN. */ | ||
| 413 | -extern size_t strnlen (const char *__string, size_t __maxlen) | ||
| 414 | - __THROW __attribute_pure__ __nonnull ((1)); | ||
| 415 | -#endif | ||
| 416 | - | ||
| 417 | - | ||
| 418 | -/* Return a string describing the meaning of the `errno' code in ERRNUM. */ | ||
| 419 | -extern char *strerror (int __errnum) __THROW; | ||
| 420 | -#ifdef __USE_XOPEN2K | ||
| 421 | -/* Reentrant version of `strerror'. | ||
| 422 | - There are 2 flavors of `strerror_r', GNU which returns the string | ||
| 423 | - and may or may not use the supplied temporary buffer and POSIX one | ||
| 424 | - which fills the string into the buffer. | ||
| 425 | - To use the POSIX version, -D_XOPEN_SOURCE=600 or -D_POSIX_C_SOURCE=200112L | ||
| 426 | - without -D_GNU_SOURCE is needed, otherwise the GNU version is | ||
| 427 | - preferred. */ | ||
| 428 | -# if defined __USE_XOPEN2K && !defined __USE_GNU | ||
| 429 | -/* Fill BUF with a string describing the meaning of the `errno' code in | ||
| 430 | - ERRNUM. */ | ||
| 431 | -# ifdef __REDIRECT_NTH | ||
| 432 | -extern int __REDIRECT_NTH (strerror_r, | ||
| 433 | - (int __errnum, char *__buf, size_t __buflen), | ||
| 434 | - __xpg_strerror_r) __nonnull ((2)) | ||
| 435 | - __attr_access ((__write_only__, 2, 3)); | ||
| 436 | -# else | ||
| 437 | -extern int __xpg_strerror_r (int __errnum, char *__buf, size_t __buflen) | ||
| 438 | - __THROW __nonnull ((2)) __attr_access ((__write_only__, 2, 3)); | ||
| 439 | -# define strerror_r __xpg_strerror_r | ||
| 440 | -# endif | ||
| 441 | -# else | ||
| 442 | -/* If a temporary buffer is required, at most BUFLEN bytes of BUF will be | ||
| 443 | - used. */ | ||
| 444 | -extern char *strerror_r (int __errnum, char *__buf, size_t __buflen) | ||
| 445 | - __THROW __nonnull ((2)) __wur __attr_access ((__write_only__, 2, 3)); | ||
| 446 | -# endif | ||
| 447 | - | ||
| 448 | -# ifdef __USE_GNU | ||
| 449 | -/* Return a string describing the meaning of tthe error in ERR. */ | ||
| 450 | -extern const char *strerrordesc_np (int __err) __THROW; | ||
| 451 | -/* Return a string with the error name in ERR. */ | ||
| 452 | -extern const char *strerrorname_np (int __err) __THROW; | ||
| 453 | -# endif | ||
| 454 | -#endif | ||
| 455 | - | ||
| 456 | -#ifdef __USE_XOPEN2K8 | ||
| 457 | -/* Translate error number to string according to the locale L. */ | ||
| 458 | -extern char *strerror_l (int __errnum, locale_t __l) __THROW; | ||
| 459 | -#endif | ||
| 460 | - | ||
| 461 | -#ifdef __USE_MISC | ||
| 462 | -# include <strings.h> | ||
| 463 | - | ||
| 464 | -/* Set N bytes of S to 0. The compiler will not delete a call to this | ||
| 465 | - function, even if S is dead after the call. */ | ||
| 466 | -extern void explicit_bzero (void *__s, size_t __n) __THROW __nonnull ((1)) | ||
| 467 | - __fortified_attr_access (__write_only__, 1, 2); | ||
| 468 | - | ||
| 469 | -/* Return the next DELIM-delimited token from *STRINGP, | ||
| 470 | - terminating it with a '\0', and update *STRINGP to point past it. */ | ||
| 471 | -extern char *strsep (char **__restrict __stringp, | ||
| 472 | - const char *__restrict __delim) | ||
| 473 | - __THROW __nonnull ((1, 2)); | ||
| 474 | -#endif | ||
| 475 | - | ||
| 476 | -#ifdef __USE_XOPEN2K8 | ||
| 477 | -/* Return a string describing the meaning of the signal number in SIG. */ | ||
| 478 | -extern char *strsignal (int __sig) __THROW; | ||
| 479 | - | ||
| 480 | -# ifdef __USE_GNU | ||
| 481 | -/* Return an abbreviation string for the signal number SIG. */ | ||
| 482 | -extern const char *sigabbrev_np (int __sig) __THROW; | ||
| 483 | -/* Return a string describing the meaning of the signal number in SIG, | ||
| 484 | - the result is not translated. */ | ||
| 485 | -extern const char *sigdescr_np (int __sig) __THROW; | ||
| 486 | -# endif | ||
| 487 | - | ||
| 488 | -/* Copy SRC to DEST, returning the address of the terminating '\0' in DEST. */ | ||
| 489 | -extern char *__stpcpy (char *__restrict __dest, const char *__restrict __src) | ||
| 490 | - __THROW __nonnull ((1, 2)); | ||
| 491 | -extern char *stpcpy (char *__restrict __dest, const char *__restrict __src) | ||
| 492 | - __THROW __nonnull ((1, 2)); | ||
| 493 | - | ||
| 494 | -/* Copy no more than N characters of SRC to DEST, returning the address of | ||
| 495 | - the last character written into DEST. */ | ||
| 496 | -extern char *__stpncpy (char *__restrict __dest, | ||
| 497 | - const char *__restrict __src, size_t __n) | ||
| 498 | - __THROW __nonnull ((1, 2)); | ||
| 499 | -extern char *stpncpy (char *__restrict __dest, | ||
| 500 | - const char *__restrict __src, size_t __n) | ||
| 501 | - __THROW __nonnull ((1, 2)); | ||
| 502 | -#endif | ||
| 503 | - | ||
| 504 | -#ifdef __USE_MISC | ||
| 505 | -/* Copy at most N - 1 characters from SRC to DEST. */ | ||
| 506 | -extern size_t strlcpy (char *__restrict __dest, | ||
| 507 | - const char *__restrict __src, size_t __n) | ||
| 508 | - __THROW __nonnull ((1, 2)) __attr_access ((__write_only__, 1, 3)); | ||
| 509 | - | ||
| 510 | -/* Append SRC to DEST, possibly with truncation to keep the total size | ||
| 511 | - below N. */ | ||
| 512 | -extern size_t strlcat (char *__restrict __dest, | ||
| 513 | - const char *__restrict __src, size_t __n) | ||
| 514 | - __THROW __nonnull ((1, 2)) __attr_access ((__read_write__, 1, 3)); | ||
| 515 | -#endif | ||
| 516 | - | ||
| 517 | -#ifdef __USE_GNU | ||
| 518 | -/* Compare S1 and S2 as strings holding name & indices/version numbers. */ | ||
| 519 | -extern int strverscmp (const char *__s1, const char *__s2) | ||
| 520 | - __THROW __attribute_pure__ __nonnull ((1, 2)); | ||
| 521 | - | ||
| 522 | -/* Sautee STRING briskly. */ | ||
| 523 | -extern char *strfry (char *__string) __THROW __nonnull ((1)); | ||
| 524 | - | ||
| 525 | -/* Frobnicate N bytes of S. */ | ||
| 526 | -extern void *memfrob (void *__s, size_t __n) __THROW __nonnull ((1)) | ||
| 527 | - __attr_access ((__read_write__, 1, 2)); | ||
| 528 | - | ||
| 529 | -# ifndef basename | ||
| 530 | -/* Return the file name within directory of FILENAME. We don't | ||
| 531 | - declare the function if the `basename' macro is available (defined | ||
| 532 | - in <libgen.h>) which makes the XPG version of this function | ||
| 533 | - available. */ | ||
| 534 | -# ifdef __CORRECT_ISO_CPP_STRING_H_PROTO | ||
| 535 | -extern "C++" char *basename (char *__filename) | ||
| 536 | - __THROW __asm ("basename") __nonnull ((1)); | ||
| 537 | -extern "C++" const char *basename (const char *__filename) | ||
| 538 | - __THROW __asm ("basename") __nonnull ((1)); | ||
| 539 | -# else | ||
| 540 | -extern char *basename (const char *__filename) __THROW __nonnull ((1)); | ||
| 541 | -# endif | ||
| 542 | -# endif | ||
| 543 | -#endif | ||
| 544 | - | ||
| 545 | -#if __GNUC_PREREQ (3,4) | ||
| 546 | -# if __USE_FORTIFY_LEVEL > 0 && defined __fortify_function | ||
| 547 | -/* Functions with security checks. */ | ||
| 548 | -# include <bits/string_fortified.h> | ||
| 549 | -# endif | ||
| 550 | -#endif | ||
| 551 | - | ||
| 552 | -__END_DECLS | ||
| 553 | - | ||
| 554 | -#endif /* string.h */ | ||
+0 −0 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@string.h.blob deleted file mode 100644, Binary files a/.ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@string.h.blob and /dev/null differ Large diff collapsed, click to expand
+0 −148 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@strings.h deleted file mode 100644 Large diff collapsed, click to expand
| @@ -1,148 +0,0 @@ | |||
| 1 | -/* Copyright (C) 1991-2025 Free Software Foundation, Inc. | ||
| 2 | - This file is part of the GNU C Library. | ||
| 3 | - | ||
| 4 | - The GNU C Library is free software; you can redistribute it and/or | ||
| 5 | - modify it under the terms of the GNU Lesser General Public | ||
| 6 | - License as published by the Free Software Foundation; either | ||
| 7 | - version 2.1 of the License, or (at your option) any later version. | ||
| 8 | - | ||
| 9 | - The GNU C Library is distributed in the hope that it will be useful, | ||
| 10 | - but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 11 | - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
| 12 | - Lesser General Public License for more details. | ||
| 13 | - | ||
| 14 | - You should have received a copy of the GNU Lesser General Public | ||
| 15 | - License along with the GNU C Library; if not, see | ||
| 16 | - <https://www.gnu.org/licenses/>. */ | ||
| 17 | - | ||
| 18 | -#ifndef _STRINGS_H | ||
| 19 | -#define _STRINGS_H 1 | ||
| 20 | - | ||
| 21 | -#include <features.h> | ||
| 22 | -#define __need_size_t | ||
| 23 | -#include <stddef.h> | ||
| 24 | - | ||
| 25 | -/* Tell the caller that we provide correct C++ prototypes. */ | ||
| 26 | -#if defined __cplusplus && __GNUC_PREREQ (4, 4) | ||
| 27 | -# define __CORRECT_ISO_CPP_STRINGS_H_PROTO | ||
| 28 | -#endif | ||
| 29 | - | ||
| 30 | -__BEGIN_DECLS | ||
| 31 | - | ||
| 32 | -#if defined __USE_MISC || !defined __USE_XOPEN2K8 | ||
| 33 | -/* Compare N bytes of S1 and S2 (same as memcmp). */ | ||
| 34 | -extern int bcmp (const void *__s1, const void *__s2, size_t __n) | ||
| 35 | - __THROW __attribute_pure__ __nonnull ((1, 2)); | ||
| 36 | - | ||
| 37 | -/* Copy N bytes of SRC to DEST (like memmove, but args reversed). */ | ||
| 38 | -extern void bcopy (const void *__src, void *__dest, size_t __n) | ||
| 39 | - __THROW __nonnull ((1, 2)); | ||
| 40 | - | ||
| 41 | -/* Set N bytes of S to 0. */ | ||
| 42 | -extern void bzero (void *__s, size_t __n) __THROW __nonnull ((1)); | ||
| 43 | - | ||
| 44 | -/* Find the first occurrence of C in S (same as strchr). */ | ||
| 45 | -# ifdef __CORRECT_ISO_CPP_STRINGS_H_PROTO | ||
| 46 | -extern "C++" | ||
| 47 | -{ | ||
| 48 | -extern char *index (char *__s, int __c) | ||
| 49 | - __THROW __asm ("index") __attribute_pure__ __nonnull ((1)); | ||
| 50 | -extern const char *index (const char *__s, int __c) | ||
| 51 | - __THROW __asm ("index") __attribute_pure__ __nonnull ((1)); | ||
| 52 | - | ||
| 53 | -# if defined __OPTIMIZE__ | ||
| 54 | -__extern_always_inline char * | ||
| 55 | -index (char *__s, int __c) __THROW | ||
| 56 | -{ | ||
| 57 | - return __builtin_index (__s, __c); | ||
| 58 | -} | ||
| 59 | - | ||
| 60 | -__extern_always_inline const char * | ||
| 61 | -index (const char *__s, int __c) __THROW | ||
| 62 | -{ | ||
| 63 | - return __builtin_index (__s, __c); | ||
| 64 | -} | ||
| 65 | -# endif | ||
| 66 | -} | ||
| 67 | -# else | ||
| 68 | -extern char *index (const char *__s, int __c) | ||
| 69 | - __THROW __attribute_pure__ __nonnull ((1)); | ||
| 70 | -# endif | ||
| 71 | - | ||
| 72 | -/* Find the last occurrence of C in S (same as strrchr). */ | ||
| 73 | -# ifdef __CORRECT_ISO_CPP_STRINGS_H_PROTO | ||
| 74 | -extern "C++" | ||
| 75 | -{ | ||
| 76 | -extern char *rindex (char *__s, int __c) | ||
| 77 | - __THROW __asm ("rindex") __attribute_pure__ __nonnull ((1)); | ||
| 78 | -extern const char *rindex (const char *__s, int __c) | ||
| 79 | - __THROW __asm ("rindex") __attribute_pure__ __nonnull ((1)); | ||
| 80 | - | ||
| 81 | -# if defined __OPTIMIZE__ | ||
| 82 | -__extern_always_inline char * | ||
| 83 | -rindex (char *__s, int __c) __THROW | ||
| 84 | -{ | ||
| 85 | - return __builtin_rindex (__s, __c); | ||
| 86 | -} | ||
| 87 | - | ||
| 88 | -__extern_always_inline const char * | ||
| 89 | -rindex (const char *__s, int __c) __THROW | ||
| 90 | -{ | ||
| 91 | - return __builtin_rindex (__s, __c); | ||
| 92 | -} | ||
| 93 | -# endif | ||
| 94 | -} | ||
| 95 | -# else | ||
| 96 | -extern char *rindex (const char *__s, int __c) | ||
| 97 | - __THROW __attribute_pure__ __nonnull ((1)); | ||
| 98 | -# endif | ||
| 99 | -#endif | ||
| 100 | - | ||
| 101 | -#if defined __USE_MISC || !defined __USE_XOPEN2K8 || defined __USE_XOPEN2K8XSI | ||
| 102 | -/* Return the position of the first bit set in I, or 0 if none are set. | ||
| 103 | - The least-significant bit is position 1, the most-significant 32. */ | ||
| 104 | -extern int ffs (int __i) __THROW __attribute_const__; | ||
| 105 | -#endif | ||
| 106 | - | ||
| 107 | -/* The following two functions are non-standard but necessary for non-32 bit | ||
| 108 | - platforms. */ | ||
| 109 | -# ifdef __USE_MISC | ||
| 110 | -extern int ffsl (long int __l) __THROW __attribute_const__; | ||
| 111 | -__extension__ extern int ffsll (long long int __ll) | ||
| 112 | - __THROW __attribute_const__; | ||
| 113 | -# endif | ||
| 114 | - | ||
| 115 | -/* Compare S1 and S2, ignoring case. */ | ||
| 116 | -extern int strcasecmp (const char *__s1, const char *__s2) | ||
| 117 | - __THROW __attribute_pure__ __nonnull ((1, 2)); | ||
| 118 | - | ||
| 119 | -/* Compare no more than N chars of S1 and S2, ignoring case. */ | ||
| 120 | -extern int strncasecmp (const char *__s1, const char *__s2, size_t __n) | ||
| 121 | - __THROW __attribute_pure__ __nonnull ((1, 2)); | ||
| 122 | - | ||
| 123 | -#ifdef __USE_XOPEN2K8 | ||
| 124 | -/* POSIX.1-2008 extended locale interface (see locale.h). */ | ||
| 125 | -# include <bits/types/locale_t.h> | ||
| 126 | - | ||
| 127 | -/* Compare S1 and S2, ignoring case, using collation rules from LOC. */ | ||
| 128 | -extern int strcasecmp_l (const char *__s1, const char *__s2, locale_t __loc) | ||
| 129 | - __THROW __attribute_pure__ __nonnull ((1, 2, 3)); | ||
| 130 | - | ||
| 131 | -/* Compare no more than N chars of S1 and S2, ignoring case, using | ||
| 132 | - collation rules from LOC. */ | ||
| 133 | -extern int strncasecmp_l (const char *__s1, const char *__s2, | ||
| 134 | - size_t __n, locale_t __loc) | ||
| 135 | - __THROW __attribute_pure__ __nonnull ((1, 2, 4)); | ||
| 136 | -#endif | ||
| 137 | - | ||
| 138 | -__END_DECLS | ||
| 139 | - | ||
| 140 | -#if __GNUC_PREREQ (3,4) && __USE_FORTIFY_LEVEL > 0 \ | ||
| 141 | - && defined __fortify_function | ||
| 142 | -/* Functions with security checks. */ | ||
| 143 | -# if defined __USE_MISC || !defined __USE_XOPEN2K8 | ||
| 144 | -# include <bits/strings_fortified.h> | ||
| 145 | -# endif | ||
| 146 | -#endif | ||
| 147 | - | ||
| 148 | -#endif /* strings.h */ | ||
+0 −0 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@strings.h.blob deleted file mode 100644, Binary files a/.ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@strings.h.blob and /dev/null differ Large diff collapsed, click to expand
+0 −886 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@sys@cdefs.h deleted file mode 100644 Large diff collapsed, click to expand
| @@ -1,886 +0,0 @@ | |||
| 1 | -/* Copyright (C) 1992-2025 Free Software Foundation, Inc. | ||
| 2 | - Copyright The GNU Toolchain Authors. | ||
| 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 _SYS_CDEFS_H | ||
| 20 | -#define _SYS_CDEFS_H 1 | ||
| 21 | - | ||
| 22 | -/* We are almost always included from features.h. */ | ||
| 23 | -#ifndef _FEATURES_H | ||
| 24 | -# include <features.h> | ||
| 25 | -#endif | ||
| 26 | - | ||
| 27 | -/* The GNU libc does not support any K&R compilers or the traditional mode | ||
| 28 | - of ISO C compilers anymore. Check for some of the combinations not | ||
| 29 | - supported anymore. */ | ||
| 30 | -#if defined __GNUC__ && !defined __STDC__ && !defined __cplusplus | ||
| 31 | -# error "You need a ISO C or C++ conforming compiler to use the glibc headers" | ||
| 32 | -#endif | ||
| 33 | - | ||
| 34 | -/* Some user header file might have defined this before. */ | ||
| 35 | -#undef __P | ||
| 36 | -#undef __PMT | ||
| 37 | - | ||
| 38 | -/* Compilers that lack __has_attribute may object to | ||
| 39 | - #if defined __has_attribute && __has_attribute (...) | ||
| 40 | - even though they do not need to evaluate the right-hand side of the &&. | ||
| 41 | - Similarly for __has_builtin, etc. */ | ||
| 42 | -#if (defined __has_attribute \ | ||
| 43 | - && (!defined __clang_minor__ \ | ||
| 44 | - || 3 < __clang_major__ + (5 <= __clang_minor__))) | ||
| 45 | -# define __glibc_has_attribute(attr) __has_attribute (attr) | ||
| 46 | -#else | ||
| 47 | -# define __glibc_has_attribute(attr) 0 | ||
| 48 | -#endif | ||
| 49 | -#ifdef __has_builtin | ||
| 50 | -# define __glibc_has_builtin(name) __has_builtin (name) | ||
| 51 | -#else | ||
| 52 | -# define __glibc_has_builtin(name) 0 | ||
| 53 | -#endif | ||
| 54 | -#ifdef __has_extension | ||
| 55 | -# define __glibc_has_extension(ext) __has_extension (ext) | ||
| 56 | -#else | ||
| 57 | -# define __glibc_has_extension(ext) 0 | ||
| 58 | -#endif | ||
| 59 | - | ||
| 60 | -#if defined __GNUC__ || defined __clang__ | ||
| 61 | - | ||
| 62 | -/* All functions, except those with callbacks or those that | ||
| 63 | - synchronize memory, are leaf functions. */ | ||
| 64 | -# if __GNUC_PREREQ (4, 6) && !defined _LIBC | ||
| 65 | -# define __LEAF , __leaf__ | ||
| 66 | -# define __LEAF_ATTR __attribute__ ((__leaf__)) | ||
| 67 | -# else | ||
| 68 | -# define __LEAF | ||
| 69 | -# define __LEAF_ATTR | ||
| 70 | -# endif | ||
| 71 | - | ||
| 72 | -/* GCC can always grok prototypes. For C++ programs we add throw() | ||
| 73 | - to help it optimize the function calls. But this only works with | ||
| 74 | - gcc 2.8.x and egcs. For gcc 3.4 and up we even mark C functions | ||
| 75 | - as non-throwing using a function attribute since programs can use | ||
| 76 | - the -fexceptions options for C code as well. */ | ||
| 77 | -# if !defined __cplusplus \ | ||
| 78 | - && (__GNUC_PREREQ (3, 4) || __glibc_has_attribute (__nothrow__)) | ||
| 79 | -# define __THROW __attribute__ ((__nothrow__ __LEAF)) | ||
| 80 | -# define __THROWNL __attribute__ ((__nothrow__)) | ||
| 81 | -# define __NTH(fct) __attribute__ ((__nothrow__ __LEAF)) fct | ||
| 82 | -# define __NTHNL(fct) __attribute__ ((__nothrow__)) fct | ||
| 83 | -# else | ||
| 84 | -# if defined __cplusplus && (__GNUC_PREREQ (2,8) || __clang_major__ >= 4) | ||
| 85 | -# if __cplusplus >= 201103L | ||
| 86 | -# define __THROW noexcept (true) | ||
| 87 | -# else | ||
| 88 | -# define __THROW throw () | ||
| 89 | -# endif | ||
| 90 | -# define __THROWNL __THROW | ||
| 91 | -# define __NTH(fct) __LEAF_ATTR fct __THROW | ||
| 92 | -# define __NTHNL(fct) fct __THROW | ||
| 93 | -# else | ||
| 94 | -# define __THROW | ||
| 95 | -# define __THROWNL | ||
| 96 | -# define __NTH(fct) fct | ||
| 97 | -# define __NTHNL(fct) fct | ||
| 98 | -# endif | ||
| 99 | -# endif | ||
| 100 | - | ||
| 101 | -# if __GNUC_PREREQ (4, 3) || __glibc_has_attribute (__cold__) | ||
| 102 | -# define __COLD __attribute__ ((__cold__)) | ||
| 103 | -# else | ||
| 104 | -# define __COLD | ||
| 105 | -# endif | ||
| 106 | - | ||
| 107 | -#else /* Not GCC or clang. */ | ||
| 108 | - | ||
| 109 | -# if (defined __cplusplus \ | ||
| 110 | - || (defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L)) | ||
| 111 | -# define __inline inline | ||
| 112 | -# else | ||
| 113 | -# define __inline /* No inline functions. */ | ||
| 114 | -# endif | ||
| 115 | - | ||
| 116 | -# define __THROW | ||
| 117 | -# define __THROWNL | ||
| 118 | -# define __NTH(fct) fct | ||
| 119 | -# define __COLD | ||
| 120 | - | ||
| 121 | -#endif /* GCC || clang. */ | ||
| 122 | - | ||
| 123 | -/* These two macros are not used in glibc anymore. They are kept here | ||
| 124 | - only because some other projects expect the macros to be defined. */ | ||
| 125 | -#define __P(args) args | ||
| 126 | -#define __PMT(args) args | ||
| 127 | - | ||
| 128 | -/* For these things, GCC behaves the ANSI way normally, | ||
| 129 | - and the non-ANSI way under -traditional. */ | ||
| 130 | - | ||
| 131 | -#define __CONCAT(x,y) x ## y | ||
| 132 | -#define __STRING(x) #x | ||
| 133 | - | ||
| 134 | -/* This is not a typedef so `const __ptr_t' does the right thing. */ | ||
| 135 | -#define __ptr_t void * | ||
| 136 | - | ||
| 137 | - | ||
| 138 | -/* C++ needs to know that types and declarations are C, not C++. */ | ||
| 139 | -#ifdef __cplusplus | ||
| 140 | -# define __BEGIN_DECLS extern "C" { | ||
| 141 | -# define __END_DECLS } | ||
| 142 | -#else | ||
| 143 | -# define __BEGIN_DECLS | ||
| 144 | -# define __END_DECLS | ||
| 145 | -#endif | ||
| 146 | - | ||
| 147 | - | ||
| 148 | -/* The overloadable attribute was added on clang 2.6. */ | ||
| 149 | -#if defined __clang_major__ \ | ||
| 150 | - && (__clang_major__ + (__clang_minor__ >= 6) > 2) | ||
| 151 | -# define __attribute_overloadable__ __attribute__((__overloadable__)) | ||
| 152 | -#else | ||
| 153 | -# define __attribute_overloadable__ | ||
| 154 | -#endif | ||
| 155 | - | ||
| 156 | -/* Fortify support. */ | ||
| 157 | -#define __bos(ptr) __builtin_object_size (ptr, __USE_FORTIFY_LEVEL > 1) | ||
| 158 | -#define __bos0(ptr) __builtin_object_size (ptr, 0) | ||
| 159 | - | ||
| 160 | -/* Use __builtin_dynamic_object_size at _FORTIFY_SOURCE=3 when available. */ | ||
| 161 | -#if __USE_FORTIFY_LEVEL == 3 && (__glibc_clang_prereq (9, 0) \ | ||
| 162 | - || __GNUC_PREREQ (12, 0)) | ||
| 163 | -# define __glibc_objsize0(__o) __builtin_dynamic_object_size (__o, 0) | ||
| 164 | -# define __glibc_objsize(__o) __builtin_dynamic_object_size (__o, 1) | ||
| 165 | -#else | ||
| 166 | -# define __glibc_objsize0(__o) __bos0 (__o) | ||
| 167 | -# define __glibc_objsize(__o) __bos (__o) | ||
| 168 | -#endif | ||
| 169 | - | ||
| 170 | -#if __USE_FORTIFY_LEVEL > 0 | ||
| 171 | -/* Compile time conditions to choose between the regular, _chk and _chk_warn | ||
| 172 | - variants. These conditions should get evaluated to constant and optimized | ||
| 173 | - away. */ | ||
| 174 | - | ||
| 175 | -#define __glibc_safe_len_cond(__l, __s, __osz) ((__l) <= (__osz) / (__s)) | ||
| 176 | -#define __glibc_unsigned_or_positive(__l) \ | ||
| 177 | - ((__typeof (__l)) 0 < (__typeof (__l)) -1 \ | ||
| 178 | - || (__builtin_constant_p (__l) && (__l) > 0)) | ||
| 179 | - | ||
| 180 | -/* Length is known to be safe at compile time if the __L * __S <= __OBJSZ | ||
| 181 | - condition can be folded to a constant and if it is true, or unknown (-1) */ | ||
| 182 | -#define __glibc_safe_or_unknown_len(__l, __s, __osz) \ | ||
| 183 | - ((__builtin_constant_p (__osz) && (__osz) == (__SIZE_TYPE__) -1) \ | ||
| 184 | - || (__glibc_unsigned_or_positive (__l) \ | ||
| 185 | - && __builtin_constant_p (__glibc_safe_len_cond ((__SIZE_TYPE__) (__l), \ | ||
| 186 | - (__s), (__osz))) \ | ||
| 187 | - && __glibc_safe_len_cond ((__SIZE_TYPE__) (__l), (__s), (__osz)))) | ||
| 188 | - | ||
| 189 | -/* Conversely, we know at compile time that the length is unsafe if the | ||
| 190 | - __L * __S <= __OBJSZ condition can be folded to a constant and if it is | ||
| 191 | - false. */ | ||
| 192 | -#define __glibc_unsafe_len(__l, __s, __osz) \ | ||
| 193 | - (__glibc_unsigned_or_positive (__l) \ | ||
| 194 | - && __builtin_constant_p (__glibc_safe_len_cond ((__SIZE_TYPE__) (__l), \ | ||
| 195 | - __s, __osz)) \ | ||
| 196 | - && !__glibc_safe_len_cond ((__SIZE_TYPE__) (__l), __s, __osz)) | ||
| 197 | - | ||
| 198 | -/* To correctly instrument the fortify wrapper clang requires the | ||
| 199 | - pass_object_size attribute, and the attribute has the restriction that the | ||
| 200 | - argument needs to be 'const'. Furthermore, to make it usable with C | ||
| 201 | - interfaces, clang provides the overload attribute, which provides a C++ | ||
| 202 | - like function overload support. The overloaded fortify wrapper with the | ||
| 203 | - pass_object_size attribute has precedence over the default symbol. | ||
| 204 | - | ||
| 205 | - Also, clang does not support __va_arg_pack, so variadic functions are | ||
| 206 | - expanded to issue va_arg implementations. The error function must not have | ||
| 207 | - bodies (address takes are expanded to nonfortified calls), and with | ||
| 208 | - __fortify_function compiler might still create a body with the C++ | ||
| 209 | - mangling name (due to the overload attribute). In this case, the function | ||
| 210 | - is defined with __fortify_function_error_function macro instead. | ||
| 211 | - | ||
| 212 | - The argument size check is also done with a clang-only attribute, | ||
| 213 | - __attribute__ ((__diagnose_if__ (...))), different than gcc which calls | ||
| 214 | - symbol_chk_warn alias with uses __warnattr attribute. | ||
| 215 | - | ||
| 216 | - The pass_object_size was added on clang 4.0, __diagnose_if__ on 5.0, | ||
| 217 | - and pass_dynamic_object_size on 9.0. */ | ||
| 218 | -#if defined __clang_major__ && __clang_major__ >= 5 | ||
| 219 | -# define __fortify_use_clang 1 | ||
| 220 | - | ||
| 221 | -# define __fortify_function_error_function static __attribute__((__unused__)) | ||
| 222 | - | ||
| 223 | -# define __fortify_clang_pass_object_size_n(n) \ | ||
| 224 | - __attribute__ ((__pass_object_size__ (n))) | ||
| 225 | -# define __fortify_clang_pass_object_size0 \ | ||
| 226 | - __fortify_clang_pass_object_size_n (0) | ||
| 227 | -# define __fortify_clang_pass_object_size \ | ||
| 228 | - __fortify_clang_pass_object_size_n (__USE_FORTIFY_LEVEL > 1) | ||
| 229 | - | ||
| 230 | -# if __clang_major__ >= 9 | ||
| 231 | -# define __fortify_clang_pass_dynamic_object_size_n(n) \ | ||
| 232 | - __attribute__ ((__pass_dynamic_object_size__ (n))) | ||
| 233 | -# define __fortify_clang_pass_dynamic_object_size0 \ | ||
| 234 | - __fortify_clang_pass_dynamic_object_size_n (0) | ||
| 235 | -# define __fortify_clang_pass_dynamic_object_size \ | ||
| 236 | - __fortify_clang_pass_dynamic_object_size_n (1) | ||
| 237 | -# else | ||
| 238 | -# define __fortify_clang_pass_dynamic_object_size_n(n) | ||
| 239 | -# define __fortify_clang_pass_dynamic_object_size0 | ||
| 240 | -# define __fortify_clang_pass_dynamic_object_size | ||
| 241 | -# endif | ||
| 242 | - | ||
| 243 | -# define __fortify_clang_bos_static_lt_impl(bos_val, n, s) \ | ||
| 244 | - ((bos_val) != -1ULL && (n) > (bos_val) / (s)) | ||
| 245 | -# define __fortify_clang_bos_static_lt2(__n, __e, __s) \ | ||
| 246 | - __fortify_clang_bos_static_lt_impl (__bos (__e), __n, __s) | ||
| 247 | -# define __fortify_clang_bos_static_lt(__n, __e) \ | ||
| 248 | - __fortify_clang_bos_static_lt2 (__n, __e, 1) | ||
| 249 | -# define __fortify_clang_bos0_static_lt2(__n, __e, __s) \ | ||
| 250 | - __fortify_clang_bos_static_lt_impl (__bos0 (__e), __n, __s) | ||
| 251 | -# define __fortify_clang_bos0_static_lt(__n, __e) \ | ||
| 252 | - __fortify_clang_bos0_static_lt2 (__n, __e, 1) | ||
| 253 | - | ||
| 254 | -# define __fortify_clang_bosn_args(bos_fn, n, buf, div, complaint) \ | ||
| 255 | - (__fortify_clang_bos_static_lt_impl (bos_fn (buf), n, div)), (complaint), \ | ||
| 256 | - "warning" | ||
| 257 | - | ||
| 258 | -# define __fortify_clang_warning(__c, __msg) \ | ||
| 259 | - __attribute__ ((__diagnose_if__ ((__c), (__msg), "warning"))) | ||
| 260 | -# define __fortify_clang_error(__c, __msg) \ | ||
| 261 | - __attribute__ ((__diagnose_if__ ((__c), (__msg), "error"))) | ||
| 262 | -# define __fortify_clang_warning_only_if_bos0_lt(n, buf, complaint) \ | ||
| 263 | - __attribute__ ((__diagnose_if__ \ | ||
| 264 | - (__fortify_clang_bosn_args (__bos0, n, buf, 1, complaint)))) | ||
| 265 | -# define __fortify_clang_warning_only_if_bos0_lt2(n, buf, div, complaint) \ | ||
| 266 | - __attribute__ ((__diagnose_if__ \ | ||
| 267 | - (__fortify_clang_bosn_args (__bos0, n, buf, div, complaint)))) | ||
| 268 | -# define __fortify_clang_warning_only_if_bos_lt(n, buf, complaint) \ | ||
| 269 | - __attribute__ ((__diagnose_if__ \ | ||
| 270 | - (__fortify_clang_bosn_args (__bos, n, buf, 1, complaint)))) | ||
| 271 | -# define __fortify_clang_warning_only_if_bos_lt2(n, buf, div, complaint) \ | ||
| 272 | - __attribute__ ((__diagnose_if__ \ | ||
| 273 | - (__fortify_clang_bosn_args (__bos, n, buf, div, complaint)))) | ||
| 274 | - | ||
| 275 | -# define __fortify_clang_prefer_this_overload \ | ||
| 276 | - __attribute__ ((enable_if (1, ""))) | ||
| 277 | -# define __fortify_clang_unavailable(__msg) \ | ||
| 278 | - __attribute__ ((unavailable(__msg))) | ||
| 279 | - | ||
| 280 | -# if __USE_FORTIFY_LEVEL == 3 | ||
| 281 | -# define __fortify_clang_overload_arg(__type, __attr, __name) \ | ||
| 282 | - __type __attr const __fortify_clang_pass_dynamic_object_size __name | ||
| 283 | -# define __fortify_clang_overload_arg0(__type, __attr, __name) \ | ||
| 284 | - __type __attr const __fortify_clang_pass_dynamic_object_size0 __name | ||
| 285 | -# else | ||
| 286 | -# define __fortify_clang_overload_arg(__type, __attr, __name) \ | ||
| 287 | - __type __attr const __fortify_clang_pass_object_size __name | ||
| 288 | -# define __fortify_clang_overload_arg0(__type, __attr, __name) \ | ||
| 289 | - __type __attr const __fortify_clang_pass_object_size0 __name | ||
| 290 | -# endif | ||
| 291 | - | ||
| 292 | -# define __fortify_clang_mul_may_overflow(size, n) \ | ||
| 293 | - ((size | n) >= (((size_t)1) << (8 * sizeof (size_t) / 2))) | ||
| 294 | - | ||
| 295 | -# define __fortify_clang_size_too_small(__bos, __dest, __len) \ | ||
| 296 | - (__bos (__dest) != (size_t) -1 && __bos (__dest) < __len) | ||
| 297 | -# define __fortify_clang_warn_if_src_too_large(__dest, __src) \ | ||
| 298 | - __fortify_clang_warning (__fortify_clang_size_too_small (__glibc_objsize, \ | ||
| 299 | - __dest, \ | ||
| 300 | - __builtin_strlen (__src) + 1), \ | ||
| 301 | - "destination buffer will always be overflown by source") | ||
| 302 | -# define __fortify_clang_warn_if_dest_too_small(__dest, __len) \ | ||
| 303 | - __fortify_clang_warning (__fortify_clang_size_too_small (__glibc_objsize, \ | ||
| 304 | - __dest, \ | ||
| 305 | - __len), \ | ||
| 306 | - "function called with bigger length than the destination buffer") | ||
| 307 | -# define __fortify_clang_warn_if_dest_too_small0(__dest, __len) \ | ||
| 308 | - __fortify_clang_warning (__fortify_clang_size_too_small (__glibc_objsize0, \ | ||
| 309 | - __dest, \ | ||
| 310 | - __len), \ | ||
| 311 | - "function called with bigger length than the destination buffer") | ||
| 312 | -#else | ||
| 313 | -# define __fortify_use_clang 0 | ||
| 314 | -# define __fortify_clang_warning(__c, __msg) | ||
| 315 | -# define __fortify_clang_warning_only_if_bos0_lt(__n, __buf, __complaint) | ||
| 316 | -# define __fortify_clang_warning_only_if_bos0_lt2(__n, __buf, __div, complaint) | ||
| 317 | -# define __fortify_clang_warning_only_if_bos_lt(__n, __buf, __complaint) | ||
| 318 | -# define __fortify_clang_warning_only_if_bos_lt2(__n, __buf, div, __complaint) | ||
| 319 | -# define __fortify_clang_overload_arg(__type, __attr, __name) \ | ||
| 320 | - __type __attr __name | ||
| 321 | -# define __fortify_clang_overload_arg0(__type, __attr, __name) \ | ||
| 322 | - __fortify_clang_overload_arg (__type, __attr, __name) | ||
| 323 | -# define __fortify_clang_warn_if_src_too_large(__dest, __src) | ||
| 324 | -# define __fortify_clang_warn_if_dest_too_small(__dest, __len) | ||
| 325 | -# define __fortify_clang_warn_if_dest_too_small0(__dest, __len) | ||
| 326 | -#endif | ||
| 327 | - | ||
| 328 | - | ||
| 329 | -/* Fortify function f. __f_alias, __f_chk and __f_chk_warn must be | ||
| 330 | - declared. */ | ||
| 331 | - | ||
| 332 | -#if !__fortify_use_clang | ||
| 333 | -# define __glibc_fortify(f, __l, __s, __osz, ...) \ | ||
| 334 | - (__glibc_safe_or_unknown_len (__l, __s, __osz) \ | ||
| 335 | - ? __ ## f ## _alias (__VA_ARGS__) \ | ||
| 336 | - : (__glibc_unsafe_len (__l, __s, __osz) \ | ||
| 337 | - ? __ ## f ## _chk_warn (__VA_ARGS__, __osz) \ | ||
| 338 | - : __ ## f ## _chk (__VA_ARGS__, __osz))) | ||
| 339 | -#else | ||
| 340 | -# define __glibc_fortify(f, __l, __s, __osz, ...) \ | ||
| 341 | - (__osz == (__SIZE_TYPE__) -1) \ | ||
| 342 | - ? __ ## f ## _alias (__VA_ARGS__) \ | ||
| 343 | - : __ ## f ## _chk (__VA_ARGS__, __osz) | ||
| 344 | -#endif | ||
| 345 | - | ||
| 346 | -/* Fortify function f, where object size argument passed to f is the number of | ||
| 347 | - elements and not total size. */ | ||
| 348 | - | ||
| 349 | -#if !__fortify_use_clang | ||
| 350 | -# define __glibc_fortify_n(f, __l, __s, __osz, ...) \ | ||
| 351 | - (__glibc_safe_or_unknown_len (__l, __s, __osz) \ | ||
| 352 | - ? __ ## f ## _alias (__VA_ARGS__) \ | ||
| 353 | - : (__glibc_unsafe_len (__l, __s, __osz) \ | ||
| 354 | - ? __ ## f ## _chk_warn (__VA_ARGS__, (__osz) / (__s)) \ | ||
| 355 | - : __ ## f ## _chk (__VA_ARGS__, (__osz) / (__s)))) | ||
| 356 | -# else | ||
| 357 | -# define __glibc_fortify_n(f, __l, __s, __osz, ...) \ | ||
| 358 | - (__osz == (__SIZE_TYPE__) -1) \ | ||
| 359 | - ? __ ## f ## _alias (__VA_ARGS__) \ | ||
| 360 | - : __ ## f ## _chk (__VA_ARGS__, (__osz) / (__s)) | ||
| 361 | -#endif | ||
| 362 | - | ||
| 363 | -#endif /* __USE_FORTIFY_LEVEL > 0 */ | ||
| 364 | - | ||
| 365 | -#if __GNUC_PREREQ (4,3) | ||
| 366 | -# define __warnattr(msg) __attribute__((__warning__ (msg))) | ||
| 367 | -# define __errordecl(name, msg) \ | ||
| 368 | - extern void name (void) __attribute__((__error__ (msg))) | ||
| 369 | -#else | ||
| 370 | -# define __warnattr(msg) | ||
| 371 | -# define __errordecl(name, msg) extern void name (void) | ||
| 372 | -#endif | ||
| 373 | - | ||
| 374 | -/* Support for flexible arrays. | ||
| 375 | - Headers that should use flexible arrays only if they're "real" | ||
| 376 | - (e.g. only if they won't affect sizeof()) should test | ||
| 377 | - #if __glibc_c99_flexarr_available. */ | ||
| 378 | -#if defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L && !defined __HP_cc | ||
| 379 | -# define __flexarr [] | ||
| 380 | -# define __glibc_c99_flexarr_available 1 | ||
| 381 | -#elif __GNUC_PREREQ (2,97) || defined __clang__ | ||
| 382 | -/* GCC 2.97 and clang support C99 flexible array members as an extension, | ||
| 383 | - even when in C89 mode or compiling C++ (any version). */ | ||
| 384 | -# define __flexarr [] | ||
| 385 | -# define __glibc_c99_flexarr_available 1 | ||
| 386 | -#elif defined __GNUC__ | ||
| 387 | -/* Pre-2.97 GCC did not support C99 flexible arrays but did have | ||
| 388 | - an equivalent extension with slightly different notation. */ | ||
| 389 | -# define __flexarr [0] | ||
| 390 | -# define __glibc_c99_flexarr_available 1 | ||
| 391 | -#else | ||
| 392 | -/* Some other non-C99 compiler. Approximate with [1]. */ | ||
| 393 | -# define __flexarr [1] | ||
| 394 | -# define __glibc_c99_flexarr_available 0 | ||
| 395 | -#endif | ||
| 396 | - | ||
| 397 | - | ||
| 398 | -/* __asm__ ("xyz") is used throughout the headers to rename functions | ||
| 399 | - at the assembly language level. This is wrapped by the __REDIRECT | ||
| 400 | - macro, in order to support compilers that can do this some other | ||
| 401 | - way. When compilers don't support asm-names at all, we have to do | ||
| 402 | - preprocessor tricks instead (which don't have exactly the right | ||
| 403 | - semantics, but it's the best we can do). | ||
| 404 | - | ||
| 405 | - Example: | ||
| 406 | - int __REDIRECT(setpgrp, (__pid_t pid, __pid_t pgrp), setpgid); */ | ||
| 407 | - | ||
| 408 | -#if (defined __GNUC__ && __GNUC__ >= 2) || (__clang_major__ >= 4) | ||
| 409 | - | ||
| 410 | -# define __REDIRECT(name, proto, alias) name proto __asm__ (__ASMNAME (#alias)) | ||
| 411 | -# ifdef __cplusplus | ||
| 412 | -# define __REDIRECT_NTH(name, proto, alias) \ | ||
| 413 | - name proto __THROW __asm__ (__ASMNAME (#alias)) | ||
| 414 | -# define __REDIRECT_NTHNL(name, proto, alias) \ | ||
| 415 | - name proto __THROWNL __asm__ (__ASMNAME (#alias)) | ||
| 416 | -# else | ||
| 417 | -# define __REDIRECT_NTH(name, proto, alias) \ | ||
| 418 | - name proto __asm__ (__ASMNAME (#alias)) __THROW | ||
| 419 | -# define __REDIRECT_NTHNL(name, proto, alias) \ | ||
| 420 | - name proto __asm__ (__ASMNAME (#alias)) __THROWNL | ||
| 421 | -# endif | ||
| 422 | -# define __ASMNAME(cname) __ASMNAME2 (__USER_LABEL_PREFIX__, cname) | ||
| 423 | -# define __ASMNAME2(prefix, cname) __STRING (prefix) cname | ||
| 424 | - | ||
| 425 | -#ifndef __REDIRECT_FORTIFY | ||
| 426 | -#define __REDIRECT_FORTIFY __REDIRECT | ||
| 427 | -#endif | ||
| 428 | - | ||
| 429 | -#ifndef __REDIRECT_FORTIFY_NTH | ||
| 430 | -#define __REDIRECT_FORTIFY_NTH __REDIRECT_NTH | ||
| 431 | -#endif | ||
| 432 | - | ||
| 433 | -/* | ||
| 434 | -#elif __SOME_OTHER_COMPILER__ | ||
| 435 | - | ||
| 436 | -# define __REDIRECT(name, proto, alias) name proto; \ | ||
| 437 | - _Pragma("let " #name " = " #alias) | ||
| 438 | -*/ | ||
| 439 | -#endif | ||
| 440 | - | ||
| 441 | -/* GCC and clang have various useful declarations that can be made with | ||
| 442 | - the '__attribute__' syntax. All of the ways we use this do fine if | ||
| 443 | - they are omitted for compilers that don't understand it. */ | ||
| 444 | -#if !(defined __GNUC__ || defined __clang__) | ||
| 445 | -# define __attribute__(xyz) /* Ignore */ | ||
| 446 | -#endif | ||
| 447 | - | ||
| 448 | -/* At some point during the gcc 2.96 development the `malloc' attribute | ||
| 449 | - for functions was introduced. We don't want to use it unconditionally | ||
| 450 | - (although this would be possible) since it generates warnings. */ | ||
| 451 | -#if __GNUC_PREREQ (2,96) || __glibc_has_attribute (__malloc__) | ||
| 452 | -# define __attribute_malloc__ __attribute__ ((__malloc__)) | ||
| 453 | -#else | ||
| 454 | -# define __attribute_malloc__ /* Ignore */ | ||
| 455 | -#endif | ||
| 456 | - | ||
| 457 | -/* Tell the compiler which arguments to an allocation function | ||
| 458 | - indicate the size of the allocation. */ | ||
| 459 | -#if __GNUC_PREREQ (4, 3) | ||
| 460 | -# define __attribute_alloc_size__(params) \ | ||
| 461 | - __attribute__ ((__alloc_size__ params)) | ||
| 462 | -#else | ||
| 463 | -# define __attribute_alloc_size__(params) /* Ignore. */ | ||
| 464 | -#endif | ||
| 465 | - | ||
| 466 | -/* Tell the compiler which argument to an allocation function | ||
| 467 | - indicates the alignment of the allocation. */ | ||
| 468 | -#if __GNUC_PREREQ (4, 9) || __glibc_has_attribute (__alloc_align__) | ||
| 469 | -# define __attribute_alloc_align__(param) \ | ||
| 470 | - __attribute__ ((__alloc_align__ param)) | ||
| 471 | -#else | ||
| 472 | -# define __attribute_alloc_align__(param) /* Ignore. */ | ||
| 473 | -#endif | ||
| 474 | - | ||
| 475 | -/* At some point during the gcc 2.96 development the `pure' attribute | ||
| 476 | - for functions was introduced. We don't want to use it unconditionally | ||
| 477 | - (although this would be possible) since it generates warnings. */ | ||
| 478 | -#if __GNUC_PREREQ (2,96) || __glibc_has_attribute (__pure__) | ||
| 479 | -# define __attribute_pure__ __attribute__ ((__pure__)) | ||
| 480 | -#else | ||
| 481 | -# define __attribute_pure__ /* Ignore */ | ||
| 482 | -#endif | ||
| 483 | - | ||
| 484 | -/* This declaration tells the compiler that the value is constant. */ | ||
| 485 | -#if __GNUC_PREREQ (2,5) || __glibc_has_attribute (__const__) | ||
| 486 | -# define __attribute_const__ __attribute__ ((__const__)) | ||
| 487 | -#else | ||
| 488 | -# define __attribute_const__ /* Ignore */ | ||
| 489 | -#endif | ||
| 490 | - | ||
| 491 | -#if __GNUC_PREREQ (2,7) || __glibc_has_attribute (__unused__) | ||
| 492 | -# define __attribute_maybe_unused__ __attribute__ ((__unused__)) | ||
| 493 | -#else | ||
| 494 | -# define __attribute_maybe_unused__ /* Ignore */ | ||
| 495 | -#endif | ||
| 496 | - | ||
| 497 | -/* At some point during the gcc 3.1 development the `used' attribute | ||
| 498 | - for functions was introduced. We don't want to use it unconditionally | ||
| 499 | - (although this would be possible) since it generates warnings. */ | ||
| 500 | -#if __GNUC_PREREQ (3,1) || __glibc_has_attribute (__used__) | ||
| 501 | -# define __attribute_used__ __attribute__ ((__used__)) | ||
| 502 | -# define __attribute_noinline__ __attribute__ ((__noinline__)) | ||
| 503 | -#else | ||
| 504 | -# define __attribute_used__ __attribute__ ((__unused__)) | ||
| 505 | -# define __attribute_noinline__ /* Ignore */ | ||
| 506 | -#endif | ||
| 507 | - | ||
| 508 | -/* Since version 3.2, gcc allows marking deprecated functions. */ | ||
| 509 | -#if __GNUC_PREREQ (3,2) || __glibc_has_attribute (__deprecated__) | ||
| 510 | -# define __attribute_deprecated__ __attribute__ ((__deprecated__)) | ||
| 511 | -#else | ||
| 512 | -# define __attribute_deprecated__ /* Ignore */ | ||
| 513 | -#endif | ||
| 514 | - | ||
| 515 | -/* Since version 4.5, gcc also allows one to specify the message printed | ||
| 516 | - when a deprecated function is used. clang claims to be gcc 4.2, but | ||
| 517 | - may also support this feature. */ | ||
| 518 | -#if __GNUC_PREREQ (4,5) \ | ||
| 519 | - || __glibc_has_extension (__attribute_deprecated_with_message__) | ||
| 520 | -# define __attribute_deprecated_msg__(msg) \ | ||
| 521 | - __attribute__ ((__deprecated__ (msg))) | ||
| 522 | -#else | ||
| 523 | -# define __attribute_deprecated_msg__(msg) __attribute_deprecated__ | ||
| 524 | -#endif | ||
| 525 | - | ||
| 526 | -/* At some point during the gcc 2.8 development the `format_arg' attribute | ||
| 527 | - for functions was introduced. We don't want to use it unconditionally | ||
| 528 | - (although this would be possible) since it generates warnings. | ||
| 529 | - If several `format_arg' attributes are given for the same function, in | ||
| 530 | - gcc-3.0 and older, all but the last one are ignored. In newer gccs, | ||
| 531 | - all designated arguments are considered. */ | ||
| 532 | -#if __GNUC_PREREQ (2,8) || __glibc_has_attribute (__format_arg__) | ||
| 533 | -# define __attribute_format_arg__(x) __attribute__ ((__format_arg__ (x))) | ||
| 534 | -#else | ||
| 535 | -# define __attribute_format_arg__(x) /* Ignore */ | ||
| 536 | -#endif | ||
| 537 | - | ||
| 538 | -/* At some point during the gcc 2.97 development the `strfmon' format | ||
| 539 | - attribute for functions was introduced. We don't want to use it | ||
| 540 | - unconditionally (although this would be possible) since it | ||
| 541 | - generates warnings. */ | ||
| 542 | -#if __GNUC_PREREQ (2,97) || __glibc_has_attribute (__format__) | ||
| 543 | -# define __attribute_format_strfmon__(a,b) \ | ||
| 544 | - __attribute__ ((__format__ (__strfmon__, a, b))) | ||
| 545 | -#else | ||
| 546 | -# define __attribute_format_strfmon__(a,b) /* Ignore */ | ||
| 547 | -#endif | ||
| 548 | - | ||
| 549 | -/* The nonnull function attribute marks pointer parameters that | ||
| 550 | - must not be NULL. This has the name __nonnull in glibc, | ||
| 551 | - and __attribute_nonnull__ in files shared with Gnulib to avoid | ||
| 552 | - collision with a different __nonnull in DragonFlyBSD 5.9. */ | ||
| 553 | -#ifndef __attribute_nonnull__ | ||
| 554 | -# if __GNUC_PREREQ (3,3) || __glibc_has_attribute (__nonnull__) | ||
| 555 | -# define __attribute_nonnull__(params) __attribute__ ((__nonnull__ params)) | ||
| 556 | -# else | ||
| 557 | -# define __attribute_nonnull__(params) | ||
| 558 | -# endif | ||
| 559 | -#endif | ||
| 560 | -#ifndef __nonnull | ||
| 561 | -# define __nonnull(params) __attribute_nonnull__ (params) | ||
| 562 | -#endif | ||
| 563 | - | ||
| 564 | -/* The returns_nonnull function attribute marks the return type of the function | ||
| 565 | - as always being non-null. */ | ||
| 566 | -#ifndef __returns_nonnull | ||
| 567 | -# if __GNUC_PREREQ (4, 9) || __glibc_has_attribute (__returns_nonnull__) | ||
| 568 | -# define __returns_nonnull __attribute__ ((__returns_nonnull__)) | ||
| 569 | -# else | ||
| 570 | -# define __returns_nonnull | ||
| 571 | -# endif | ||
| 572 | -#endif | ||
| 573 | - | ||
| 574 | -/* If fortification mode, we warn about unused results of certain | ||
| 575 | - function calls which can lead to problems. */ | ||
| 576 | -#if __GNUC_PREREQ (3,4) || __glibc_has_attribute (__warn_unused_result__) | ||
| 577 | -# define __attribute_warn_unused_result__ \ | ||
| 578 | - __attribute__ ((__warn_unused_result__)) | ||
| 579 | -# if defined __USE_FORTIFY_LEVEL && __USE_FORTIFY_LEVEL > 0 | ||
| 580 | -# define __wur __attribute_warn_unused_result__ | ||
| 581 | -# endif | ||
| 582 | -#else | ||
| 583 | -# define __attribute_warn_unused_result__ /* empty */ | ||
| 584 | -#endif | ||
| 585 | -#ifndef __wur | ||
| 586 | -# define __wur /* Ignore */ | ||
| 587 | -#endif | ||
| 588 | - | ||
| 589 | -/* Forces a function to be always inlined. */ | ||
| 590 | -#if __GNUC_PREREQ (3,2) || __glibc_has_attribute (__always_inline__) | ||
| 591 | -/* The Linux kernel defines __always_inline in stddef.h (283d7573), and | ||
| 592 | - it conflicts with this definition. Therefore undefine it first to | ||
| 593 | - allow either header to be included first. */ | ||
| 594 | -# undef __always_inline | ||
| 595 | -# define __always_inline __inline __attribute__ ((__always_inline__)) | ||
| 596 | -#else | ||
| 597 | -# undef __always_inline | ||
| 598 | -# define __always_inline __inline | ||
| 599 | -#endif | ||
| 600 | - | ||
| 601 | -/* Associate error messages with the source location of the call site rather | ||
| 602 | - than with the source location inside the function. */ | ||
| 603 | -#if __GNUC_PREREQ (4,3) || __glibc_has_attribute (__artificial__) | ||
| 604 | -# define __attribute_artificial__ __attribute__ ((__artificial__)) | ||
| 605 | -#else | ||
| 606 | -# define __attribute_artificial__ /* Ignore */ | ||
| 607 | -#endif | ||
| 608 | - | ||
| 609 | -/* GCC 4.3 and above with -std=c99 or -std=gnu99 implements ISO C99 | ||
| 610 | - inline semantics, unless -fgnu89-inline is used. Using __GNUC_STDC_INLINE__ | ||
| 611 | - or __GNUC_GNU_INLINE is not a good enough check for gcc because gcc versions | ||
| 612 | - older than 4.3 may define these macros and still not guarantee GNU inlining | ||
| 613 | - semantics. | ||
| 614 | - | ||
| 615 | - clang++ identifies itself as gcc-4.2, but has support for GNU inlining | ||
| 616 | - semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and | ||
| 617 | - __GNUC_GNU_INLINE__ macro definitions. */ | ||
| 618 | -#if (!defined __cplusplus || __GNUC_PREREQ (4,3) \ | ||
| 619 | - || (defined __clang__ && (defined __GNUC_STDC_INLINE__ \ | ||
| 620 | - || defined __GNUC_GNU_INLINE__))) | ||
| 621 | -# if defined __GNUC_STDC_INLINE__ || defined __cplusplus | ||
| 622 | -# define __extern_inline extern __inline __attribute__ ((__gnu_inline__)) | ||
| 623 | -# define __extern_always_inline \ | ||
| 624 | - extern __always_inline __attribute__ ((__gnu_inline__)) | ||
| 625 | -# else | ||
| 626 | -# define __extern_inline extern __inline | ||
| 627 | -# define __extern_always_inline extern __always_inline | ||
| 628 | -# endif | ||
| 629 | -#endif | ||
| 630 | - | ||
| 631 | -#ifdef __extern_always_inline | ||
| 632 | -# define __fortify_function __extern_always_inline __attribute_artificial__ | ||
| 633 | -#endif | ||
| 634 | - | ||
| 635 | -/* GCC 4.3 and above allow passing all anonymous arguments of an | ||
| 636 | - __extern_always_inline function to some other vararg function. */ | ||
| 637 | -#if __GNUC_PREREQ (4,3) | ||
| 638 | -# define __va_arg_pack() __builtin_va_arg_pack () | ||
| 639 | -# define __va_arg_pack_len() __builtin_va_arg_pack_len () | ||
| 640 | -#endif | ||
| 641 | - | ||
| 642 | -/* It is possible to compile containing GCC extensions even if GCC is | ||
| 643 | - run in pedantic mode if the uses are carefully marked using the | ||
| 644 | - `__extension__' keyword. But this is not generally available before | ||
| 645 | - version 2.8. */ | ||
| 646 | -#if !(__GNUC_PREREQ (2,8) || defined __clang__) | ||
| 647 | -# define __extension__ /* Ignore */ | ||
| 648 | -#endif | ||
| 649 | - | ||
| 650 | -/* __restrict is known in EGCS 1.2 and above, and in clang. | ||
| 651 | - It works also in C++ mode (outside of arrays), but only when spelled | ||
| 652 | - as '__restrict', not 'restrict'. */ | ||
| 653 | -#if !(__GNUC_PREREQ (2,92) || __clang_major__ >= 3) | ||
| 654 | -# if defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L | ||
| 655 | -# define __restrict restrict | ||
| 656 | -# else | ||
| 657 | -# define __restrict /* Ignore */ | ||
| 658 | -# endif | ||
| 659 | -#endif | ||
| 660 | - | ||
| 661 | -/* ISO C99 also allows to declare arrays as non-overlapping. The syntax is | ||
| 662 | - array_name[restrict] | ||
| 663 | - GCC 3.1 and clang support this. | ||
| 664 | - This syntax is not usable in C++ mode. */ | ||
| 665 | -#if (__GNUC_PREREQ (3,1) || __clang_major__ >= 3) && !defined __cplusplus | ||
| 666 | -# define __restrict_arr __restrict | ||
| 667 | -#else | ||
| 668 | -# ifdef __GNUC__ | ||
| 669 | -# define __restrict_arr /* Not supported in old GCC. */ | ||
| 670 | -# else | ||
| 671 | -# if defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L | ||
| 672 | -# define __restrict_arr restrict | ||
| 673 | -# else | ||
| 674 | -/* Some other non-C99 compiler. */ | ||
| 675 | -# define __restrict_arr /* Not supported. */ | ||
| 676 | -# endif | ||
| 677 | -# endif | ||
| 678 | -#endif | ||
| 679 | - | ||
| 680 | -#if (__GNUC__ >= 3) || __glibc_has_builtin (__builtin_expect) | ||
| 681 | -# define __glibc_unlikely(cond) __builtin_expect ((cond), 0) | ||
| 682 | -# define __glibc_likely(cond) __builtin_expect ((cond), 1) | ||
| 683 | -#else | ||
| 684 | -# define __glibc_unlikely(cond) (cond) | ||
| 685 | -# define __glibc_likely(cond) (cond) | ||
| 686 | -#endif | ||
| 687 | - | ||
| 688 | -#if (!defined _Noreturn \ | ||
| 689 | - && (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) < 201112 \ | ||
| 690 | - && !(__GNUC_PREREQ (4,7) \ | ||
| 691 | - || (3 < __clang_major__ + (5 <= __clang_minor__)))) | ||
| 692 | -# if __GNUC_PREREQ (2,8) | ||
| 693 | -# define _Noreturn __attribute__ ((__noreturn__)) | ||
| 694 | -# else | ||
| 695 | -# define _Noreturn | ||
| 696 | -# endif | ||
| 697 | -#endif | ||
| 698 | - | ||
| 699 | -#if __GNUC_PREREQ (8, 0) | ||
| 700 | -/* Describes a char array whose address can safely be passed as the first | ||
| 701 | - argument to strncpy and strncat, as the char array is not necessarily | ||
| 702 | - a NUL-terminated string. */ | ||
| 703 | -# define __attribute_nonstring__ __attribute__ ((__nonstring__)) | ||
| 704 | -#else | ||
| 705 | -# define __attribute_nonstring__ | ||
| 706 | -#endif | ||
| 707 | - | ||
| 708 | -/* Undefine (also defined in libc-symbols.h). */ | ||
| 709 | -#undef __attribute_copy__ | ||
| 710 | -#if __GNUC_PREREQ (9, 0) | ||
| 711 | -/* Copies attributes from the declaration or type referenced by | ||
| 712 | - the argument. */ | ||
| 713 | -# define __attribute_copy__(arg) __attribute__ ((__copy__ (arg))) | ||
| 714 | -#else | ||
| 715 | -# define __attribute_copy__(arg) | ||
| 716 | -#endif | ||
| 717 | - | ||
| 718 | -#if (!defined _Static_assert && !defined __cplusplus \ | ||
| 719 | - && (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) < 201112 \ | ||
| 720 | - && (!(__GNUC_PREREQ (4, 6) || __clang_major__ >= 4) \ | ||
| 721 | - || defined __STRICT_ANSI__)) | ||
| 722 | -# define _Static_assert(expr, diagnostic) \ | ||
| 723 | - extern int (*__Static_assert_function (void)) \ | ||
| 724 | - [!!sizeof (struct { int __error_if_negative: (expr) ? 2 : -1; })] | ||
| 725 | -#endif | ||
| 726 | - | ||
| 727 | -/* Gnulib avoids including these, as they don't work on non-glibc or | ||
| 728 | - older glibc platforms. */ | ||
| 729 | -#ifndef __GNULIB_CDEFS | ||
| 730 | -# include <bits/wordsize.h> | ||
| 731 | -# include <bits/long-double.h> | ||
| 732 | -#endif | ||
| 733 | - | ||
| 734 | -#if __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 | ||
| 735 | -# ifdef __REDIRECT | ||
| 736 | - | ||
| 737 | -/* Alias name defined automatically. */ | ||
| 738 | -# define __LDBL_REDIR(name, proto) ... unused__ldbl_redir | ||
| 739 | -# define __LDBL_REDIR_DECL(name) \ | ||
| 740 | - extern __typeof (name) name __asm (__ASMNAME ("__" #name "ieee128")); | ||
| 741 | -# define __REDIRECT_LDBL(name, proto, alias) \ | ||
| 742 | - name proto __asm (__ASMNAME ("__" #alias "ieee128")) | ||
| 743 | - | ||
| 744 | -/* Alias name defined automatically, with leading underscores. */ | ||
| 745 | -# define __LDBL_REDIR2_DECL(name) \ | ||
| 746 | - extern __typeof (__##name) __##name \ | ||
| 747 | - __asm (__ASMNAME ("__" #name "ieee128")); | ||
| 748 | - | ||
| 749 | -/* Alias name defined manually. */ | ||
| 750 | -# define __LDBL_REDIR1(name, proto, alias) ... unused__ldbl_redir1 | ||
| 751 | -# define __LDBL_REDIR1_DECL(name, alias) \ | ||
| 752 | - extern __typeof (name) name __asm (__ASMNAME (#alias)); | ||
| 753 | - | ||
| 754 | -# define __LDBL_REDIR1_NTH(name, proto, alias) \ | ||
| 755 | - __REDIRECT_NTH (name, proto, alias) | ||
| 756 | -# define __REDIRECT_NTH_LDBL(name, proto, alias) \ | ||
| 757 | - __LDBL_REDIR1_NTH (name, proto, __##alias##ieee128) | ||
| 758 | - | ||
| 759 | -/* Unused. */ | ||
| 760 | -# define __LDBL_REDIR_NTH(name, proto) ... unused__ldbl_redir_nth | ||
| 761 | - | ||
| 762 | -# else | ||
| 763 | -_Static_assert (0, "IEEE 128-bits long double requires redirection on this platform"); | ||
| 764 | -# endif | ||
| 765 | -#elif defined __LONG_DOUBLE_MATH_OPTIONAL && defined __NO_LONG_DOUBLE_MATH | ||
| 766 | -# define __LDBL_COMPAT 1 | ||
| 767 | -# ifdef __REDIRECT | ||
| 768 | -# define __LDBL_REDIR1(name, proto, alias) __REDIRECT (name, proto, alias) | ||
| 769 | -# define __LDBL_REDIR(name, proto) \ | ||
| 770 | - __LDBL_REDIR1 (name, proto, __nldbl_##name) | ||
| 771 | -# define __LDBL_REDIR1_NTH(name, proto, alias) __REDIRECT_NTH (name, proto, alias) | ||
| 772 | -# define __LDBL_REDIR_NTH(name, proto) \ | ||
| 773 | - __LDBL_REDIR1_NTH (name, proto, __nldbl_##name) | ||
| 774 | -# define __LDBL_REDIR2_DECL(name) \ | ||
| 775 | - extern __typeof (__##name) __##name __asm (__ASMNAME ("__nldbl___" #name)); | ||
| 776 | -# define __LDBL_REDIR1_DECL(name, alias) \ | ||
| 777 | - extern __typeof (name) name __asm (__ASMNAME (#alias)); | ||
| 778 | -# define __LDBL_REDIR_DECL(name) \ | ||
| 779 | - extern __typeof (name) name __asm (__ASMNAME ("__nldbl_" #name)); | ||
| 780 | -# define __REDIRECT_LDBL(name, proto, alias) \ | ||
| 781 | - __LDBL_REDIR1 (name, proto, __nldbl_##alias) | ||
| 782 | -# define __REDIRECT_NTH_LDBL(name, proto, alias) \ | ||
| 783 | - __LDBL_REDIR1_NTH (name, proto, __nldbl_##alias) | ||
| 784 | -# endif | ||
| 785 | -#endif | ||
| 786 | -#if (!defined __LDBL_COMPAT && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0) \ | ||
| 787 | - || !defined __REDIRECT | ||
| 788 | -# define __LDBL_REDIR1(name, proto, alias) name proto | ||
| 789 | -# define __LDBL_REDIR(name, proto) name proto | ||
| 790 | -# define __LDBL_REDIR1_NTH(name, proto, alias) name proto __THROW | ||
| 791 | -# define __LDBL_REDIR_NTH(name, proto) name proto __THROW | ||
| 792 | -# define __LDBL_REDIR2_DECL(name) | ||
| 793 | -# define __LDBL_REDIR_DECL(name) | ||
| 794 | -# ifdef __REDIRECT | ||
| 795 | -# define __REDIRECT_LDBL(name, proto, alias) __REDIRECT (name, proto, alias) | ||
| 796 | -# define __REDIRECT_NTH_LDBL(name, proto, alias) \ | ||
| 797 | - __REDIRECT_NTH (name, proto, alias) | ||
| 798 | -# endif | ||
| 799 | -#endif | ||
| 800 | - | ||
| 801 | -/* __glibc_macro_warning (MESSAGE) issues warning MESSAGE. This is | ||
| 802 | - intended for use in preprocessor macros. | ||
| 803 | - | ||
| 804 | - Note: MESSAGE must be a _single_ string; concatenation of string | ||
| 805 | - literals is not supported. */ | ||
| 806 | -#if __GNUC_PREREQ (4,8) || __glibc_clang_prereq (3,5) | ||
| 807 | -# define __glibc_macro_warning1(message) _Pragma (#message) | ||
| 808 | -# define __glibc_macro_warning(message) \ | ||
| 809 | - __glibc_macro_warning1 (GCC warning message) | ||
| 810 | -#else | ||
| 811 | -# define __glibc_macro_warning(msg) | ||
| 812 | -#endif | ||
| 813 | - | ||
| 814 | -/* Generic selection (ISO C11) is a C-only feature, available in GCC | ||
| 815 | - since version 4.9. Previous versions do not provide generic | ||
| 816 | - selection, even though they might set __STDC_VERSION__ to 201112L, | ||
| 817 | - when in -std=c11 mode. Thus, we must check for !defined __GNUC__ | ||
| 818 | - when testing __STDC_VERSION__ for generic selection support. | ||
| 819 | - On the other hand, Clang also defines __GNUC__, so a clang-specific | ||
| 820 | - check is required to enable the use of generic selection. */ | ||
| 821 | -#if !defined __cplusplus \ | ||
| 822 | - && (__GNUC_PREREQ (4, 9) \ | ||
| 823 | - || __glibc_has_extension (c_generic_selections) \ | ||
| 824 | - || (!defined __GNUC__ && defined __STDC_VERSION__ \ | ||
| 825 | - && __STDC_VERSION__ >= 201112L)) | ||
| 826 | -# define __HAVE_GENERIC_SELECTION 1 | ||
| 827 | -#else | ||
| 828 | -# define __HAVE_GENERIC_SELECTION 0 | ||
| 829 | -#endif | ||
| 830 | - | ||
| 831 | -#if __GNUC_PREREQ (10, 0) | ||
| 832 | -/* Designates a 1-based positional argument ref-index of pointer type | ||
| 833 | - that can be used to access size-index elements of the pointed-to | ||
| 834 | - array according to access mode, or at least one element when | ||
| 835 | - size-index is not provided: | ||
| 836 | - access (access-mode, <ref-index> [, <size-index>]) */ | ||
| 837 | -# define __attr_access(x) __attribute__ ((__access__ x)) | ||
| 838 | -/* For _FORTIFY_SOURCE == 3 we use __builtin_dynamic_object_size, which may | ||
| 839 | - use the access attribute to get object sizes from function definition | ||
| 840 | - arguments, so we can't use them on functions we fortify. Drop the access | ||
| 841 | - attribute for such functions. */ | ||
| 842 | -# if __USE_FORTIFY_LEVEL == 3 | ||
| 843 | -# define __fortified_attr_access(a, o, s) | ||
| 844 | -# else | ||
| 845 | -# define __fortified_attr_access(a, o, s) __attr_access ((a, o, s)) | ||
| 846 | -# endif | ||
| 847 | -# if __GNUC_PREREQ (11, 0) | ||
| 848 | -# define __attr_access_none(argno) __attribute__ ((__access__ (__none__, argno))) | ||
| 849 | -# else | ||
| 850 | -# define __attr_access_none(argno) | ||
| 851 | -# endif | ||
| 852 | -#else | ||
| 853 | -# define __fortified_attr_access(a, o, s) | ||
| 854 | -# define __attr_access(x) | ||
| 855 | -# define __attr_access_none(argno) | ||
| 856 | -#endif | ||
| 857 | - | ||
| 858 | -#if __GNUC_PREREQ (11, 0) | ||
| 859 | -/* Designates dealloc as a function to call to deallocate objects | ||
| 860 | - allocated by the declared function. */ | ||
| 861 | -# define __attr_dealloc(dealloc, argno) \ | ||
| 862 | - __attribute__ ((__malloc__ (dealloc, argno))) | ||
| 863 | -# define __attr_dealloc_free __attr_dealloc (__builtin_free, 1) | ||
| 864 | -#else | ||
| 865 | -# define __attr_dealloc(dealloc, argno) | ||
| 866 | -# define __attr_dealloc_free | ||
| 867 | -#endif | ||
| 868 | - | ||
| 869 | -/* Specify that a function such as setjmp or vfork may return | ||
| 870 | - twice. */ | ||
| 871 | -#if __GNUC_PREREQ (4, 1) | ||
| 872 | -# define __attribute_returns_twice__ __attribute__ ((__returns_twice__)) | ||
| 873 | -#else | ||
| 874 | -# define __attribute_returns_twice__ /* Ignore. */ | ||
| 875 | -#endif | ||
| 876 | - | ||
| 877 | -/* Mark struct types as aliasable. Restricted to compilers that | ||
| 878 | - support forward declarations of structs in the presence of the | ||
| 879 | - attribute. */ | ||
| 880 | -#if __GNUC_PREREQ (7, 1) || defined __clang__ | ||
| 881 | -# define __attribute_struct_may_alias__ __attribute__ ((__may_alias__)) | ||
| 882 | -#else | ||
| 883 | -# define __attribute_struct_may_alias__ | ||
| 884 | -#endif | ||
| 885 | - | ||
| 886 | -#endif /* sys/cdefs.h */ | ||
+0 −0 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@sys@cdefs.h.blob deleted file mode 100644, Binary files a/.ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@sys@cdefs.h.blob and /dev/null differ Large diff collapsed, click to expand
+0 −155 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@sys@select.h deleted file mode 100644 Large diff collapsed, click to expand
| @@ -1,155 +0,0 @@ | |||
| 1 | -/* `fd_set' type and related macros, and `select'/`pselect' declarations. | ||
| 2 | - Copyright (C) 1996-2025 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 | -/* POSIX 1003.1g: 6.2 Select from File Descriptor Sets <sys/select.h> */ | ||
| 20 | - | ||
| 21 | -#ifndef _SYS_SELECT_H | ||
| 22 | -#define _SYS_SELECT_H 1 | ||
| 23 | - | ||
| 24 | -#include <features.h> | ||
| 25 | - | ||
| 26 | -/* Get definition of needed basic types. */ | ||
| 27 | -#include <bits/types.h> | ||
| 28 | - | ||
| 29 | -/* Get __FD_* definitions. */ | ||
| 30 | -#include <bits/select.h> | ||
| 31 | - | ||
| 32 | -/* Get sigset_t. */ | ||
| 33 | -#include <bits/types/sigset_t.h> | ||
| 34 | - | ||
| 35 | -/* Get definition of timer specification structures. */ | ||
| 36 | -#include <bits/types/time_t.h> | ||
| 37 | -#include <bits/types/struct_timeval.h> | ||
| 38 | -#ifdef __USE_XOPEN2K | ||
| 39 | -# include <bits/types/struct_timespec.h> | ||
| 40 | -#endif | ||
| 41 | - | ||
| 42 | -#ifndef __suseconds_t_defined | ||
| 43 | -typedef __suseconds_t suseconds_t; | ||
| 44 | -# define __suseconds_t_defined | ||
| 45 | -#endif | ||
| 46 | - | ||
| 47 | - | ||
| 48 | -/* The fd_set member is required to be an array of longs. */ | ||
| 49 | -typedef long int __fd_mask; | ||
| 50 | - | ||
| 51 | -/* Some versions of <linux/posix_types.h> define this macros. */ | ||
| 52 | -#undef __NFDBITS | ||
| 53 | -/* It's easier to assume 8-bit bytes than to get CHAR_BIT. */ | ||
| 54 | -#define __NFDBITS (8 * (int) sizeof (__fd_mask)) | ||
| 55 | -#define __FD_ELT(d) ((d) / __NFDBITS) | ||
| 56 | -#define __FD_MASK(d) ((__fd_mask) (1UL << ((d) % __NFDBITS))) | ||
| 57 | - | ||
| 58 | -/* fd_set for select and pselect. */ | ||
| 59 | -typedef struct | ||
| 60 | - { | ||
| 61 | - /* XPG4.2 requires this member name. Otherwise avoid the name | ||
| 62 | - from the global namespace. */ | ||
| 63 | -#ifdef __USE_XOPEN | ||
| 64 | - __fd_mask fds_bits[__FD_SETSIZE / __NFDBITS]; | ||
| 65 | -# define __FDS_BITS(set) ((set)->fds_bits) | ||
| 66 | -#else | ||
| 67 | - __fd_mask __fds_bits[__FD_SETSIZE / __NFDBITS]; | ||
| 68 | -# define __FDS_BITS(set) ((set)->__fds_bits) | ||
| 69 | -#endif | ||
| 70 | - } fd_set; | ||
| 71 | - | ||
| 72 | -/* Maximum number of file descriptors in `fd_set'. */ | ||
| 73 | -#define FD_SETSIZE __FD_SETSIZE | ||
| 74 | - | ||
| 75 | -#ifdef __USE_MISC | ||
| 76 | -/* Sometimes the fd_set member is assumed to have this type. */ | ||
| 77 | -typedef __fd_mask fd_mask; | ||
| 78 | - | ||
| 79 | -/* Number of bits per word of `fd_set' (some code assumes this is 32). */ | ||
| 80 | -# define NFDBITS __NFDBITS | ||
| 81 | -#endif | ||
| 82 | - | ||
| 83 | - | ||
| 84 | -/* Access macros for `fd_set'. */ | ||
| 85 | -#define FD_SET(fd, fdsetp) __FD_SET (fd, fdsetp) | ||
| 86 | -#define FD_CLR(fd, fdsetp) __FD_CLR (fd, fdsetp) | ||
| 87 | -#define FD_ISSET(fd, fdsetp) __FD_ISSET (fd, fdsetp) | ||
| 88 | -#define FD_ZERO(fdsetp) __FD_ZERO (fdsetp) | ||
| 89 | - | ||
| 90 | - | ||
| 91 | -__BEGIN_DECLS | ||
| 92 | - | ||
| 93 | -/* Check the first NFDS descriptors each in READFDS (if not NULL) for read | ||
| 94 | - readiness, in WRITEFDS (if not NULL) for write readiness, and in EXCEPTFDS | ||
| 95 | - (if not NULL) for exceptional conditions. If TIMEOUT is not NULL, time out | ||
| 96 | - after waiting the interval specified therein. Returns the number of ready | ||
| 97 | - descriptors, or -1 for errors. | ||
| 98 | - | ||
| 99 | - This function is a cancellation point and therefore not marked with | ||
| 100 | - __THROW. */ | ||
| 101 | -#ifndef __USE_TIME64_REDIRECTS | ||
| 102 | -extern int select (int __nfds, fd_set *__restrict __readfds, | ||
| 103 | - fd_set *__restrict __writefds, | ||
| 104 | - fd_set *__restrict __exceptfds, | ||
| 105 | - struct timeval *__restrict __timeout); | ||
| 106 | -#else | ||
| 107 | -# ifdef __REDIRECT | ||
| 108 | -extern int __REDIRECT (select, | ||
| 109 | - (int __nfds, fd_set *__restrict __readfds, | ||
| 110 | - fd_set *__restrict __writefds, | ||
| 111 | - fd_set *__restrict __exceptfds, | ||
| 112 | - struct timeval *__restrict __timeout), | ||
| 113 | - __select64); | ||
| 114 | -# else | ||
| 115 | -# define select __select64 | ||
| 116 | -# endif | ||
| 117 | -#endif | ||
| 118 | - | ||
| 119 | -#ifdef __USE_XOPEN2K | ||
| 120 | -/* Same as above only that the TIMEOUT value is given with higher | ||
| 121 | - resolution and a sigmask which is been set temporarily. This version | ||
| 122 | - should be used. | ||
| 123 | - | ||
| 124 | - This function is a cancellation point and therefore not marked with | ||
| 125 | - __THROW. */ | ||
| 126 | -# ifndef __USE_TIME64_REDIRECTS | ||
| 127 | -extern int pselect (int __nfds, fd_set *__restrict __readfds, | ||
| 128 | - fd_set *__restrict __writefds, | ||
| 129 | - fd_set *__restrict __exceptfds, | ||
| 130 | - const struct timespec *__restrict __timeout, | ||
| 131 | - const __sigset_t *__restrict __sigmask); | ||
| 132 | -# else | ||
| 133 | -# ifdef __REDIRECT | ||
| 134 | -extern int __REDIRECT (pselect, | ||
| 135 | - (int __nfds, fd_set *__restrict __readfds, | ||
| 136 | - fd_set *__restrict __writefds, | ||
| 137 | - fd_set *__restrict __exceptfds, | ||
| 138 | - const struct timespec *__restrict __timeout, | ||
| 139 | - const __sigset_t *__restrict __sigmask), | ||
| 140 | - __pselect64); | ||
| 141 | -# else | ||
| 142 | -# define pselect __pselect64 | ||
| 143 | -# endif | ||
| 144 | -# endif | ||
| 145 | -#endif | ||
| 146 | - | ||
| 147 | - | ||
| 148 | -/* Define some inlines helping to catch common problems. */ | ||
| 149 | -#if __USE_FORTIFY_LEVEL > 0 && defined __GNUC__ | ||
| 150 | -# include <bits/select2.h> | ||
| 151 | -#endif | ||
| 152 | - | ||
| 153 | -__END_DECLS | ||
| 154 | - | ||
| 155 | -#endif /* sys/select.h */ | ||
+0 −0 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@sys@select.h.blob deleted file mode 100644, Binary files a/.ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@sys@select.h.blob and /dev/null differ Large diff collapsed, click to expand
+0 −232 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@sys@types.h deleted file mode 100644 Large diff collapsed, click to expand
| @@ -1,232 +0,0 @@ | |||
| 1 | -/* Copyright (C) 1991-2025 Free Software Foundation, Inc. | ||
| 2 | - This file is part of the GNU C Library. | ||
| 3 | - | ||
| 4 | - The GNU C Library is free software; you can redistribute it and/or | ||
| 5 | - modify it under the terms of the GNU Lesser General Public | ||
| 6 | - License as published by the Free Software Foundation; either | ||
| 7 | - version 2.1 of the License, or (at your option) any later version. | ||
| 8 | - | ||
| 9 | - The GNU C Library is distributed in the hope that it will be useful, | ||
| 10 | - but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 11 | - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
| 12 | - Lesser General Public License for more details. | ||
| 13 | - | ||
| 14 | - You should have received a copy of the GNU Lesser General Public | ||
| 15 | - License along with the GNU C Library; if not, see | ||
| 16 | - <https://www.gnu.org/licenses/>. */ | ||
| 17 | - | ||
| 18 | -/* | ||
| 19 | - * POSIX Standard: 2.6 Primitive System Data Types <sys/types.h> | ||
| 20 | - */ | ||
| 21 | - | ||
| 22 | -#ifndef _SYS_TYPES_H | ||
| 23 | -#define _SYS_TYPES_H 1 | ||
| 24 | - | ||
| 25 | -#include <features.h> | ||
| 26 | - | ||
| 27 | -__BEGIN_DECLS | ||
| 28 | - | ||
| 29 | -#include <bits/types.h> | ||
| 30 | - | ||
| 31 | -#ifdef __USE_MISC | ||
| 32 | -# ifndef __u_char_defined | ||
| 33 | -typedef __u_char u_char; | ||
| 34 | -typedef __u_short u_short; | ||
| 35 | -typedef __u_int u_int; | ||
| 36 | -typedef __u_long u_long; | ||
| 37 | -typedef __quad_t quad_t; | ||
| 38 | -typedef __u_quad_t u_quad_t; | ||
| 39 | -typedef __fsid_t fsid_t; | ||
| 40 | -# define __u_char_defined | ||
| 41 | -# endif | ||
| 42 | -typedef __loff_t loff_t; | ||
| 43 | -#endif | ||
| 44 | - | ||
| 45 | -#ifndef __ino_t_defined | ||
| 46 | -# ifndef __USE_FILE_OFFSET64 | ||
| 47 | -typedef __ino_t ino_t; | ||
| 48 | -# else | ||
| 49 | -typedef __ino64_t ino_t; | ||
| 50 | -# endif | ||
| 51 | -# define __ino_t_defined | ||
| 52 | -#endif | ||
| 53 | -#if defined __USE_LARGEFILE64 && !defined __ino64_t_defined | ||
| 54 | -typedef __ino64_t ino64_t; | ||
| 55 | -# define __ino64_t_defined | ||
| 56 | -#endif | ||
| 57 | - | ||
| 58 | -#ifndef __dev_t_defined | ||
| 59 | -typedef __dev_t dev_t; | ||
| 60 | -# define __dev_t_defined | ||
| 61 | -#endif | ||
| 62 | - | ||
| 63 | -#ifndef __gid_t_defined | ||
| 64 | -typedef __gid_t gid_t; | ||
| 65 | -# define __gid_t_defined | ||
| 66 | -#endif | ||
| 67 | - | ||
| 68 | -#ifndef __mode_t_defined | ||
| 69 | -typedef __mode_t mode_t; | ||
| 70 | -# define __mode_t_defined | ||
| 71 | -#endif | ||
| 72 | - | ||
| 73 | -#ifndef __nlink_t_defined | ||
| 74 | -typedef __nlink_t nlink_t; | ||
| 75 | -# define __nlink_t_defined | ||
| 76 | -#endif | ||
| 77 | - | ||
| 78 | -#ifndef __uid_t_defined | ||
| 79 | -typedef __uid_t uid_t; | ||
| 80 | -# define __uid_t_defined | ||
| 81 | -#endif | ||
| 82 | - | ||
| 83 | -#ifndef __off_t_defined | ||
| 84 | -# ifndef __USE_FILE_OFFSET64 | ||
| 85 | -typedef __off_t off_t; | ||
| 86 | -# else | ||
| 87 | -typedef __off64_t off_t; | ||
| 88 | -# endif | ||
| 89 | -# define __off_t_defined | ||
| 90 | -#endif | ||
| 91 | -#if defined __USE_LARGEFILE64 && !defined __off64_t_defined | ||
| 92 | -typedef __off64_t off64_t; | ||
| 93 | -# define __off64_t_defined | ||
| 94 | -#endif | ||
| 95 | - | ||
| 96 | -#ifndef __pid_t_defined | ||
| 97 | -typedef __pid_t pid_t; | ||
| 98 | -# define __pid_t_defined | ||
| 99 | -#endif | ||
| 100 | - | ||
| 101 | -#if (defined __USE_XOPEN || defined __USE_XOPEN2K8) \ | ||
| 102 | - && !defined __id_t_defined | ||
| 103 | -typedef __id_t id_t; | ||
| 104 | -# define __id_t_defined | ||
| 105 | -#endif | ||
| 106 | - | ||
| 107 | -#ifndef __ssize_t_defined | ||
| 108 | -typedef __ssize_t ssize_t; | ||
| 109 | -# define __ssize_t_defined | ||
| 110 | -#endif | ||
| 111 | - | ||
| 112 | -#ifdef __USE_MISC | ||
| 113 | -# ifndef __daddr_t_defined | ||
| 114 | -typedef __daddr_t daddr_t; | ||
| 115 | -typedef __caddr_t caddr_t; | ||
| 116 | -# define __daddr_t_defined | ||
| 117 | -# endif | ||
| 118 | -#endif | ||
| 119 | - | ||
| 120 | -#if (defined __USE_MISC || defined __USE_XOPEN) && !defined __key_t_defined | ||
| 121 | -typedef __key_t key_t; | ||
| 122 | -# define __key_t_defined | ||
| 123 | -#endif | ||
| 124 | - | ||
| 125 | -#if defined __USE_XOPEN || defined __USE_XOPEN2K8 | ||
| 126 | -# include <bits/types/clock_t.h> | ||
| 127 | -#endif | ||
| 128 | -#include <bits/types/clockid_t.h> | ||
| 129 | -#include <bits/types/time_t.h> | ||
| 130 | -#include <bits/types/timer_t.h> | ||
| 131 | - | ||
| 132 | -#ifdef __USE_XOPEN | ||
| 133 | -# ifndef __useconds_t_defined | ||
| 134 | -typedef __useconds_t useconds_t; | ||
| 135 | -# define __useconds_t_defined | ||
| 136 | -# endif | ||
| 137 | -# ifndef __suseconds_t_defined | ||
| 138 | -typedef __suseconds_t suseconds_t; | ||
| 139 | -# define __suseconds_t_defined | ||
| 140 | -# endif | ||
| 141 | -#endif | ||
| 142 | - | ||
| 143 | -#define __need_size_t | ||
| 144 | -#include <stddef.h> | ||
| 145 | - | ||
| 146 | -#ifdef __USE_MISC | ||
| 147 | -/* Old compatibility names for C types. */ | ||
| 148 | -typedef unsigned long int ulong; | ||
| 149 | -typedef unsigned short int ushort; | ||
| 150 | -typedef unsigned int uint; | ||
| 151 | -#endif | ||
| 152 | - | ||
| 153 | -/* These size-specific names are used by some of the inet code. */ | ||
| 154 | - | ||
| 155 | -#include <bits/stdint-intn.h> | ||
| 156 | - | ||
| 157 | -/* These were defined by ISO C without the first `_'. */ | ||
| 158 | -typedef __uint8_t u_int8_t; | ||
| 159 | -typedef __uint16_t u_int16_t; | ||
| 160 | -typedef __uint32_t u_int32_t; | ||
| 161 | -typedef __uint64_t u_int64_t; | ||
| 162 | - | ||
| 163 | -#if __GNUC_PREREQ (2, 7) | ||
| 164 | -typedef int register_t __attribute__ ((__mode__ (__word__))); | ||
| 165 | -#else | ||
| 166 | -typedef int register_t; | ||
| 167 | -#endif | ||
| 168 | - | ||
| 169 | -/* Some code from BIND tests this macro to see if the types above are | ||
| 170 | - defined. */ | ||
| 171 | -#define __BIT_TYPES_DEFINED__ 1 | ||
| 172 | - | ||
| 173 | - | ||
| 174 | -#ifdef __USE_MISC | ||
| 175 | -/* In BSD <sys/types.h> is expected to define BYTE_ORDER. */ | ||
| 176 | -# include <endian.h> | ||
| 177 | - | ||
| 178 | -/* It also defines `fd_set' and the FD_* macros for `select'. */ | ||
| 179 | -# include <sys/select.h> | ||
| 180 | -#endif /* Use misc. */ | ||
| 181 | - | ||
| 182 | - | ||
| 183 | -#if (defined __USE_UNIX98 || defined __USE_XOPEN2K8) \ | ||
| 184 | - && !defined __blksize_t_defined | ||
| 185 | -typedef __blksize_t blksize_t; | ||
| 186 | -# define __blksize_t_defined | ||
| 187 | -#endif | ||
| 188 | - | ||
| 189 | -/* Types from the Large File Support interface. */ | ||
| 190 | -#ifndef __USE_FILE_OFFSET64 | ||
| 191 | -# ifndef __blkcnt_t_defined | ||
| 192 | -typedef __blkcnt_t blkcnt_t; /* Type to count number of disk blocks. */ | ||
| 193 | -# define __blkcnt_t_defined | ||
| 194 | -# endif | ||
| 195 | -# ifndef __fsblkcnt_t_defined | ||
| 196 | -typedef __fsblkcnt_t fsblkcnt_t; /* Type to count file system blocks. */ | ||
| 197 | -# define __fsblkcnt_t_defined | ||
| 198 | -# endif | ||
| 199 | -# ifndef __fsfilcnt_t_defined | ||
| 200 | -typedef __fsfilcnt_t fsfilcnt_t; /* Type to count file system inodes. */ | ||
| 201 | -# define __fsfilcnt_t_defined | ||
| 202 | -# endif | ||
| 203 | -#else | ||
| 204 | -# ifndef __blkcnt_t_defined | ||
| 205 | -typedef __blkcnt64_t blkcnt_t; /* Type to count number of disk blocks. */ | ||
| 206 | -# define __blkcnt_t_defined | ||
| 207 | -# endif | ||
| 208 | -# ifndef __fsblkcnt_t_defined | ||
| 209 | -typedef __fsblkcnt64_t fsblkcnt_t; /* Type to count file system blocks. */ | ||
| 210 | -# define __fsblkcnt_t_defined | ||
| 211 | -# endif | ||
| 212 | -# ifndef __fsfilcnt_t_defined | ||
| 213 | -typedef __fsfilcnt64_t fsfilcnt_t; /* Type to count file system inodes. */ | ||
| 214 | -# define __fsfilcnt_t_defined | ||
| 215 | -# endif | ||
| 216 | -#endif | ||
| 217 | - | ||
| 218 | -#ifdef __USE_LARGEFILE64 | ||
| 219 | -typedef __blkcnt64_t blkcnt64_t; /* Type to count number of disk blocks. */ | ||
| 220 | -typedef __fsblkcnt64_t fsblkcnt64_t; /* Type to count file system blocks. */ | ||
| 221 | -typedef __fsfilcnt64_t fsfilcnt64_t; /* Type to count file system inodes. */ | ||
| 222 | -#endif | ||
| 223 | - | ||
| 224 | - | ||
| 225 | -/* Now add the thread types. */ | ||
| 226 | -#if defined __USE_POSIX199506 || defined __USE_UNIX98 | ||
| 227 | -# include <bits/pthreadtypes.h> | ||
| 228 | -#endif | ||
| 229 | - | ||
| 230 | -__END_DECLS | ||
| 231 | - | ||
| 232 | -#endif /* sys/types.h */ | ||
+0 −0 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@sys@types.h.blob deleted file mode 100644, Binary files a/.ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@sys@types.h.blob and /dev/null differ Large diff collapsed, click to expand
+0 −86 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@sys@utsname.h deleted file mode 100644 Large diff collapsed, click to expand
| @@ -1,86 +0,0 @@ | |||
| 1 | -/* Copyright (C) 1991-2025 Free Software Foundation, Inc. | ||
| 2 | - This file is part of the GNU C Library. | ||
| 3 | - | ||
| 4 | - The GNU C Library is free software; you can redistribute it and/or | ||
| 5 | - modify it under the terms of the GNU Lesser General Public | ||
| 6 | - License as published by the Free Software Foundation; either | ||
| 7 | - version 2.1 of the License, or (at your option) any later version. | ||
| 8 | - | ||
| 9 | - The GNU C Library is distributed in the hope that it will be useful, | ||
| 10 | - but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 11 | - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
| 12 | - Lesser General Public License for more details. | ||
| 13 | - | ||
| 14 | - You should have received a copy of the GNU Lesser General Public | ||
| 15 | - License along with the GNU C Library; if not, see | ||
| 16 | - <https://www.gnu.org/licenses/>. */ | ||
| 17 | - | ||
| 18 | -/* | ||
| 19 | - * POSIX Standard: 4.4 System Identification <sys/utsname.h> | ||
| 20 | - */ | ||
| 21 | - | ||
| 22 | -#ifndef _SYS_UTSNAME_H | ||
| 23 | -#define _SYS_UTSNAME_H 1 | ||
| 24 | - | ||
| 25 | -#include <features.h> | ||
| 26 | - | ||
| 27 | -__BEGIN_DECLS | ||
| 28 | - | ||
| 29 | -#include <bits/utsname.h> | ||
| 30 | - | ||
| 31 | -#ifndef _UTSNAME_SYSNAME_LENGTH | ||
| 32 | -# define _UTSNAME_SYSNAME_LENGTH _UTSNAME_LENGTH | ||
| 33 | -#endif | ||
| 34 | -#ifndef _UTSNAME_NODENAME_LENGTH | ||
| 35 | -# define _UTSNAME_NODENAME_LENGTH _UTSNAME_LENGTH | ||
| 36 | -#endif | ||
| 37 | -#ifndef _UTSNAME_RELEASE_LENGTH | ||
| 38 | -# define _UTSNAME_RELEASE_LENGTH _UTSNAME_LENGTH | ||
| 39 | -#endif | ||
| 40 | -#ifndef _UTSNAME_VERSION_LENGTH | ||
| 41 | -# define _UTSNAME_VERSION_LENGTH _UTSNAME_LENGTH | ||
| 42 | -#endif | ||
| 43 | -#ifndef _UTSNAME_MACHINE_LENGTH | ||
| 44 | -# define _UTSNAME_MACHINE_LENGTH _UTSNAME_LENGTH | ||
| 45 | -#endif | ||
| 46 | - | ||
| 47 | -/* Structure describing the system and machine. */ | ||
| 48 | -struct utsname | ||
| 49 | - { | ||
| 50 | - /* Name of the implementation of the operating system. */ | ||
| 51 | - char sysname[_UTSNAME_SYSNAME_LENGTH]; | ||
| 52 | - | ||
| 53 | - /* Name of this node on the network. */ | ||
| 54 | - char nodename[_UTSNAME_NODENAME_LENGTH]; | ||
| 55 | - | ||
| 56 | - /* Current release level of this implementation. */ | ||
| 57 | - char release[_UTSNAME_RELEASE_LENGTH]; | ||
| 58 | - /* Current version level of this release. */ | ||
| 59 | - char version[_UTSNAME_VERSION_LENGTH]; | ||
| 60 | - | ||
| 61 | - /* Name of the hardware type the system is running on. */ | ||
| 62 | - char machine[_UTSNAME_MACHINE_LENGTH]; | ||
| 63 | - | ||
| 64 | -#if _UTSNAME_DOMAIN_LENGTH - 0 | ||
| 65 | - /* Name of the domain of this node on the network. */ | ||
| 66 | -# ifdef __USE_GNU | ||
| 67 | - char domainname[_UTSNAME_DOMAIN_LENGTH]; | ||
| 68 | -# else | ||
| 69 | - char __domainname[_UTSNAME_DOMAIN_LENGTH]; | ||
| 70 | -# endif | ||
| 71 | -#endif | ||
| 72 | - }; | ||
| 73 | - | ||
| 74 | -#ifdef __USE_MISC | ||
| 75 | -/* Note that SVID assumes all members have the same size. */ | ||
| 76 | -# define SYS_NMLN _UTSNAME_LENGTH | ||
| 77 | -#endif | ||
| 78 | - | ||
| 79 | - | ||
| 80 | -/* Put information about the system in NAME. */ | ||
| 81 | -extern int uname (struct utsname *__name) __THROW; | ||
| 82 | - | ||
| 83 | - | ||
| 84 | -__END_DECLS | ||
| 85 | - | ||
| 86 | -#endif /* sys/utsname.h */ | ||
+0 −0 .ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@sys@utsname.h.blob deleted file mode 100644, Binary files a/.ccls-cache/@@home@mostafa@projects@sfetch-c/@nix@store@lbjwxax9n0457lgd83rqwpd1l9lgfl7r-glibc-2.42-84-dev@include@sys@utsname.h.blob and /dev/null differ Large diff collapsed, click to expand
+0 −82 .ccls-cache/@home@mostafa@projects@sfetch-c/src@main.c deleted file mode 100644 Large diff collapsed, click to expand
| @@ -1,82 +0,0 @@ | |||
| 1 | -#include <stdio.h> | ||
| 2 | -#include <sys/utsname.h> | ||
| 3 | -#include <string.h> | ||
| 4 | -#include <stdlib.h> | ||
| 5 | - | ||
| 6 | -#define C_RESET "\033[0m" | ||
| 7 | -#define C_BOLD "\033[1m" | ||
| 8 | -#define C_BLUE "\033[1;34m" | ||
| 9 | -#define C_YELLOW "\033[1;33m" | ||
| 10 | -#define C_CYAN "\033[1;36m" | ||
| 11 | -#define C_GREEN "\033[1;32m" | ||
| 12 | -#define C_RED "\033[1;31m" | ||
| 13 | -#define C_BLACK "\033[1;30m" | ||
| 14 | - | ||
| 15 | -static char *version = "0.1.3"; | ||
| 16 | - | ||
| 17 | -static const char asciiArt[] = | ||
| 18 | -" ████████ \n" | ||
| 19 | -" ██████████ \n" | ||
| 20 | -" █████████ \n" | ||
| 21 | -" ███████ \n" | ||
| 22 | -" ██████ ██ ██ ██ ██ ██ ██ ██ \n" | ||
| 23 | -" ███████ \n" | ||
| 24 | -" █████████ \n" | ||
| 25 | -" ██████████ \n" | ||
| 26 | -" ████████ "; | ||
| 27 | - | ||
| 28 | -void printAscii(void) { | ||
| 29 | - printf(C_YELLOW "%s" C_RESET "\n\n", asciiArt); | ||
| 30 | -} | ||
| 31 | -void printOS(void) { | ||
| 32 | - FILE *fp = fopen("/etc/os-release", "r"); | ||
| 33 | - if (!fp) { | ||
| 34 | - printf(C_CYAN "OS: " C_RESET "Generic Linux\n"); | ||
| 35 | - return; | ||
| 36 | - } | ||
| 37 | - char line[512]; | ||
| 38 | - while (fgets(line, sizeof(line), fp)) { | ||
| 39 | - if(strncmp(line, "PRETTY_NAME=", 12) == 0) { | ||
| 40 | - char *name = line + 12; | ||
| 41 | - if (*name == '"') name++; | ||
| 42 | - size_t len = strlen(name); | ||
| 43 | - if (len > 0 && name[len - 1] == '\n') name[--len] = '\0'; | ||
| 44 | - if (len > 0 && name[len - 1] == '"') name[--len] = '\0'; | ||
| 45 | - printf(C_CYAN "OS: " C_RESET "%s\n", name); | ||
| 46 | - fclose(fp); | ||
| 47 | - return; | ||
| 48 | - } | ||
| 49 | - } | ||
| 50 | - fclose(fp); | ||
| 51 | - printf(C_CYAN "OS: " C_RESET "Generic Linux\n"); | ||
| 52 | -} | ||
| 53 | -int printStats(void) { | ||
| 54 | - char *term = getenv("TERM_PROGRAM"); | ||
| 55 | - if (!term) { | ||
| 56 | - term = getenv("TERM"); | ||
| 57 | - } | ||
| 58 | - char *wm = getenv("XDG_SESSION_DESKTOP"); | ||
| 59 | - if (!wm) { | ||
| 60 | - wm = getenv("DESKTOP_SESSION"); | ||
| 61 | - } | ||
| 62 | - struct utsname info; | ||
| 63 | - if (uname(&info) != 0) { | ||
| 64 | - perror("uname"); | ||
| 65 | - return 1; | ||
| 66 | - } | ||
| 67 | - printOS(); | ||
| 68 | - printf(C_GREEN "Kernel: " C_RESET "%s\n", info.release); | ||
| 69 | - printf(C_BLUE "Host: " C_RESET "%s\n", info.nodename); | ||
| 70 | - printf(C_RED "WM: " C_RESET "%s\n", wm ? wm : "Unknown / TTY"); | ||
| 71 | - printf(C_BLACK "Term: " C_RESET "%s\n", term ? term : "couldn't read terminal name"); | ||
| 72 | - return 0; | ||
| 73 | -} | ||
| 74 | -int main(int argc, char **argv) { | ||
| 75 | - if (argc > 1 && strcmp("-v", argv[1]) == 0) { | ||
| 76 | - printf("sfetch-v%s\n", version); | ||
| 77 | - return 0; | ||
| 78 | - } | ||
| 79 | - printAscii(); | ||
| 80 | - printStats(); | ||
| 81 | - return 0; | ||
| 82 | -} | ||