fordon_greeman / sfetch

fix: replace black color with purple Browse files
theidioticdev committed 2026-09-13 parent 7bc0dba commit e79d78d1306272a2e4c9f7b2e68277cb94b6f5ff
Showing 130 changed files with 0 additions and 7740 deletions. UnifiedSplit
+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 -}
+0 −0 .ccls-cache/@home@mostafa@projects@sfetch-c/src@main.c.blob deleted file mode 100644, Binary files a/.ccls-cache/@home@mostafa@projects@sfetch-c/src@main.c.blob and /dev/null differ Large diff collapsed, click to expand